From c6d9fc76d16c944e64d6490eb2a6d866fd7a38f0 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期三, 12 十一月 2025 09:06:01 +0800
Subject: [PATCH] 11

---
 MES.Service/service/BasicData/SalesReturnNoticeManager.cs |  145 +++++++++++++++++++++---------------------------
 1 files changed, 64 insertions(+), 81 deletions(-)

diff --git a/MES.Service/service/BasicData/SalesReturnNoticeManager.cs b/MES.Service/service/BasicData/SalesReturnNoticeManager.cs
index c4cca56..907735e 100644
--- a/MES.Service/service/BasicData/SalesReturnNoticeManager.cs
+++ b/MES.Service/service/BasicData/SalesReturnNoticeManager.cs
@@ -1,10 +1,8 @@
-锘縰sing MES.Service.DB;
-using System.Data;
-using System.Globalization;
+锘縰sing System.Globalization;
+using MES.Service.DB;
 using MES.Service.Dto.webApi;
 using MES.Service.Modes;
 using SqlSugar;
-using DbType = System.Data.DbType;
 
 namespace MES.Service.service.BasicData;
 
@@ -12,8 +10,8 @@
 {
     //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
 
-    private readonly SalesReturnDetailManager _SalesReturnDetailManager =
-        new();
+    private readonly SalesReturnDetailManager _SalesReturnDetailManager = new();
+
     //ErpSalesRerurn
     public bool Save(ErpSalesRerurn SalesReturn)
     {
@@ -25,21 +23,13 @@
         {
             switch (erpSalesReturnDto.Type)
             {
-                // case "2":
-                //     return InsertData(db, mesSalesReturn, mesSalesReturnDatas,
-                //         rohInErpRohIn.FBILLTYPE)
-                //         ? 1
-                //         : 0;
                 case "3":
                     return UpdateData(db, mesSalesReturn, mesSalesReturnDatas) ? 1 : 0;
                 case "2":
                 case "4":
-                    return SaveOrUpdateData(db, mesSalesReturn, mesSalesReturnDatas, erpSalesReturnDto.Type)
-                        ? 1
-                        : 0;
+                    return SaveOrUpdateData(db, mesSalesReturn,mesSalesReturnDatas, erpSalesReturnDto.Type) ? 1 : 0;
                 default:
-                    throw new NotImplementedException(
-                        $"type娌℃湁{erpSalesReturnDto.Type}杩欎釜绫诲瀷");
+                    throw new NotImplementedException($"type娌℃湁{erpSalesReturnDto.Type}杩欎釜绫诲瀷");
             }
         }) > 0;
     }
@@ -49,28 +39,31 @@
     {
         var decimals = mesSalesReturnDatas.Select(s => s.Id).ToArray();
         var update = base.DeleteById(mesSalesReturn.Id);
-        var insertOrUpdate = db
-            .Deleteable<SalesReturnNoticeDetail>().In(decimals)
-            .ExecuteCommand() > 0;
+        var insertOrUpdate = db.Deleteable<SalesReturnNoticeDetail>().In(decimals).ExecuteCommand() > 0;
 
-        if (update && insertOrUpdate) return true;
+        if (update && insertOrUpdate)
+        {
+            return true;
+        }
         throw new NotImplementedException("鏇存柊澶辫触");
     }
 
     // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
