From fdb948154f070ce648ed4ee0b7e15d556a8b5886 Mon Sep 17 00:00:00 2001
From: wbc <2597324127@qq.com>
Date: 星期五, 06 十二月 2024 16:05:17 +0800
Subject: [PATCH] 销售退货通知单完善、销售收货通知单增加

---
 MES.Service/service/BasicData/SalesReturnNoticeManager.cs |  175 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 89 insertions(+), 86 deletions(-)

diff --git a/MES.Service/service/BasicData/SalesReturnNoticeManager.cs b/MES.Service/service/BasicData/SalesReturnNoticeManager.cs
index bca2db2..d715bf2 100644
--- a/MES.Service/service/BasicData/SalesReturnNoticeManager.cs
+++ b/MES.Service/service/BasicData/SalesReturnNoticeManager.cs
@@ -8,7 +8,7 @@
 
 namespace MES.Service.service.BasicData;
 
-public class SalesReturnManager : Repository<SalesReturn>
+public class SalesReturnNoticeManager : Repository<SalesReturnNotice>
 {
     //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
 
@@ -44,13 +44,13 @@
         }) > 0;
     }
 
-    private bool UpdateData(SqlSugarScope db, SalesReturn mesSalesReturn,
-        List<SalesReturnDetail> mesSalesReturnDatas)
+    private bool UpdateData(SqlSugarScope db, SalesReturnNotice mesSalesReturn,
+        List<SalesReturnNoticeDetail> mesSalesReturnDatas)
     {
         var decimals = mesSalesReturnDatas.Select(s => s.Id).ToArray();
         var update = base.DeleteById(mesSalesReturn.Id);
         var insertOrUpdate = db
-            .Deleteable<SalesReturnDetail>().In(decimals)
+            .Deleteable<SalesReturnNoticeDetail>().In(decimals)
             .ExecuteCommand() > 0;
 
         if (update && insertOrUpdate) return true;
@@ -58,14 +58,14 @@
     }
 
     // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
-    private bool SaveOrUpdateData(SqlSugarScope db, SalesReturn mesSalesReturn,
-        List<SalesReturnDetail> mesSalesReturnDatas,string type)
+    private bool SaveOrUpdateData(SqlSugarScope db, SalesReturnNotice mesSalesReturn,
+        List<SalesReturnNoticeDetail> mesSalesReturnDatas,string type)
     {
         if (mesSalesReturn.Id != null) base.DeleteById(mesSalesReturn.Id);
 
         if (mesSalesReturnDatas.Count > 0)
-            db.Deleteable<SalesReturnDetail>()
-                .Where(s => s.EHID == mesSalesReturn.ErpID).ExecuteCommand();
+            db.Deleteable<SalesReturnNoticeDetail>()
+                .Where(s => s.ErpHeadId == mesSalesReturn.ErpId).ExecuteCommand();
 
         var orUpdate = base.Insert(mesSalesReturn);
         var baOrUpdate = _SalesReturnDetailManager.InsertRange(mesSalesReturnDatas);
@@ -82,8 +82,8 @@
         return result.All(b => b);
     }
 
-    private SalesReturn ConvertErpToSalesReturn(
-        ErpSalesRerurnDto erpDto)
+    private SalesReturnNotice ConvertErpToSalesReturn(
+        ErpSalesReturnDto erpDto)
     {
         DateTime parsedDate;
 
@@ -99,103 +99,106 @@
             return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull
         }
 
-        var salesOrder = new SalesReturn
+        var salesOrder = new SalesReturnNotice
         {
             BillNo = erpDto.FBillNo,
-            ErpID = Convert.ToDecimal(erpDto.ErpID),
+            ErpId = erpDto.ErpID,
             FDate = ParseDateTime(erpDto.FDate) ?? null,
-            BillTypeId = erpDto.FBillTypeID, // 鍗曟嵁绫诲瀷
-            DocumentStatus = erpDto.FDocumentStatus, // 鍗曟嵁鐘舵��
-            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, // 鏀惰揣浜哄鍚�
-            ChargeId = erpDto.FChargeId, // 浠樻鏂�
-            LinkPhone = erpDto.FLinkPhone, // 鑱旂郴鐢佃瘽
-            CreatorId = erpDto.FCreatorId, // 鍒涘缓浜�
-            CreateDate = ParseDateTime(erpDto.FCreateDate) ?? null, // 鍒涘缓鏃ユ湡
-            ModifierId = erpDto.FModifierId, // 鏈�鍚庝慨鏀逛汉
-            ModifyDate = ParseDateTime(erpDto.FModifyDate) ?? null, // 鏈�鍚庝慨鏀规棩鏈�
-            ApproveDate = ParseDateTime(erpDto.FApproveDate) ?? null, // 瀹℃牳鏃ユ湡
-            CloserId = erpDto.FCloserId, // 鍏抽棴浜�
+            BillType = erpDto.FBillTypeID, // 鍗曟嵁绫诲瀷
+            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, // 蹇�掑崟鍙�
+            Receiver = erpDto.FReceiveCusId, // 鏀惰揣鏂�
+            ReceiverContact = erpDto.FReceiveCusContact, // 鏀惰揣鏂硅仈绯讳汉
+            ReceiverAddress = erpDto.FReceiveAddress, // 鏀惰揣鏂瑰湴鍧�
+            ReceiverName = erpDto.FLinkMan, // 鏀惰揣鏂瑰鍚�
+            SettleParty = erpDto.FSettleCurrld, // 缁撶畻鏂�
+            CreatedBy = erpDto.FCreatorId, // 鍒涘缓浜�
+            CreatedDate = ParseDateTime(erpDto.FCreateDate) ?? null, // 鍒涘缓鏃堕棿
+            ModifiedBy = erpDto.FModifierId, // 淇敼浜�
+            ModifiedDate = ParseDateTime(erpDto.FModifyDate) ?? null, // 淇敼鏃堕棿
+            ClosedBy = erpDto.FCloserId, // 鍏抽棴浜�
+            CloseReason = erpDto.FCloseReason, // 鍏抽棴鍘熷洜
             CloseDate = ParseDateTime(erpDto.FCloseDate) ?? null, // 鍏抽棴鏃ユ湡
-            ChangeDate = ParseDateTime(erpDto.FChangeDate) ?? null, // 鍙樻洿鏃ユ湡
+            ApprovedBy = erpDto.FApproverId, // 瀹℃牳浜�
+            ApprovedDate = ParseDateTime(erpDto.FApproveDate) ?? null, // 瀹℃牳鏃ユ湡
             CancelStatus = erpDto.FCancelStatus, // 浣滃簾鐘舵��
-            CancellerId = erpDto.FCancellerId, // 浣滃簾浜�
-            VersionNo = Convert.ToDouble(erpDto.FVersionNo), // 鐗堟湰鍙�
-            ChangerId = erpDto.FChangerId, // 鍙樻洿浜�
-            EntryNote = erpDto.FEntryNote // 澶囨敞
-            //ParseDateTime() ?? null
-            //long.Parse()
-            //Convert.ToDecimal()
-            //Convert.ToDouble()
+            CancelledBy = erpDto.FCancellerId, // 浣滃簾浜�
+            CancelDate = ParseDateTime(erpDto.FCancelDate) ?? null, // 浣滃簾鏃ユ湡
+            CloseStatus = erpDto.FBillCloseStatus, // 鍏抽棴鐘舵��
+         
         };
 
