From 646ac6f3e1e77d0481e46ea15a6eb6db4ecba065 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期一, 23 六月 2025 13:17:23 +0800
Subject: [PATCH] 11

---
 MES.Service/service/BasicData/SalesOrderManager.cs |   98 ++++++++++++++++++++----------------------------
 1 files changed, 41 insertions(+), 57 deletions(-)

diff --git a/MES.Service/service/BasicData/SalesOrderManager.cs b/MES.Service/service/BasicData/SalesOrderManager.cs
index 95ae9e9..e009c81 100644
--- a/MES.Service/service/BasicData/SalesOrderManager.cs
+++ b/MES.Service/service/BasicData/SalesOrderManager.cs
@@ -4,7 +4,6 @@
 using MES.Service.Dto.webApi;
 using MES.Service.Modes;
 using SqlSugar;
-using DbType = System.Data.DbType;
 
 namespace MES.Service.service.BasicData;
 
@@ -12,8 +11,7 @@
 {
     //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
 
-    private readonly SalesOrderDetailManager _SalesOrderDetailManager =
-        new();
+    private readonly SalesOrderDetailManager _SalesOrderDetailManager = new();
     //ErpSalesOrder
     public bool Save(ErpSalesOrder SalesOrder)
     {
@@ -25,52 +23,50 @@
         {
             switch (erpSalesOrderDto.Type)
             {
-                // case "2":
-                //     return InsertData(db, mesSalesOrder, mesSalesOrderDatas,
-                //         rohInErpRohIn.FBILLTYPE)
-                //         ? 1
-                //         : 0;
                 case "3":
-                    return UpdateData(db, mesSalesOrder, mesSalesOrderDatas) ? 1 : 0;
+                    return DeleteData(db, mesSalesOrder, mesSalesOrderDatas) ? 1 : 0;
                 case "2":
                 case "4":
-                    return SaveOrUpdateData(db, mesSalesOrder, mesSalesOrderDatas, erpSalesOrderDto.Type)
-                        ? 1
-                        : 0;
+                case "5":
+                    return SaveOrUpdateData(db, mesSalesOrder, mesSalesOrderDatas, erpSalesOrderDto.Type)  ? 1: 0;
                 default:
-                    throw new NotImplementedException(
-                        $"type娌℃湁{erpSalesOrderDto.Type}杩欎釜绫诲瀷");
+                    throw new NotImplementedException( $"type娌℃湁{erpSalesOrderDto.Type}杩欎釜绫诲瀷");
             }
         }) > 0;
     }
 
-    private bool UpdateData(SqlSugarScope db, SalesOrder mesSalesOrder,
-        List<SalesOrderDetail> mesSalesOrderDatas)
+    private bool DeleteData(SqlSugarScope db, SalesOrder mesSalesOrder,List<SalesOrderDetail> mesSalesOrderDatas)
     {
         var decimals = mesSalesOrderDatas.Select(s => s.Id).ToArray();
         var update = base.DeleteById(mesSalesOrder.Id);
-        var insertOrUpdate = db
-            .Deleteable<SalesOrderDetail>().In(decimals)
-            .ExecuteCommand() > 0;
+        var insertOrUpdate = db.Deleteable<SalesOrderDetail>().In(decimals).ExecuteCommand() > 0;
 
-        if (update && insertOrUpdate) return true;
+        if (update && insertOrUpdate)
+        {
+            return true;
+        }
         throw new NotImplementedException("鏇存柊澶辫触");
     }
 
     // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
-    private bool SaveOrUpdateData(SqlSugarScope db, SalesOrder mesSalesOrder,
-        List<SalesOrderDetail> mesSalesOrderDatas,string type)
+    private bool SaveOrUpdateData(SqlSugarScope db, SalesOrder mesSalesOrder,List<SalesOrderDetail> mesSalesOrderDatas,string type)
     {
-        if (mesSalesOrder.Id != null) base.DeleteById(mesSalesOrder.Id);
+        if (mesSalesOrder.Id != null)
+        {
+            base.DeleteById(mesSalesOrder.Id);
+        }
 
         if (mesSalesOrderDatas.Count > 0)
-            db.Deleteable<SalesOrderDetail>()
-                .Where(s => s.EHID == mesSalesOrder.ErpID).ExecuteCommand();
+        {
+            db.Deleteable<SalesOrderDetail>().Where(s => s.EHID == mesSalesOrder.ErpID).ExecuteCommand();
+        }
 
         var orUpdate = base.Insert(mesSalesOrder);
         var baOrUpdate = _SalesOrderDetailManager.InsertRange(mesSalesOrderDatas);
-        if (orUpdate && baOrUpdate) return true; 
-        
+        if (orUpdate && baOrUpdate)
+        {
+            return true;
+        }
 
         throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
     }
@@ -82,20 +78,17 @@
         return result.All(b => b);
     }
 
-    private SalesOrder ConvertErpToSalesOrder(
-        ErpSalesOrderDto erpDto)
+    private SalesOrder ConvertErpToSalesOrder(ErpSalesOrderDto erpDto)
     {
         DateTime parsedDate;
 
         // 鏃堕棿鏍煎紡杞崲鍑芥暟锛孍RP鏃堕棿鏍煎紡涓� "yyyy-MM-dd HH:mm:ss"
         DateTime? ParseDateTime(string dateStr)
         {
-            if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss",
-                    CultureInfo.InvariantCulture,
-                    DateTimeStyles.None,
-                    out parsedDate))
+            if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None,out parsedDate))
+            {
                 return parsedDate;
-
+            }
             return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull
         }
 
