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/SalesDeliveryNoticeManager.cs |  111 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 56 insertions(+), 55 deletions(-)

diff --git a/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs b/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs
index 99f79d2..95acca0 100644
--- a/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs
+++ b/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs
@@ -14,8 +14,7 @@
 
         //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
 
-        private readonly SalesDeliveryNoticeDetailManager _SalesDeliveryDetailManager =
-            new();
+        private readonly SalesDeliveryNoticeDetailManager _SalesDeliveryDetailManager = new();
         //ErpSalesRerurn
         public bool Save(ErpSalesDelivery SalesDelivery)
         {
@@ -27,51 +26,47 @@
             {
                 switch (erpSalesDeliveryDto.Type)
                 {
-                    // case "2":
-                    //     return InsertData(db, mesSalesReturn, mesSalesReturnDatas,
-                    //         rohInErpRohIn.FBILLTYPE)
-                    //         ? 1
-                    //         : 0;
                     case "3":
-                        return UpdateData(db, mesSalesDelivery, mesSalesDeliveryDatas) ? 1 : 0;
+                        return DeleteData(db, mesSalesDelivery, mesSalesDeliveryDatas) ? 1 : 0;
                     case "2":
                     case "4":
-                        return SaveOrUpdateData(db, mesSalesDelivery, mesSalesDeliveryDatas, erpSalesDeliveryDto.Type)
-                            ? 1
-                            : 0;
+                        return SaveOrUpdateData(db, mesSalesDelivery, mesSalesDeliveryDatas, erpSalesDeliveryDto.Type) ? 1: 0;
                     default:
-                        throw new NotImplementedException(
-                            $"type娌℃湁{erpSalesDeliveryDto.Type}杩欎釜绫诲瀷");
+                        throw new NotImplementedException( $"type娌℃湁{erpSalesDeliveryDto.Type}杩欎釜绫诲瀷");
                 }
             }) > 0;
         }
     
-        private bool UpdateData(SqlSugarScope db, SalesDeliveryNotice mesSalesDelivery,
-            List<SalesDeliveryNoticeDetail> mesSalesDeliveryDatas)
+        private bool DeleteData(SqlSugarScope db, SalesDeliveryNotice mesSalesDelivery,List<SalesDeliveryNoticeDetail> mesSalesDeliveryDatas)
         {
             var decimals = mesSalesDeliveryDatas.Select(s => s.Id).ToArray();
             var update = base.DeleteById(mesSalesDelivery.Id);
-            var insertOrUpdate = db
-                .Deleteable<SalesDeliveryNoticeDetail>().In(decimals)
-                .ExecuteCommand() > 0;
+            var insertOrUpdate = db.Deleteable<SalesDeliveryNoticeDetail>().In(decimals).ExecuteCommand() > 0;
 
-            if (update && insertOrUpdate) return true;
+            if (update && insertOrUpdate)
+            {
+                return true;
+            }
             throw new NotImplementedException("鏇存柊澶辫触");
         }
 
         // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
-        private bool SaveOrUpdateData(SqlSugarScope db, SalesDeliveryNotice mesSalesDelivery,
-            List<SalesDeliveryNoticeDetail> mesSalesDeliveryDatas, string type)
+        private bool SaveOrUpdateData(SqlSugarScope db, SalesDeliveryNotice mesSalesDelivery,List<SalesDeliveryNoticeDetail> mesSalesDeliveryDatas, string type)
         {
-            if (mesSalesDelivery.Id != null) base.DeleteById(mesSalesDelivery.Id);
-
+            if (mesSalesDelivery.Id != null)
+            {
+                base.DeleteById(mesSalesDelivery.Id);
+            }
             if (mesSalesDeliveryDatas.Count > 0)
-                db.Deleteable<SalesDeliveryNoticeDetail>()
-                    .Where(s => s.ErpHeadId == mesSalesDelivery.ErpId).ExecuteCommand();
-
+            {
+                db.Deleteable<SalesDeliveryNoticeDetail>().Where(s => s.ErpHeadId == mesSalesDelivery.ErpId).ExecuteCommand();
+            }
             var orUpdate = base.Insert(mesSalesDelivery);
             var baOrUpdate = _SalesDeliveryDetailManager.InsertRange(mesSalesDeliveryDatas);
-            if (orUpdate && baOrUpdate) return true;
+            if (orUpdate && baOrUpdate)
+            {
+                return true;
+            }
 
 
             throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
@@ -84,19 +79,17 @@
             return result.All(b => b);
         }
  
-        private SalesDeliveryNotice ConvertErpToSalesDelivery(
-            ErpSalesDeliveryDto erpDto)
+        private SalesDeliveryNotice ConvertErpToSalesDelivery(ErpSalesDeliveryDto 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,9 +102,7 @@
                 BillType = erpDto.FBillTypeID, // 鍗曟嵁绫诲瀷
                 Currency = erpDto.FSettleCurrld, // 缁撶畻甯佸埆
                 SalesDept = erpDto.FSaleDeptId, //閿�鍞儴闂�
-                CustomerOrderNo = erpDto.F_UNW_Text_KHDD, // 瀹㈡埛璁㈠崟
                 Customer = erpDto.FCustomerID, // 瀹㈡埛
-                TaobaoRemark = erpDto.F_UNW_LargeText_TBKHBZ, // 娣樺疂瀹㈡埛澶囨敞
                 DeliveryMethod = erpDto.FHeadDeliveryWay, // 浜よ揣鏂瑰紡
                 DeliveryLocation = erpDto.FHeadLocId, // 浜よ揣鍦扮偣
                 Carrier = erpDto.FCarrierID, // 鎵胯繍鍟�
@@ -147,28 +138,26 @@
             };
 
             var single = base.GetSingle(it => it.ErpId == erpDto.ErpID);