-        var single = base.GetSingle(it => it.ErpID == Convert.ToDecimal(erpDto.ErpID));
+        var single = base.GetSingle(it => it.ErpId == erpDto.ErpID);
         if (single != null) salesOrder.Id = single.Id;
 
         return salesOrder;
     }
 
-    private List<SalesReturnDetail> ConvertErpToSalesReturnDetail(
-        List<ErpSalesRerurnDetailDto> erpDtoList)
+    private List<SalesReturnNoticeDetail> ConvertErpToSalesReturnDetail(
+        List<ErpSalesReturnDetailDto> erpDtoList)
+        
     {
         var salesOrderSubList =
-            new List<SalesReturnDetail>();
+            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))
+                return parsedDate;
+
+            return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull
+        }
+
+
 
         foreach (var erpDto in erpDtoList)
         {
-            var salesOrderSub = new SalesReturnDetail
+            var salesOrderSub = new SalesReturnNoticeDetail
             {
-                ErpID = Convert.ToDecimal(erpDto.ErpID),
-                EHID = Convert.ToDecimal(erpDto.EHID),
-                MaterialId = erpDto.FMaterialId,
-                UnitId = erpDto.FUnitID,
-                Qty = Convert.ToDecimal(erpDto.FQty),
-                PriceUnitId = erpDto.FPriceUnitId,
-                PriceUnitQty = Convert.ToDecimal(erpDto.FPriceUnitQty),
-                DeliveryDate = Convert.ToDateTime(erpDto.FDeliveryDate),
-                IsFree = erpDto.FIsFree,
-                SalesReturnNo = erpDto.F_UNW_Text_xsddh,
-                SalesFollowUp = erpDto.F_UNW_Base_GDY,
-                OwnerTypeId = erpDto.FOwnerTypeId,
-                OwnerId = erpDto.FOwnerId,
-                EntryNote = erpDto.FEntryNote,
-                MtoNo = erpDto.FMtoNo,
-                Lot = erpDto.FLot,
-                DeliveryMaxQty = Convert.ToDecimal(erpDto.FDeliveryMaxQty),
-                DeliveryMinQty = Convert.ToDecimal(erpDto.FDeliveryMinQty),
-                OutLmtUnitId = erpDto.FOutLmtUnitID,
-                MrpCloseStatus = erpDto.FMrpCloseStatus,
-                MrpTerminateStatus = erpDto.FMrpTerminateStatus,
-                TerminateDate = Convert.ToDateTime(erpDto.FTerminateDate),
-                TerminaterId = erpDto.FTerminatorId,
-                SrcType = erpDto.FSrcType,
-                SrcBillNo = erpDto.FSrcBillNo,
-                DeliQty = Convert.ToDecimal(erpDto.FDeliQty),
-                StockOutQty = Convert.ToDecimal(erpDto.FStockOutQty),
-                BaseRetNoticeQty = Convert.ToDecimal(erpDto.FBaseRetNoticeQty),
-                BaseReturnQty = Convert.ToDecimal(erpDto.FBaseReturnQty),
-                BaseRemainOutQty = Convert.ToDecimal(erpDto.FBaseRemainOutQty),
-                BASEARQTY = Convert.ToDecimal(erpDto.FBASEARQTY),
+                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,//璐т富
+                SourceBillType = erpDto.FSrcType,
+                SourceBillNo = erpDto.FSrcBillNo,
+                OrderBillNo = erpDto.FOrderNo
 
             };
 
             var single = _SalesReturnDetailManager.GetSingle(it =>
-                it.ErpID == Convert.ToDecimal(salesOrderSub.ErpID));
+                it.ErpLineId == salesOrderSub.ErpLineId);
             if (single != null) salesOrderSub.Id = single.Id;
 
             salesOrderSubList.Add(salesOrderSub);
@@ -204,5 +207,5 @@
         return salesOrderSubList;
     }
 
-    #endregion
+ 
 }
\ No newline at end of file

--
Gitblit v1.9.3