@@ -109,17 +102,11 @@
             BusinessType = erpDto.FBusinessType, // 涓氬姟绫诲瀷
             HeadDeliveryWay = erpDto.FHeadDeliveryWay, // 浜よ揣鏂瑰紡
             HeadLocId = erpDto.FHEADLOCID, // 浜よ揣鍦扮偣
-            UnWTextKhdd = erpDto.F_UNW_Text_KHDD, // 瀹㈡埛璁㈠崟
-            UnWDateKhxq = ParseDateTime(erpDto.F_UNW_Date_KHXQ) ?? null, // 瀹㈡埛闇�姹備氦鏈�
-            UnWBasePropertyKhdj = erpDto.F_UNW_BaseProperty_KHDJ, // 瀹㈡埛绛夌骇
             CustId = erpDto.FCustId, // 瀹㈡埛
-            UnWLargetextTbkhbz = erpDto.F_UNW_LargeText_TBKHBZ, // 娣樺疂瀹㈡埛澶囨敞
             CloseStatus = erpDto.FCloseStatus, // 鍏抽棴鐘舵��
             SaleDeptId = erpDto.FSaleDeptId, // 閿�鍞儴闂�
             SalerId = erpDto.FSalerId, // 閿�鍞憳
             ChangeReason = erpDto.FChangeReason, // 鍙樻洿鍘熷洜
-            Note = erpDto.FNote, // 澶囨敞
-            UnWRemarksKhjHdd = erpDto.F_UNW_Remarks_KHJHDD, // 瀹㈡埛浜よ揣鍦扮偣
             SettleId = erpDto.FSettleId, // 缁撶畻鏂�
             ApproverId = erpDto.FApproverId, // 瀹℃牳浜�
             LinkMan = erpDto.FLinkMan, // 鏀惰揣浜哄鍚�
@@ -138,23 +125,20 @@
             VersionNo = Convert.ToDouble(erpDto.FVersionNo), // 鐗堟湰鍙�
             ChangerId = erpDto.FChangerId, // 鍙樻洿浜�
             EntryNote = erpDto.FEntryNote // 澶囨敞
-            //ParseDateTime() ?? null
-            //long.Parse()
-            //Convert.ToDecimal()
-            //Convert.ToDouble()
         };
 
         var single = base.GetSingle(it => it.ErpID == Convert.ToDecimal(erpDto.ErpID));
-        if (single != null) salesOrder.Id = single.Id;
+        if (single != null)
+        {
+            salesOrder.Id = single.Id;
+        }
 
         return salesOrder;
     }
 
-    private List<SalesOrderDetail> ConvertErpToSalesOrderDetail(
-        List<ErpSalesOrderDetailDto> erpDtoList)
+    private List<SalesOrderDetail> ConvertErpToSalesOrderDetail(List<ErpSalesOrderDetailDto> erpDtoList)
     {
-        var salesOrderSubList =
-            new List<SalesOrderDetail>();
+        var salesOrderSubList = new List<SalesOrderDetail>();
 
         foreach (var erpDto in erpDtoList)
         {
@@ -168,9 +152,7 @@
                 PriceUnitId = erpDto.FPriceUnitId,
                 PriceUnitQty = Convert.ToDecimal(erpDto.FPriceUnitQty),
                 DeliveryDate = Convert.ToDateTime(erpDto.FDeliveryDate),
-                IsFree = erpDto.FIsFree,
-                SalesOrderNo = erpDto.F_UNW_Text_xsddh,
-                SalesFollowUp = erpDto.F_UNW_Base_GDY,
+                IsFree = Convert.ToDecimal(erpDto.FIsFree),
                 OwnerTypeId = erpDto.FOwnerTypeId,
                 OwnerId = erpDto.FOwnerId,
                 EntryNote = erpDto.FEntryNote,
@@ -194,8 +176,8 @@
                 SalesOrder = erpDto.FXSHTH,
                 CustOrder  = erpDto.F_ZJXF_TEXT_QTR_LEE,
                 SalesContractNo = erpDto.FXSHTBH,
-                ItemNo = erpDto.F_CPLH,
-                ItemName = erpDto.F_ZJXF_REMARKS_YRR,
+                ItemNo = erpDto.F_KHWLBM,
+                ItemName = erpDto.F_KHWLMC,
                 CustId = erpDto.F_ZJXF_TEXT_KF,
                 ArrivalDate = Convert.ToDateTime(erpDto.F_ZJXF_CGDHRQ),
                 ItemModel = erpDto.F_ZJXF_KHGGXH,
@@ -203,9 +185,11 @@
 
             };
 
-            var single = _SalesOrderDetailManager.GetSingle(it =>
-                it.ErpID == Convert.ToDecimal(salesOrderSub.ErpID));
-            if (single != null) salesOrderSub.Id = single.Id;
+            var single = _SalesOrderDetailManager.GetSingle(it =>it.ErpID == Convert.ToDecimal(salesOrderSub.ErpID));
+            if (single != null)
+            {
+                salesOrderSub.Id = single.Id;
+            }
 
             salesOrderSubList.Add(salesOrderSub);
         }

--
Gitblit v1.9.3