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/SalesOrderManager.cs | 33 ++++++++++++++++++++++++++------- 1 files changed, 26 insertions(+), 7 deletions(-) diff --git a/MES.Service/service/BasicData/SalesOrderManager.cs b/MES.Service/service/BasicData/SalesOrderManager.cs index 77c4ddc..ff6b3f2 100644 --- a/MES.Service/service/BasicData/SalesOrderManager.cs +++ b/MES.Service/service/BasicData/SalesOrderManager.cs @@ -25,7 +25,7 @@ { var erpSalesOrderDto = SalesOrder.OrderDto; var mesSalesOrder = ConvertErpToSalesOrder(SalesOrder.OrderDto); - var mesSalesOrderDatas = ConvertErpToSalesOrderDetail(mesSalesOrder,SalesOrder.Items); + var mesSalesOrderDatas = ConvertErpToSalesOrderDetail(mesSalesOrder, SalesOrder.Items); return UseTransaction(db => { @@ -40,6 +40,7 @@ return UpdateData(db, mesSalesOrder, mesSalesOrderDatas) ? 1 : 0; case "2": case "4": + case "5": return SaveOrUpdateData(db, mesSalesOrder, mesSalesOrderDatas, erpSalesOrderDto.Type) ? 1 : 0; @@ -95,7 +96,7 @@ //var orUpdate = base.Insert(mesSalesOrder); //var baOrUpdate = _SalesOrderDetailManager.InsertRange(mesSalesOrderDatas); - + var orUpdate = db.Insertable(mesSalesOrder) .IgnoreColumns(true).ExecuteCommand() > 0; @@ -164,23 +165,35 @@ ///ChargeId = erpDto.FChargeId, // 浠樻鏂� ///LinkPhone = erpDto.FLinkPhone, // 鑱旂郴鐢佃瘽 CreatorId = erpDto.FCreatorId, // 鍒涘缓浜� - CreateDate = ParseDateTime(erpDto.FCreateDate) ?? null, // 鍒涘缓鏃ユ湡 + //CreateDate = ParseDateTime(erpDto.FCreateDate) ?? null, // 鍒涘缓鏃ユ湡 + CreateDate = DateTime.TryParse(erpDto.FCreateDate, out var conveyDate) + ? (conveyDate <= new DateTime(1900, 1, 1) ? null : conveyDate) + : null, // 鍒涘缓鏃ユ湡 ModifierId = erpDto.FModifierId, // 鏈�鍚庝慨鏀逛汉 ModifyDate = ParseDateTime(erpDto.FModifyDate) ?? null, // 鏈�鍚庝慨鏀规棩鏈� ApproveDate = ParseDateTime(erpDto.FApproveDate) ?? null, // 瀹℃牳鏃ユ湡 CloserId = erpDto.FCloserId, // 鍏抽棴浜� - CloseDate = ParseDateTime(erpDto.FCloseDate) ?? null, // 鍏抽棴鏃ユ湡 - ChangeDate = ParseDateTime(erpDto.FChangeDate) ?? null, // 鍙樻洿鏃ユ湡 + //CloseDate = ParseDateTime(erpDto.FCloseDate) ?? null, // 鍏抽棴鏃ユ湡 + //ChangeDate = ParseDateTime(erpDto.FChangeDate) ?? null, // 鍙樻洿鏃ユ湡 + ChangeDate = DateTime.TryParse(erpDto.FChangeDate, out var ChangeDate) + ? (ChangeDate <= new DateTime(1900, 1, 1) ? null : ChangeDate) + : null, // 鍙樻洿鏃ユ湡 CancelStatus = erpDto.FCancelStatus, // 浣滃簾鐘舵�� CancellerId = erpDto.FCancellerId, // 浣滃簾浜� VersionNo = Convert.ToDouble(erpDto.FVersionNo), // 鐗堟湰鍙� ChangerId = erpDto.FChangerId, // 鍙樻洿浜� + SynchronousDate = DateTime.Now //EntryNote = erpDto.FEntryNote // 澶囨敞 //ParseDateTime() ?? null //long.Parse() //Convert.ToDecimal() //Convert.ToDouble() }; + + if (!string.IsNullOrEmpty(salesOrder.CloserId)) + salesOrder.CloseDate = string.IsNullOrEmpty(erpDto.FCloseDate) + ? (DateTime?)null + : DateTime.ParseExact(erpDto.FCloseDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); var single = base.GetSingle(it => it.ErpID == Convert.ToDecimal(erpDto.ErpID)); if (single != null) salesOrder.Id = single.Id; @@ -228,7 +241,7 @@ OutLmtUnitId = erpDto.FOutLmtUnitID, MrpCloseStatus = erpDto.FMrpCloseStatus, MrpTerminateStatus = erpDto.FMrpTerminateStatus, - TerminateDate = Convert.ToDateTime(erpDto.FTerminateDate), + //TerminateDate = Convert.ToDateTime(erpDto.FTerminateDate), TerminaterId = erpDto.FTerminatorId, SrcType = erpDto.FSrcType, SrcBillNo = erpDto.FSrcBillNo, @@ -240,6 +253,11 @@ BASEARQTY = Convert.ToDecimal(erpDto.FBASEARQTY), }; + + if (!string.IsNullOrEmpty(salesOrderSub.TerminaterId)) + salesOrderSub.TerminateDate = string.IsNullOrEmpty(erpDto.FTerminateDate) + ? (DateTime?)null + : DateTime.ParseExact(erpDto.FTerminateDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); var single = _SalesOrderDetailManager.GetSingle(it => it.ErpID == Convert.ToDecimal(salesOrderSub.ErpID)); @@ -278,7 +296,8 @@ conModels.Add(new ConditionalModel { FieldName = typeof(SalesOrder).GetProperties()[0].Name, - ConditionalType = ConditionalType.Equal, FieldValue = "1" + ConditionalType = ConditionalType.Equal, + FieldValue = "1" }); //id=1 var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom()); -- Gitblit v1.9.3