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