-    private bool SaveOrUpdateData(SqlSugarScope db, SalesReturnNotice mesSalesReturn,
-        List<SalesReturnNoticeDetail> mesSalesReturnDatas,string type)
+    private bool SaveOrUpdateData(SqlSugarScope db,SalesReturnNotice mesSalesReturn,List<SalesReturnNoticeDetail> mesSalesReturnDatas, string type)
     {
-        if (mesSalesReturn.Id != null) base.DeleteById(mesSalesReturn.Id);
+        if (mesSalesReturn.Id != null)
+        {
+            base.DeleteById(mesSalesReturn.Id);
+        }
 
         if (mesSalesReturnDatas.Count > 0)
-            db.Deleteable<SalesReturnNoticeDetail>()
-                .Where(s => s.ErpHeadId == mesSalesReturn.ErpId).ExecuteCommand();
-
+        {
+            db.Deleteable<SalesReturnNoticeDetail>().Where(s => s.ErpHeadId == mesSalesReturn.ErpId).ExecuteCommand();
+        }
         var orUpdate = base.Insert(mesSalesReturn);
         var baOrUpdate = _SalesReturnDetailManager.InsertRange(mesSalesReturnDatas);
-        if (orUpdate && baOrUpdate) return true; 
-        
+        if (orUpdate && baOrUpdate) return true;
+
 
         throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
     }
@@ -82,20 +75,17 @@
         return result.All(b => b);
     }
 
-    private SalesReturnNotice ConvertErpToSalesReturn(
-        ErpSalesReturnDto erpDto)
+    private SalesReturnNotice ConvertErpToSalesReturn(ErpSalesReturnDto 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
         }
 
@@ -108,15 +98,13 @@
             Currency = erpDto.FSettleCurrld, // 缁撶畻甯佸埆
             SalesDept = erpDto.FSaleDeptId, //閿�鍞儴闂�
             ReturnCustomer = erpDto.FRetcustId, // 閫�璐у鎴�
-            TaobaoRemark = erpDto.F_UNW_LargeText_TBKHBZ, // 娣樺疂瀹㈡埛澶囨敞
             ReturnReason = erpDto.FRetcustReason, // 閫�璐у師鍥�
             DeliveryLocation = erpDto.FHeadLocId, // 浜よ揣鍦扮偣
             InventoryDept = erpDto.FRetDeptId, // 搴撳瓨閮ㄩ棬
             InventoryGroup = erpDto.FStockerGroupId, // 搴撳瓨缁�
             WarehouseManager = erpDto.FStockerId, // 浠撶鍛�
             SalesGroup = erpDto.FSaleGroupId, // 閿�鍞粍
-            SalesPerson = erpDto.FSalesManId,//閿�鍞憳
-            ExpressNo = erpDto.F_UNW_Text_KDDH, // 蹇�掑崟鍙�
+            SalesPerson = erpDto.FSalesManId, //閿�鍞憳
             Receiver = erpDto.FReceiveCusId, // 鏀惰揣鏂�
             ReceiverContact = erpDto.FReceiveCusContact, // 鏀惰揣鏂硅仈绯讳汉
             ReceiverAddress = erpDto.FReceiveAddress, // 鏀惰揣鏂瑰湴鍧�
@@ -135,80 +123,75 @@
             CancelledBy = erpDto.FCancellerId, // 浣滃簾浜�
             CancelDate = ParseDateTime(erpDto.FCancelDate) ?? null, // 浣滃簾鏃ユ湡
             CloseStatus = erpDto.FBillCloseStatus, // 鍏抽棴鐘舵��
-            BillStatus  = erpDto.FDocumentStatus //鍗曟嵁鐘舵��
-
+            BillStatus = erpDto.FDocumentStatus //鍗曟嵁鐘舵��
         };
 
         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<SalesReturnNoticeDetail> ConvertErpToSalesReturnDetail(
-        List<ErpSalesReturnDetailDto> erpDtoList)
-        
+    private List<SalesReturnNoticeDetail> ConvertErpToSalesReturnDetail(List<ErpSalesReturnDetailDto> erpDtoList)
+
     {
-        var salesOrderSubList =
-            new List<SalesReturnNoticeDetail>();
+        var salesOrderSubList = new List<SalesReturnNoticeDetail>();
 
         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
         }
