From 105ee9e867d29a322517888a9c3efb13f3e89961 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期日, 21 九月 2025 22:46:18 +0800
Subject: [PATCH] 1.接口逻辑调整
---
MES.Service/service/BasicData/SalesOrderManager.cs | 42 ++++++++++++++++++++++++++++++++++--------
1 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/MES.Service/service/BasicData/SalesOrderManager.cs b/MES.Service/service/BasicData/SalesOrderManager.cs
index 77c4ddc..9b31168 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 =>
{
@@ -37,9 +37,12 @@
// ? 1
// : 0;
case "3":
- return UpdateData(db, mesSalesOrder, mesSalesOrderDatas) ? 1 : 0;
+ return SaveOrUpdateData(db, mesSalesOrder, mesSalesOrderDatas, erpSalesOrderDto.Type)
+ ? 1
+ : 0; ;//UpdateData(db, mesSalesOrder, mesSalesOrderDatas) ? 1 : 0;//鍙嶅鏍镐笉鍒犻櫎锛屽仛update銆�
case "2":
case "4":
+ case "5":
return SaveOrUpdateData(db, mesSalesOrder, mesSalesOrderDatas, erpSalesOrderDto.Type)
? 1
: 0;
@@ -85,6 +88,11 @@
{
//if (mesSalesOrder.Id != null) base.DeleteById(mesSalesOrder.Id);
+ if (type == "3" || (mesSalesOrder.DocumentStatus != null && mesSalesOrder.DocumentStatus != "C"))
+ {
+ mesSalesOrder.BillNo = mesSalesOrder.BillNo + "F" + mesSalesOrder.ErpID.ToString();
+ }
+
if (mesSalesOrder.ErpID != null)
db.Deleteable<SalesOrder>()
.Where(s => s.ErpID == mesSalesOrder.ErpID).ExecuteCommand();
@@ -95,7 +103,7 @@
//var orUpdate = base.Insert(mesSalesOrder);
//var baOrUpdate = _SalesOrderDetailManager.InsertRange(mesSalesOrderDatas);
-
+
var orUpdate = db.Insertable(mesSalesOrder)
.IgnoreColumns(true).ExecuteCommand() > 0;
@@ -164,23 +172,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 +248,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 +260,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 +303,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