From a4ae3bf5f1826e8e29a95da3dc2c947d713d4ebb Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期五, 06 六月 2025 15:38:14 +0800 Subject: [PATCH] 1.仓库信息储存逻辑调整 2.生产订单接口优化。 --- MES.Service/service/BasicData/MesRohInManager.cs | 76 ++++++++++++++++++++++++++------------ 1 files changed, 52 insertions(+), 24 deletions(-) diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs index 6509483..fd0edbc 100644 --- a/MES.Service/service/BasicData/MesRohInManager.cs +++ b/MES.Service/service/BasicData/MesRohInManager.cs @@ -1,7 +1,9 @@ -锘縰sing MES.Service.DB; +锘縰sing Masuit.Tools; +using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; +using System.Globalization; namespace MES.Service.service.BasicData; @@ -37,15 +39,15 @@ private bool UpdateData(SqlSugarScope db, MesRohIn mesRohIn, List<MesRohInData> mesRohInDatas) { - var decimals = mesRohInDatas.Select(s => s.Id).ToArray(); + var decimals = mesRohInDatas.Select(s => s.Guid).ToArray(); var update = db.Deleteable<MesRohIn>() - .Where(a => a.Id == mesRohIn.Id) + .Where(a => a.Guid == mesRohIn.Guid) .ExecuteCommand() > 0; var insertOrUpdate = db .Deleteable<MesRohInData>() - .Where(s => decimals.Contains(s.Id)) + .Where(s => decimals.Contains(s.Guid)) .ExecuteCommand() > 0; if (update && insertOrUpdate) return true; @@ -56,16 +58,22 @@ private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn, List<MesRohInData> mesRohInDatas) { - if (mesRohIn.Id != null) - db.Deleteable<MesRohIn>().Where(s => s.Id == mesRohIn.Id) + if (mesRohIn.Guid != null) + db.Deleteable<MesRohIn>().Where(s => s.Guid == mesRohIn.Guid) .ExecuteCommand(); if (mesRohInDatas.Count > 0) db.Deleteable<MesRohInData>() .Where(s => s.ErpId == mesRohIn.EbelnK3id).ExecuteCommand(); - var orUpdate = base.Insert(mesRohIn); - var baOrUpdate = rohInDataManager.InsertRange(mesRohInDatas); + var orUpdate = db.Insertable(mesRohIn) + .IgnoreColumns(true).ExecuteCommand() > 0; + + + var baOrUpdate = db.Insertable(mesRohInDatas).PageSize(1) + .IgnoreColumnsNull() + .ExecuteCommand() > 0; + if (orUpdate && baOrUpdate) return true; throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); } @@ -83,8 +91,9 @@ var eid = long.Parse(rohIn.id); var mesRohIn = new MesRohIn(); + var single = base.GetSingle(it => it.EbelnK3id == eid); - if (single != null) mesRohIn.Id = single.Id; + if (single != null) mesRohIn.Guid = single.Guid; mesRohIn.EbelnK3id = eid; mesRohIn.BillNo = rohIn.FBillNo; @@ -110,9 +119,10 @@ mesRohIn.CancellationPerson = rohIn.FCancellerId; if (rohIn.FCancelDate != null) - mesRohIn.CancellationDate = - DateTime.ParseExact(rohIn.FCancelDate, - "yyyy-MM-dd HH:mm:ss", null); + if (!mesRohIn.CancellationPerson.IsNullOrEmpty()) + mesRohIn.CancellationDate = + DateTime.ParseExact(rohIn.FCancelDate, + "yyyy-MM-dd HH:mm:ss", null); mesRohIn.CreateBy = rohIn.FCreatorId; @@ -142,7 +152,7 @@ mesRohIn.FixedTelephone = rohIn.FixedTelephone; mesRohIn.Address = rohIn.Address; mesRohIn.Acctype = rohIn.Acctype; - + mesRohIn.SynchronousDate = DateTime.Now; return mesRohIn; } @@ -155,7 +165,7 @@ { var entity = new MesRohInData { - EbelnK3id = Convert.ToDecimal(s.id), + EbelnK3id = Convert.ToDecimal(s.id), ErpId = Convert.ToDecimal(s.Eid), BillNo = s.FBillNo, ItemId = s.FMaterialId, @@ -185,23 +195,29 @@ BusinessClose = s.FMRPCloseStatus, BusinessFreeze = s.FMRPFreezeStatus, Freezer = s.FFreezerId, - FreezeTime = s.FFreezeDate != null - ? DateTime.ParseExact(s.FFreezeDate, - "yyyy-MM-dd HH:mm:ss", null) - : null, + //FreezeTime = !string.IsNullOrEmpty(s.FFreezeDate) + // && DateTime.TryParseExact(s.FFreezeDate, + // new[] { "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd" }, // 鏀寔澶氱鏍煎紡 + // CultureInfo.InvariantCulture, + // DateTimeStyles.None, + // out var parsedDate) + // && parsedDate > new DateTime(1900, 1, 1) + // ? parsedDate + // : (DateTime?)null, BusinessTerminate = s.FMRPTerminateStatus, Terminator = s.FTerminaterId, - TerminateTime = s.FTerminateDate != null - ? DateTime.ParseExact(s.FTerminateDate, - "yyyy-MM-dd HH:mm:ss", null) - : null, + //TerminateTime = s.FTerminateDate != null + // ? DateTime.ParseExact(s.FTerminateDate, + // "yyyy-MM-dd HH:mm:ss", null) + // : null, TotalReceivedQty = Convert.ToDecimal(s.FReceiveQty), //绱鏀舵枡鏁� RemainingReceivedQty = Convert.ToDecimal(s.FRemainReceiveQty), TotalStoredQty = Convert.ToDecimal(s.FStockInQty), //绱鍏ュ簱鏁� RemainingStoredQty = Convert.ToDecimal(s.FRemainStockINQty), TotalReturnedQty = Convert.ToDecimal(s.FMrbQty), - ReturnableReceivedQty = Convert.ToDecimal(s.FCHECKRETQTY), //鏀舵枡鍙��鏁� + ReturnableReceivedQty = + Convert.ToDecimal(s.FCHECKRETQTY), //鏀舵枡鍙��鏁� ReturnableStoredQty = Convert.ToDecimal(s.FSTOCKRETQTY), //搴撳瓨鍙��鏁� SourceDocumentType = s.FSrcBillTypeId, SourceDocumentId = s.FSrcBillNo, @@ -222,9 +238,21 @@ ReceivingDepartment = s.FReceiveDeptId }; + if (s.FFreezeDate != null) + if (!s.FFreezerId.IsNullOrEmpty()) + entity.FreezeTime = + DateTime.ParseExact(s.FFreezeDate, + "yyyy-MM-dd HH:mm:ss", null); + + if (s.FTerminateDate != null) + if (!s.FTerminaterId.IsNullOrEmpty()) + entity.TerminateTime = + DateTime.ParseExact(s.FTerminateDate, + "yyyy-MM-dd HH:mm:ss", null); + var single = rohInDataManager.GetSingle(it => it.EbelnK3id == entity.EbelnK3id); - if (single != null) entity.Id = single.Id; + if (single != null) entity.Guid = single.Guid; return entity; }).ToList(); -- Gitblit v1.9.3