-
 
 
         foreach (var erpDto in erpDtoList)
         {
             var salesOrderSub = new SalesReturnNoticeDetail
             {
-                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,//鏄惁璧犲搧
-                ReturnDate = ParseDateTime(erpDto.FDeliverydate),//閫�璐ф棩鏈�
-                Warehouse = erpDto.FStockId,//浠撳簱
-                PlanTrackingNumber = erpDto.FMtoNo,//璁″垝璺熻釜鍙�
-                LotNumber = erpDto.FLot,//鎵瑰彿
-                Note = erpDto.FEntryDescription,//澶囨敞
-                ReturnType = erpDto.FRmType,//閫�璐х被鍨�
-                SalesClerk = erpDto.F_UNW_Base_GDY,//璺熷崟鍛�
-                InventoryUnit = erpDto.FStockUnitID,//搴撳瓨鍗曚綅
-                InventoryQuantity = Convert.ToDecimal(erpDto.FStockQty),//搴撳瓨鏁伴噺
-                MaterialCategory = erpDto.FMaterialType,//鐗╂枡绫诲埆
-                OwnerTypeId = erpDto.FOwnerTypeID,//璐т富绫诲瀷
-                OwnerId = erpDto.FOwnerId,//璐т富
+                ErpLineId = erpDto.ErpID, //ERP琛孖D
+                ErpHeadId = erpDto.EHID, //ERP澶碔D
+                MaterialId = erpDto.FMaterialId, //鐗╂枡缂栧彿
+                MaterialName = erpDto.FMaterialName, // 鐗╂枡鍚嶇О
+                MaterialSpecification = erpDto.FMaterialModel, //瑙勬牸鍨嬪彿
+                SalesUnitId = erpDto.FUnitID, //閿�鍞崟浣�
+                SalesQuantity = Convert.ToDecimal(erpDto.FQty), //閿�鍞暟閲�
+                IsFree = Convert.ToDecimal(erpDto.FIsFree), //鏄惁璧犲搧
+                ReturnDate = ParseDateTime(erpDto.FDeliverydate), //閫�璐ф棩鏈�
+                Warehouse = erpDto.FStockId, //浠撳簱
+                PlanTrackingNumber = erpDto.FMtoNo, //璁″垝璺熻釜鍙�
+                LotNumber = erpDto.FLot, //鎵瑰彿
+                Note = erpDto.FEntryDescription, //澶囨敞
+                ReturnType = erpDto.FRmType, //閫�璐х被鍨�
+                InventoryUnit = erpDto.FStockUnitID, //搴撳瓨鍗曚綅
+                InventoryQuantity = Convert.ToDecimal(erpDto.FStockQty), //搴撳瓨鏁伴噺
+                MaterialCategory = erpDto.FMaterialType, //鐗╂枡绫诲埆
+                OwnerTypeId = erpDto.FOwnerTypeID, //璐т富绫诲瀷
+                OwnerId = erpDto.FOwnerId, //璐т富
                 SourceBillType = erpDto.FSrcType,
                 SourceBillNo = erpDto.FSrcBillNo,
                 OrderBillNo = erpDto.FOrderNo,
-                SalesOrder  = erpDto.F_XSHTH,
-                CustOrder   = erpDto.F_ZJXF_Text_re5_lee
-
+                SalesOrder = erpDto.F_XSHTH,
+                CustOrder = erpDto.F_ZJXF_Text_re5_lee
             };
 
-            var single = _SalesReturnDetailManager.GetSingle(it =>
-                it.ErpLineId == salesOrderSub.ErpLineId);
-            if (single != null) salesOrderSub.Id = single.Id;
+            var single = _SalesReturnDetailManager.GetSingle(it => it.ErpLineId == salesOrderSub.ErpLineId);
+            if (single != null)
+            {
+                salesOrderSub.Id = single.Id;
+            }
 
             salesOrderSubList.Add(salesOrderSub);
         }
 
         return salesOrderSubList;
     }
-
- 
 }
\ No newline at end of file

--
Gitblit v1.9.3