From f476ec010c22cd4e3c6a119eea035cbf4594bfbb Mon Sep 17 00:00:00 2001 From: kyy <3283105747@qq.com> Date: 星期五, 12 九月 2025 19:32:00 +0800 Subject: [PATCH] 1\修正收料通知单 --- MES.Service/service/BasicData/MesRohInManager.cs | 198 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 158 insertions(+), 40 deletions(-) diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs index 217fa4c..c1be11a 100644 --- a/MES.Service/service/BasicData/MesRohInManager.cs +++ b/MES.Service/service/BasicData/MesRohInManager.cs @@ -90,20 +90,33 @@ { var eid = long.Parse(rohIn.id); var mesRohIn = new MesRohIn(); - - var single = base.GetSingle(it => it.EbelnK3id == eid); if (single != null) mesRohIn.Guid = single.Guid; - mesRohIn.EbelnK3id = eid; mesRohIn.BillNo = rohIn.FBillNo; mesRohIn.DocumentStatus = rohIn.FDocumentStatus; mesRohIn.DocumentType = rohIn.FBillTypeID; mesRohIn.BusinessType = rohIn.FBusinessType; + /*if (rohIn.FDate != null) + mesRohIn.PurchaseDate = DateTime.ParseExact(rohIn.FDate, + "yyyy-MM-d H:m:s", null);*/ - if (rohIn.FDate != null) - mesRohIn.PurchaseDate = DateTime.ParseExact(rohIn.FDate, - "yyyy-MM-dd HH:mm:ss", null); + // 1. 澶勭悊 fDate锛堥噰璐棩鏈燂級 + if (!rohIn.FDate.IsNullOrEmpty()) + { + if (!DateTime.TryParseExact(rohIn.FDate, "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, + DateTimeStyles.None, out DateTime purchaseDate)) + { + throw new FormatException($"閲囪喘鏃ユ湡锛團Date锛夎В鏋愬け璐ワ紒鍊硷細銆恵rohIn.FDate}銆戯紝鏀寔鏍煎紡锛歽yyy-MM-d H:m:s"); + } + + mesRohIn.PurchaseDate = purchaseDate; + } + else + { + mesRohIn.PurchaseDate = null; + } + mesRohIn.Supplier = rohIn.FSupplierId; mesRohIn.CloseStatus = rohIn.FCloseStatus; @@ -117,36 +130,94 @@ mesRohIn.Remarks = rohIn.Remarks; mesRohIn.CancellationStatus = rohIn.FCancelStatus; mesRohIn.CancellationPerson = rohIn.FCancellerId; - - if (rohIn.FCancelDate != null) + /*if (rohIn.FCancelDate != null) if (!mesRohIn.CancellationPerson.IsNullOrEmpty()) mesRohIn.CancellationDate = DateTime.ParseExact(rohIn.FCancelDate, - "yyyy-MM-dd HH:mm:ss", null); - + "yyyy-MM-d H:m:s", null); mesRohIn.CreateBy = rohIn.FCreatorId; - if (rohIn.FCreateDate != null) mesRohIn.CreateDate = DateTime.ParseExact(rohIn.FCreateDate, - "yyyy-MM-dd HH:mm:ss", null); - + "yyyy-MM-d H:m:s", null); mesRohIn.LastupdateBy = rohIn.FModifierId; - if (rohIn.FModifyDate != null) mesRohIn.LastupdateDate = DateTime.ParseExact(rohIn.FModifyDate, - "yyyy-MM-dd HH:mm:ss", null); + "yyyy-MM-d H:m:s", null); + mesRohIn.Prearrivaldate = rohIn.Prearrivaldate != null + ? DateTime.ParseExact(rohIn.Prearrivaldate, + "yyyy-MM-d H:m:s", null) + : null;*/ + if (!rohIn.FCancelDate.IsNullOrEmpty() && !mesRohIn.CancellationPerson.IsNullOrEmpty()) + { + if (!DateTime.TryParseExact(rohIn.FCancelDate, "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, + DateTimeStyles.None, out DateTime cancelDate)) + { + throw new FormatException($"鍙栨秷鏃ユ湡锛團CancelDate锛夎В鏋愬け璐ワ紒鍊硷細銆恵rohIn.FCancelDate}銆戯紝鏀寔鏍煎紡锛歽yyy-MM-d H:m:s"); + } + + mesRohIn.CancellationDate = cancelDate; + } + else + { + mesRohIn.CancellationDate = null; + } + + // 3. 澶勭悊 fCreateDate锛堝垱寤烘棩鏈燂級 + if (!rohIn.FCreateDate.IsNullOrEmpty()) + { + if (!DateTime.TryParseExact(rohIn.FCreateDate, "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, + DateTimeStyles.None, out DateTime createDate)) + { + throw new FormatException($"鍒涘缓鏃ユ湡锛團CreateDate锛夎В鏋愬け璐ワ紒鍊硷細銆恵rohIn.FCreateDate}銆戯紝鏀寔鏍煎紡锛歽yyy-MM-d H:m:s"); + } + + mesRohIn.CreateDate = createDate; + } + else + { + mesRohIn.CreateDate = null; + } + + // 4. 澶勭悊 fModifyDate锛堜慨鏀规棩鏈燂級 + if (!rohIn.FModifyDate.IsNullOrEmpty()) + { + if (!DateTime.TryParseExact(rohIn.FModifyDate, "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, + DateTimeStyles.None, out DateTime modifyDate)) + { + throw new FormatException($"淇敼鏃ユ湡锛團ModifyDate锛夎В鏋愬け璐ワ紒鍊硷細銆恵rohIn.FModifyDate}銆戯紝鏀寔鏍煎紡锛歽yyy-MM-d H:m:s"); + } + + mesRohIn.LastupdateDate = modifyDate; + } + else + { + mesRohIn.LastupdateDate = null; + } + + + // 6. 澶勭悊 prearrivaldate锛堥璁″埌璐ф棩鏈燂級 + if (!rohIn.Prearrivaldate.IsNullOrEmpty()) + { + if (!DateTime.TryParseExact(rohIn.Prearrivaldate, "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, + DateTimeStyles.None, out DateTime preArrivalDate)) + { + throw new FormatException( + $"棰勮鍒拌揣鏃ユ湡锛圥rearrivaldate锛夎В鏋愬け璐ワ紒鍊硷細銆恵rohIn.Prearrivaldate}銆戯紝鏀寔鏍煎紡锛歽yyy-MM-d H:m:s"); + } + + mesRohIn.Prearrivaldate = preArrivalDate; + } + else + { + mesRohIn.Prearrivaldate = null; + } mesRohIn.ErpCheckBy = rohIn.FApproverId; mesRohIn.ErpCheckDate = rohIn.FApproveDate; mesRohIn.Changereason = rohIn.FChangeReason; - mesRohIn.Prearrivaldate = rohIn.Prearrivaldate != null - ? DateTime.ParseExact(rohIn.Prearrivaldate, - "yyyy-MM-dd HH:mm:ss", null) - : null; mesRohIn.ReceiveOrgId = rohIn.FReceiveOrgId; mesRohIn.ProviderId = rohIn.FProviderId; - mesRohIn.Anred = rohIn.FTContact; mesRohIn.Telf1 = rohIn.Fmobilephone; mesRohIn.FixedTelephone = rohIn.FixedTelephone; @@ -174,17 +245,45 @@ InventoryUnit = s.FStockUnitID, PricingUnit = s.FPriceUnitId, PricingQty = Convert.ToDecimal(s.FPriceUnitQty), + /* DeliveryDate = s.FDeliveryDate != null ? DateTime.ParseExact(s.FDeliveryDate, - "yyyy-MM-dd HH:mm:ss", null) + "yyyy-MM-d H:m:s", null) : null, EarliestDeliveryDate = s.FDeliveryEarlyDate != null ? DateTime.ParseExact(s.FDeliveryEarlyDate, - "yyyy-MM-dd HH:mm:ss", null) + "yyyy-MM-d H:m:s", null) : null, LatestDeliveryDate = s.FDeliveryLastDate != null ? DateTime.ParseExact(s.FDeliveryLastDate, - "yyyy-MM-dd HH:mm:ss", null) + "yyyy-MM-d H:m:s", null) + : null, + */ + // 1. 澶勭悊 fDeliveryDate锛堜氦璐ф棩鏈燂級 + DeliveryDate = !s.FDeliveryDate.IsNullOrEmpty() + ? (DateTime.TryParseExact(s.FDeliveryDate, "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, + DateTimeStyles.None, out DateTime deliveryDate) + ? deliveryDate + : throw new FormatException( + $"浜よ揣鏃ユ湡锛團DeliveryDate锛夎В鏋愬け璐ワ紒鍊硷細銆恵s.FDeliveryDate}銆戯紝鏀寔鏍煎紡锛歽yyy-MM-d H:m:s")) + : null, + + // 2. 澶勭悊 fDeliveryEarlyDate锛堟渶鏃╀氦璐ф棩鏈燂級 + EarliestDeliveryDate = !s.FDeliveryEarlyDate.IsNullOrEmpty() + ? (DateTime.TryParseExact(s.FDeliveryEarlyDate, "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, + DateTimeStyles.None, out DateTime earlyDate) + ? earlyDate + : throw new FormatException( + $"鏈�鏃╀氦璐ф棩鏈燂紙FDeliveryEarlyDate锛夎В鏋愬け璐ワ紒鍊硷細銆恵s.FDeliveryEarlyDate}銆戯紝鏀寔鏍煎紡锛歽yyy-MM-d H:m:s")) + : null, + + // 3. 澶勭悊 fDeliveryLastDate锛堟渶鏅氫氦璐ф棩鏈燂級 + LatestDeliveryDate = !s.FDeliveryLastDate.IsNullOrEmpty() + ? (DateTime.TryParseExact(s.FDeliveryLastDate, "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, + DateTimeStyles.None, out DateTime lastDate) + ? lastDate + : throw new FormatException( + $"鏈�鏅氫氦璐ф棩鏈燂紙FDeliveryLastDate锛夎В鏋愬け璐ワ紒鍊硷細銆恵s.FDeliveryLastDate}銆戯紝鏀寔鏍煎紡锛歽yyy-MM-d H:m:s")) : null, IsGift = s.FGiveAway, Remarks = s.FEntryNote, @@ -195,21 +294,8 @@ BusinessClose = s.FMRPCloseStatus, BusinessFreeze = s.FMRPFreezeStatus, Freezer = s.FFreezerId, - //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, TotalReceivedQty = Convert.ToDecimal(s.FReceiveQty), //绱鏀舵枡鏁� RemainingReceivedQty = Convert.ToDecimal(s.FRemainReceiveQty), @@ -237,20 +323,52 @@ DemandDepartment = s.FRequireDeptId, ReceivingDepartment = s.FReceiveDeptId, SalesOrderId = s.SalesOrderId, - OrderLineId = s.OrderLineId + OrderLineId = s.OrderLineId, + FSUBREQENTRYID = s.FSUBREQENTRYID }; - if (s.FFreezeDate != null) + /*if (s.FFreezeDate != null) if (!s.FFreezerId.IsNullOrEmpty()) entity.FreezeTime = DateTime.ParseExact(s.FFreezeDate, - "yyyy-MM-dd HH:mm:ss", null); + "yyyy-MM-d H:m:s", null); if (s.FTerminateDate != null) if (!s.FTerminaterId.IsNullOrEmpty()) entity.TerminateTime = DateTime.ParseExact(s.FTerminateDate, - "yyyy-MM-dd HH:mm:ss", null); + "yyyy-MM-d H:m:s", null);*/ +// 4. 澶勭悊 fFreezeDate锛堝喕缁撴棩鏈燂級 + if (!s.FFreezeDate.IsNullOrEmpty() && !s.FFreezerId.IsNullOrEmpty()) + { + if (!DateTime.TryParseExact(s.FFreezeDate, "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, + DateTimeStyles.None, out DateTime freezeTime)) + { + throw new FormatException($"鍐荤粨鏃ユ湡锛團FreezeDate锛夎В鏋愬け璐ワ紒鍊硷細銆恵s.FFreezeDate}銆戯紝鏀寔鏍煎紡锛歽yyy-MM-d H:m:s"); + } + + entity.FreezeTime = freezeTime; + } + else + { + entity.FreezeTime = null; + } + + // 5. 澶勭悊 fTerminateDate锛堢粓姝㈡棩鏈燂級 + if (!s.FTerminateDate.IsNullOrEmpty() && !s.FTerminaterId.IsNullOrEmpty()) + { + if (!DateTime.TryParseExact(s.FTerminateDate, "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, + DateTimeStyles.None, out DateTime terminateTime)) + { + throw new FormatException($"缁堟鏃ユ湡锛團TerminateDate锛夎В鏋愬け璐ワ紒鍊硷細銆恵s.FTerminateDate}銆戯紝鏀寔鏍煎紡锛歽yyy-MM-d H:m:s"); + } + + entity.TerminateTime = terminateTime; + } + else + { + entity.TerminateTime = null; + } var single = rohInDataManager.GetSingle(it => it.EbelnK3id == entity.EbelnK3id); -- Gitblit v1.9.3