-            if (single != null) salesOrder.Id = single.Id;
+            if (single != null)
+            {
+                salesOrder.Id = single.Id;
+            }
 
             return salesOrder;
         }
 
-        private List<SalesDeliveryNoticeDetail> ConvertErpToSalesDeliveryDetail(
-            List<ErpSalesDeliveryDetailDto> erpDtoList)
+        private List<SalesDeliveryNoticeDetail> ConvertErpToSalesDeliveryDetail(List<ErpSalesDeliveryDetailDto> erpDtoList)
 
         {
-            var salesOrderSubList =
-                new List<SalesDeliveryNoticeDetail>();
-
+            var salesOrderSubList = new List<SalesDeliveryNoticeDetail>();
             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
             }
 
@@ -180,13 +169,10 @@
                 {
                     ErpLineId = erpDto.ErpID,//ERP琛孖D
                     ErpHeadId = erpDto.EHID,//ERP澶碔D
-                    SalesOrderId = erpDto.F_UNW_Text_xsddh,//閿�鍞鍗曞彿
                     MaterialId = erpDto.FMaterialId,//鐗╂枡缂栧彿
-                   // MaterialName = erpDto.FMaterialName,// 鐗╂枡鍚嶇О
-                    //MaterialSpecification = erpDto.FMaterialModel,//瑙勬牸鍨嬪彿
                     SalesUnitId = erpDto.FUnitID,//閿�鍞崟浣�
                     SalesQuantity = Convert.ToDecimal(erpDto.FQty),//閿�鍞暟閲�
-                    IsFree = erpDto.FIsFree,//鏄惁璧犲搧
+                    IsFree = Convert.ToDecimal(erpDto.FIsFree),//鏄惁璧犲搧
                     DeliveryDate = ParseDateTime(erpDto.FDeliverydate),//瑕佽揣鏃ユ湡
                     Warehouse = erpDto.FStockId,//鍑鸿揣浠撳簱
                     PlanTrackingNumber = erpDto.FMtoNo,//璁″垝璺熻釜鍙�
@@ -196,7 +182,6 @@
                     OwnerId = erpDto.FOwnerIdHead,//璐т富
                     InventoryUnit = erpDto.FStockUnitID,//搴撳瓨鍗曚綅
                     InventoryQuantity = Convert.ToDecimal(erpDto.FStockQty),//搴撳瓨鏁伴噺
-                    //MaterialCategory = erpDto.FMaterialType,//鐗╂枡绫诲埆
                     PlanDeliveryDate = ParseDateTime(erpDto.FPlanDeliveryDate),//璁″垝鍙戣揣鏃ユ湡
                     OutLmtUnit = erpDto.FOutLmtUnit,//瓒呭彂鎺у埗鍗曚綅
                     OutMaxQty = erpDto.FOutMaxQty,//鍑哄簱涓婇檺
@@ -208,13 +193,29 @@
                     TerminationStatus = erpDto.FTerminationStatus,//缁堟鐘舵��
                     TerminationDate = ParseDateTime(erpDto.FTerminateDate),//涓氬姟缁堟鏃ユ湡
                     SumOutQty = erpDto.FSumOutQty,//绱鍑哄簱鏁伴噺
-                    RemainOutQty = erpDto.FRemainOutQty//鏈嚭搴撴暟閲�
+                    RemainOutQty = erpDto.FRemainOutQty,//鏈嚭搴撴暟閲�
+                    SalesOrder   = erpDto.FXSHTH,//閿�鍞鍗曞彿
+                    CustOrder    = erpDto.F_ZJXF_TEXT_QTR_LEE,//瀹㈡埛璁㈠崟鍙�
+                    SalesContractNo = erpDto.FXSHTBH,//閿�鍞悎鍚岀紪鍙�
+                    F_KHWLBM=erpDto.F_KHWLBM,
+                    F_KHWLMC=erpDto.F_KHWLMC,
 
                 };
 
-                var single = _SalesDeliveryDetailManager.GetSingle(it =>
-                    it.ErpLineId == salesOrderSub.ErpLineId);
-                if (single != null) salesOrderSub.Id = single.Id;
+                if (erpDto.FRemainOutQty==0)
+                {
+                    salesOrderSub.IsFinish = 1;
+                }
+                else
+                {
+                    salesOrderSub.IsFinish = 0;
+                }
+
+                var single = _SalesDeliveryDetailManager.GetSingle(it =>it.ErpLineId == salesOrderSub.ErpLineId);
+                if (single != null)
+                {
+                    salesOrderSub.Id = single.Id;
+                }
 
                 salesOrderSubList.Add(salesOrderSub);
             }

--
Gitblit v1.9.3