using Dm.filter; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Helper; using WIDESEA_DTO.Basic; using WIDESEA_DTO.Outbound; using WIDESEA_IBasicService; using WIDESEA_Model.Models; using WIDESEA_Model.Models.Basic; namespace WIDESEA_BasicService { internal class MaterielToMesService : ServiceBase>, IMaterielToMesService { private readonly IInvokeMESService _invokeMESService; private readonly ILogger _logger; public MaterielToMesService(IRepository BaseDal, IInvokeMESService invokeMESService, ILogger logger) : base(BaseDal) { _invokeMESService = invokeMESService; _logger = logger; } // 创建一个使用小驼峰命名法的序列化设置 JsonSerializerSettings settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; public IRepository Repository => BaseDal; public async Task AddMaterielToMes(Dt_MaterielToMes saveModel,int operationtype) { try { base.AddData(saveModel); MaterielToMesDTO dto = new MaterielToMesDTO { batchNo = saveModel.BatchNo, factoryArea = saveModel.factoryArea, materialCode = saveModel.MaterielCode, newmaterialCode = saveModel.NewMaterialBarCode, oldmaterialCode = saveModel.OldMaterialBarCode, operationType = 1, qty = saveModel.Qty, supplyCode = saveModel.supplyCode, unit = saveModel.Unit, warehouseCode = saveModel.warehouseCode, reqCode = Guid.NewGuid().ToString(), reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }; var result = await _invokeMESService.NewMaterielToMes(dto); if (result != null && result.code == 200) { await Db.Updateable() .SetColumns(it => it.ReturnToMESStatus ==1) .Where(it => it.Id == saveModel.Id) .ExecuteCommandAsync(); } return WebResponseContent.Instance.OK(); } catch (Exception ex) { _logger.LogError("MaterielToMesService add Dt_MaterielToMes: " + ex.Message); return WebResponseContent.Instance.Error(ex.Message); } } } }