From 50dbc470a87899ba07a42206f8c28e754baa3f60 Mon Sep 17 00:00:00 2001
From: zyf <1071160500@qq.com>
Date: 星期六, 09 八月 2025 11:26:02 +0800
Subject: [PATCH] 完成销售订单、销售退货、销售出库接口

---
 MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturnDto.cs                   |   45 
 MES.Service/service/SalesReturnNotice/SalesReturnNoticeDetailManager.cs         |    2 
 MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturnDetailDto.cs             |   32 
 MESApplication/Controllers/SalesReturnNotice/SalesReturnNoticeController.cs     |   39 
 MES.Service/service/SaleDeliveryNotice/SalesDeliveryNoticeDetailManager.cs      |   79 +
 MESApplication/bin/Debug/net8.0/MES.Service.pdb                                 |    0 
 MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDeliveryDetailDto.cs         |   49 
 MES.Service/Modes/SalesReturnNotice/SalesReturnNoticeDetail.cs                  |  115 ++
 MESApplication/bin/Debug/net8.0/MES.Service.dll                                 |    0 
 MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDelivery.cs                  |   10 
 MES.Service/service/SaleDeliveryNotice/SalesDeliveryNoticeManager.cs            |  257 +++++
 MESApplication/bin/Debug/net8.0/MESApplication.pdb                              |    0 
 MES.Service/Modes/SalesOrder/SalesOrderDetail.cs                                |  186 +++
 MESApplication/bin/Debug/net8.0/MESApplication.deps.json                        |    5 
 MES.Service/Dto/webApi/SalesOrder/ErpSalesOrder.cs                              |   11 
 MES.Service/Dto/webApi/SalesOrder/ErpSalesOrderDto.cs                           |   48 
 MES.Service/service/SalesOrder/SalesOrderManager.cs                             |  210 ++++
 MES.Service/bin/Debug/net8.0/MES.Service.pdb                                    |    0 
 MES.Service/Modes/SalesReturnNotice/SalesReturnNotice.cs                        |  189 +++
 MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDeliveryDto.cs               |   47 
 MES.Service/service/SalesReturnNotice/SalesReturnNoticeManager.cs               |  234 ++++
 MES.Service/Modes/SalesDeliveryNotice/SalesDeliveryNoticeDetail.cs              |  144 ++
 MES.Service/Dto/webApi/SalesOrder/ErpSalesOrdeDetailDto.cs                      |   43 
 MESApplication/bin/Debug/net8.0/MESApplication.dll                              |    0 
 MES.Service/bin/Debug/net8.0/MES.Service.dll                                    |    0 
 MESApplication/bin/Debug/net8.0/MESApplication.xml                              |  331 ++----
 MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturn.cs                      |   10 
 /dev/null                                                                       |  163 ---
 MESApplication/Controllers/SalesOrder/SalesOrderController.cs                   |   41 
 MES.Service/Modes/SalesOrder/SalesOrder.cs                                      |  204 ++++
 MESApplication/bin/Debug/net8.0/MESApplication.exe                              |    0 
 MES.Service/Modes/SalesDeliveryNotice/SalesDeliveryNotice.cs                    |  209 ++++
 MESApplication/Controllers/SalesDeliveryNotice/SalesDeliveryNoticeController.cs |  272 +++++
 33 files changed, 2,537 insertions(+), 438 deletions(-)

diff --git a/MES.Service/Dto/webApi/ErpSalesDeliveryNotice.cs b/MES.Service/Dto/webApi/ErpSalesDeliveryNotice.cs
deleted file mode 100644
index cefd4ee..0000000
--- a/MES.Service/Dto/webApi/ErpSalesDeliveryNotice.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi
-{
-    public class ErpSalesDeliveryNotice
-    {
-        public string? Id { get; set; }
-        public string? type { get; set; }
-        public string? erpID { get; set; }
-        public string? fBillTypeID { get; set; }
-        public string? fBillNo { get; set; }
-        public string? fDate { get; set; }
-        public string? fSettleCurrld { get; set; }
-        public string? fSaleDeptId { get; set; }
-        public string? fCustomerID { get; set; }
-        public string? fHeadDeliveryWay { get; set; }
-        public string? fHeadLocId { get; set; }
-        public string? fCarrierID { get; set; }
-        public string? fCarriageNO { get; set; }
-        public string? fDeliveryDeptID { get; set; }
-        public string? fStockerGroupId { get; set; }
-        public string? fStockerId { get; set; }
-        public string? fSaleGroupId { get; set; }
-        public string? fSalesManId { get; set; }
-        public string? fReceiveCusId { get; set; }
-        public string? fReceiveCusContact { get; set; }
-        public string? fReceiveAddress { get; set; }
-        public string? fLinkMan { get; set; }
-        public string? fLinkPhone { get; set; }
-        public string? fSettleID { get; set; }
-        public string? fPayerID { get; set; }
-        public string? fCreatorId { get; set; }
-        public string? fCreateDate { get; set; }
-        public string? fModifierId { get; set; }
-        public string? fModifyDate { get; set; }
-        public string? fApproverId { get; set; }
-        public string? fApproveDate { get; set; }
-        public string? fCloserId { get; set; }
-        public string? fCloseReason { get; set; }
-        public string? fBillCloseStatus { get; set; }
-        public string? fCancelStatus { get; set; }
-        public string? fCancellerId { get; set; }
-        public string? fCancelDate { get; set; }
-        public string? fDocumentStatus { get; set; }
-    }
-}
diff --git a/MES.Service/Dto/webApi/ErpSalesDeliveryNoticeDetail.cs b/MES.Service/Dto/webApi/ErpSalesDeliveryNoticeDetail.cs
deleted file mode 100644
index 724e76f..0000000
--- a/MES.Service/Dto/webApi/ErpSalesDeliveryNoticeDetail.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi
-{
-    public class ErpSalesDeliveryNoticeDetail
-    {
-        public string? Id { get; set; }
-        public string? type { get; set; }
-        public string? erpID { get; set; }
-        public string? ehid { get; set; }
-        public string? fMaterialId { get; set; }
-        public string? fUnitID { get; set; }
-        public string? fQty { get; set; }
-        public string? fIsFree { get; set; }
-        public string? fDeliverydate { get; set; }
-        public string? fStockId { get; set; }
-        public string? fMtoNo { get; set; }
-        public string? fLot { get; set; }
-        public string? fStockUnitID { get; set; }
-        public string? fStockQty { get; set; }
-        public string? fOwnerTypeID { get; set; }
-        public string? fOwnerId { get; set; }
-        public string? fSrcType { get; set; }
-        public string? fSrcBillNo { get; set; }
-        public string? fOrderNo { get; set; }
-        public string? fPriceUnitQty { get; set; }
-        public string? fOwnerIdHead { get; set; }
-        public string? fPlanDeliveryDate { get; set; }
-        public string? fOutLmtUnit { get; set; }
-        public string? fOutMaxQty { get; set; }
-        public string? fOutMinQty { get; set; }
-        public string? fDeliveryLoc { get; set; }
-        public string? fDeliveryLAddress { get; set; }
-        public string? fTerminationStatus { get; set; }
-        public string? fTerminateDate { get; set; }
-        public string? fSumOutQty { get; set; }
-        public string? fRemainOutQty { get; set; }
-        public string? FNoteEntry { get; set; }
-        
-
-
-    }
-}
diff --git a/MES.Service/Dto/webApi/ErpSalesOrder.cs b/MES.Service/Dto/webApi/ErpSalesOrder.cs
deleted file mode 100644
index d35eb18..0000000
--- a/MES.Service/Dto/webApi/ErpSalesOrder.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi
-{
-    public class ErpSalesOrder
-    {
-        public string? Id { get; set; }
-        public string? Type { get; set; }
-        public string? ErpID { get; set; }
-        public string? FBillNo { get; set; }
-        public string? FBillTypeID { get; set; }
-        public string? FDocumentStatus { get; set; }
-        public string? FDate { get; set; }
-        public string? FBusinessType { get; set; }
-        public string? FHeadDeliveryWay { get; set; }
-        public string? FHEADLOCID { get; set; }
-        public string? FCustId { get; set; }
-        public string? FCloseStatus { get; set; }
-        public string? FSaleDeptId { get; set; }
-        public string? FSalerId { get; set; }
-        public string? FChangeReason { get; set; }
-        public string? FNote { get; set; }
-        public string? FSettleId { get; set; }
-        public string? FApproverId { get; set; }
-        public string? FLinkMan { get; set; }
-        public string? FChargeId { get; set; }
-        public string? FLinkPhone { get; set; }
-        public string? FCreatorId { get; set; }
-        public string? FCreateDate { get; set; }
-        public string? FModifierId { get; set; }
-        public string? FModifyDate { get; set; }
-        public string? FApproveDate { get; set; }
-        public string? FCloserId { get; set; }
-        public string? FCloseDate { get; set; }
-        public string? FChangeDate { get; set; }
-        public string? FCancelStatus { get; set; }
-        public string? FCancellerId { get; set; }
-        public string? FVersionNo { get; set; }
-        public string? FChangerId { get; set; }
-        public string? FEntryNote { get; set; }
-
-
-    }
-}
diff --git a/MES.Service/Dto/webApi/ErpSalesOrderDetail.cs b/MES.Service/Dto/webApi/ErpSalesOrderDetail.cs
deleted file mode 100644
index 89f584e..0000000
--- a/MES.Service/Dto/webApi/ErpSalesOrderDetail.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi
-{
-    public class ErpSalesOrderDetail
-    {
-        public string? Id { get; set; }
-        public string? Type { get; set; }
-        public string? FMaterialId { get; set; }
-        public string? FUnitID { get; set; }
-        public string? FQty { get; set; }
-        public string? FPriceUnitId { get; set; }
-        public string? FPriceUnitQty { get; set; }
-        public string? FDeliveryDate { get; set; }
-        public string? FIsFree { get; set; }
-        public string? FOwnerTypeId { get; set; }
-        public string? FOwnerId { get; set; }
-        public string? FEntryNote { get; set; }
-        public string? FMtoNo { get; set; }
-        public string? FLot { get; set; }
-        public string? FDeliveryMaxQty { get; set; }
-        public string? FDeliveryMinQty { get; set; }
-        public string? FOutLmtUnitID { get; set; }
-        public string? FMrpCloseStatus { get; set; }
-        public string? FMrpTerminateStatus { get; set; }
-        public string? FTerminateDate { get; set; }
-        public string? FTerminaterId { get; set; }
-        public string? FSrcType { get; set; }
-        public string? FSrcBillNo { get; set; }
-        public string? FDeliQty { get; set; }
-        public string? FStockOutQty { get; set; }
-        public string? FBaseRetNoticeQty { get; set; }
-        public string? FBaseReturnQty { get; set; }
-        public string? FBaseRemainOutQty { get; set; }
-        public string? FBASEARQTY { get; set; }
-        public string? ErpID { get; set; }
-        public string? EHID { get; set; }
-    }
-}
diff --git a/MES.Service/Dto/webApi/ErpSalesReturnNotice.cs b/MES.Service/Dto/webApi/ErpSalesReturnNotice.cs
deleted file mode 100644
index 404033f..0000000
--- a/MES.Service/Dto/webApi/ErpSalesReturnNotice.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi
-{
-    public class ErpSalesReturnNotice
-    {
-        public string? Id { get; set; }
-        public string? type { get; set; }
-        public string? erpID { get; set; }
-        public string? fBillTypeID { get; set; }
-        public string? fBillNo { get; set; }
-        public string? fDate { get; set; }
-        public string? fSettleCurrld { get; set; }
-        public string? fSaleDeptId { get; set; }
-        public string? fRetcustId { get; set; }
-        public string? fRetcustReason { get; set; }
-        public string? fHeadLocId { get; set; }
-        public string? fRetDeptId { get; set; }
-        public string? fStockerGroupId { get; set; }
-        public string? fStockerId { get; set; }
-        public string? fSaleGroupId { get; set; }
-        public string? fSalesManId { get; set; }
-        public string? fReceiveCusId { get; set; }
-        public string? fReceiveCusContact { get; set; }
-        public string? fReceiveAddress { get; set; }
-        public string? fLinkMan { get; set; }
-        public string? fSettleCusId { get; set; }
-        public string? fCreatorId { get; set; }
-        public string? fCreateDate { get; set; }
-        public string? fModifierId { get; set; }
-        public string? fModifyDate { get; set; }
-        public string? fCloserId { get; set; }
-        public string? fCloseReason { get; set; }
-        public string? fCloseDate { get; set; }
-        public string? fApproverId { get; set; }
-        public string? fApproveDate { get; set; }
-        public string? fCancelStatus { get; set; }
-        public string? fCancellerId { get; set; }
-        public string? fCancelDate { get; set; }
-        public string? fBillCloseStatus { get; set; }
-        public string? fDocumentStatus { get; set; }
-    }
-}
diff --git a/MES.Service/Dto/webApi/ErpSalesReturnNoticeDetail.cs b/MES.Service/Dto/webApi/ErpSalesReturnNoticeDetail.cs
deleted file mode 100644
index 092ffbb..0000000
--- a/MES.Service/Dto/webApi/ErpSalesReturnNoticeDetail.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi
-{
-    public class ErpSalesReturnNoticeDetail
-    {
-        public string? Id { get; set; }
-        public string? type { get; set; }
-        public string? erpID { get; set; }
-        public string? ehid { get; set; }
-        public string? fMaterialId { get; set; }
-        public string? fMaterialName { get; set; }
-        public string? fMaterialModel { get; set; }
-        public string? fUnitID { get; set; }
-        public string? fQty { get; set; }
-        public string? fIsFree { get; set; }
-        public string? fDeliverydate { get; set; }
-        public string? fStockId { get; set; }
-        public string? fMtoNo { get; set; }
-        public string? fLot { get; set; }
-        public string? fEntryDescription { get; set; }
-        public string? fRmType { get; set; }
-        public string? fStockUnitID { get; set; }
-        public string? fStockQty { get; set; }
-        public string? fMaterialType { get; set; }
-        public string? fOwnerTypeID { get; set; }
-        public string? fOwnerId { get; set; }
-        public string? fSrcType { get; set; }
-        public string? fSrcBillNo { get; set; }
-        public string? fOrderNo { get; set; }
-       
-
-
-    }
-}
diff --git a/MES.Service/Dto/webApi/SaleDeliveryNotice.cs b/MES.Service/Dto/webApi/SaleDeliveryNotice.cs
deleted file mode 100644
index 9f6ca5d..0000000
--- a/MES.Service/Dto/webApi/SaleDeliveryNotice.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MES.Service.Dto.webApi
-{
-    public class SaleDeliveryNotice
-    {
-        public ErpSalesDeliveryNotice ErpSalesDeliveryNotice { get; set; }
-        public List<ErpSalesDeliveryNoticeDetail> ErpSalesDeliveryNoticeDetails { get; set; }
-    }
-}
diff --git a/MES.Service/Dto/webApi/SaleReturnNotice.cs b/MES.Service/Dto/webApi/SaleReturnNotice.cs
deleted file mode 100644
index baf803a..0000000
--- a/MES.Service/Dto/webApi/SaleReturnNotice.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi
-{
-    public class SaleReturnNotice
-    {
-        public ErpSalesReturnNotice erpSalesReturnNotice { get; set; }
-
-        public List<ErpSalesReturnNoticeDetail> erpSalesReturnNoticeDetail { get; set; }
-}
-}
diff --git a/MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDelivery.cs b/MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDelivery.cs
new file mode 100644
index 0000000..a6559c8
--- /dev/null
+++ b/MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDelivery.cs
@@ -0,0 +1,10 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.webApi;
+
+public class ErpSalesDelivery
+{
+    public ErpSalesDeliveryDto OrderDto { get; set; }
+
+    public List<ErpSalesDeliveryDetailDto> Items { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDeliveryDetailDto.cs b/MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDeliveryDetailDto.cs
new file mode 100644
index 0000000..f514378
--- /dev/null
+++ b/MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDeliveryDetailDto.cs
@@ -0,0 +1,49 @@
+锘縰sing MES.Service.Modes;
+namespace MES.Service.Dto.webApi;
+using MES.Service.Modes.SalesDeliveryNotice;
+
+public class ErpSalesDeliveryDetailDto : SalesDeliveryNoticeDetail
+{
+   /* public string? Type { get; set; }
+    public string? F_UNW_Text_xsddh { get; set; }  // 閿�鍞鍗曞彿
+    public string? FMaterialId { get; set; }  // 鐗╂枡缂栫爜
+    //public string? FMaterialName { get; set; }  // 鐗╂枡鍚嶇О
+    //public string? FMaterialModel { get; set; }  // 瑙勬牸鍨嬪彿
+    public string? FUnitID { get; set; }  // 閿�鍞崟浣�
+    public string? FQty { get; set; }  // 閿�鍞暟閲�
+    public string? FIsFree { get; set; }  // 鏄惁璧犲搧
+    public string? FDeliverydate { get; set; }  // 閫�璐ф棩鏈�
+    public string? FStockId { get; set; }  // 浠撳簱
+    public string? FMtoNo { get; set; }  // 璁″垝璺熻釜鍙�
+    public string? FLot { get; set; }  // 鎵瑰彿
+    //public string? FEntryDescription { get; set; }  // 澶囨敞
+    //public string? FRmType { get; set; }  // 閫�璐х被鍨�
+    public string? F_UNW_Base_GDY { get; set; }  // 璺熷崟鍛�
+    public string? FStockUnitID { get; set; }  // 搴撳瓨鍗曚綅
+    public decimal? FStockQty { get; set; }  // 搴撳瓨鏁伴噺
+   // public string? FMaterialType { get; set; }  // 鐗╂枡绫诲埆
+    public string? FOwnerTypeID { get; set; }  // 璐т富绫诲瀷
+    public string? FOwnerId { get; set; }  // 璐т富
+    public string? FSrcType { get; set; }  // 婧愬崟绫诲瀷
+    public string? FSrcBillNo { get; set; }  // 婧愬崟缂栧彿
+    public string? FOrderNo { get; set; }  // 璁㈠崟鍗曞彿
+
+    public decimal? FPriceUnitQty { get; set; }  // 璁′环鏁伴噺
+    public string? FOwnerIdHead { get; set; }  // 璐т富
+
+    public string? FPlanDeliveryDate { get; set; }  //璁″垝鍙戣揣鏃ユ湡
+    public string? FOutLmtUnit { get; set; }  // 瓒呭彂鎺у埗鍗曚綅
+    public decimal? FOutMaxQty { get; set; }  // 鍑哄簱涓婇檺
+    public decimal? FOutMinQty { get; set; }  // 鍑哄簱涓嬮檺
+    public string? FDeliveryLoc { get; set; }  // 浜よ揣鍦扮偣
+    public string? FDeliveryLAddress { get; set; }  // 浜よ揣鍦板潃
+    public string? FTerminationStatus { get; set; }  // 缁堟鐘舵��
+    public string? FTerminateDate { get; set; }  // 涓氬姟缁堟鏃ユ湡
+    public decimal? FSumOutQty { get; set; }  // 绱鍑哄簱鏁伴噺
+    public decimal? FRemainOutQty { get; set; }  // 鏈嚭搴撴暟閲�
+
+    public string? ErpID { get; set; }  // ERPID
+    public string? EHID { get; set; }  // ERP澶碔D
+    public string? FEntrynote { get; set; }  // 澶囨敞*/
+
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDeliveryDto.cs b/MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDeliveryDto.cs
new file mode 100644
index 0000000..796305e
--- /dev/null
+++ b/MES.Service/Dto/webApi/SalesDeliveryNotice/ErpSalesDeliveryDto.cs
@@ -0,0 +1,47 @@
+锘縰sing MES.Service.Modes;
+using MES.Service.Modes.SalesDeliveryNotice;
+namespace MES.Service.Dto.webApi;
+
+public class ErpSalesDeliveryDto : SalesDeliveryNotice
+{
+    public string? Type { get; set; }
+    /*public string? ErpID { get; set; } // ERPID
+    public string? FBillTypeID { get; set; } // 鍗曟嵁绫诲瀷
+    public string? FBillNo { get; set; } // 鍗曟嵁缂栧彿
+    public string? FDate { get; set; } // 鏃ユ湡
+    public string? FSettleCurrld { get; set; } // 缁撶畻甯佸埆
+    public string? FSaleDeptId { get; set; } // 閿�鍞儴闂�
+    public string? F_UNW_Text_KHDD { get; set; } // 瀹㈡埛璁㈠崟
+    public string? FCustomerID { get; set; } // 瀹㈡埛
+    public string? F_UNW_LargeText_TBKHBZ { get; set; } // 娣樺疂瀹㈡埛澶囨敞
+    public string? FHeadDeliveryWay { get; set; } // 浜よ揣鏂瑰紡
+    public string? FHeadLocId { get; set; } // 浜よ揣鍦扮偣
+    public string? FCarrierID { get; set; } // 鎵胯繍鍟�
+    public string? FCarriageNO { get; set; } // 杩愯緭鍗曞彿
+    public string? FDeliveryDeptID { get; set; } // 鍙戣揣閮ㄩ棬
+    public string? FStockerGroupId { get; set; } // 搴撳瓨缁�
+    public string? FStockerId { get; set; } // 浠撶鍛�
+    public string? FSaleGroupId { get; set; } // 閿�鍞粍
+    public string? FSalesManId { get; set; } // 閿�鍞憳
+    public string? FReceiveCusId { get; set; } // 鏀惰揣鏂�
+    public string? FReceiveCusContact { get; set; } // 鏀惰揣鏂硅仈绯讳汉
+    public string? FReceiveAddress { get; set; } // 鏀惰揣鏂瑰湴鍧�
+    public string? FLinkMan { get; set; } // 鏀惰揣鏂瑰鍚�
+    public string? FLinkPhone { get; set; } // 鑱旂郴鐢佃瘽
+    public string? FSettleID { get; set; } // 缁撶畻鏂�
+    public string? FPayerID { get; set; } // 浠樻鏂�
+    public string? FCreatorId { get; set; } // 鍒涘缓浜�
+    public string? FCreateDate { get; set; } // 鍒涘缓鏃ユ湡
+    public string? FModifierId { get; set; } // 鏈�鍚庝慨鏀逛汉
+    public string? FModifyDate { get; set; } // 鏈�鍚庝慨鏀规棩鏈�
+    public string? FApproverId { get; set; } // 瀹℃牳浜�
+    public string? FApproveDate { get; set; } // 瀹℃牳鏃ユ湡
+    public string? FCloserId { get; set; } // 鍏抽棴浜�
+    public string? FCloseReason { get; set; } // 鍏抽棴鍘熷洜
+    public string? FBillCloseStatus { get; set; } // 鍏抽棴鐘舵��
+    public string? FCancelStatus { get; set; } // 浣滃簾鐘舵��
+    public string? FCancellerId { get; set; } // 浣滃簾浜�
+    public string? FCancelDate { get; set; } // 浣滃簾鏃ユ湡
+    public string? FDocumentStatus { get; set; } // 鍗曟嵁鐘舵��*/
+
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/webApi/SalesOrder/ErpSalesOrdeDetailDto.cs b/MES.Service/Dto/webApi/SalesOrder/ErpSalesOrdeDetailDto.cs
new file mode 100644
index 0000000..7582a92
--- /dev/null
+++ b/MES.Service/Dto/webApi/SalesOrder/ErpSalesOrdeDetailDto.cs
@@ -0,0 +1,43 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.webApi;
+
+public class ErpSalesOrderDetailDto : SalesOrderDetail
+{/*
+    public string? Type { get; set; }
+    public string? FMaterialId { get; set; }  // 鐗╂枡缂栫爜
+    public string? FUnitID { get; set; }  // 閿�鍞崟浣�
+    public string? FQty { get; set; }  // 閿�鍞暟閲�
+    public string? FPriceUnitId { get; set; }  // 璁′环鍗曚綅
+    public string? FPriceUnitQty { get; set; }  // 璁′环鏁伴噺
+    public string? FDeliveryDate { get; set; }  // 瑕佽揣鏃ユ湡
+    public string? FIsFree { get; set; }  // 鏄惁璧犲搧
+    public string? F_UNW_Text_xsddh { get; set; }  // 閿�鍞鍗曞彿
+    public string? F_UNW_Base_GDY { get; set; }  // 璺熷崟鍛�
+    public string? FOwnerTypeId { get; set; }  // 璐т富绫诲瀷
+    public string? FOwnerId { get; set; }  // 璐т富
+    public string? FEntryNote { get; set; }  // 澶囨敞
+    public string? FMtoNo { get; set; }  // 璁″垝璺熻釜鍙�
+    public string? FLot { get; set; }  // 鎵瑰彿
+    public string? FDeliveryMaxQty { get; set; }  // 鍙戣揣涓婇檺
+    public string? FDeliveryMinQty { get; set; }  // 鍙戣揣涓嬮檺
+    public string? FOutLmtUnitID { get; set; }  // 瓒呭彂鎺у埗鍗曚綅
+    public string? FMrpCloseStatus { get; set; }  // 涓氬姟鍏抽棴
+    public string? FMrpTerminateStatus { get; set; }  // 涓氬姟缁堟
+    public string? FTerminateDate { get; set; }  // 缁堟鏃ユ湡
+    public string? FTerminatorId { get; set; }  // 缁堟浜�
+    public string? FSrcType { get; set; }  // 婧愬崟绫诲瀷
+    public string? FSrcBillNo { get; set; }  // 婧愬崟鍗曞彿
+    public string? FDeliQty { get; set; }  // 绱鍙戣揣閫氱煡鏁伴噺
+    public string? FStockOutQty { get; set; }  // 绱鍑哄簱鏁伴噺
+    public string? FBaseRetNoticeQty { get; set; }  // 绱閫�璐ч�氱煡鏁伴噺锛堥攢鍞熀鏈級
+    public string? FBaseReturnQty { get; set; }  // 绱閫�璐ф暟閲忥紙閿�鍞熀鏈級
+    public string? FBaseRemainOutQty { get; set; }  // 鍓╀綑鏈嚭鏁伴噺锛堥攢鍞熀鏈級
+    public string? FBASEARQTY { get; set; }  // 绱搴旀敹鏁伴噺锛堥攢鍞熀鏈級
+    public string? ErpID { get; set; }  // ERPID
+    public string? EHID { get; set; }  // ERP澶碔D
+    public string? FCUST_INO { get; set; }  // 瀹㈡埛鐗╂枡缂栫爜
+    public string? FCUST_INM { get; set; }  // 瀹㈡埛鐗╂枡鍚嶇О
+    public string? FCUST_IMD { get; set; }  // 瀹㈡埛鐗╂枡瑙勬牸*/
+
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/webApi/SalesOrder/ErpSalesOrder.cs b/MES.Service/Dto/webApi/SalesOrder/ErpSalesOrder.cs
new file mode 100644
index 0000000..213b971
--- /dev/null
+++ b/MES.Service/Dto/webApi/SalesOrder/ErpSalesOrder.cs
@@ -0,0 +1,11 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.webApi;
+
+
+public class ErpSalesOrder
+{
+    public ErpSalesOrderDto OrderDto { get; set; }
+
+    public List<SalesOrderDetail> Items { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/webApi/SalesOrder/ErpSalesOrderDto.cs b/MES.Service/Dto/webApi/SalesOrder/ErpSalesOrderDto.cs
new file mode 100644
index 0000000..ae36706
--- /dev/null
+++ b/MES.Service/Dto/webApi/SalesOrder/ErpSalesOrderDto.cs
@@ -0,0 +1,48 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.webApi;
+
+public class ErpSalesOrderDto : SalesOrder
+{
+    public string? Type { get; set; }
+    /*
+    public string? Type { get; set; }
+    public string? ErpID { get; set; } // ERPID
+    public string? FBillNo { get; set; } // 鍗曟嵁缂栧彿
+    public string? FBillTypeID { get; set; } // 鍗曟嵁绫诲瀷
+    public string? FDocumentStatus { get; set; } // 鍗曟嵁鐘舵��
+    public string? FDate { get; set; } // 鍗曟嵁鏃ユ湡
+    public string? FBusinessType { get; set; } // 涓氬姟绫诲瀷
+    public string? FHeadDeliveryWay { get; set; } // 浜よ揣鏂瑰紡
+    public string? FHEADLOCID { get; set; } // 浜よ揣鍦扮偣
+    public string? F_UNW_Text_KHDD { get; set; } // 瀹㈡埛璁㈠崟
+    public string? F_UNW_Date_KHXQ { get; set; } // 瀹㈡埛闇�姹備氦鏈�
+    public string? F_UNW_BaseProperty_KHDJ { get; set; } // 瀹㈡埛绛夌骇
+    public string? FCustId { get; set; } // 瀹㈡埛
+    public string? F_UNW_LargeText_TBKHBZ { get; set; } // 娣樺疂瀹㈡埛澶囨敞
+    public string? FCloseStatus { get; set; } // 鍏抽棴鐘舵��
+    public string? FSaleDeptId { get; set; } // 閿�鍞儴闂�
+    public string? FSalerId { get; set; } // 閿�鍞憳
+    public string? FChangeReason { get; set; } // 鍙樻洿鍘熷洜
+    public string? FNote { get; set; } // 澶囨敞
+    public string? F_UNW_Remarks_KHJHDD { get; set; } // 瀹㈡埛浜よ揣鍦扮偣
+    public string? FSettleId { get; set; } // 缁撶畻鏂�
+    public string? FApproverId { get; set; } // 瀹℃牳浜�
+    public string? FLinkMan { get; set; } // 鏀惰揣浜哄鍚�
+    public string? FChargeId { get; set; } // 浠樻鏂�
+    public string? FLinkPhone { get; set; } // 鑱旂郴鐢佃瘽
+    public string? FCreatorId { get; set; } // 鍒涘缓浜�
+    public string? FCreateDate { get; set; } // 鍒涘缓鏃ユ湡
+    public string? FModifierId { get; set; } // 鏈�鍚庝慨鏀逛汉
+    public string? FModifyDate { get; set; } // 鏈�鍚庝慨鏀规棩鏈�
+    public string? FApproveDate { get; set; } // 瀹℃牳鏃ユ湡
+    public string? FCloserId { get; set; } // 鍏抽棴浜�
+    public string? FCloseDate { get; set; } // 鍏抽棴鏃ユ湡
+    public string? FChangeDate { get; set; } // 鍙樻洿鏃ユ湡
+    public string? FCancelStatus { get; set; } // 浣滃簾鐘舵��
+    public string? FCancellerId { get; set; } // 浣滃簾浜�
+    public string? FVersionNo { get; set; } // 鐗堟湰鍙�
+    public string? FChangerId { get; set; } // 鍙樻洿浜�
+    public string? FEntryNote { get; set; } // 澶囨敞
+    public string? FBILLTYPE { get; set; } // 鍗曟嵁绫诲瀷 A鏂板 B鍙樻洿*/
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/webApi/SalesOrders.cs b/MES.Service/Dto/webApi/SalesOrders.cs
deleted file mode 100644
index 30465fd..0000000
--- a/MES.Service/Dto/webApi/SalesOrders.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi
-{
-     public class SalesOrders
-    {
-        public ErpSalesOrder ErpSalesOrder { get; set; }
-        public List<ErpSalesOrderDetail> ErpSalesOrderDetails { get; set; }
-
-    }
-}
diff --git a/MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturn.cs b/MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturn.cs
new file mode 100644
index 0000000..9a03469
--- /dev/null
+++ b/MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturn.cs
@@ -0,0 +1,10 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.webApi;
+
+public class ErpSalesRerurn
+{
+    public ErpSalesReturnDto OrderDto { get; set; }
+
+    public List<ErpSalesReturnDetailDto> Items { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturnDetailDto.cs b/MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturnDetailDto.cs
new file mode 100644
index 0000000..1e05f2d
--- /dev/null
+++ b/MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturnDetailDto.cs
@@ -0,0 +1,32 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.webApi;
+
+public class ErpSalesReturnDetailDto : SalesReturnNoticeDetail
+{
+    /*public string? F_UNW_Text_xsddh { get; set; }  // 閿�鍞鍗曞彿
+    public string? FMaterialId { get; set; }  // 鐗╂枡缂栫爜
+    public string? FMaterialName { get; set; }  // 鐗╂枡鍚嶇О
+    public string? FMaterialModel { get; set; }  // 瑙勬牸鍨嬪彿
+    public string? FUnitID { get; set; }  // 閿�鍞崟浣�
+    public string? FQty { get; set; }  // 閿�鍞暟閲�
+    public string? FIsFree { get; set; }  // 鏄惁璧犲搧
+    public string? FDeliverydate { get; set; }  // 閫�璐ф棩鏈�
+    public string? FStockId { get; set; }  // 浠撳簱
+    public string? FMtoNo { get; set; }  // 璁″垝璺熻釜鍙�
+    public string? FLot { get; set; }  // 鎵瑰彿
+    public string? FEntryDescription { get; set; }  // 澶囨敞
+    public string? FRmType { get; set; }  // 閫�璐х被鍨�
+    public string? F_UNW_Base_GDY { get; set; }  // 璺熷崟鍛�
+    public string? FStockUnitID { get; set; }  // 搴撳瓨鍗曚綅
+    public decimal? FStockQty { get; set; }  // 搴撳瓨鏁伴噺
+    public string? FMaterialType { get; set; }  // 鐗╂枡绫诲埆
+    public string? FOwnerTypeID { get; set; }  // 璐т富绫诲瀷
+    public string? FOwnerId { get; set; }  // 璐т富
+    public string? FSrcType { get; set; }  // 婧愬崟绫诲瀷
+    public string? FSrcBillNo { get; set; }  // 婧愬崟缂栧彿
+    public string? FOrderNo { get; set; }  // 璁㈠崟鍗曞彿
+    public string? ErpID { get; set; }  // ERPID
+    public string? EHID { get; set; }  // ERP澶碔D*/
+
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturnDto.cs b/MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturnDto.cs
new file mode 100644
index 0000000..1b60e23
--- /dev/null
+++ b/MES.Service/Dto/webApi/SalesReturnNotice/ErpSalesReturnDto.cs
@@ -0,0 +1,45 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.webApi;
+
+public class ErpSalesReturnDto : SalesReturnNotice
+{
+    public string? Type { get; set; }
+    /*public string? ErpID { get; set; } // ERPID
+    public string? FBillTypeID { get; set; } // 鍗曟嵁绫诲瀷
+    public string? FBillNo { get; set; } // 鍗曟嵁缂栧彿
+    public string? FDate { get; set; } // 鏃ユ湡
+    public string? FSettleCurrld { get; set; } // 缁撶畻甯佸埆
+    public string? FSaleDeptId { get; set; } // 閿�鍞儴闂�
+    public string? FRetcustId { get; set; } // 閫�璐у鎴�
+    public string? F_UNW_LargeText_TBKHBZ { get; set; } // 娣樺疂瀹㈡埛澶囨敞
+    public string? FRetcustReason { get; set; } // 閫�璐у師鍥�
+    public string? FHeadLocId { get; set; } // 浜よ揣鍦扮偣
+    public string? FRetDeptId { get; set; } // 搴撳瓨閮ㄩ棬
+    public string? FStockerGroupId { get; set; } // 搴撳瓨缁�
+    public string? FStockerId { get; set; } // 浠撶鍛�
+    public string? FSaleGroupId { get; set; } // 閿�鍞粍
+    public string? FSalesManId { get; set; } // 閿�鍞憳
+
+    public string? F_UNW_Text_KDDH { get; set; } // 蹇�掑崟鍙�
+    public string? FReceiveCusId { get; set; } // 鏀惰揣鏂�
+    public string? FReceiveCusContact { get; set; } // 鏀惰揣鏂硅仈绯讳汉
+    public string? FReceiveAddress { get; set; } // 鏀惰揣鏂瑰湴鍧�
+    public string? FLinkMan { get; set; } // 鏀惰揣鏂瑰鍚�
+    public string? FSettleCusId { get; set; } // 缁撶畻鏂�
+    public string? FCreatorId { get; set; } // 鍒涘缓浜�
+    public string? FCreateDate { get; set; } // 鍒涘缓鏃ユ湡
+    public string? FModifierId { get; set; } // 鏈�鍚庝慨鏀逛汉
+    public string? FModifyDate { get; set; } // 鏈�鍚庝慨鏀规棩鏈�
+    public string? FCloserId { get; set; } // 鍏抽棴浜�
+    public string? FCloseReason { get; set; } // 鍏抽棴鍘熷洜
+    public string? FCloseDate { get; set; } // 鍏抽棴鏃ユ湡
+    public string? FApproverId { get; set; } // 瀹℃牳浜�
+    public string? FApproveDate { get; set; } // 瀹℃牳鏃ユ湡
+    public string? FCancelStatus { get; set; } // 浣滃簾鐘舵��
+    public string? FCancellerId { get; set; } // 浣滃簾浜�
+    public string? FCancelDate { get; set; } // 浣滃簾鏃ユ湡
+    public string? FBillCloseStatus { get; set; } // 鍏抽棴鐘舵��
+    public string? FDocumentStatus { get; set; } // 鍗曟嵁鐘舵��
+    public string? F_UNW_Text_THYY { get; set; } // 閫�璐у師鍥�*/
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/SalesDeliveryNotice.cs b/MES.Service/Modes/SalesDeliveryNotice.cs
deleted file mode 100644
index 5b350b2..0000000
--- a/MES.Service/Modes/SalesDeliveryNotice.cs
+++ /dev/null
@@ -1,276 +0,0 @@
-锘縰sing SqlSugar;
-
-namespace MES.Service.Modes;
-
-/// <summary>
-///     閿�鍞彂璐ч�氱煡鍗曡〃
-/// </summary>
-[SugarTable("SALES_DELIVERY_NOTICE")]
-public class SalesDeliveryNotice
-{
-    /// <summary>
-    ///     SEQ_fhtz搴忓垪
-    /// </summary>
-    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_FHTZ",
-        IsPrimaryKey = true)]
-    public decimal Id { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁绫诲瀷
-    /// </summary>
-    [SugarColumn(ColumnName = "BILL_TYPE")]
-    public string? BillType { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁缂栧彿
-    /// </summary>
-    [SugarColumn(ColumnName = "BILL_NO")]
-    public string? BillNo { get; set; }
-
-    /// <summary>
-    ///     鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "F_DATE")]
-    public DateTime? FDate { get; set; }
-
-    /// <summary>
-    ///     缁撶畻甯佸埆
-    /// </summary>
-    [SugarColumn(ColumnName = "CURRENCY")]
-    public string? Currency { get; set; }
-
-    /// <summary>
-    ///     閿�鍞粍缁�
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_ORG")]
-    public string? SalesOrg { get; set; }
-
-    /// <summary>
-    ///     閿�鍞儴闂�
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_DEPT")]
-    public string? SalesDept { get; set; }
-
-    /// <summary>
-    ///     瀹㈡埛璁㈠崟
-    /// </summary>
-    [SugarColumn(ColumnName = "CUSTOMER_ORDER_NO")]
-    public string? CustomerOrderNo { get; set; }
-
-    /// <summary>
-    ///     瀹㈡埛
-    /// </summary>
-    [SugarColumn(ColumnName = "CUSTOMER")]
-    public string? Customer { get; set; }
-
-    /// <summary>
-    ///     娣樺疂瀹㈡埛澶囨敞
-    /// </summary>
-    [SugarColumn(ColumnName = "TAOBAO_REMARK")]
-    public string? TaobaoRemark { get; set; }
-
-    /// <summary>
-    ///     浜よ揣鏂瑰紡
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_METHOD")]
-    public string? DeliveryMethod { get; set; }
-
-    /// <summary>
-    ///     浜よ揣鍦扮偣
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_LOCATION")]
-    public string? DeliveryLocation { get; set; }
-
-    /// <summary>
-    ///     鎵胯繍鍟�
-    /// </summary>
-    [SugarColumn(ColumnName = "CARRIER")]
-    public string? Carrier { get; set; }
-
-    /// <summary>
-    ///     杩愯緭鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "TRANSPORT_NO")]
-    public string? TransportNo { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "BILL_NO_TYPE")]
-    public string? BillNoType { get; set; }
-
-    /// <summary>
-    ///     鍙戣揣缁勭粐
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_ORG")]
-    public string? DeliveryOrg { get; set; }
-
-    /// <summary>
-    ///     鍙戣揣閮ㄩ棬
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_DEPT")]
-    public string? DeliveryDept { get; set; }
-
-    /// <summary>
-    ///     搴撳瓨缁�
-    /// </summary>
-    [SugarColumn(ColumnName = "INVENTORY_GROUP")]
-    public string? InventoryGroup { get; set; }
-
-    /// <summary>
-    ///     浠撶鍛�
-    /// </summary>
-    [SugarColumn(ColumnName = "WAREHOUSE_MANAGER")]
-    public string? WarehouseManager { get; set; }
-
-    /// <summary>
-    ///     閿�鍞粍
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_GROUP")]
-    public string? SalesGroup { get; set; }
-
-    /// <summary>
-    ///     閿�鍞憳
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_PERSON")]
-    public string? SalesPerson { get; set; }
-
-    /// <summary>
-    ///     鏀惰揣鏂�
-    /// </summary>
-    [SugarColumn(ColumnName = "RECEIVER")]
-    public string? Receiver { get; set; }
-
-    /// <summary>
-    ///     鏀惰揣鏂硅仈绯讳汉
-    /// </summary>
-    [SugarColumn(ColumnName = "RECEIVER_CONTACT")]
-    public string? ReceiverContact { get; set; }
-
-    /// <summary>
-    ///     鏀惰揣鏂瑰湴鍧�
-    /// </summary>
-    [SugarColumn(ColumnName = "RECEIVER_ADDRESS")]
-    public string? ReceiverAddress { get; set; }
-
-    /// <summary>
-    ///     鏀惰揣鏂瑰鍚�
-    /// </summary>
-    [SugarColumn(ColumnName = "RECEIVER_NAME")]
-    public string? ReceiverName { get; set; }
-
-    /// <summary>
-    ///     鑱旂郴鐢佃瘽
-    /// </summary>
-    [SugarColumn(ColumnName = "LINK_PHONE")]
-    public string? LinkPhone { get; set; }
-
-    /// <summary>
-    ///     缁撶畻鏂�
-    /// </summary>
-    [SugarColumn(ColumnName = "SETTLE_PARTY")]
-    public string? SettleParty { get; set; }
-
-    /// <summary>
-    ///     浠樻鏂�
-    /// </summary>
-    [SugarColumn(ColumnName = "PAYER_PARTY")]
-    public string? PayerParty { get; set; }
-
-    /// <summary>
-    ///     鍒涘缓浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CREATED_BY")]
-    public string? CreatedBy { get; set; }
-
-    /// <summary>
-    ///     鍒涘缓鏃堕棿
-    /// </summary>
-    [SugarColumn(ColumnName = "CREATED_DATE")]
-    public DateTime? CreatedDate { get; set; }
-
-    /// <summary>
-    ///     淇敼浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "MODIFIED_BY")]
-    public string? ModifiedBy { get; set; }
-
-    /// <summary>
-    ///     淇敼鏃堕棿
-    /// </summary>
-    [SugarColumn(ColumnName = "MODIFIED_DATE")]
-    public DateTime? ModifiedDate { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSED_BY")]
-    public string? ClosedBy { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴鍘熷洜
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSE_REASON")]
-    public string? CloseReason { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSE_DATE")]
-    public DateTime? CloseDate { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "APPROVED_BY")]
-    public string? ApprovedBy { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "APPROVED_DATE")]
-    public DateTime? ApprovedDate { get; set; }
-
-    /// <summary>
-    ///     浣滃簾鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "CANCEL_STATUS")]
-    public string? CancelStatus { get; set; }
-
-    /// <summary>
-    ///     浣滃簾浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CANCELLED_BY")]
-    public string? CancelledBy { get; set; }
-
-    /// <summary>
-    ///     浣滃簾鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "CANCEL_DATE")]
-    public DateTime? CancelDate { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSE_STATUS")]
-    public string? CloseStatus { get; set; }
-
-    /// <summary>
-    ///     鏄惁鎵嬪姩鍏抽棴
-    /// </summary>
-    [SugarColumn(ColumnName = "MANUAL_CLOSE_FLAG")]
-    public string? ManualCloseFlag { get; set; }
-
-    /// <summary>
-    ///     ERP澶碔D
-    /// </summary>
-    [SugarColumn(ColumnName = "ERP_ID")]
-    public string? ErpId { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "BILL_STATUS")]
-    public string? BillStatus { get; set; }
-
-}
diff --git a/MES.Service/Modes/SalesDeliveryNotice/SalesDeliveryNotice.cs b/MES.Service/Modes/SalesDeliveryNotice/SalesDeliveryNotice.cs
new file mode 100644
index 0000000..cd2ce43
--- /dev/null
+++ b/MES.Service/Modes/SalesDeliveryNotice/SalesDeliveryNotice.cs
@@ -0,0 +1,209 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+namespace MES.Service.Modes.SalesDeliveryNotice
+{
+    /// <summary>
+    /// 
+    ///</summary>
+    [SugarTable("SALES_DELIVERY_NOTICE")]
+    public class SalesDeliveryNotice
+    {
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SALES_DELIVERY", IsPrimaryKey = true)]
+        public decimal? Id { get; set; }
+        /// <summary>
+        /// ERP ID 
+        ///</summary>
+        [SugarColumn(ColumnName = "ERPID")]
+        public decimal? Erpid { get; set; }
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷 
+        ///</summary>
+        [SugarColumn(ColumnName = "FBILLTYPEID")]
+        public string? Fbilltypeid { get; set; }
+        /// <summary>
+        /// 鍗曟嵁缂栧彿 
+        ///</summary>
+        [SugarColumn(ColumnName = "FBILLNO")]
+        public string? Fbillno { get; set; }
+        /// <summary>
+        /// 鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDATE")]
+        public DateTime? Fdate { get; set; }
+        /// <summary>
+        /// 缁撶畻甯佸埆 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSETTLECURRID")]
+        public string? Fsettlecurrid { get; set; }
+        /// <summary>
+        /// 閿�鍞粍缁� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSALEORGID")]
+        public string? Fsaleorgid { get; set; }
+        /// <summary>
+        /// 閿�鍞儴闂� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSALEDEPTID")]
+        public string? Fsaledeptid { get; set; }
+        /// <summary>
+        /// 瀹㈡埛 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCUSTOMERID")]
+        public string? Fcustomerid { get; set; }
+        /// <summary>
+        /// 浜よ揣鏂瑰紡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FHEADDELIVERYWAY")]
+        public string? Fheaddeliveryway { get; set; }
+        /// <summary>
+        /// 浜よ揣鍦扮偣 
+        ///</summary>
+        [SugarColumn(ColumnName = "FHEADLOCID")]
+        public string? Fheadlocid { get; set; }
+        /// <summary>
+        /// 鎵胯繍鍟� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCARRIERID")]
+        public string? Fcarrierid { get; set; }
+        /// <summary>
+        /// 杩愯緭鍗曞彿 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCARRIAGENO")]
+        public string? Fcarriageno { get; set; }
+        /// <summary>
+        /// 鍗曟嵁鐘舵�� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDOCUMENTSTATUS")]
+        public string? Fdocumentstatus { get; set; }
+        /// <summary>
+        /// 鍙戣揣缁勭粐 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDELIVERYORGID")]
+        public string? Fdeliveryorgid { get; set; }
+        /// <summary>
+        /// 鍙戣揣閮ㄩ棬 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDELIVERYDEPTID")]
+        public string? Fdeliverydeptid { get; set; }
+        /// <summary>
+        /// 搴撳瓨缁� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSTOCKERGROUPID")]
+        public string? Fstockergroupid { get; set; }
+        /// <summary>
+        /// 浠撶鍛� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSTOCKERID")]
+        public string? Fstockerid { get; set; }
+        /// <summary>
+        /// 閿�鍞粍 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSALEGROUPID")]
+        public string? Fsalegroupid { get; set; }
+        /// <summary>
+        /// 閿�鍞憳 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSALESMANID")]
+        public string? Fsalesmanid { get; set; }
+        /// <summary>
+        /// 鏀惰揣鏂� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FRECEIVERID")]
+        public string? Freceiverid { get; set; }
+        /// <summary>
+        /// 鏀惰揣鏂硅仈绯讳汉 
+        ///</summary>
+        [SugarColumn(ColumnName = "FRECEIVERCONTACTID")]
+        public string? Freceivercontactid { get; set; }
+        /// <summary>
+        /// 鏀惰揣鏂瑰湴鍧� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FRECEIVEADDRESS")]
+        public string? Freceiveaddress { get; set; }
+        /// <summary>
+        /// 鏀惰揣浜哄鍚� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FLINKMAN")]
+        public string? Flinkman { get; set; }
+        /// <summary>
+        /// 鑱旂郴鐢佃瘽 
+        ///</summary>
+        [SugarColumn(ColumnName = "FLINKPHONE")]
+        public string? Flinkphone { get; set; }
+        /// <summary>
+        /// 缁撶畻鏂� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSETTLEID")]
+        public string? Fsettleid { get; set; }
+        /// <summary>
+        /// 浠樻鏂� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FPAYERID")]
+        public string? Fpayerid { get; set; }
+        /// <summary>
+        /// 鍒涘缓浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCREATORID")]
+        public string? Fcreatorid { get; set; }
+        /// <summary>
+        /// 鍒涘缓鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCREATEDATE")]
+        public DateTime? Fcreatedate { get; set; }
+        /// <summary>
+        /// 鏈�鍚庝慨鏀逛汉 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMODIFIERID")]
+        public string? Fmodifierid { get; set; }
+        /// <summary>
+        /// 鏈�鍚庝慨鏀规棩鏈� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMODIFYDATE")]
+        public DateTime? Fmodifydate { get; set; }
+        /// <summary>
+        /// 瀹℃牳浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FAPPROVERID")]
+        public string? Fapproverid { get; set; }
+        /// <summary>
+        /// 瀹℃牳鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FAPPROVEDATE")]
+        public DateTime? Fapprovedate { get; set; }
+        /// <summary>
+        /// 鍏抽棴浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCLOSERID")]
+        public string? Fcloserid { get; set; }
+        /// <summary>
+        /// 鍏抽棴鍘熷洜 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCLOSEREASON")]
+        public string? Fclosereason { get; set; }
+        /// <summary>
+        /// 鍏抽棴鐘舵�� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCLOSESTATUS")]
+        public string? Fclosestatus { get; set; }
+        /// <summary>
+        /// 浣滃簾浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCANCELLERID")]
+        public string? Fcancellerid { get; set; }
+        /// <summary>
+        /// 浣滃簾鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCANCELDATE")]
+        public DateTime? Fcanceldate { get; set; }
+        /// <summary>
+        /// 浣滃簾鐘舵�� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCANCELSTATUS")]
+        public string? Fcancelstatus { get; set; }
+    }
+}
diff --git a/MES.Service/Modes/SalesDeliveryNotice/SalesDeliveryNoticeDetail.cs b/MES.Service/Modes/SalesDeliveryNotice/SalesDeliveryNoticeDetail.cs
new file mode 100644
index 0000000..13518da
--- /dev/null
+++ b/MES.Service/Modes/SalesDeliveryNotice/SalesDeliveryNoticeDetail.cs
@@ -0,0 +1,144 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+namespace MES.Service.Modes.SalesDeliveryNotice
+{
+    /// <summary>
+    /// 閿�鍞彂璐ч�氱煡鏄庣粏琛�
+    ///</summary>
+    [SugarTable("SALES_DELIVERY_NOTICE_DETAIL")]
+    public class SalesDeliveryNoticeDetail
+    {
+        /// <summary>
+        ///  ID
+        ///</summary>
+        [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SALES_DELIVERY", IsPrimaryKey = true)]
+        public decimal Id { get; set; }
+        /// <summary>
+        /// ERP琛孖D 
+        ///</summary>
+        [SugarColumn(ColumnName = "ERPID")]
+        public decimal? Erpid { get; set; }
+        /// <summary>
+        /// ERP澶碔D 
+        ///</summary>
+        [SugarColumn(ColumnName = "EHID")]
+        public decimal? Ehid { get; set; }
+        /// <summary>
+        /// 鐗╂枡缂栫爜 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMATERIALID")]
+        public string? Fmaterialid { get; set; }
+        /// <summary>
+        /// 閿�鍞崟浣� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FUNITID")]
+        public string? Funitid { get; set; }
+        /// <summary>
+        /// 閿�鍞暟閲� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FQTY")]
+        public decimal? Fqty { get; set; }
+        /// <summary>
+        /// 鏄惁璧犲搧锛圷/N锛� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FISFREE")]
+        public string? Fisfree { get; set; }
+        /// <summary>
+        /// 瑕佽揣鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDELIVERYDATE")]
+        public DateTime? Fdeliverydate { get; set; }
+        /// <summary>
+        /// 鍑鸿揣浠撳簱 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSTOCKID")]
+        public string? Fstockid { get; set; }
+        /// <summary>
+        /// 璁″垝璺熻釜鍙� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMTONO")]
+        public string? Fmtono { get; set; }
+        /// <summary>
+        /// 鎵瑰彿 
+        ///</summary>
+        [SugarColumn(ColumnName = "FLOT")]
+        public string? Flot { get; set; }
+        /// <summary>
+        /// 婧愬崟鍗曞彿 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSRCBILLNO")]
+        public string? Fsrcbillno { get; set; }
+        /// <summary>
+        /// 璁′环鏁伴噺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FPRICEUNITQTY")]
+        public decimal? Fpriceunitqty { get; set; }
+        /// <summary>
+        /// 璐т富 
+        ///</summary>
+        [SugarColumn(ColumnName = "FOWNERIDHEAD")]
+        public string? Fowneridhead { get; set; }
+        /// <summary>
+        /// 搴撳瓨鍗曚綅 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSTOCKUNITID")]
+        public string? Fstockunitid { get; set; }
+        /// <summary>
+        /// 搴撳瓨鏁伴噺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSTOCKQTY")]
+        public decimal? Fstockqty { get; set; }
+        /// <summary>
+        /// 鐗╂枡绫诲埆 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMATERIATYPE")]
+        public string? Fmateriatype { get; set; }
+        /// <summary>
+        /// 瓒呭彂鎺у埗鍗曚綅 
+        ///</summary>
+        [SugarColumn(ColumnName = "FOUTLMTUNIT")]
+        public string? Foutlmtunit { get; set; }
+        /// <summary>
+        /// 鍑哄簱涓婇檺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FOUTMAXQTY")]
+        public decimal? Foutmaxqty { get; set; }
+        /// <summary>
+        /// 鍑哄簱涓嬮檺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FOUTMINQTY")]
+        public decimal? Foutminqty { get; set; }
+        /// <summary>
+        /// 浜よ揣鍦扮偣 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDELIVERYLOC")]
+        public string? Fdeliveryloc { get; set; }
+        /// <summary>
+        /// 浜よ揣鍦板潃 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDELIVERYLADDRESS")]
+        public string? Fdeliveryladdress { get; set; }
+        /// <summary>
+        /// 缁堟鐘舵�� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FTERMINATIONSTATUS")]
+        public string? Fterminationstatus { get; set; }
+        /// <summary>
+        /// 涓氬姟缁堟鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FTERMINATEDATE")]
+        public DateTime? Fterminatedate { get; set; }
+        /// <summary>
+        /// 绱鍑哄簱鏁伴噺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSUMOUTQTY")]
+        public decimal? Fsumoutqty { get; set; }
+        /// <summary>
+        /// 鏈嚭搴撴暟閲� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FREMAINOUTQTY")]
+        public decimal? Fremainoutqty { get; set; }
+    }
+}
diff --git a/MES.Service/Modes/SalesDeliveryNoticeDetail.cs b/MES.Service/Modes/SalesDeliveryNoticeDetail.cs
deleted file mode 100644
index 04b2562..0000000
--- a/MES.Service/Modes/SalesDeliveryNoticeDetail.cs
+++ /dev/null
@@ -1,211 +0,0 @@
-锘縰sing SqlSugar;
-
-namespace MES.Service.Modes;
-
-/// <summary>
-///     閿�鍞彂璐ч�氱煡鍗曟槑缁嗚〃
-/// </summary>
-[SugarTable("SALES_DELIVERY_NOTICE_DETAIL")]
-public class SalesDeliveryNoticeDetail
-{
-    /// <summary>
-    ///     SEQ_fhtz_mx搴忓垪
-    /// </summary>
-    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_FHTZ_MX",
-        IsPrimaryKey = true)]
-    public decimal Id { get; set; }
-
-    /// <summary>
-    ///     閿�鍞鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_ORDER_ID")]
-    public string? SalesOrderId { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡缂栫爜
-    /// </summary>
-    [SugarColumn(ColumnName = "MATERIAL_ID")]
-    public string? MaterialId { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡鍚嶇О
-    /// </summary>
-    [SugarColumn(ColumnName = "MATERIAL_NAME")]
-    public string? MaterialName { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡瑙勬牸
-    /// </summary>
-    [SugarColumn(ColumnName = "MATERIAL_SPECIFICATION")]
-    public string? MaterialSpecification { get; set; }
-
-    /// <summary>
-    ///     閿�鍞崟浣�
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_UNIT_ID")]
-    public string? SalesUnitId { get; set; }
-
-    /// <summary>
-    ///     閿�鍞暟閲�
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_QUANTITY")]
-    public decimal? SalesQuantity { get; set; }
-
-    /// <summary>
-    ///     鏄惁璧犲搧
-    /// </summary>
-    [SugarColumn(ColumnName = "IS_FREE")]
-    public string? IsFree { get; set; }
-
-    /// <summary>
-    ///     瑕佽揣鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_DATE")]
-    public DateTime? DeliveryDate { get; set; }
-
-    /// <summary>
-    ///     鍑鸿揣浠撳簱
-    /// </summary>
-    [SugarColumn(ColumnName = "WAREHOUSE")]
-    public string? WareHouse { get; set; }
-
-    /// <summary>
-    ///     璁″垝璺熻釜鍙�
-    /// </summary>
-    [SugarColumn(ColumnName = "PLAN_TRACKING_NUMBER")]
-    public string? PlanTrackingNumber { get; set; }
-
-    /// <summary>
-    ///     鎵瑰彿
-    /// </summary>
-    [SugarColumn(ColumnName = "LOT_NUMBER")]
-    public string? LotNumber { get; set; }
-
-    /// <summary>
-    ///     婧愬崟缂栧彿
-    /// </summary>
-    [SugarColumn(ColumnName = "SRC_BILL_NO")]
-    public string? SrcBillNo { get; set; }
-
-    /// <summary>
-    ///     璁′环鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "PRICE_QTY")]
-    public decimal? PriceQty { get; set; }
-
-    /// <summary>
-    ///     璐т富
-    /// </summary>
-    [SugarColumn(ColumnName = "OWNER_ID")]
-    public string? OwnerId { get; set; }
-
-    /// <summary>
-    ///     搴撳瓨鍗曚綅
-    /// </summary>
-    [SugarColumn(ColumnName = "INVENTORY_UNIT")]
-    public string? InventoryUnit { get; set; }
-
-    /// <summary>
-    ///     搴撳瓨鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "INVENTORY_QUANTITY")]
-    public decimal? InventoryQuantity { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡绫诲埆
-    /// </summary>
-    [SugarColumn(ColumnName = "MATERIAL_CATEGORY")]
-    public string? MaterialCategory { get; set; }
-
-    /// <summary>
-    ///     璁″垝鍙戣揣鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "PLAN_DELIVERY_DATE")]
-    public DateTime? PlanDeliveryDate { get; set; }
-
-    /// <summary>
-    ///     瓒呭彂鎺у埗鍗曚綅
-    /// </summary>
-    [SugarColumn(ColumnName = "OUT_LMT_UNIT")]
-    public string? OutLmtUnit { get; set; }
-
-    /// <summary>
-    ///     鍑哄簱涓婇檺
-    /// </summary>
-    [SugarColumn(ColumnName = "OUT_MAX_QTY")]
-    public decimal? OutMaxQty { get; set; }
-
-    /// <summary>
-    ///     鍑哄簱涓嬮檺
-    /// </summary>
-    [SugarColumn(ColumnName = "OUT_MIN_QTY")]
-    public decimal? OutMinQty { get; set; }
-
-    /// <summary>
-    ///     浜よ揣鍦扮偣
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_LOC")]
-    public string? DeliveryLoc { get; set; }
-
-    /// <summary>
-    ///     浜よ揣鍦板潃
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERYL_ADDRESS")]
-    public string? DeliveryAddress { get; set; }
-
-    /// <summary>
-    ///     婧愬崟鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "SOURCE_BILL_NO")]
-    public string? SourceBillNo { get; set; }
-
-    /// <summary>
-    ///     璁㈠崟鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "ORDER_BILL_NO")]
-    public string? OrderBillNo { get; set; }
-
-    /// <summary>
-    ///     缁堟鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "TERMINATION_STATUS")]
-    public string? TerminationStatus { get; set; }
-
-    /// <summary>
-    ///     缁堟鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "TERMINATION_DATE")]
-    public DateTime? TerminationDate { get; set; }
-
-    /// <summary>
-    ///     绱鍑哄簱鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "SUM_OUT_QTY")]
-    public decimal? SumOutQty { get; set; }
-
-    /// <summary>
-    ///     鏈嚭搴撴暟閲�
-    /// </summary>
-    [SugarColumn(ColumnName = "REMAIN_OUT_QTY")]
-    public decimal? RemainOutQty { get; set; }
-
-    /// <summary>
-    ///     ERPID
-    /// </summary>
-    [SugarColumn(ColumnName = "ERP_LINE_ID")]
-    public string ErpLineId { get; set; }
-
-    /// <summary>
-    ///     ERP澶碔D
-    /// </summary>
-    [SugarColumn(ColumnName = "ERP_HEAD_ID")]
-    public string ErpHeadId { get; set; }
-
-    /// <summary>
-    ///     澶囨敞
-    /// </summary>
-    [SugarColumn(ColumnName = "FENTRYNOTE")]
-    public string FentryNote { get; set; }
-
-}
-
diff --git a/MES.Service/Modes/SalesOrder.cs b/MES.Service/Modes/SalesOrder.cs
deleted file mode 100644
index 84de021..0000000
--- a/MES.Service/Modes/SalesOrder.cs
+++ /dev/null
@@ -1,210 +0,0 @@
-锘縰sing SqlSugar;
-
-namespace MES.Service.Modes;
-
-/// <summary>
-///     閿�鍞鍗曡〃
-/// </summary>
-[SugarTable("SALES_ORDER")]
-public class SalesOrder
-{
-    /// <summary>
-    ///     SEQ_sales搴忓垪
-    /// </summary>
-    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SALES",
-        IsPrimaryKey = true)]
-    public decimal Id { get; set; }
-
-    /// <summary>
-    ///     ERP澶碔D
-    /// </summary>
-    [SugarColumn(ColumnName = "ERP_ID")]
-    public decimal? ErpId { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁缂栧彿
-    /// </summary>
-    [SugarColumn(ColumnName = "BILL_NO")]
-    public string? BillNo { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁绫诲瀷
-    /// </summary>
-    [SugarColumn(ColumnName = "BILL_TYPE_ID")]
-    public string? BillTypeId { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "DOCUMENT_STATUS")]
-    public string? DocumentStatus { get; set; }
-
-    /// <summary>
-    ///     鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "F_DATE")]
-    public DateTime? FDate { get; set; }
-
-    /// <summary>
-    ///     涓氬姟绫诲瀷
-    /// </summary>
-    [SugarColumn(ColumnName = "BUSINESS_TYPE")]
-    public string? BusinessType { get; set; }
-
-    /// <summary>
-    ///     浜よ揣鏂瑰紡
-    /// </summary>
-    [SugarColumn(ColumnName = "HEAD_DELIVERY_WAY")]
-    public string? HeadDeliveryWay { get; set; }
-
-    /// <summary>
-    ///     浜よ揣鍦扮偣
-    /// </summary>
-    [SugarColumn(ColumnName = "HEAD_LOC_ID")]
-    public string? HeadLocId { get; set; }
-
-    /// <summary>
-    ///     瀹㈡埛
-    /// </summary>
-    [SugarColumn(ColumnName = "CUST_ID")]
-    public string? CustId { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSE_STATUS")]
-    public string? CloseStatus { get; set; }
-
-    /// <summary>
-    ///     閿�鍞儴闂�
-    /// </summary>
-    [SugarColumn(ColumnName = "SALE_DEPT_ID")]
-    public string? SaleDeptId { get; set; }
-
-    /// <summary>
-    ///     閿�鍞憳
-    /// </summary>
-    [SugarColumn(ColumnName = "SALER_ID")]
-    public string? SalerId { get; set; }
-
-    /// <summary>
-    ///     鍙樻洿鍘熷洜
-    /// </summary>
-    [SugarColumn(ColumnName = "CHANGE_REASON")]
-    public string? ChangeReason { get; set; }
-
-    /// <summary>
-    ///     澶囨敞
-    /// </summary>
-    [SugarColumn(ColumnName = "NOTE")]
-    public string? Note { get; set; }
-
-    /// <summary>
-    ///     缁撶畻鏂�
-    /// </summary>
-    [SugarColumn(ColumnName = "SETTLE_ID")]
-    public string? SettleId { get; set; }
-
-    /// <summary>
-    ///     erp瀹℃牳浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "APPROVER_ID")]
-    public string? ApproverId { get; set; }
-
-    /// <summary>
-    ///     鏀惰揣浜哄鍚�
-    /// </summary>
-    [SugarColumn(ColumnName = "LINK_MAN")]
-    public string? LinkMan { get; set; }
-
-    /// <summary>
-    ///     浠樻鏂�
-    /// </summary>
-    [SugarColumn(ColumnName = "CHARGE_ID")]
-    public string? ChargeId { get; set; }
-
-    /// <summary>
-    ///     鑱旂郴鐢佃瘽
-    /// </summary>
-    [SugarColumn(ColumnName = "LINK_PHONE")]
-    public string? LinkPhone { get; set; }
-
-    /// <summary>
-    ///     鍒涘缓浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CREATOR_ID")]
-    public string? CreatorId { get; set; }
-
-    /// <summary>
-    ///     鍒涘缓鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "CREATE_DATE")]
-    public DateTime? CreateDate { get; set; }
-
-    /// <summary>
-    ///     鏈�鍚庝慨鏀逛汉
-    /// </summary>
-    [SugarColumn(ColumnName = "MODIFIER_ID")]
-    public string? ModifierId { get; set; }
-
-    /// <summary>
-    ///     鏈�鍚庝慨鏀规棩鏈�
-    /// </summary>
-    [SugarColumn(ColumnName = "MODIFY_DATE")]
-    public DateTime? ModifyDate { get; set; }
-
-    /// <summary>
-    ///     erp瀹℃牳鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "APPROVE_DATE")]
-    public DateTime? ApproveDate { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSER_ID")]
-    public string? CloserId { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSE_DATE")]
-    public DateTime? CloseDate { get; set; }
-
-    /// <summary>
-    ///     鍙樻洿鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "CHANGE_DATE")]
-    public DateTime? ChangeDate { get; set; }
-
-    /// <summary>
-    ///     浣滃簾鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "CANCEL_STATUS")]
-    public string? CancelStatus { get; set; }
-
-    /// <summary>
-    ///     浣滃簾浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CANCELLER_ID")]
-    public string? CancellerId { get; set; }
-
-    /// <summary>
-    ///     鐗堟湰鍙�
-    /// </summary>
-    [SugarColumn(ColumnName = "VERSION_NO")]
-    public decimal? VersionNo { get; set; }
-
-    /// <summary>
-    ///     鍙樻洿浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CHANGER_ID")]
-    public string? ChangerId { get; set; }
-
-    /// <summary>
-    ///     澶囨敞
-    /// </summary>
-    [SugarColumn(ColumnName = "ENTRY_NOTE")]
-    public string? EntryNote { get; set; }
-
-}
\ No newline at end of file
diff --git a/MES.Service/Modes/SalesOrder/SalesOrder.cs b/MES.Service/Modes/SalesOrder/SalesOrder.cs
new file mode 100644
index 0000000..308257e
--- /dev/null
+++ b/MES.Service/Modes/SalesOrder/SalesOrder.cs
@@ -0,0 +1,204 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+namespace MES.Service.Modes
+{
+    /// <summary>
+    /// 
+    ///</summary>
+    [SugarTable("SALES_ORDER")]
+    public class SalesOrder
+    {
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SALES_ORDER")]
+        public decimal? Id { get; set; }
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "ERPID")]
+        public decimal? Erpid { get; set; }
+        /// <summary>
+        /// 鍗曟嵁缂栧彿 
+        ///</summary>
+        [SugarColumn(ColumnName = "FBILLNO")]
+        public string Fbillno { get; set; }
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷 
+        ///</summary>
+        [SugarColumn(ColumnName = "FBILLTYPEID")]
+        public string Fbilltypeid { get; set; }
+        /// <summary>
+        /// 鍗曟嵁鐘舵�� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDOCUMENTSTATUS")]
+        public string Fdocumentstatus { get; set; }
+        /// <summary>
+        /// 鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDATE")]
+        public DateTime? Fdate { get; set; }
+        /// <summary>
+        /// 涓氬姟绫诲瀷 
+        ///</summary>
+        [SugarColumn(ColumnName = "FBUSINESSTYPE")]
+        public string Fbusinesstype { get; set; }
+        /// <summary>
+        /// 浜よ揣鏂瑰紡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FHEADDELIVERYWAY")]
+        public string Fheaddeliveryway { get; set; }
+        /// <summary>
+        /// 浜よ揣鍦扮偣 
+        ///</summary>
+        [SugarColumn(ColumnName = "FHEADLOCID")]
+        public string Fheadlocid { get; set; }
+        /// <summary>
+        /// 閿�鍞粍缁� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSALEORGID")]
+        public string? Fsaleorgid { get; set; }
+        /// <summary>
+        /// 瀹㈡埛 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCUSTID")]
+        public string Fcustid { get; set; }
+        /// <summary>
+        /// 鍏抽棴鐘舵�� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCLOSESTATUS")]
+        public string Fclosestatus { get; set; }
+        /// <summary>
+        /// 閿�鍞儴闂� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSALEDEPTID")]
+        public string Fsaledeptid { get; set; }
+        /// <summary>
+        /// 閿�鍞憳 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSALERID")]
+        public string Fsalerid { get; set; }
+        /// <summary>
+        /// 鍙樻洿鍘熷洜 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHANGEREASON")]
+        public string Fchangereason { get; set; }
+        /// <summary>
+        /// 澶囨敞 
+        ///</summary>
+        [SugarColumn(ColumnName = "FNOTE")]
+        public string Fnote { get; set; }
+        /// <summary>
+        /// 缁撶畻鏂� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSETTLEID")]
+        public string Fsettleid { get; set; }
+        /// <summary>
+        /// 瀹℃牳浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FAPPROVERID")]
+        public string Fapproverid { get; set; }
+        /// <summary>
+        /// 鏀惰揣浜哄鍚� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FLINKMAN")]
+        public string Flinkman { get; set; }
+        /// <summary>
+        /// 浠樻鏂� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHARGEID")]
+        public string Fchargeid { get; set; }
+        /// <summary>
+        /// 鑱旂郴鐢佃瘽 
+        ///</summary>
+        [SugarColumn(ColumnName = "FLINKPHONE")]
+        public string Flinkphone { get; set; }
+        /// <summary>
+        /// 鍒涘缓浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCREATORID")]
+        public string Fcreatorid { get; set; }
+        /// <summary>
+        /// 鍒涘缓鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCREATEDATE")]
+        public DateTime? Fcreatedate { get; set; }
+        /// <summary>
+        /// 鏈�鍚庝慨鏀逛汉 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMODIFIERID")]
+        public string Fmodifierid { get; set; }
+        /// <summary>
+        /// 鏈�鍚庝慨鏀规棩鏈� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMODIFYDATE")]
+        public DateTime? Fmodifydate { get; set; }
+        /// <summary>
+        /// 瀹℃牳鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FAPPROVEDATE")]
+        public DateTime? Fapprovedate { get; set; }
+        /// <summary>
+        /// 鍏抽棴浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCLOSERID")]
+        public string Fcloserid { get; set; }
+        /// <summary>
+        /// 鍏抽棴鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCLOSEDATE")]
+        public DateTime? Fclosedate { get; set; }
+        /// <summary>
+        /// 鍙樻洿鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHANGEDATE")]
+        public DateTime? Fchangedate { get; set; }
+        /// <summary>
+        /// 浣滃簾鐘舵�� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCANCELSTATUS")]
+        public string Fcancelstatus { get; set; }
+        /// <summary>
+        /// 浣滃簾浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCANCELLERID")]
+        public string Fcancellerid { get; set; }
+        /// <summary>
+        /// 鐗堟湰鍙� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FVERSIONNO")]
+        public string Fversionno { get; set; }
+        /// <summary>
+        /// 鍙樻洿浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FCHANGERID")]
+        public string Fchangerid { get; set; }
+        /// <summary>
+        /// 鍙戣揣鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "F_WWC_DATE")]
+        public DateTime? FWwcDate { get; set; }
+        /// <summary>
+        /// 鏄惁璇勫 
+        ///</summary>
+        [SugarColumn(ColumnName = "F_WWC_CHECKBOX")]
+        public string? FWwcCheckbox { get; set; }
+        /// <summary>
+        /// 鎶�鏈瘎瀹� 
+        ///</summary>
+        [SugarColumn(ColumnName = "F_WWC_LARGETEXT")]
+        public string? FWwcLargetext { get; set; }
+        /// <summary>
+        /// PMC璇勫 
+        ///</summary>
+        [SugarColumn(ColumnName = "F_WWC_LARGETEXT1")]
+        public string? FWwcLargetext1 { get; set; }
+        /// <summary>
+        /// 澶囨敞锛堟槑缁嗭級 
+        ///</summary>
+        [SugarColumn(ColumnName = "FENTRYNOTE")]
+        public string? Fentrynote { get; set; }
+    }
+}
diff --git a/MES.Service/Modes/SalesOrder/SalesOrderDetail.cs b/MES.Service/Modes/SalesOrder/SalesOrderDetail.cs
new file mode 100644
index 0000000..d4ad26d
--- /dev/null
+++ b/MES.Service/Modes/SalesOrder/SalesOrderDetail.cs
@@ -0,0 +1,186 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+namespace MES.Service.Modes
+{
+    /// <summary>
+    /// 
+    ///</summary>
+    [SugarTable("SALES_ORDER_DETAIL")]
+    public class SalesOrderDetail
+    {
+        /// <summary>
+        ///  
+        ///</summary>
+        [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SALES_ORDER")]
+        public decimal Id { get; set; }
+
+        /// <summary>
+        /// ERPID 
+        ///</summary>
+        [SugarColumn(ColumnName = "ERPID")]
+
+        public decimal Erpid { get; set; }
+        /// <summary>
+        /// EHID 
+        ///</summary>
+        [SugarColumn(ColumnName = "EHID")]
+        public decimal Ehid { get; set; }
+        /// <summary>
+        /// 鐗╂枡缂栫爜 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMATERIALID")]
+        public string Fmaterialid { get; set; }
+        /// <summary>
+        /// 閿�鍞崟浣� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FUNITID")]
+        public string Funitid { get; set; }
+        /// <summary>
+        /// 閿�鍞暟閲� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FQTY")]
+        public decimal? Fqty { get; set; }
+        /// <summary>
+        /// 璁′环鍗曚綅 
+        ///</summary>
+        [SugarColumn(ColumnName = "FPRICEUNITID")]
+        public string Fpriceunitid { get; set; }
+        /// <summary>
+        /// 璁′环鏁伴噺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FPRICEUNITQTY")]
+        public decimal? Fpriceunitqty { get; set; }
+        /// <summary>
+        /// 瑕佽揣鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDELIVERYDATE")]
+        public DateTime? Fdeliverydate { get; set; }
+        /// <summary>
+        /// 鏄惁璧犲搧 
+        ///</summary>
+        [SugarColumn(ColumnName = "FISFREE")]
+        public string Fisfree { get; set; }
+        /// <summary>
+        /// 缁撶畻缁勭粐 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSETTLEORGIDS")]
+        public string? Fsettleorgids { get; set; }
+        /// <summary>
+        /// 璐т富绫诲瀷 
+        ///</summary>
+        [SugarColumn(ColumnName = "FOWNERTYPEID")]
+        public string Fownertypeid { get; set; }
+        /// <summary>
+        /// 璐т富 
+        ///</summary>
+        [SugarColumn(ColumnName = "FOWNERID")]
+        public string Fownerid { get; set; }
+        /// <summary>
+        /// 澶囨敞 
+        ///</summary>
+        [SugarColumn(ColumnName = "FENTRYNOTE")]
+        public string Fentrynote { get; set; }
+        /// <summary>
+        /// 璁″垝璺熻釜鍙� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMTONO")]
+        public string Fmtono { get; set; }
+        /// <summary>
+        /// 鎵瑰彿 
+        ///</summary>
+        [SugarColumn(ColumnName = "FLOT")]
+        public string Flot { get; set; }
+        /// <summary>
+        /// 鍙戣揣涓婇檺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDELIVERYMAXQTY")]
+        public decimal? Fdeliverymaxqty { get; set; }
+        /// <summary>
+        /// 鍙戣揣涓嬮檺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDELIVERYMINQTY")]
+        public decimal? Fdeliveryminqty { get; set; }
+        /// <summary>
+        /// 瓒呭彂鎺у埗鍗曚綅 
+        ///</summary>
+        [SugarColumn(ColumnName = "FOUTLMTUNITID")]
+        public string Foutlmtunitid { get; set; }
+        /// <summary>
+        /// 涓氬姟鍏抽棴 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMRPCLOSESTATUS")]
+        public string Fmrpclosestatus { get; set; }
+        /// <summary>
+        /// 涓氬姟缁堟 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMRPTERMINATESTATUS")]
+        public string Fmrpterminatestatus { get; set; }
+        /// <summary>
+        /// 缁堟鏃ユ湡 
+        ///</summary>
+        [SugarColumn(ColumnName = "FTERMINATEDATE")]
+        public DateTime? Fterminatedate { get; set; }
+        /// <summary>
+        /// 缁堟浜� 
+        ///</summary>
+        [SugarColumn(ColumnName = "FTERMINATERID")]
+        public string? Fterminaterid { get; set; }
+        /// <summary>
+        /// 婧愬崟绫诲瀷 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSRCTYPE")]
+        public string Fsrctype { get; set; }
+        /// <summary>
+        /// 婧愬崟鍗曞彿 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSRCBILLNO")]
+        public string Fsrcbillno { get; set; }
+        /// <summary>
+        /// 绱鍙戣揣閫氱煡鏁伴噺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FDELIQTY")]
+        public decimal? Fdeliqty { get; set; }
+        /// <summary>
+        /// 绱鍑哄簱鏁伴噺 
+        ///</summary>
+        [SugarColumn(ColumnName = "FSTOCKOUTQTY")]
+        public decimal? Fstockoutqty { get; set; }
+        /// <summary>
+        /// 绱閫�璐ч�氱煡鏁伴噺锛堥攢鍞熀鏈級 
+        ///</summary>
+        [SugarColumn(ColumnName = "FBASERETNOTICEQTY")]
+        public decimal? Fbaseretnoticeqty { get; set; }
+        /// <summary>
+        /// 绱閫�璐ф暟閲忥紙閿�鍞熀鏈級 
+        ///</summary>
+        [SugarColumn(ColumnName = "FBASERETURNQTY")]
+        public decimal? Fbasereturnqty { get; set; }
+        /// <summary>
+        /// 鍓╀綑鏈嚭鏁伴噺锛堥攢鍞熀鏈級 
+        ///</summary>
+        [SugarColumn(ColumnName = "FBASEREMAINOUTQTY")]
+        public decimal? Fbaseremainoutqty { get; set; }
+        /// <summary>
+        /// 绱搴旀敹鏁伴噺锛堥攢鍞熀鏈級 
+        ///</summary>
+        [SugarColumn(ColumnName = "FBASEARQTY")]
+        public decimal? Fbasearqty { get; set; }
+        /// <summary>
+        /// 瀹㈡埛鐗╂枡缂栫爜 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMAPID")]
+        public string Fmapid { get; set; }
+        /// <summary>
+        /// 瀹㈡埛鐗╂枡鍚嶇О 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMAPNAME")]
+        public string Fmapname { get; set; }
+        /// <summary>
+        /// 瀹㈡埛瑙勬牸鍨嬪彿 
+        ///</summary>
+        [SugarColumn(ColumnName = "FMAPSPEC")]
+        public string Fmapspec { get; set; }
+    }
+}
diff --git a/MES.Service/Modes/SalesOrderDetail.cs b/MES.Service/Modes/SalesOrderDetail.cs
deleted file mode 100644
index dfa4c08..0000000
--- a/MES.Service/Modes/SalesOrderDetail.cs
+++ /dev/null
@@ -1,210 +0,0 @@
-锘縰sing SqlSugar;
-
-namespace MES.Service.Modes;
-
-/// <summary>
-///     閿�鍞鍗曟槑缁嗚〃
-/// </summary>
-[SugarTable("SALES_ORDER_DETAIL")]
-public class SalesOrderDetail
-{
-    /// <summary>
-    ///     SEQ_sales_detail搴忓垪
-    /// </summary>
-    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SALES_DETAIL",
-        IsPrimaryKey = true)]
-    public decimal Id { get; set; }
-
-    /// <summary>
-    ///     ERP琛孖D
-    /// </summary>
-    [SugarColumn(ColumnName = "ERP_ID")]
-    public decimal? ErpId { get; set; }
-
-    /// <summary>
-    ///     ERP澶碔D
-    /// </summary>
-    [SugarColumn(ColumnName = "E_HID")]
-    public decimal? EHid { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡缂栫爜
-    /// </summary>
-    [SugarColumn(ColumnName = "MATERIAL_ID")]
-    public string? MaterialIDd{ get; set; }
-
-    /// <summary>
-    ///     閿�鍞崟浣�
-    /// </summary>
-    [SugarColumn(ColumnName = "UNIT_ID")]
-    public string? UnitId { get; set; }
-
-    /// <summary>
-    ///     閿�鍞暟閲�
-    /// </summary>
-    [SugarColumn(ColumnName = "QTY")]
-    public decimal? Qty { get; set; }
-
-    /// <summary>
-    ///     璁′环鍗曚綅
-    /// </summary>
-    [SugarColumn(ColumnName = "PRICE_UNIT_ID")]
-    public string? PriceUnitId { get; set; }
-
-    /// <summary>
-    ///     璁′环鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "PRICE_UNIT_QTY")]
-    public decimal? PriceUnitQty { get; set; }
-
-    /// <summary>
-    ///     瑕佽揣鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_DATE")]
-    public DateTime? DeliveryDate { get; set; }
-
-    /// <summary>
-    ///     鏄惁璧犲搧
-    /// </summary>
-    [SugarColumn(ColumnName = "IS_FREE")]
-    public string? IsFree { get; set; }
-
-    /// <summary>
-    ///     璐т富绫诲瀷
-    /// </summary>
-    [SugarColumn(ColumnName = "OWNER_TYPE_ID")]
-    public string? OwnerTypeId { get; set; }
-
-    /// <summary>
-    ///     璐т富
-    /// </summary>
-    [SugarColumn(ColumnName = "OWNER_ID")]
-    public string? OwnerId { get; set; }
-
-    /// <summary>
-    ///     澶囨敞
-    /// </summary>
-    [SugarColumn(ColumnName = "ENTRY_NOTE")]
-    public string? EntryNote { get; set; }
-
-    /// <summary>
-    ///     璁″垝璺熻釜鍙�
-    /// </summary>
-    [SugarColumn(ColumnName = "MTO_NO")]
-    public string? MtoNo { get; set; }
-
-    /// <summary>
-    ///     鎵瑰彿
-    /// </summary>
-    [SugarColumn(ColumnName = "LOT")]
-    public string? Lot { get; set; }
-
-    /// <summary>
-    ///     鍙戣揣涓婇檺
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_MAX_QTY")]
-    public decimal? DeliveryMaxQty { get; set; }
-
-    /// <summary>
-    ///     鍙戣揣涓嬮檺
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_MIN_QTY")]
-    public decimal? DeliveryMinQty { get; set; }
-
-    /// <summary>
-    ///     瓒呭彂鎺у埗鍗曚綅
-    /// </summary>
-    [SugarColumn(ColumnName = "OUT_LMT_UNIT_ID")]
-    public string? OutLmtUnitId { get; set; }
-
-    /// <summary>
-    ///     涓氬姟鍏抽棴
-    /// </summary>
-    [SugarColumn(ColumnName = "MRP_CLOSE_STATUS")]
-    public string? MrpCloseStatus { get; set; }
-
-    /// <summary>
-    ///     涓氬姟缁堟
-    /// </summary>
-    [SugarColumn(ColumnName = "MRP_TERMINATE_STATUS")]
-    public string? MrpTerminateStatus { get; set; }
-
-    /// <summary>
-    ///     缁堟鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "TERMINATE_DATE")]
-    public DateTime? TerminateDate { get; set; }
-
-    /// <summary>
-    ///     缁堟浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "TERMINATER_ID")]
-    public string? TerminaterId { get; set; }
-
-    /// <summary>
-    ///     婧愬崟绫诲瀷
-    /// </summary>
-    [SugarColumn(ColumnName = "SRC_TYPE")]
-    public string? SrcType { get; set; }
-
-    /// <summary>
-    ///     婧愬崟鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "SRC_BILL_NO")]
-    public string? SrcBillNo { get; set; }
-
-    /// <summary>
-    ///     绱鍙戣揣閫氱煡鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "DELI_QTY")]
-    public decimal? DeliQty { get; set; }
-
-    /// <summary>
-    ///     绱鍑哄簱鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "STOCK_OUT_QTY")]
-    public decimal? StockOutQty { get; set; }
-
-    /// <summary>
-    ///     绱閫�璐ч�氱煡鏁伴噺锛堥攢鍞熀鏈級
-    /// </summary>
-    [SugarColumn(ColumnName = "BASE_RET_NOTICE_QTY")]
-    public decimal? BaseRetNoticeQty { get; set; }
-
-    /// <summary>
-    ///     绱閫�璐ф暟閲忥紙閿�鍞熀鏈級
-    /// </summary>
-    [SugarColumn(ColumnName = "BASE_RETURN_QTY")]
-    public decimal? BaseReturnQty { get; set; }
-
-    /// <summary>
-    ///     鍓╀綑鏈嚭鏁伴噺锛堥攢鍞熀鏈級
-    /// </summary>
-    [SugarColumn(ColumnName = "BASE_REMAIN_OUT_QTY")]
-    public decimal? BaseRemainOutQty { get; set; }
-
-    /// <summary>
-    ///     绱搴旀敹鏁伴噺锛堥攢鍞熀鏈級
-    /// </summary>
-    [SugarColumn(ColumnName = "BASEARQTY")]
-    public decimal? BaseArQty { get; set; }
-
-    /// <summary>
-    ///     瀹㈡埛鐗╂枡缂栫爜
-    /// </summary>
-    [SugarColumn(ColumnName = "CUST_INO")]
-    public string? CustIno { get; set; }
-
-    /// <summary>
-    ///     瀹㈡埛鐗╂枡鍚嶇О
-    /// </summary>
-    [SugarColumn(ColumnName = "CUST_INM")]
-    public string? CustInm { get; set; }
-
-    /// <summary>
-    ///     瀹㈡埛鐗╂枡瑙勬牸
-    /// </summary>
-    [SugarColumn(ColumnName = "CUST_IMD")]
-    public string? CustImd { get; set; }
-
-}
\ No newline at end of file
diff --git a/MES.Service/Modes/SalesReturnNotice.cs b/MES.Service/Modes/SalesReturnNotice.cs
deleted file mode 100644
index d57bf5b..0000000
--- a/MES.Service/Modes/SalesReturnNotice.cs
+++ /dev/null
@@ -1,258 +0,0 @@
-锘縰sing SqlSugar;
-
-namespace MES.Service.Modes;
-
-/// <summary>
-///     閿�鍞��璐ч�氱煡鍗曡〃
-/// </summary>
-[SugarTable("SALES_RETURN_NOTICE")]
-public class SalesReturnNotice
-{
-    /// <summary>
-    ///     SEQ_thtz
-    /// </summary>
-    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_THTZ",
-        IsPrimaryKey = true)]
-    public decimal Id { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁绫诲瀷
-    /// </summary>
-    [SugarColumn(ColumnName = "BILL_TYPE")]
-    public string? BillType { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁缂栧彿
-    /// </summary>
-    [SugarColumn(ColumnName = "BILL_NO")]
-    public string? BillNo { get; set; }
-
-    /// <summary>
-    ///     鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "F_DATE")]
-    public DateTime? FDate { get; set; }
-
-    /// <summary>
-    ///     缁撶畻甯佸埆
-    /// </summary>
-    [SugarColumn(ColumnName = "CURRENCY")]
-    public string? Currency { get; set; }
-
-    /// <summary>
-    ///     閿�鍞粍缁�
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_ORG")]
-    public string? SalesOrg { get; set; }
-
-    /// <summary>
-    ///     閿�鍞儴闂�
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_DEPT")]
-    public string? SalesDept { get; set; }
-
-    /// <summary>
-    ///     瀹㈡埛璁㈠崟
-    /// </summary>
-    [SugarColumn(ColumnName = "CUSTOMER_ORDER_NO")]
-    public string? CustomerOrderNo { get; set; }
-
-    /// <summary>
-    ///     閫�璐у鎴�
-    /// </summary>
-    [SugarColumn(ColumnName = "RETURN_CUSTOMER")]
-    public string? ReturnCustomer { get; set; }
-
-    /// <summary>
-    ///     娣樺疂瀹㈡埛澶囨敞
-    /// </summary>
-    [SugarColumn(ColumnName = "TAOBAO_REMARK")]
-    public string? TaobaoRemark { get; set; }
-
-    /// <summary>
-    ///     閫�璐у師鍥�
-    /// </summary>
-    [SugarColumn(ColumnName = "RETURN_REASON")]
-    public string? ReturnReason { get; set; }
-
-    /// <summary>
-    ///     浜よ揣鍦扮偣
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_LOCATION")]
-    public string? DeliveryLocation { get; set; }
-
-    /// <summary>
-    ///     搴撳瓨缁勭粐
-    /// </summary>
-    [SugarColumn(ColumnName = "INVENTORY_ORG")]
-    public string? InventoryOrg { get; set; }
-
-    /// <summary>
-    ///     搴撳瓨閮ㄩ棬
-    /// </summary>
-    [SugarColumn(ColumnName = "INVENTORY_DEPT")]
-    public string? InventoryDept { get; set; }
-
-    /// <summary>
-    ///     搴撳瓨缁�
-    /// </summary>
-    [SugarColumn(ColumnName = "INVENTORY_GROUP")]
-    public string? InventoryGroup  { get; set; }
-
-    /// <summary>
-    ///     浠撶鍛�
-    /// </summary>
-    [SugarColumn(ColumnName = "WAREHOUSE_MANAGER")]
-    public string? WarehouseManager { get; set; }
-
-    /// <summary>
-    ///     閿�鍞粍
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_GROUP")]
-    public string? SalesGroup { get; set; }
-
-    /// <summary>
-    ///     閿�鍞憳
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_PERSON")]
-    public string? SalesPerson { get; set; }
-
-    /// <summary>
-    ///     蹇�掑崟鍙�
-    /// </summary>
-    [SugarColumn(ColumnName = "EXPRESS_NO")]
-    public string? ExpressNo { get; set; }
-
-    /// <summary>
-    ///     鏀惰揣鏂�
-    /// </summary>
-    [SugarColumn(ColumnName = "RECEIVER")]
-    public string? Receiver { get; set; }
-
-    /// <summary>
-    ///     鏀惰揣鏂硅仈绯讳汉
-    /// </summary>
-    [SugarColumn(ColumnName = "RECEIVER_CONTACT")]
-    public string? ReceiverContact { get; set; }
-
-    /// <summary>
-    ///     鏀惰揣鏂瑰湴鍧�
-    /// </summary>
-    [SugarColumn(ColumnName = "RECEIVER_ADDRESS")]
-    public string? ReceiverAddress { get; set; }
-
-    /// <summary>
-    ///     鏀惰揣鏂瑰鍚�
-    /// </summary>
-    [SugarColumn(ColumnName = "RECEIVER_NAME")]
-    public string? ReceiverName { get; set; }
-
-    /// <summary>
-    ///     缁撶畻鏂�
-    /// </summary>
-    [SugarColumn(ColumnName = "SETTLE_PARTY")]
-    public string? SettleParty { get; set; }
-
-    /// <summary>
-    ///     鍒涘缓浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CREATED_BY")]
-    public string? CreatedBy { get; set; }
-
-    /// <summary>
-    ///     鍒涘缓鏃堕棿
-    /// </summary>
-    [SugarColumn(ColumnName = "CREATED_DATE")]
-    public DateTime? CreatedDate { get; set; }
-
-    /// <summary>
-    ///     淇敼浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "MODIFIED_BY")]
-    public string? ModifiedBy { get; set; }
-
-    /// <summary>
-    ///     淇敼鏃堕棿
-    /// </summary>
-    [SugarColumn(ColumnName = "MODIFIED_DATE")]
-    public DateTime? ModifiedDate { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSED_BY")]
-    public string? ClosedBy { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴鍘熷洜
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSE_REASON")]
-    public string? CloseReason { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSE_DATE")]
-    public DateTime? CloseDate { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "APPROVED_BY")]
-    public string? ApprovedBy { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "APPROVED_DATE")]
-    public DateTime? ApprovedDate { get; set; }
-
-    /// <summary>
-    ///     浣滃簾鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "CANCEL_STATUS")]
-    public string? CancelStatus { get; set; }
-
-    /// <summary>
-    ///     浣滃簾浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CANCELLED_BY")]
-    public string? CancelledBy { get; set; }
-
-    /// <summary>
-    ///     浣滃簾鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "CANCEL_DATE")]
-    public DateTime? CancelDate { get; set; }
-
-    /// <summary>
-    ///     鍏抽棴鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "CLOSE_STATUS")]
-    public string? CloseStatus { get; set; }
-
-    /// <summary>
-    ///     鏄惁鎵嬪姩鍏抽棴
-    /// </summary>
-    [SugarColumn(ColumnName = "MANUAL_CLOSE_FLAG")]
-    public string? ManualCloseFlag { get; set; }
-
-    /// <summary>
-    ///     ERP澶碔D
-    /// </summary>
-    [SugarColumn(ColumnName = "ERP_ID")]
-    public string? ErpId { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁鐘舵��
-    /// </summary>
-    [SugarColumn(ColumnName = "BILL_STATUS")]
-    public string? BillStatus { get; set; }
-
-
-    /// <summary>
-    ///     閫�璐у師鍥�
-    /// </summary>
-    [SugarColumn(ColumnName = "FUNWTEXTTHYY")]
-    public string? Funwtextthyy { get; set; }
-}
\ No newline at end of file
diff --git a/MES.Service/Modes/SalesReturnNotice/SalesReturnNotice.cs b/MES.Service/Modes/SalesReturnNotice/SalesReturnNotice.cs
new file mode 100644
index 0000000..25becf7
--- /dev/null
+++ b/MES.Service/Modes/SalesReturnNotice/SalesReturnNotice.cs
@@ -0,0 +1,189 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+namespace MES.Service.Modes
+{
+    /// <summary>
+    /// 
+    ///</summary>
+    [SugarTable("SALES_RETURN_NOTICE")]
+    public class SalesReturnNotice
+    {
+        /// <summary>
+        /// SEQ_SALES_RETURN 
+        ///</summary>
+         [SugarColumn(ColumnName="ID", OracleSequenceName = "SEQ_SALES_RETURN", IsPrimaryKey = true)]
+         public decimal Id { get; set; }
+        /// <summary>
+        /// ERP澶碔D 
+        ///</summary>
+         [SugarColumn(ColumnName="ERPID"    )]
+         public decimal? Erpid { get; set; }
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷 
+        ///</summary>
+         [SugarColumn(ColumnName="FBILLTYPEID"    )]
+         public string? Fbilltypeid { get; set; }
+        /// <summary>
+        /// 鍗曟嵁缂栧彿 
+        ///</summary>
+         [SugarColumn(ColumnName="FBILLNO"    )]
+         public string? Fbillno { get; set; }
+        /// <summary>
+        /// 鏃ユ湡 
+        ///</summary>
+         [SugarColumn(ColumnName="FDATE"    )]
+         public DateTime? Fdate { get; set; }
+        /// <summary>
+        /// 缁撶畻甯佸埆 
+        ///</summary>
+         [SugarColumn(ColumnName="FSETTLECURRID"    )]
+         public string? Fsettlecurrid { get; set; }
+        /// <summary>
+        /// 閿�鍞粍缁� 
+        ///</summary>
+         [SugarColumn(ColumnName="FSALEORGID"    )]
+         public string? Fsaleorgid { get; set; }
+        /// <summary>
+        /// 閿�鍞儴闂� 
+        ///</summary>
+         [SugarColumn(ColumnName="FSALEDEPTID"    )]
+         public string? Fsaledeptid { get; set; }
+        /// <summary>
+        /// 閫�璐у鎴� 
+        ///</summary>
+         [SugarColumn(ColumnName="FRETCUSTID"    )]
+         public string? Fretcustid { get; set; }
+        /// <summary>
+        /// 浜よ揣鍦扮偣 
+        ///</summary>
+         [SugarColumn(ColumnName="FHEADLOCID"    )]
+         public string? Fheadlocid { get; set; }
+        /// <summary>
+        /// 搴撳瓨閮ㄩ棬 
+        ///</summary>
+         [SugarColumn(ColumnName="FRETDEPTID"    )]
+         public string? Fretdeptid { get; set; }
+        /// <summary>
+        /// 搴撳瓨缁� 
+        ///</summary>
+         [SugarColumn(ColumnName="FSTOCKERGROUPID"    )]
+         public string? Fstockergroupid { get; set; }
+        /// <summary>
+        /// 浠撶鍛� 
+        ///</summary>
+         [SugarColumn(ColumnName="FSTOCKERID"    )]
+         public string? Fstockerid { get; set; }
+        /// <summary>
+        /// 閿�鍞粍 
+        ///</summary>
+         [SugarColumn(ColumnName="FSALEGROUPID"    )]
+         public string? Fsalegroupid { get; set; }
+        /// <summary>
+        /// 閿�鍞憳 
+        ///</summary>
+         [SugarColumn(ColumnName="FSALESMANID"    )]
+         public string? Fsalesmanid { get; set; }
+        /// <summary>
+        /// 鏀惰揣鏂� 
+        ///</summary>
+         [SugarColumn(ColumnName="FRECEIVECUSID"    )]
+         public string? Freceivecusid { get; set; }
+        /// <summary>
+        /// 鏀惰揣鏂硅仈绯讳汉 
+        ///</summary>
+         [SugarColumn(ColumnName="FRECEIVECUSCONTACT"    )]
+         public string? Freceivecuscontact { get; set; }
+        /// <summary>
+        /// 鏀惰揣鏂瑰湴鍧� 
+        ///</summary>
+         [SugarColumn(ColumnName="FRECEIVEADDRESS"    )]
+         public string? Freceiveaddress { get; set; }
+        /// <summary>
+        /// 鏀惰揣鏂瑰鍚� 
+        ///</summary>
+         [SugarColumn(ColumnName="FLINKMAN"    )]
+         public string? Flinkman { get; set; }
+        /// <summary>
+        /// 缁撶畻鏂� 
+        ///</summary>
+         [SugarColumn(ColumnName="FSETTLECUSID"    )]
+         public string? Fsettlecusid { get; set; }
+        /// <summary>
+        /// 鍒涘缓浜� 
+        ///</summary>
+         [SugarColumn(ColumnName="FCREATORID"    )]
+         public string? Fcreatorid { get; set; }
+        /// <summary>
+        /// 鍒涘缓鏃ユ湡 
+        ///</summary>
+         [SugarColumn(ColumnName="FCREATEDATE"    )]
+         public DateTime? Fcreatedate { get; set; }
+        /// <summary>
+        /// 鏈�鍚庝慨鏀逛汉 
+        ///</summary>
+         [SugarColumn(ColumnName="FMODIFIERID"    )]
+         public string? Fmodifierid { get; set; }
+        /// <summary>
+        /// 鏈�鍚庝慨鏀规椂闂� 
+        ///</summary>
+         [SugarColumn(ColumnName="FMODIFYDATE"    )]
+         public DateTime? Fmodifydate { get; set; }
+        /// <summary>
+        /// 鍏抽棴浜� 
+        ///</summary>
+         [SugarColumn(ColumnName="FCLOSERID"    )]
+         public string? Fcloserid { get; set; }
+        /// <summary>
+        /// 鍏抽棴鍘熷洜 
+        ///</summary>
+         [SugarColumn(ColumnName="FCLOSEREASON"    )]
+         public string? Fclosereason { get; set; }
+        /// <summary>
+        /// 鍏抽棴鏃ユ湡 
+        ///</summary>
+         [SugarColumn(ColumnName="FCLOSEDDATE"    )]
+         public DateTime? Fcloseddate { get; set; }
+        /// <summary>
+        /// 瀹℃牳浜� 
+        ///</summary>
+         [SugarColumn(ColumnName="FAPPROVERID"    )]
+         public string? Fapproverid { get; set; }
+        /// <summary>
+        /// 瀹℃牳鏃ユ湡 
+        ///</summary>
+         [SugarColumn(ColumnName="FAPPROVEDATE"    )]
+         public DateTime? Fapprovedate { get; set; }
+        /// <summary>
+        /// 浣滃簾鐘舵�� 
+        ///</summary>
+         [SugarColumn(ColumnName="FCANCELSTATUS"    )]
+         public string? Fcancelstatus { get; set; }
+        /// <summary>
+        /// 浣滃簾浜� 
+        ///</summary>
+         [SugarColumn(ColumnName="FCANCELLERID"    )]
+         public string? Fcancellerid { get; set; }
+        /// <summary>
+        /// 浣滃簾鏃ユ湡 
+        ///</summary>
+         [SugarColumn(ColumnName="FCANCELDATE"    )]
+         public DateTime? Fcanceldate { get; set; }
+        /// <summary>
+        /// 鍏抽棴鐘舵�� 
+        ///</summary>
+         [SugarColumn(ColumnName="FBILLCLOSESTATUS"    )]
+         public string? Fbillclosestatus { get; set; }
+        /// <summary>
+        /// 鏄惁鎵嬪姩鍏抽棴 
+        ///</summary>
+         [SugarColumn(ColumnName="FMANUALCLOSE"    )]
+         public string? Fmanualclose { get; set; }
+        /// <summary>
+        /// 鍗曟嵁鐘舵�� 
+        ///</summary>
+         [SugarColumn(ColumnName="FDOCUMENTSTATUS"    )]
+         public string? Fdocumentstatus { get; set; }
+    }
+}
diff --git a/MES.Service/Modes/SalesReturnNotice/SalesReturnNoticeDetail.cs b/MES.Service/Modes/SalesReturnNotice/SalesReturnNoticeDetail.cs
new file mode 100644
index 0000000..0d0b040
--- /dev/null
+++ b/MES.Service/Modes/SalesReturnNotice/SalesReturnNoticeDetail.cs
@@ -0,0 +1,115 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+namespace MES.Service.Modes
+{
+    /// <summary>
+    /// 
+    ///</summary>
+    [SugarTable("SALES_RETURN_NOTICE_DETAIL")]
+    public class SalesReturnNoticeDetail
+    {
+        /// <summary>
+        /// SEQ_SALES_RETURN 
+        ///</summary>
+         [SugarColumn(ColumnName="ID", OracleSequenceName = "SEQ_SALES_RETURN", IsPrimaryKey = true)]
+         public decimal Id { get; set; }
+
+        /// <summary>
+        /// ERP ID 
+        ///</summary>
+         [SugarColumn(ColumnName="ERPID"    )]
+         public decimal? Erpid { get; set; }
+        /// <summary>
+        /// EH ID 
+        ///</summary>
+         [SugarColumn(ColumnName="EHID"    )]
+         public decimal? Ehid { get; set; }
+        /// <summary>
+        /// 鐗╂枡缂栫爜 
+        ///</summary>
+         [SugarColumn(ColumnName="FMATERIALID"    )]
+         public string Fmaterialid { get; set; }
+        /// <summary>
+        /// 閿�鍞崟浣� 
+        ///</summary>
+         [SugarColumn(ColumnName="FUNITID"    )]
+         public string Funitid { get; set; }
+        /// <summary>
+        /// 閿�鍞暟閲� 
+        ///</summary>
+         [SugarColumn(ColumnName="FQTY"    )]
+         public decimal? Fqty { get; set; }
+        /// <summary>
+        /// 鏄惁璧犲搧 
+        ///</summary>
+         [SugarColumn(ColumnName="FISFREE"    )]
+         public string Fisfree { get; set; }
+        /// <summary>
+        /// 閫�璐ф棩鏈� 
+        ///</summary>
+         [SugarColumn(ColumnName="FDELIVERYDATE"    )]
+         public DateTime? Fdeliverydate { get; set; }
+        /// <summary>
+        /// 浠撳簱 
+        ///</summary>
+         [SugarColumn(ColumnName="FSTOCKID"    )]
+         public string Fstockid { get; set; }
+        /// <summary>
+        /// 璁″垝璺熻釜鍙� 
+        ///</summary>
+         [SugarColumn(ColumnName="FMTONO"    )]
+         public string Fmtono { get; set; }
+        /// <summary>
+        /// 鎵瑰彿 
+        ///</summary>
+         [SugarColumn(ColumnName="FLOT"    )]
+         public string Flot { get; set; }
+        /// <summary>
+        /// 澶囨敞 
+        ///</summary>
+         [SugarColumn(ColumnName="FENTRYDESCRIPTION"    )]
+         public string Fentrydescription { get; set; }
+        /// <summary>
+        /// 閫�璐х被鍨� 
+        ///</summary>
+         [SugarColumn(ColumnName="FRMTYPE"    )]
+         public string Frmtype { get; set; }
+        /// <summary>
+        /// 搴撳瓨鍗曚綅 
+        ///</summary>
+         [SugarColumn(ColumnName="FSTOCKUNITID"    )]
+         public string Fstockunitid { get; set; }
+        /// <summary>
+        /// 搴撳瓨鏁伴噺 
+        ///</summary>
+         [SugarColumn(ColumnName="FSTOCKQTY"    )]
+         public decimal? Fstockqty { get; set; }
+        /// <summary>
+        /// 璐т富绫诲瀷 
+        ///</summary>
+         [SugarColumn(ColumnName="FOWNERTYPEID"    )]
+         public string Fownertypeid { get; set; }
+        /// <summary>
+        /// 璐т富 
+        ///</summary>
+         [SugarColumn(ColumnName="FOWNERID"    )]
+         public string Fownerid { get; set; }
+        /// <summary>
+        /// 婧愬崟绫诲瀷 
+        ///</summary>
+         [SugarColumn(ColumnName="FSRCTYPE"    )]
+         public string Fsrctype { get; set; }
+        /// <summary>
+        /// 婧愬崟缂栧彿 
+        ///</summary>
+         [SugarColumn(ColumnName="FSRCBILLNO"    )]
+         public string Fsrcbillno { get; set; }
+        /// <summary>
+        /// 璁㈠崟鍗曞彿 
+        ///</summary>
+         [SugarColumn(ColumnName="FORDERNO"    )]
+         public string Forderno { get; set; }
+    }
+}
diff --git a/MES.Service/Modes/SalesReturnNoticeDetail.cs b/MES.Service/Modes/SalesReturnNoticeDetail.cs
deleted file mode 100644
index 8cf18a4..0000000
--- a/MES.Service/Modes/SalesReturnNoticeDetail.cs
+++ /dev/null
@@ -1,161 +0,0 @@
-锘縰sing SqlSugar;
-
-namespace MES.Service.Modes;
-
-/// <summary>
-///     閿�鍞��璐ч�氱煡鍗曟槑缁嗚〃
-/// </summary>
-[SugarTable("SALES_RETURN_NOTICE_DETAIL")]
-public class SalesReturnNoticeDetail
-{
-    /// <summary>
-    ///     SEQ_thtz_mx
-    /// </summary>
-    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_THTZ_MX",
-        IsPrimaryKey = true)]
-    public decimal Id { get; set; }
-
-    /// <summary>
-    ///     閿�鍞鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_ORDER_ID")]
-    public string? SalesOrderId { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡缂栫爜
-    /// </summary>
-    [SugarColumn(ColumnName = "MATERIAL_ID")]
-    public string? MaterialId { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡鍚嶇О
-    /// </summary>
-    [SugarColumn(ColumnName = "MATERIAL_NAME")]
-    public string? MaterialName { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡瑙勬牸
-    /// </summary>
-    [SugarColumn(ColumnName = "MATERIAL_SPECIFICATION")]
-    public string? MaterialSpecification { get; set; }
-
-    /// <summary>
-    ///     閿�鍞崟浣�
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_UNIT_ID")]
-    public string? SalesUnitId { get; set; }
-
-    /// <summary>
-    ///     閿�鍞暟閲�
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_QUANTITY")]
-    public decimal? SalesQuantity { get; set; }
-
-    /// <summary>
-    ///     鏄惁璧犲搧
-    /// </summary>
-    [SugarColumn(ColumnName = "IS_FREE")]
-    public string? IsFree { get; set; }
-
-    /// <summary>
-    ///     閫�璐ф棩鏈�
-    /// </summary>
-    [SugarColumn(ColumnName = "RETURN_DATE")]
-    public DateTime? ReturnDate { get; set; }
-
-    /// <summary>
-    ///     浠撳簱
-    /// </summary>
-    [SugarColumn(ColumnName = "WAREHOUSE")]
-    public string? WareHouse { get; set; }
-
-    /// <summary>
-    ///     璁″垝璺熻釜鍙�
-    /// </summary>
-    [SugarColumn(ColumnName = "PLAN_TRACKING_NUMBER")]
-    public string? PlanTrackingNumber { get; set; }
-
-    /// <summary>
-    ///     鎵瑰彿
-    /// </summary>
-    [SugarColumn(ColumnName = "LOT_NUMBER")]
-    public string? LotNumber { get; set; }
-
-    /// <summary>
-    ///     澶囨敞
-    /// </summary>
-    [SugarColumn(ColumnName = "NOTE")]
-    public string? Note { get; set; }
-
-    /// <summary>
-    ///     閫�璐х被鍨�
-    /// </summary>
-    [SugarColumn(ColumnName = "RETURN_TYPE")]
-    public string? ReturnType { get; set; }
-
-    /// <summary>
-    ///     璺熷崟鍛�
-    /// </summary>
-    [SugarColumn(ColumnName = "SALES_CLERK")]
-    public string? SalesClerk { get; set; }
-
-    /// <summary>
-    ///     搴撳瓨鍗曚綅
-    /// </summary>
-    [SugarColumn(ColumnName = "INVENTORY_UNIT")]
-    public string? InventoryUnit { get; set; }
-
-    /// <summary>
-    ///     搴撳瓨鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "INVENTORY_QUANTITY")]
-    public decimal? InventoryQuantity { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡绫诲埆
-    /// </summary>
-    [SugarColumn(ColumnName = "MATERIAL_CATEGORY")]
-    public string? MaterialCategory { get; set; }
-
-    /// <summary>
-    ///     璐т富绫诲瀷
-    /// </summary>
-    [SugarColumn(ColumnName = "OWNER_TYPE_ID")]
-    public string? OwnerTypeId { get; set; }
-
-    /// <summary>
-    ///     璐т富
-    /// </summary>
-    [SugarColumn(ColumnName = "OWNER_ID")]
-    public string? OwnerId { get; set; }
-
-    /// <summary>
-    ///     婧愬崟绫诲瀷
-    /// </summary>
-    [SugarColumn(ColumnName = "SOURCE_BILL_TYPE")]
-    public string? SourceBillType { get; set; }
-
-    /// <summary>
-    ///     婧愬崟鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "SOURCE_BILL_NO")]
-    public string? SourceBillNo { get; set; }
-
-    /// <summary>
-    ///     璁㈠崟鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "ORDER_BILL_NO")]
-    public string? OrderBillNo { get; set; }
-
-    /// <summary>
-    ///     ERPID
-    /// </summary>
-    [SugarColumn(ColumnName = "ERP_LINE_ID")]
-    public string ErpLineId { get; set; }
-
-    /// <summary>
-    ///     ERP澶碔D
-    /// </summary>
-    [SugarColumn(ColumnName = "ERP_HEAD_ID")]
-    public string ErpHeadId { get; set; }
-}
\ No newline at end of file
diff --git a/MES.Service/bin/Debug/net8.0/MES.Service.dll b/MES.Service/bin/Debug/net8.0/MES.Service.dll
index 1fd5998..abf60e5 100644
--- a/MES.Service/bin/Debug/net8.0/MES.Service.dll
+++ b/MES.Service/bin/Debug/net8.0/MES.Service.dll
Binary files differ
diff --git a/MES.Service/bin/Debug/net8.0/MES.Service.pdb b/MES.Service/bin/Debug/net8.0/MES.Service.pdb
index 59fb86f..04ed036 100644
--- a/MES.Service/bin/Debug/net8.0/MES.Service.pdb
+++ b/MES.Service/bin/Debug/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MES.Service/service/BasicData/SalesDeliveryNoticeDetailManager.cs b/MES.Service/service/BasicData/SalesDeliveryNoticeDetailManager.cs
deleted file mode 100644
index 904f66d..0000000
--- a/MES.Service/service/BasicData/SalesDeliveryNoticeDetailManager.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-锘縰sing MES.Service.DB;
-using MES.Service.Modes;
-using SqlSugar;
-
-namespace MES.Service.service.BasicData;
-
-public class SalesDeliveryNoticeDetailManager : Repository<SalesDeliveryNoticeDetail>
-{
-    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
-
-    //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 SalesReturnNoticeDetailManager.cs
-
-
-    #region 鏁欏鏂规硶
-
-    /// <summary>
-    ///     浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
-    /// </summary>
-    public void Study()
-    {
-        /*********鏌ヨ*********/
-
-        var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ
-        var data2 = base.GetList(); //鏌ヨ鎵�鏈�
-        var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ  
-        //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
-
-        var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ
-        var data5 = base.GetPageList(it => 1 == 1, p);
-        Console.Write(p.TotalCount); //杩斿洖鎬绘暟
-
-        var data6 =
-            base.GetPageList(it => 1 == 1, p,
-                it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴�
-        Console.Write(p.TotalCount); //杩斿洖鎬绘暟
-
-        var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
-        conModels.Add(new ConditionalModel
-        {
-            FieldName = typeof(SalesReturnNoticeDetail).GetProperties()[0].Name,
-            ConditionalType = ConditionalType.Equal,
-            FieldValue = "1"
-        }); //id=1
-        var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
-
-        AsQueryable().Where(x => 1 == 1)
-            .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
-
-
-        /*********鎻掑叆*********/
-        var insertData = new SalesDeliveryNoticeDetail(); //娴嬭瘯鍙傛暟
-        var insertArray = new[] { insertData };
-        base.Insert(insertData); //鎻掑叆
-        base.InsertRange(insertArray); //鎵归噺鎻掑叆
-        var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
-        AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
-
-
-        /*********鏇存柊*********/
-        var updateData = new SalesDeliveryNoticeDetail(); //娴嬭瘯鍙傛暟
-        var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
-        base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
-        base.UpdateRange(updateArray); //鎵归噺鏇存柊
-        //base.Update(it => new SalesReturnNoticeDetail() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
-        AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
-
-
-        /*********鍒犻櫎*********/
-        var deldata = new SalesDeliveryNoticeDetail(); //娴嬭瘯鍙傛暟
-        base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
-        base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
-        base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
-        base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
-        AsDeleteable().Where(it => 1 == 2)
-            .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
-    }
-
-    #endregion
-
-}
diff --git a/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs b/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs
deleted file mode 100644
index d936c38..0000000
--- a/MES.Service/service/BasicData/SalesDeliveryNoticeManager.cs
+++ /dev/null
@@ -1,262 +0,0 @@
-锘縰sing MES.Service.DB;
-using MES.Service.Dto.webApi;
-using MES.Service.Modes;
-using SqlSugar;
-
-namespace MES.Service.service.BasicData;
-
-public class SalesDeliveryNoticeManager : Repository<SalesDeliveryNotice>
-{
-    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
-
-    //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 SalesReturnNoticeManager.cs
-
-
-    #region 鏁欏鏂规硶
-
-    /// <summary>
-    ///     浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
-    /// </summary>
-    public void Study()
-    {
-        /*********鏌ヨ*********/
-
-        var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ
-        var data2 = base.GetList(); //鏌ヨ鎵�鏈�
-        var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ  
-        //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
-
-        var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ
-        var data5 = base.GetPageList(it => 1 == 1, p);
-        Console.Write(p.TotalCount); //杩斿洖鎬绘暟
-
-        var data6 =
-            base.GetPageList(it => 1 == 1, p,
-                it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴�
-        Console.Write(p.TotalCount); //杩斿洖鎬绘暟
-
-        var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
-        conModels.Add(new ConditionalModel
-        {
-            FieldName = typeof(SalesReturnNotice).GetProperties()[0].Name,
-            ConditionalType = ConditionalType.Equal,
-            FieldValue = "1"
-        }); //id=1
-        var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
-
-        AsQueryable().Where(x => 1 == 1)
-            .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
-
-
-        /*********鎻掑叆*********/
-        var insertData = new SalesDeliveryNotice(); //娴嬭瘯鍙傛暟
-        var insertArray = new[] { insertData };
-        base.Insert(insertData); //鎻掑叆
-        base.InsertRange(insertArray); //鎵归噺鎻掑叆
-        var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
-        AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
-
-
-        /*********鏇存柊*********/
-        var updateData = new SalesDeliveryNotice(); //娴嬭瘯鍙傛暟
-        var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
-        base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
-        base.UpdateRange(updateArray); //鎵归噺鏇存柊
-        //base.Update(it => new SalesReturnNotice() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
-        AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
-
-
-        /*********鍒犻櫎*********/
-        var deldata = new SalesDeliveryNotice(); //娴嬭瘯鍙傛暟
-        base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
-        base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
-        base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
-        base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
-        AsDeleteable().Where(it => 1 == 2)
-            .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
-    }
-
-    #endregion
-
-    private readonly SalesDeliveryNoticeDetailManager salesDeliveryNoticeDetailManager = new();
-
-    // Save 鏂规硶鐢ㄤ簬淇濆瓨鍗曚釜 閿�鍞鍗�(SalesOrder) 璁板綍锛屾牴鎹被鍨嬫墽琛屼笉鍚岀殑鎿嶄綔
-    public bool Save(SaleDeliveryNotice saleDeliveryNotice)
-    {
-        var salesDeliveryNoticeErpSalesDeliveryNotice = saleDeliveryNotice.ErpSalesDeliveryNotice;
-        var mesSalesDeliveryNotice = GetSalesDeliveryNotice(salesDeliveryNoticeErpSalesDeliveryNotice);
-        var mesSalesDeliveryNoticeDetails = GetErpSalesDeliveryNoticeDetail(saleDeliveryNotice.ErpSalesDeliveryNoticeDetails, salesDeliveryNoticeErpSalesDeliveryNotice.type);
-
-        return UseTransaction(db =>
-        {
-            switch (salesDeliveryNoticeErpSalesDeliveryNotice.type)
-            {
-                case "3":
-                    return UpdateData(db, mesSalesDeliveryNotice, mesSalesDeliveryNoticeDetails) ? 1 : 0;
-                case "2":
-                case "4":
-                case "5":
-                case "6":
-                    return SaveOrUpdateData(db, mesSalesDeliveryNotice, mesSalesDeliveryNoticeDetails)
-                        ? 1
-                        : 0;
-                default:
-                    throw new NotImplementedException(
-                        $"type娌℃湁{salesDeliveryNoticeErpSalesDeliveryNotice.type}杩欎釜绫诲瀷");
-            }
-        }) > 0;
-
-    }
-
-
-
-    // 鏇存柊鏁版嵁鐨勬柟娉�(鍗曠函鐨勫垹闄�)
-    private bool UpdateData(SqlSugarScope db, SalesDeliveryNotice salesDeliveryNotice,
-        List<SalesDeliveryNoticeDetail> salesDeliveryNoticeDetails)
-    {
-        var decimals = salesDeliveryNoticeDetails.Select(s => s.Id).ToArray();
-        var update = base.DeleteById(salesDeliveryNotice.Id);
-        var insertOrUpdate = db
-            .Deleteable<SalesOrderDetail>().In(decimals)
-            .ExecuteCommand() > 0;
-
-        if (update && insertOrUpdate) return true;
-        throw new NotImplementedException("鍒犻櫎澶辫触");
-    }
-
-    // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
-    private bool SaveOrUpdateData(SqlSugarScope db, SalesDeliveryNotice salesDeliveryNotice,
-        List<SalesDeliveryNoticeDetail> salesDeliveryNoticeDetails)
-    {
-        if (salesDeliveryNotice.Id != null) base.DeleteById(salesDeliveryNotice.Id);
-
-        if (salesDeliveryNoticeDetails.Count > 0)
-            db.Deleteable<SalesOrderDetail>()
-                .Where(s => s.ErpId == salesDeliveryNotice.Id).ExecuteCommand();
-
-        var orUpdate = base.Insert(salesDeliveryNotice);
-        var baOrUpdate = salesDeliveryNoticeDetailManager.InsertRange(salesDeliveryNoticeDetails);
-        if (orUpdate && baOrUpdate) return true;
-        throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
-    }
-
-    // 鎵归噺淇濆瓨璁板綍鐨勬柟娉�
-    public bool SaveList(List<SaleDeliveryNotice> saleDeliveryNotices)
-    {
-        var result = saleDeliveryNotices.Select(Save).ToList();
-        return result.All(b => b);
-    }
-
-
-    // 灏� erpSalesDeliveryNotice 瀵硅薄杞崲涓� SalesReturnNotice 瀵硅薄鐨勬柟娉�
-    public SalesDeliveryNotice GetSalesDeliveryNotice(ErpSalesDeliveryNotice erpSalesDeliveryNotice)
-    {
-
-        var eid = Convert.ToDecimal(erpSalesDeliveryNotice.Id);
-        var MesSalesDeliveryNotice = new SalesDeliveryNotice();
-
-        var single = base.GetSingle(it => it.Id == eid);
-        if (single != null) MesSalesDeliveryNotice.Id = single.Id;
-
-        MesSalesDeliveryNotice.ErpId = erpSalesDeliveryNotice.erpID;
-        MesSalesDeliveryNotice.BillType = erpSalesDeliveryNotice.fBillTypeID;
-        MesSalesDeliveryNotice.BillNo = erpSalesDeliveryNotice.fBillNo;
-
-        if (erpSalesDeliveryNotice.fDate != null)
-            MesSalesDeliveryNotice.FDate = DateTime.ParseExact(erpSalesDeliveryNotice.fDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesDeliveryNotice.Currency = erpSalesDeliveryNotice.fSettleCurrld;
-        MesSalesDeliveryNotice.SalesDept = erpSalesDeliveryNotice.fSaleDeptId;
-        MesSalesDeliveryNotice.Customer = erpSalesDeliveryNotice.fCustomerID;
-        MesSalesDeliveryNotice.DeliveryMethod = erpSalesDeliveryNotice.fHeadDeliveryWay;
-        MesSalesDeliveryNotice.DeliveryLocation = erpSalesDeliveryNotice.fHeadLocId;
-        MesSalesDeliveryNotice.Carrier = erpSalesDeliveryNotice.fCarrierID;
-        MesSalesDeliveryNotice.SettleParty = erpSalesDeliveryNotice.fCarriageNO;
-        MesSalesDeliveryNotice.SettleParty = erpSalesDeliveryNotice.fDeliveryDeptID;
-        MesSalesDeliveryNotice.InventoryGroup = erpSalesDeliveryNotice.fStockerGroupId;
-        MesSalesDeliveryNotice.WarehouseManager = erpSalesDeliveryNotice.fStockerId;
-        MesSalesDeliveryNotice.SalesGroup = erpSalesDeliveryNotice.fSaleGroupId;
-        MesSalesDeliveryNotice.SalesPerson = erpSalesDeliveryNotice.fSalesManId;
-        MesSalesDeliveryNotice.Receiver = erpSalesDeliveryNotice.fReceiveCusId;
-        MesSalesDeliveryNotice.ReceiverContact = erpSalesDeliveryNotice.fReceiveCusContact;
-        MesSalesDeliveryNotice.ReceiverAddress = erpSalesDeliveryNotice.fReceiveAddress;
-        MesSalesDeliveryNotice.ReceiverName = erpSalesDeliveryNotice.fLinkMan;
-        MesSalesDeliveryNotice.ReceiverName = erpSalesDeliveryNotice.fLinkPhone;
-        MesSalesDeliveryNotice.SettleParty = erpSalesDeliveryNotice.fSettleID;
-        MesSalesDeliveryNotice.PayerParty = erpSalesDeliveryNotice.fPayerID;
-        MesSalesDeliveryNotice.CreatedBy = erpSalesDeliveryNotice.fCreatorId;
-
-        if (erpSalesDeliveryNotice.fCreateDate != null)
-            MesSalesDeliveryNotice.CreatedDate = DateTime.ParseExact(erpSalesDeliveryNotice.fCreateDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesDeliveryNotice.ModifiedBy = erpSalesDeliveryNotice.fModifierId;
-
-        if (erpSalesDeliveryNotice.fModifyDate != null)
-            MesSalesDeliveryNotice.ModifiedDate = DateTime.ParseExact(erpSalesDeliveryNotice.fModifyDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesDeliveryNotice.ApprovedBy = erpSalesDeliveryNotice.fApproverId;
-
-        if (erpSalesDeliveryNotice.fApproveDate != null)
-            MesSalesDeliveryNotice.ApprovedDate = DateTime.ParseExact(erpSalesDeliveryNotice.fApproveDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesDeliveryNotice.ClosedBy = erpSalesDeliveryNotice.fCloserId;
-        MesSalesDeliveryNotice.CloseReason = erpSalesDeliveryNotice.fCloseReason;
-        MesSalesDeliveryNotice.CloseStatus = erpSalesDeliveryNotice.fBillCloseStatus;
-        MesSalesDeliveryNotice.CancelStatus = erpSalesDeliveryNotice.fCancelStatus;
-        MesSalesDeliveryNotice.CancelledBy = erpSalesDeliveryNotice.fCancellerId;
-
-        if (erpSalesDeliveryNotice.fCancelDate != null)
-            MesSalesDeliveryNotice.CancelDate = DateTime.ParseExact(erpSalesDeliveryNotice.fCancelDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesDeliveryNotice.BillStatus = erpSalesDeliveryNotice.fDocumentStatus;
-
-        return MesSalesDeliveryNotice;
-    }
-
-    // 灏� erpSalesDeliveryNoticeDetail 瀵硅薄杞崲涓� SalesReturnNoticeDetail 瀵硅薄鐨勬柟娉�
-    public List<SalesDeliveryNoticeDetail> GetErpSalesDeliveryNoticeDetail(
-        List<ErpSalesDeliveryNoticeDetail> erpSalesDeliveryNoticeDetails, string type)
-    {
-        return erpSalesDeliveryNoticeDetails.Select(s =>
-        {
-            var entity = new SalesDeliveryNoticeDetail
-            {
-                Id = Convert.ToDecimal(s.Id),
-                ErpLineId = s.erpID,
-                ErpHeadId = s.ehid,
-                MaterialId = s.fMaterialId,
-                MaterialName = s.fUnitID,
-                SalesQuantity = Convert.ToDecimal(s.fQty),
-                IsFree = s.fIsFree,
-                DeliveryDate = s.fDeliverydate != null ? DateTime.ParseExact(s.fDeliverydate, "yyyy-MM-dd HH:mm:ss", null) : null,
-                WareHouse = s.fStockId,
-                PlanTrackingNumber = s.fMtoNo,
-                LotNumber = s.fLot,
-                PriceQty = Convert.ToDecimal(s.fPriceUnitQty),
-                OwnerId = s.fOwnerIdHead,
-                InventoryUnit = s.fStockUnitID,
-                InventoryQuantity = Convert.ToDecimal(s.fStockQty),
-                PlanDeliveryDate = s.fPlanDeliveryDate != null ? DateTime.ParseExact(s.fPlanDeliveryDate, "yyyy-MM-dd HH:mm:ss", null) : null,
-                OutLmtUnit = s.fOutLmtUnit,
-                OutMaxQty = Convert.ToDecimal(s.fOutMaxQty),
-                OutMinQty = Convert.ToDecimal(s.fOutMinQty),
-                DeliveryLoc = s.fDeliveryLoc,
-                DeliveryAddress = s.fDeliveryLAddress,
-                SourceBillNo = s.fSrcBillNo,
-                OrderBillNo = s.fOrderNo,
-                TerminationStatus = s.fTerminationStatus,
-                TerminationDate = s.fTerminateDate != null ? DateTime.ParseExact(s.fTerminateDate, "yyyy-MM-dd HH:mm:ss", null) : null,
-                SumOutQty = Convert.ToDecimal(s.fSumOutQty),
-                RemainOutQty = Convert.ToDecimal(s.fRemainOutQty),
-                FentryNote = s.FNoteEntry,
-
-            };
-
-            var single = salesDeliveryNoticeDetailManager.GetSingle(it =>
-                it.Id == entity.Id);
-            if (single != null) entity.Id = single.Id;
-
-            return entity;
-        }).ToList();
-    }
-}
diff --git a/MES.Service/service/BasicData/SalesOrderManager.cs b/MES.Service/service/BasicData/SalesOrderManager.cs
deleted file mode 100644
index d635c50..0000000
--- a/MES.Service/service/BasicData/SalesOrderManager.cs
+++ /dev/null
@@ -1,264 +0,0 @@
-锘縰sing MES.Service.DB;
-using MES.Service.Dto.webApi;
-using MES.Service.Modes;
-using SqlSugar;
-
-namespace MES.Service.service.BasicData;
-
-public class SalesOrderManager : Repository<SalesOrder>
-{
-    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
-
-    //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 SalesOrderManager.cs
-
-
-    #region 鏁欏鏂规硶
-
-    /// <summary>
-    ///     浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
-    /// </summary>
-    public void Study()
-    {
-        /*********鏌ヨ*********/
-
-        var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ
-        var data2 = base.GetList(); //鏌ヨ鎵�鏈�
-        var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ  
-        //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
-
-        var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ
-        var data5 = base.GetPageList(it => 1 == 1, p);
-        Console.Write(p.TotalCount); //杩斿洖鎬绘暟
-
-        var data6 =
-            base.GetPageList(it => 1 == 1, p,
-                it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴�
-        Console.Write(p.TotalCount); //杩斿洖鎬绘暟
-
-        var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
-        conModels.Add(new ConditionalModel
-        {
-            FieldName = typeof(SalesOrder).GetProperties()[0].Name,
-            ConditionalType = ConditionalType.Equal,
-            FieldValue = "1"
-        }); //id=1
-        var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
-
-        AsQueryable().Where(x => 1 == 1)
-            .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
-
-
-        /*********鎻掑叆*********/
-        var insertData = new SalesOrder(); //娴嬭瘯鍙傛暟
-        var insertArray = new[] { insertData };
-        base.Insert(insertData); //鎻掑叆
-        base.InsertRange(insertArray); //鎵归噺鎻掑叆
-        var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
-        AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
-
-
-        /*********鏇存柊*********/
-        var updateData = new SalesOrder(); //娴嬭瘯鍙傛暟
-        var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
-        base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
-        base.UpdateRange(updateArray); //鎵归噺鏇存柊
-        //base.Update(it => new SalesOrder() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
-        AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
-
-
-        /*********鍒犻櫎*********/
-        var deldata = new SalesOrder(); //娴嬭瘯鍙傛暟
-        base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
-        base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
-        base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
-        base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
-        AsDeleteable().Where(it => 1 == 2)
-            .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
-    }
-
-    #endregion
-
-
-    private readonly SalesOrderDetailManager salesOrderDetailManager = new();
-
-    // Save 鏂规硶鐢ㄤ簬淇濆瓨鍗曚釜 閿�鍞鍗�(SalesOrder) 璁板綍锛屾牴鎹被鍨嬫墽琛屼笉鍚岀殑鎿嶄綔
-    public bool Save(SalesOrders salesOrders)
-    {
-        var salesOrdersErpSalesOrder = salesOrders.ErpSalesOrder;
-        var mesSalesOrders = GetMesSalesOrder(salesOrdersErpSalesOrder);
-        var mesSalesOrderDetail = GetErpSalesOrderDetail(salesOrders.ErpSalesOrderDetails,salesOrdersErpSalesOrder.Type);
-
-        return UseTransaction(db =>
-        {
-            switch (salesOrdersErpSalesOrder.Type)
-            {
-                case "3":
-                    return UpdateData(db, mesSalesOrders, mesSalesOrderDetail) ? 1 : 0;
-                case "2":
-                case "4":
-                case "5":
-                case "B":
-                    return SaveOrUpdateData(db, mesSalesOrders, mesSalesOrderDetail)
-                        ? 1
-                        : 0;
-                default:
-                    throw new NotImplementedException(
-                        $"type娌℃湁{salesOrdersErpSalesOrder.Type}杩欎釜绫诲瀷");
-            }
-        }) > 0;
-
-    }
-
-
-
-    // 鏇存柊鏁版嵁鐨勬柟娉�(鍗曠函鐨勫垹闄�)
-    private bool UpdateData(SqlSugarScope db, SalesOrder salesOrder,
-        List<SalesOrderDetail> salesOrderDetails)
-    {
-        var decimals = salesOrderDetails.Select(s => s.Id).ToArray();
-        var update = base.DeleteById(salesOrder.Id);
-        var insertOrUpdate = db
-            .Deleteable<SalesOrderDetail>().In(decimals)
-            .ExecuteCommand() > 0;
-
-        if (update && insertOrUpdate) return true;
-        throw new NotImplementedException("鍒犻櫎澶辫触");
-    }
-
-    // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
-    private bool SaveOrUpdateData(SqlSugarScope db, SalesOrder salesOrder,
-        List<SalesOrderDetail> salesOrderDetails)
-    {
-        if (salesOrder.Id != null) base.DeleteById(salesOrder.Id);
-
-        if (salesOrderDetails.Count > 0)
-            db.Deleteable<SalesOrderDetail>()
-                .Where(s => s.ErpId == salesOrder.Id).ExecuteCommand();
-
-        var orUpdate = base.Insert(salesOrder);
-        var baOrUpdate = salesOrderDetailManager.InsertRange(salesOrderDetails);
-        if (orUpdate && baOrUpdate) return true;
-        throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
-    }
-
-    // 鎵归噺淇濆瓨璁板綍鐨勬柟娉�
-    public bool SaveList(List<SalesOrders> salesOrders)
-    {
-        var result = salesOrders.Select(Save).ToList();
-        return result.All(b => b);
-    }
-
-
-    // 灏� ErpSalesOrder 瀵硅薄杞崲涓� SalesOrder 瀵硅薄鐨勬柟娉�
-    public SalesOrder GetMesSalesOrder(ErpSalesOrder erpSalesOrder)
-    {
-
-        var eid = Convert.ToDecimal(erpSalesOrder.Id);
-        var MesSalesOrder = new SalesOrder();
-
-        var single = base.GetSingle(it => it.Id == eid);
-        if (single != null) MesSalesOrder.Id = single.Id;
-
-        MesSalesOrder.ErpId = Convert.ToDecimal(erpSalesOrder.ErpID);
-        MesSalesOrder.BillNo = erpSalesOrder.FBillNo;
-        MesSalesOrder.BillTypeId = erpSalesOrder.FBillTypeID;
-        MesSalesOrder.DocumentStatus = erpSalesOrder.FDocumentStatus;
-
-        if (erpSalesOrder.FDate != null)
-            MesSalesOrder.FDate = DateTime.ParseExact(erpSalesOrder.FDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesOrder.BusinessType = erpSalesOrder.FBusinessType;
-        MesSalesOrder.HeadDeliveryWay = erpSalesOrder.FHeadDeliveryWay;
-        MesSalesOrder.CloseStatus = erpSalesOrder.FCloseStatus;
-        MesSalesOrder.HeadLocId = erpSalesOrder.FHEADLOCID;
-        MesSalesOrder.CustId = erpSalesOrder.FCustId;
-        MesSalesOrder.CloseStatus = erpSalesOrder.FCloseStatus;
-        MesSalesOrder.SaleDeptId = erpSalesOrder.FSaleDeptId;
-        MesSalesOrder.SalerId = erpSalesOrder.FSalerId;
-        MesSalesOrder.ChangeReason = erpSalesOrder.FChangeReason;
-        MesSalesOrder.Note = erpSalesOrder.FNote;
-        MesSalesOrder.SettleId = erpSalesOrder.FSettleId;
-        MesSalesOrder.LinkMan = erpSalesOrder.FLinkMan;
-        MesSalesOrder.ChargeId = erpSalesOrder.FChargeId;
-        MesSalesOrder.LinkPhone = erpSalesOrder.FLinkPhone;
-        MesSalesOrder.CreatorId = erpSalesOrder.FCreatorId;
-
-        if (erpSalesOrder.FCreateDate != null)
-            MesSalesOrder.CreateDate = DateTime.ParseExact(erpSalesOrder.FCreateDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesOrder.ModifierId = erpSalesOrder.FModifierId;
-
-        if (erpSalesOrder.FModifyDate != null)
-            MesSalesOrder.ModifyDate = DateTime.ParseExact(erpSalesOrder.FModifyDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        if (erpSalesOrder.FApproveDate != null)
-            MesSalesOrder.ApproveDate = DateTime.ParseExact(erpSalesOrder.FApproveDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesOrder.CloserId = erpSalesOrder.FCloserId;
-
-        if (erpSalesOrder.FCloseDate != null)
-            MesSalesOrder.CloseDate = DateTime.ParseExact(erpSalesOrder.FCloseDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        if (erpSalesOrder.FChangeDate != null)
-            MesSalesOrder.ChangeDate = DateTime.ParseExact(erpSalesOrder.FChangeDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesOrder.CancelStatus = erpSalesOrder.FCancelStatus;
-        MesSalesOrder.CancellerId = erpSalesOrder.FCancellerId;
-        MesSalesOrder.VersionNo = Convert.ToDecimal(erpSalesOrder.FVersionNo);
-        MesSalesOrder.ChangerId = erpSalesOrder.FChangerId;
-        MesSalesOrder.EntryNote = erpSalesOrder.FEntryNote;
-
-        return MesSalesOrder;
-    }
-
-    // 灏� ErpSalesOrderDetail 瀵硅薄杞崲涓� SalesOrderDetail 瀵硅薄鐨勬柟娉�
-    public List<SalesOrderDetail> GetErpSalesOrderDetail(
-        List<ErpSalesOrderDetail> erpSalesOrderDetails, string type)
-    {
-        return erpSalesOrderDetails.Select(s =>
-        {
-            var entity = new SalesOrderDetail
-            {
-                Id = Convert.ToDecimal(s.Id),
-                ErpId = Convert.ToDecimal(s.ErpID),
-                EHid = Convert.ToDecimal(s.EHID),
-                MaterialIDd = s.FMaterialId,
-                UnitId = s.FUnitID,
-                Qty = Convert.ToDecimal(s.FQty),
-                PriceUnitId = s.FPriceUnitId,
-                PriceUnitQty = Convert.ToDecimal(s.FPriceUnitQty),
-                DeliveryDate = s.FDeliveryDate != null ? DateTime.ParseExact(s.FDeliveryDate, "yyyy-MM-dd HH:mm:ss", null) : null,
-                IsFree = s.FIsFree,
-                OwnerTypeId = s.FOwnerTypeId,
-                OwnerId = s.FOwnerId,
-                EntryNote = s.FEntryNote,
-                MtoNo = s.FMtoNo,
-                Lot = s.FLot,
-                DeliveryMaxQty = Convert.ToDecimal(s.FDeliveryMaxQty),
-                DeliveryMinQty = Convert.ToDecimal(s.FDeliveryMinQty),
-                OutLmtUnitId = s.FOutLmtUnitID,
-                MrpCloseStatus = s.FMrpCloseStatus,
-                MrpTerminateStatus = s.FMrpTerminateStatus,
-                TerminateDate = s.FTerminateDate != null ? DateTime.ParseExact(s.FTerminateDate, "yyyy-MM-dd HH:mm:ss", null) : null,
-                TerminaterId = s.FTerminaterId,
-                SrcType = s.FSrcType,
-                SrcBillNo = s.FSrcBillNo,
-                DeliQty = Convert.ToDecimal(s.FDeliQty),
-                StockOutQty = Convert.ToDecimal(s.FStockOutQty),
-                BaseRetNoticeQty = Convert.ToDecimal(s.FBaseRetNoticeQty),
-                BaseReturnQty = Convert.ToDecimal(s.FBaseReturnQty),
-                BaseRemainOutQty = Convert.ToDecimal(s.FBaseRemainOutQty),
-                BaseArQty = Convert.ToDecimal(s.FBASEARQTY),
-
-
-
-            };
-
-            var single = salesOrderDetailManager.GetSingle(it =>
-                it.Id == entity.Id);
-            if (single != null) entity.Id = single.Id;
-
-            return entity;
-        }).ToList();
-    }
-}
\ No newline at end of file
diff --git a/MES.Service/service/BasicData/SalesReturnNoticeManager.cs b/MES.Service/service/BasicData/SalesReturnNoticeManager.cs
deleted file mode 100644
index c8395f6..0000000
--- a/MES.Service/service/BasicData/SalesReturnNoticeManager.cs
+++ /dev/null
@@ -1,257 +0,0 @@
-锘縰sing MES.Service.DB;
-using MES.Service.Dto.webApi;
-using MES.Service.Modes;
-using SqlSugar;
-
-namespace MES.Service.service.BasicData;
-
-public class SalesReturnNoticeManager : Repository<SalesReturnNotice>
-{
-    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
-
-    //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 SalesReturnNoticeManager.cs
-
-
-    #region 鏁欏鏂规硶
-
-    /// <summary>
-    ///     浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
-    /// </summary>
-    public void Study()
-    {
-        /*********鏌ヨ*********/
-
-        var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ
-        var data2 = base.GetList(); //鏌ヨ鎵�鏈�
-        var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ  
-        //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
-
-        var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ
-        var data5 = base.GetPageList(it => 1 == 1, p);
-        Console.Write(p.TotalCount); //杩斿洖鎬绘暟
-
-        var data6 =
-            base.GetPageList(it => 1 == 1, p,
-                it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴�
-        Console.Write(p.TotalCount); //杩斿洖鎬绘暟
-
-        var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
-        conModels.Add(new ConditionalModel
-        {
-            FieldName = typeof(SalesReturnNotice).GetProperties()[0].Name,
-            ConditionalType = ConditionalType.Equal, FieldValue = "1"
-        }); //id=1
-        var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
-
-        AsQueryable().Where(x => 1 == 1)
-            .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
-
-
-        /*********鎻掑叆*********/
-        var insertData = new SalesReturnNotice(); //娴嬭瘯鍙傛暟
-        var insertArray = new[] { insertData };
-        base.Insert(insertData); //鎻掑叆
-        base.InsertRange(insertArray); //鎵归噺鎻掑叆
-        var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
-        AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
-
-
-        /*********鏇存柊*********/
-        var updateData = new SalesReturnNotice(); //娴嬭瘯鍙傛暟
-        var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
-        base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
-        base.UpdateRange(updateArray); //鎵归噺鏇存柊
-        //base.Update(it => new SalesReturnNotice() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
-        AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
-
-
-        /*********鍒犻櫎*********/
-        var deldata = new SalesReturnNotice(); //娴嬭瘯鍙傛暟
-        base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
-        base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
-        base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
-        base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
-        AsDeleteable().Where(it => 1 == 2)
-            .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
-    }
-
-    #endregion
-
-    private readonly SalesReturnNoticeDetailManager salesReturnNoticeDetailManager = new();
-
-    // Save 鏂规硶鐢ㄤ簬淇濆瓨鍗曚釜 閿�鍞鍗�(SalesOrder) 璁板綍锛屾牴鎹被鍨嬫墽琛屼笉鍚岀殑鎿嶄綔
-    public bool Save(SaleReturnNotice saleReturnNotice)
-    {
-        var salesReturnNoticeErpSalesReturnNotice = saleReturnNotice.erpSalesReturnNotice;
-        var mesSalesReturnNotice = GetSalesReturnNotice(salesReturnNoticeErpSalesReturnNotice);
-        var mesSalesReturnNoticeDetails = GetErpSalesOrderDetail(saleReturnNotice.erpSalesReturnNoticeDetail, salesReturnNoticeErpSalesReturnNotice.type);
-
-        return UseTransaction(db =>
-        {
-            switch (salesReturnNoticeErpSalesReturnNotice.type)
-            {
-                case "3":
-                    return UpdateData(db, mesSalesReturnNotice, mesSalesReturnNoticeDetails) ? 1 : 0;
-                case "2":
-                case "4":
-                case "5":
-                case "6":
-                    return SaveOrUpdateData(db, mesSalesReturnNotice, mesSalesReturnNoticeDetails)
-                        ? 1
-                        : 0;
-                default:
-                    throw new NotImplementedException(
-                        $"type娌℃湁{salesReturnNoticeErpSalesReturnNotice.type}杩欎釜绫诲瀷");
-            }
-        }) > 0;
-
-    }
-
-
-
-    // 鏇存柊鏁版嵁鐨勬柟娉�(鍗曠函鐨勫垹闄�)
-    private bool UpdateData(SqlSugarScope db, SalesReturnNotice salesReturnNotice,
-        List<SalesReturnNoticeDetail> salesReturnNoticeDetails)
-    {
-        var decimals = salesReturnNoticeDetails.Select(s => s.Id).ToArray();
-        var update = base.DeleteById(salesReturnNotice.Id);
-        var insertOrUpdate = db
-            .Deleteable<SalesOrderDetail>().In(decimals)
-            .ExecuteCommand() > 0;
-
-        if (update && insertOrUpdate) return true;
-        throw new NotImplementedException("鍒犻櫎澶辫触");
-    }
-
-    // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
-    private bool SaveOrUpdateData(SqlSugarScope db, SalesReturnNotice salesReturnNotice,
-        List<SalesReturnNoticeDetail> salesReturnNoticeDetails)
-    {
-        if (salesReturnNotice.Id != null) base.DeleteById(salesReturnNotice.Id);
-
-        if (salesReturnNoticeDetails.Count > 0)
-            db.Deleteable<SalesOrderDetail>()
-                .Where(s => s.ErpId == salesReturnNotice.Id).ExecuteCommand();
-
-        var orUpdate = base.Insert(salesReturnNotice);
-        var baOrUpdate = salesReturnNoticeDetailManager.InsertRange(salesReturnNoticeDetails);
-        if (orUpdate && baOrUpdate) return true;
-        throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
-    }
-
-    // 鎵归噺淇濆瓨璁板綍鐨勬柟娉�
-    public bool SaveList(List<SaleReturnNotice> saleReturnNotices)
-    {
-        var result = saleReturnNotices.Select(Save).ToList();
-        return result.All(b => b);
-    }
-
-
-    // 灏� ErpSalesReturnNotice 瀵硅薄杞崲涓� SalesReturnNotice 瀵硅薄鐨勬柟娉�
-    public SalesReturnNotice GetSalesReturnNotice(ErpSalesReturnNotice erpSalesReturnNotice)
-    {
-
-        var eid = Convert.ToDecimal(erpSalesReturnNotice.Id);
-        var MesSalesReturnNotice = new SalesReturnNotice();
-
-        var single = base.GetSingle(it => it.Id == eid);
-        if (single != null) MesSalesReturnNotice.Id = single.Id;
-
-        MesSalesReturnNotice.ErpId = erpSalesReturnNotice.erpID;
-        MesSalesReturnNotice.BillType = erpSalesReturnNotice.fBillTypeID;
-        MesSalesReturnNotice.BillNo = erpSalesReturnNotice.fBillNo;
-
-        if (erpSalesReturnNotice.fDate != null)
-            MesSalesReturnNotice.FDate = DateTime.ParseExact(erpSalesReturnNotice.fDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesReturnNotice.Currency = erpSalesReturnNotice.fSettleCurrld;
-        MesSalesReturnNotice.SalesDept = erpSalesReturnNotice.fSaleDeptId;
-        MesSalesReturnNotice.ReturnCustomer = erpSalesReturnNotice.fRetcustId;
-        MesSalesReturnNotice.ReturnReason = erpSalesReturnNotice.fRetcustReason;
-        MesSalesReturnNotice.DeliveryLocation = erpSalesReturnNotice.fHeadLocId;
-        MesSalesReturnNotice.InventoryDept = erpSalesReturnNotice.fRetDeptId;
-        MesSalesReturnNotice.InventoryGroup = erpSalesReturnNotice.fStockerGroupId;
-        MesSalesReturnNotice.WarehouseManager = erpSalesReturnNotice.fStockerId;
-        MesSalesReturnNotice.SalesGroup = erpSalesReturnNotice.fSaleGroupId;
-        MesSalesReturnNotice.SalesPerson = erpSalesReturnNotice.fSalesManId;
-        MesSalesReturnNotice.Receiver = erpSalesReturnNotice.fReceiveCusId;
-        MesSalesReturnNotice.ReceiverContact = erpSalesReturnNotice.fReceiveCusContact;
-        MesSalesReturnNotice.ReceiverAddress = erpSalesReturnNotice.fReceiveAddress;
-        MesSalesReturnNotice.ReceiverName = erpSalesReturnNotice.fLinkMan;
-        MesSalesReturnNotice.SettleParty = erpSalesReturnNotice.fSettleCusId;
-        MesSalesReturnNotice.CreatedBy = erpSalesReturnNotice.fCreatorId;
-
-        if (erpSalesReturnNotice.fCreateDate != null)
-            MesSalesReturnNotice.CreatedDate = DateTime.ParseExact(erpSalesReturnNotice.fCreateDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesReturnNotice.ModifiedBy = erpSalesReturnNotice.fModifierId;
-
-        if (erpSalesReturnNotice.fModifyDate != null)
-            MesSalesReturnNotice.ModifiedDate = DateTime.ParseExact(erpSalesReturnNotice.fModifyDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesReturnNotice.ClosedBy = erpSalesReturnNotice.fCloserId;
-        MesSalesReturnNotice.CloseReason = erpSalesReturnNotice.fCloseReason;
-
-        if (erpSalesReturnNotice.fCloseDate != null)
-            MesSalesReturnNotice.CloseDate = DateTime.ParseExact(erpSalesReturnNotice.fCloseDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesReturnNotice.ApprovedBy = erpSalesReturnNotice.fApproverId;
-
-        if (erpSalesReturnNotice.fApproveDate != null)
-            MesSalesReturnNotice.ApprovedDate = DateTime.ParseExact(erpSalesReturnNotice.fApproveDate, "yyyy-MM-dd HH:mm:ss", null);
-        
-        MesSalesReturnNotice.CancelStatus = erpSalesReturnNotice.fCancelStatus;
-        MesSalesReturnNotice.CancelledBy = erpSalesReturnNotice.fCancellerId;
-
-        if (erpSalesReturnNotice.fCancelDate != null)
-            MesSalesReturnNotice.CancelDate = DateTime.ParseExact(erpSalesReturnNotice.fCancelDate, "yyyy-MM-dd HH:mm:ss", null);
-
-        MesSalesReturnNotice.CloseStatus = erpSalesReturnNotice.fBillCloseStatus;
-        MesSalesReturnNotice.BillStatus = erpSalesReturnNotice.fDocumentStatus;
-
-        return MesSalesReturnNotice;
-    }
-
-    // 灏� ErpSalesReturnNoticeDetail 瀵硅薄杞崲涓� SalesReturnNoticeDetail 瀵硅薄鐨勬柟娉�
-    public List<SalesReturnNoticeDetail> GetErpSalesOrderDetail(
-        List<ErpSalesReturnNoticeDetail> erpSalesReturnNoticeDetails, string type)
-    {
-        return erpSalesReturnNoticeDetails.Select(s =>
-        {
-            var entity = new SalesReturnNoticeDetail
-            {
-                Id = Convert.ToDecimal(s.Id),
-                ErpLineId = s.erpID,
-                ErpHeadId =s.ehid,
-                MaterialId = s.fMaterialId,
-                MaterialName = s.fMaterialName,
-                MaterialSpecification = s.fMaterialModel,
-                SalesUnitId = s.fUnitID,
-                SalesQuantity = Convert.ToDecimal(s.fQty),               
-                IsFree = s.fIsFree,
-                ReturnDate = s.fDeliverydate != null ? DateTime.ParseExact(s.fDeliverydate, "yyyy-MM-dd HH:mm:ss", null) : null,
-                WareHouse = s.fStockId,
-                PlanTrackingNumber = s.fMtoNo,
-                LotNumber = s.fLot,
-                Note = s.fEntryDescription,
-                ReturnType = s.fRmType,
-                InventoryUnit = s.fStockUnitID,
-                InventoryQuantity = Convert.ToDecimal(s.fStockQty),
-                MaterialCategory = s.fMaterialType,
-                OwnerTypeId = s.fOwnerTypeID,
-                OwnerId = s.fOwnerId,
-                SourceBillType = s.fSrcType,
-                SourceBillNo = s.fSrcBillNo,
-                OrderBillNo = s.fOrderNo,
-                
-            };
-
-            var single = salesReturnNoticeDetailManager.GetSingle(it =>
-                it.Id == entity.Id);
-            if (single != null) entity.Id = single.Id;
-
-            return entity;
-        }).ToList();
-    }
-
-}
\ No newline at end of file
diff --git a/MES.Service/service/SaleDeliveryNotice/SalesDeliveryNoticeDetailManager.cs b/MES.Service/service/SaleDeliveryNotice/SalesDeliveryNoticeDetailManager.cs
new file mode 100644
index 0000000..9d75c75
--- /dev/null
+++ b/MES.Service/service/SaleDeliveryNotice/SalesDeliveryNoticeDetailManager.cs
@@ -0,0 +1,79 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using MES.Service.DB;
+using MES.Service.Modes;
+using MES.Service.Modes.SalesDeliveryNotice;
+
+namespace MES.Service.service
+{
+public class SalesDeliveryNoticeDetailManager : Repository<SalesDeliveryNoticeDetail>
+{
+ 
+    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+    //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 SalesDeliveryNoticeDetailManager.cs
+
+
+    #region 鏁欏鏂规硶
+    /// <summary>
+    /// 浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉�
+    /// </summary>
+    public void Study()
+    {
+	     
+	   /*********鏌ヨ*********/
+
+        var data1 = base.GetById(1);//鏍规嵁ID鏌ヨ
+        var data2 = base.GetList();//鏌ヨ鎵�鏈�
+        var data3 = base.GetList(it => 1 == 1);  //鏍规嵁鏉′欢鏌ヨ  
+        //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊
+
+        var p = new PageModel() { PageIndex = 1, PageSize = 2 };// 鍒嗛〉鏌ヨ
+        var data5 = base.GetPageList(it => 1 == 1, p);
+        Console.Write(p.TotalCount);//杩斿洖鎬绘暟
+
+        var data6 = base.GetPageList(it => 1 == 1, p, it => SqlFunc.GetRandom(), OrderByType.Asc);// 鍒嗛〉鏌ヨ鍔犳帓搴�
+        Console.Write(p.TotalCount);//杩斿洖鎬绘暟
+     
+        List<IConditionalModel> conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴�
+        conModels.Add(new ConditionalModel() { FieldName= typeof(SalesDeliveryNoticeDetail).GetProperties()[0].Name, ConditionalType = ConditionalType.Equal, FieldValue = "1" });//id=1
+        var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom(), OrderByType.Asc);
+
+        base.AsQueryable().Where(x => 1 == 1).ToList();//鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘
+
+ 
+
+        /*********鎻掑叆*********/
+        var insertData = new SalesDeliveryNoticeDetail() { };//娴嬭瘯鍙傛暟
+        var insertArray = new SalesDeliveryNoticeDetail[] { insertData };
+        base.Insert(insertData);//鎻掑叆
+        base.InsertRange(insertArray);//鎵归噺鎻掑叆
+        var id = base.InsertReturnIdentity(insertData);//鎻掑叆杩斿洖鑷鍒�
+        base.AsInsertable(insertData).ExecuteCommand();//鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
+
+
+
+		/*********鏇存柊*********/
+	    var updateData = new SalesDeliveryNoticeDetail() {  };//娴嬭瘯鍙傛暟
+        var updateArray = new SalesDeliveryNoticeDetail[] { updateData };//娴嬭瘯鍙傛暟
+        base.Update(updateData);//鏍规嵁瀹炰綋鏇存柊
+        base.UpdateRange(updateArray);//鎵归噺鏇存柊
+        //base.Update(it => new SalesDeliveryNoticeDetail() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
+        base.AsUpdateable(updateData).ExecuteCommand();  //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
+
+
+
+		/*********鍒犻櫎*********/
+	    var deldata = new SalesDeliveryNoticeDetail() {  };//娴嬭瘯鍙傛暟
+        base.Delete(deldata);//鏍规嵁瀹炰綋鍒犻櫎
+        base.DeleteById(1);//鏍规嵁涓婚敭鍒犻櫎
+        base.DeleteById(new int[] { 1,2});//鏍规嵁涓婚敭鏁扮粍鍒犻櫎
+        base.Delete(it=>1==2);//鏍规嵁鏉′欢鍒犻櫎
+        base.AsDeleteable().Where(it=>1==2).ExecuteCommand();//杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
+    } 
+    #endregion
+
+ 
+ }
+}
\ No newline at end of file
diff --git a/MES.Service/service/SaleDeliveryNotice/SalesDeliveryNoticeManager.cs b/MES.Service/service/SaleDeliveryNotice/SalesDeliveryNoticeManager.cs
new file mode 100644
index 0000000..ac77ea1
--- /dev/null
+++ b/MES.Service/service/SaleDeliveryNotice/SalesDeliveryNoticeManager.cs
@@ -0,0 +1,257 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using MES.Service.DB;
+using MES.Service.Modes;
+using MES.Service.Dto.webApi;
+using MES.Service.service.BasicData;
+using System.Globalization;
+using MES.Service.Modes.SalesDeliveryNotice;
+
+namespace MES.Service.service
+{
+    public class SalesDeliveryNoticeManager : Repository<SalesDeliveryNotice>
+    {
+
+        //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+        private readonly SalesDeliveryNoticeDetailManager _SalesDeliveryDetailManager =
+            new();
+        //ErpSalesRerurn
+        public bool Save(ErpSalesDelivery SalesDelivery)
+        {
+            var erpSalesDeliveryDto = SalesDelivery.OrderDto;
+            var mesSalesDelivery = ConvertErpToSalesDelivery(SalesDelivery.OrderDto);
+            var mesSalesDeliveryDatas = ConvertErpToSalesDeliveryDetail(SalesDelivery.Items);
+
+            return UseTransaction(db =>
+            {
+                switch (erpSalesDeliveryDto.Type)
+                {
+                    // case "2":
+                    //     return InsertData(db, mesSalesReturn, mesSalesReturnDatas,
+                    //         rohInErpRohIn.FBILLTYPE)
+                    //         ? 1
+                    //         : 0;
+                    case "3":
+                        return UpdateData(db, mesSalesDelivery, mesSalesDeliveryDatas) ? 1 : 0;
+                    case "2":
+                    case "4":
+                        return SaveOrUpdateData(db, mesSalesDelivery, mesSalesDeliveryDatas, erpSalesDeliveryDto.Type)
+                            ? 1
+                            : 0;
+                    default:
+                        throw new NotImplementedException(
+                            $"type娌℃湁{erpSalesDeliveryDto.Type}杩欎釜绫诲瀷");
+                }
+            }) > 0;
+        }
+    
+        private bool UpdateData(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;
+
+            if (update && insertOrUpdate) return true;
+            throw new NotImplementedException("鏇存柊澶辫触");
+        }
+
+        // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
+        private bool SaveOrUpdateData(SqlSugarScope db, SalesDeliveryNotice mesSalesDelivery,
+            List<SalesDeliveryNoticeDetail> mesSalesDeliveryDatas, string type)
+        {
+            if (mesSalesDelivery.Id != null) base.DeleteById(mesSalesDelivery.Id);
+
+            if (mesSalesDeliveryDatas.Count > 0)
+                db.Deleteable<SalesDeliveryNoticeDetail>()
+                    .Where(s => s.Ehid == mesSalesDelivery.Erpid).ExecuteCommand();
+
+            var orUpdate = base.Insert(mesSalesDelivery);
+            //var baOrUpdate = _SalesDeliveryDetailManager.InsertRange(mesSalesDeliveryDatas);
+            foreach (var item in mesSalesDeliveryDatas)
+            {
+                _SalesDeliveryDetailManager.Insert(item);
+            }
+
+            //if (orUpdate && baOrUpdate) return true;
+            return orUpdate;
+
+
+            throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
+        }
+
+        // 鎵归噺淇濆瓨璁板綍鐨勬柟娉�
+        public bool SaveList(List<ErpSalesDelivery> salesOrder)
+        {
+            var result = salesOrder.Select(Save).ToList();
+            return result.All(b => b);
+        }
+
+        //鑷姩鏄犲皠瀛楁
+        public static void MapProperties<T>(T target, object source)
+        {
+            var targetProps = typeof(T).GetProperties();
+            var sourceProps = source.GetType().GetProperties();
+
+            foreach (var targetProp in targetProps)
+            {
+                var sourceProp = sourceProps.FirstOrDefault(p => p.Name == targetProp.Name && p.PropertyType == targetProp.PropertyType);
+                if (sourceProp != null)
+                {
+                    var value = sourceProp.GetValue(source);
+                    targetProp.SetValue(target, value);
+                }
+            }
+        }
+
+        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))
+                    return parsedDate;
+
+                return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull
+            }
+            
+
+            // 璋冪敤
+            var salesOrder = new SalesDeliveryNotice();
+            MapProperties(salesOrder, erpDto);
+            /*var salesOrder = new SalesDeliveryNotice
+            {
+                Id = erpDto.Id,
+                Erpid = erpDto.Erpid,
+                Fbilltypeid = erpDto.FBillTypeId,
+                Fbillno = erpDto.FBillNo,
+                Fdate = erpDto.FDate,
+                Fsettlecurrid = erpDto.FSettleCurrId,
+                Fsaleorgid = erpDto.FSaleOrgId,
+                Fsaledeptid = erpDto.FSaleDeptId,
+                Fcustomerid = erpDto.FCustomerId,
+                Fheaddeliveryway = erpDto.FHeadDeliveryWay,
+                Fheadlocid = erpDto.FHeadLocId,
+                Fcarrierid = erpDto.FCarrierId,
+                Fcarriageno = erpDto.FCarriageNo,
+                Fdocumentstatus = erpDto.FDocumentStatus,
+                Fdeliveryorgid = erpDto.FDeliveryOrgId,
+                Fdeliverydeptid = erpDto.FDeliveryDeptId,
+                Fstockergroupid = erpDto.FStockerGroupId,
+                Fstockerid = erpDto.FStockerId,
+                Fsalegroupid = erpDto.FSaleGroupId,
+                Fsalesmanid = erpDto.FSalesManId,
+                Freceiverid = erpDto.FReceiverId,
+                Freceivercontactid = erpDto.FReceiverContactId,
+                Freceiveaddress = erpDto.FReceiveAddress,
+                Flinkman = erpDto.FLinkMan,
+                Flinkphone = erpDto.FLinkPhone,
+                Fsettleid = erpDto.FSettleId,
+                Fpayerid = erpDto.FPayerId,
+                Fcreatorid = erpDto.FCreatorId,
+                Fcreatedate = erpDto.FCreateDate,
+                Fmodifierid = erpDto.FModifierId,
+                Fmodifydate = erpDto.FModifyDate,
+                Fapproverid = erpDto.Fapproverid,
+                Fapprovedate = erpDto.FApproveDate,
+                Fcloserid = erpDto.FCloserId,
+                Fclosereason = erpDto.FCloseReason,
+                Fclosestatus = erpDto.FCloseStatus,
+                Fcancellerid = erpDto.FCancellerId,
+                Fcanceldate = erpDto.FCancelDate,
+                Fcancelstatus = erpDto.FCancelStatus
+
+            };*/
+
+            var single = base.GetSingle(it => it.Erpid == erpDto.Erpid);
+            if (single != null) salesOrder.Id = single.Id;
+
+            return salesOrder;
+        }
+
+        private List<SalesDeliveryNoticeDetail> ConvertErpToSalesDeliveryDetail(
+            List<ErpSalesDeliveryDetailDto> erpDtoList)
+
+        {
+            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))
+                    return parsedDate;
+
+                return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull
+            }
+
+
+
+            foreach (var erpDto in erpDtoList)
+            {
+                var salesOrderSub = new SalesDeliveryNoticeDetail();
+                MapProperties(salesOrderSub, erpDto);
+
+                /*{
+                    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,//鏄惁璧犲搧
+                    DeliveryDate = ParseDateTime(erpDto.FDeliverydate),//瑕佽揣鏃ユ湡
+                    Warehouse = erpDto.FStockId,//鍑鸿揣浠撳簱
+                    PlanTrackingNumber = erpDto.FMtoNo,//璁″垝璺熻釜鍙�
+                    LotNumber = erpDto.FLot,//鎵瑰彿
+                    SrcBillNo = erpDto.FSrcBillNo,//婧愬崟缂栧彿
+                    PriceQty = erpDto.FPriceUnitQty,//璁′环鏁伴噺
+                    OwnerId = erpDto.FOwnerIdHead,//璐т富
+                    InventoryUnit = erpDto.FStockUnitID,//搴撳瓨鍗曚綅
+                    InventoryQuantity = Convert.ToDecimal(erpDto.FStockQty),//搴撳瓨鏁伴噺
+                    //MaterialCategory = erpDto.FMaterialType,//鐗╂枡绫诲埆
+                    PlanDeliveryDate = ParseDateTime(erpDto.FPlanDeliveryDate),//璁″垝鍙戣揣鏃ユ湡
+                    OutLmtUnit = erpDto.FOutLmtUnit,//瓒呭彂鎺у埗鍗曚綅
+                    OutMaxQty = erpDto.FOutMaxQty,//鍑哄簱涓婇檺
+                    OutMinQty = erpDto.FOutMinQty,//鍑哄簱涓嬮檺
+                    DeliveryLoc = erpDto.FDeliveryLoc,//浜よ揣鍦扮偣
+                    DeliverylAddress = erpDto.FDeliveryLAddress,//浜よ揣鍦板潃
+                    SourceBillNo = erpDto.FSrcBillNo,//鍘熷崟鍗曞彿
+                    OrderBillNo = erpDto.FOrderNo,//璁㈠崟鍗曞彿
+                    TerminationStatus = erpDto.FTerminationStatus,//缁堟鐘舵��
+                    TerminationDate = ParseDateTime(erpDto.FTerminateDate),//涓氬姟缁堟鏃ユ湡
+                    SumOutQty = erpDto.FSumOutQty,//绱鍑哄簱鏁伴噺
+                    RemainOutQty = erpDto.FRemainOutQty,//鏈嚭搴撴暟閲�
+                    GDY = erpDto.F_UNW_Base_GDY,//璺熷崟鍛�
+                    NOTE = erpDto.FEntrynote//澶囨敞
+
+                };*/
+
+                var single = _SalesDeliveryDetailManager.GetSingle(it =>
+                    it.Erpid == salesOrderSub.Erpid);
+                if (single != null) salesOrderSub.Id = single.Id;
+
+                salesOrderSubList.Add(salesOrderSub);
+            }
+
+            return salesOrderSubList;
+        }
+
+    }
+}
\ No newline at end of file
diff --git a/MES.Service/service/SalesOrder/SalesOrderManager.cs b/MES.Service/service/SalesOrder/SalesOrderManager.cs
new file mode 100644
index 0000000..89ff28b
--- /dev/null
+++ b/MES.Service/service/SalesOrder/SalesOrderManager.cs
@@ -0,0 +1,210 @@
+锘縰sing MES.Service.DB;
+using System.Data;
+using System.Globalization;
+using MES.Service.Dto.webApi;
+using MES.Service.Modes;
+using SqlSugar;
+using DbType = System.Data.DbType;
+
+namespace MES.Service.service.BasicData;
+
+public class SalesOrderManager : Repository<SalesOrder>
+{
+    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+    private readonly SalesOrderDetailManager _SalesOrderDetailManager =
+        new();
+    //ErpSalesOrder
+    public bool Save(ErpSalesOrder SalesOrder)
+    {
+        var erpSalesOrderDto = SalesOrder.OrderDto;
+        var mesSalesOrder = ConvertErpToSalesOrder(SalesOrder);
+        var mesSalesOrderDatas = ConvertErpToSalesOrderDetail(SalesOrder);
+
+        return UseTransaction(db =>
+        {
+            switch (erpSalesOrderDto.Type)
+            {
+                // case "2":
+                //     return InsertData(db, mesSalesOrder, mesSalesOrderDatas,
+                //         rohInErpRohIn.FBILLTYPE)
+                //         ? 1
+                //         : 0;
+                case "3":
+                    return UpdateData(db, mesSalesOrder, mesSalesOrderDatas) ? 1 : 0;
+                case "2":
+                case "4":
+                    return SaveOrUpdateData(db, mesSalesOrder, mesSalesOrderDatas, erpSalesOrderDto.Type)
+                        ? 1
+                        : 0;
+                default:
+                    throw new NotImplementedException(
+                        $"type娌℃湁{erpSalesOrderDto.Type}杩欎釜绫诲瀷");
+            }
+        }) > 0;
+    }
+
+    private bool UpdateData(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;
+
+        if (update && insertOrUpdate) return true;
+        throw new NotImplementedException("鏇存柊澶辫触");
+    }
+
+    // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
+    private bool SaveOrUpdateData(SqlSugarScope db, SalesOrder mesSalesOrder,
+        List<SalesOrderDetail> mesSalesOrderDatas,string type)
+    {
+        if (mesSalesOrder.Id != null) base.DeleteById(mesSalesOrder.Id);
+
+        if (mesSalesOrderDatas.Count > 0)
+            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; 
+        
+
+        throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
+    }
+
+    // 鎵归噺淇濆瓨璁板綍鐨勬柟娉�
+    public bool SaveList(List<ErpSalesOrder> salesOrder)
+    {
+        var result = salesOrder.Select(Save).ToList();
+        return result.All(b => b);
+    }
+
+    private SalesOrder ConvertErpToSalesOrder(
+        ErpSalesOrder erpDto1)
+    {
+        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
+        }
+        var erpDto = erpDto1.OrderDto;
+        var salesOrder = new SalesOrder
+        {
+            Id = erpDto.Id,
+            Erpid = erpDto.Erpid,
+            Fbillno = erpDto.Fbillno,
+            Fbilltypeid = erpDto.Fbilltypeid,
+            Fdocumentstatus = erpDto.Fdocumentstatus,
+            Fdate = erpDto.Fdate,
+            Fbusinesstype = erpDto.Fbusinesstype,
+            Fheaddeliveryway = erpDto.Fheaddeliveryway,
+            Fheadlocid = erpDto.Fheadlocid,
+            Fsaleorgid = erpDto.Fsaleorgid,
+            Fcustid = erpDto.Fcustid,
+            Fclosestatus = erpDto.Fclosestatus,
+            Fsaledeptid = erpDto.Fsaledeptid,
+            Fsalerid = erpDto.Fsalerid,
+            Fchangereason = erpDto.Fchangereason,
+            Fnote = erpDto.Fnote,
+            Fsettleid = erpDto.Fsettleid,
+            Fapproverid = erpDto.Fapproverid,
+            Flinkman = erpDto.Flinkman,
+            Fchargeid = erpDto.Fchargeid,
+            Flinkphone = erpDto.Flinkphone,
+            Fcreatorid = erpDto.Fcreatorid,
+            Fcreatedate = erpDto.Fcreatedate,
+            Fmodifierid = erpDto.Fmodifierid,
+            Fmodifydate = erpDto.Fmodifydate,
+            Fapprovedate = erpDto.Fapprovedate,
+            Fcloserid = erpDto.Fcloserid,
+            Fclosedate = erpDto.Fclosedate,
+            Fchangedate = erpDto.Fchangedate,
+            Fcancelstatus = erpDto.Fcancelstatus,
+            Fcancellerid = erpDto.Fcancellerid,
+            Fversionno = erpDto.Fversionno,
+            Fchangerid = erpDto.Fchangerid,
+            FWwcDate = erpDto.FWwcDate,
+            FWwcCheckbox = erpDto.FWwcCheckbox,
+            FWwcLargetext = erpDto.FWwcLargetext,
+            FWwcLargetext1 = erpDto.FWwcLargetext1,
+            Fentrynote = erpDto.Fentrynote
+            //ParseDateTime() ?? null
+            //long.Parse()
+            //Convert.ToDecimal()
+            //Convert.ToDouble()
+        };
+
+        var single = base.GetSingle(it => it.Erpid == erpDto.Erpid);
+        if (single != null) salesOrder.Id = single.Id;
+
+        return salesOrder;
+    }
+
+    private List<SalesOrderDetail> ConvertErpToSalesOrderDetail(
+        ErpSalesOrder erpDtoList)
+    {
+        var salesOrderSubList =
+            new List<SalesOrderDetail>();
+
+
+        foreach (var erpDto in erpDtoList.Items)
+        {
+            var salesOrderSub = new SalesOrderDetail
+            {
+                Id = erpDto.Id,
+                Erpid = erpDto.Erpid,
+                Ehid = erpDto.Ehid,
+                Fmaterialid = erpDto.Fmaterialid,
+                Funitid = erpDto.Funitid,
+                Fqty = erpDto.Fqty,
+                Fpriceunitid = erpDto.Fpriceunitid,
+                Fpriceunitqty = erpDto.Fpriceunitqty,
+                Fdeliverydate = erpDto.Fdeliverydate,
+                Fisfree = erpDto.Fisfree,
+                Fsettleorgids = erpDto.Fsettleorgids,
+                Fownertypeid = erpDto.Fownertypeid,
+                Fownerid = erpDto.Fownerid,
+                Fentrynote = erpDto.Fentrynote,
+                Fmtono = erpDto.Fmtono,
+                Flot = erpDto.Flot,
+                Fdeliverymaxqty = erpDto.Fdeliverymaxqty,
+                Fdeliveryminqty = erpDto.Fdeliveryminqty,
+                Foutlmtunitid = erpDto.Foutlmtunitid,
+                Fmrpclosestatus = erpDto.Fmrpclosestatus,
+                Fmrpterminatestatus = erpDto.Fmrpterminatestatus,
+                Fterminatedate = erpDto.Fterminatedate,
+                Fterminaterid = erpDto.Fterminaterid,
+                Fsrctype = erpDto.Fsrctype,
+                Fsrcbillno = erpDto.Fsrcbillno,
+                Fdeliqty = erpDto.Fdeliqty,
+                Fstockoutqty = erpDto.Fstockoutqty,
+                Fbaseretnoticeqty = erpDto.Fbaseretnoticeqty,
+                Fbasereturnqty = erpDto.Fbasereturnqty,
+                Fbaseremainoutqty = erpDto.Fbaseremainoutqty,
+                Fbasearqty = erpDto.Fbasearqty,
+                Fmapid = erpDto.Fmapid,
+                Fmapname = erpDto.Fmapname,
+                Fmapspec = erpDto.Fmapspec
+            };
+
+            var single = _SalesOrderDetailManager.GetSingle(it =>
+                it.Erpid == salesOrderSub.Erpid);
+            if (single != null) salesOrderSub.Id = single.Id;
+
+            salesOrderSubList.Add(salesOrderSub);
+        }
+
+        return salesOrderSubList;
+    }
+}
\ No newline at end of file
diff --git a/MES.Service/service/BasicData/SalesReturnNoticeDetailManager.cs b/MES.Service/service/SalesReturnNotice/SalesReturnNoticeDetailManager.cs
similarity index 97%
rename from MES.Service/service/BasicData/SalesReturnNoticeDetailManager.cs
rename to MES.Service/service/SalesReturnNotice/SalesReturnNoticeDetailManager.cs
index 78d4c7b..961ede4 100644
--- a/MES.Service/service/BasicData/SalesReturnNoticeDetailManager.cs
+++ b/MES.Service/service/SalesReturnNotice/SalesReturnNoticeDetailManager.cs
@@ -5,7 +5,7 @@
 namespace MES.Service.service.BasicData;
 
 public class
-    SalesReturnNoticeDetailManager : Repository<SalesReturnNoticeDetail>
+    SalesReturnDetailManager : Repository<SalesReturnNoticeDetail>
 {
     //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
 
diff --git a/MES.Service/service/SalesReturnNotice/SalesReturnNoticeManager.cs b/MES.Service/service/SalesReturnNotice/SalesReturnNoticeManager.cs
new file mode 100644
index 0000000..4271008
--- /dev/null
+++ b/MES.Service/service/SalesReturnNotice/SalesReturnNoticeManager.cs
@@ -0,0 +1,234 @@
+锘縰sing MES.Service.DB;
+using System.Data;
+using System.Globalization;
+using MES.Service.Dto.webApi;
+using MES.Service.Modes;
+using SqlSugar;
+using DbType = System.Data.DbType;
+
+namespace MES.Service.service.BasicData;
+
+public class SalesReturnNoticeManager : Repository<SalesReturnNotice>
+{
+    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+    private readonly SalesReturnDetailManager _SalesReturnDetailManager =
+        new();
+    //ErpSalesRerurn
+    public bool Save(ErpSalesRerurn SalesReturn)
+    {
+        var erpSalesReturnDto = SalesReturn.OrderDto;
+        var mesSalesReturn = ConvertErpToSalesReturn(SalesReturn.OrderDto);
+        var mesSalesReturnDatas = ConvertErpToSalesReturnDetail(SalesReturn.Items);
+
+        return UseTransaction(db =>
+        {
+            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;
+                default:
+                    throw new NotImplementedException(
+                        $"type娌℃湁{erpSalesReturnDto.Type}杩欎釜绫诲瀷");
+            }
+        }) > 0;
+    }
+
+    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<SalesReturnNoticeDetail>().In(decimals)
+            .ExecuteCommand() > 0;
+
+        if (update && insertOrUpdate) return true;
+        throw new NotImplementedException("鏇存柊澶辫触");
+    }
+
+    // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
+    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<SalesReturnNoticeDetail>()
+                .Where(s => s.Ehid == mesSalesReturn.Erpid).ExecuteCommand();
+
+        var orUpdate = base.Insert(mesSalesReturn);
+        var baOrUpdate = _SalesReturnDetailManager.InsertRange(mesSalesReturnDatas);
+        if (orUpdate && baOrUpdate) return true; 
+        
+
+        throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
+    }
+
+    // 鎵归噺淇濆瓨璁板綍鐨勬柟娉�
+    public bool SaveList(List<ErpSalesRerurn> salesOrder)
+    {
+        var result = salesOrder.Select(Save).ToList();
+        return result.All(b => b);
+    }
+
+    //鑷姩鏄犲皠瀛楁
+    public static void MapProperties<T>(T target, object source)
+    {
+        var targetProps = typeof(T).GetProperties();
+        var sourceProps = source.GetType().GetProperties();
+
+        foreach (var targetProp in targetProps)
+        {
+            var sourceProp = sourceProps.FirstOrDefault(p => p.Name == targetProp.Name && p.PropertyType == targetProp.PropertyType);
+            if (sourceProp != null)
+            {
+                var value = sourceProp.GetValue(source);
+                targetProp.SetValue(target, value);
+            }
+        }
+    }
+
+    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))
+                return parsedDate;
+
+            return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull
+        }
+
+        var salesOrder = new SalesReturnNotice();
+        MapProperties(salesOrder, erpDto);
+
+        /*{
+            BillNo = erpDto.FBillNo,
+            ErpId = erpDto.ErpID,
+            FDate = ParseDateTime(erpDto.FDate) ?? null,
+            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, // 鍏抽棴鏃ユ湡
+            ApprovedBy = erpDto.FApproverId, // 瀹℃牳浜�
+            ApprovedDate = ParseDateTime(erpDto.FApproveDate) ?? null, // 瀹℃牳鏃ユ湡
+            CancelStatus = erpDto.FCancelStatus, // 浣滃簾鐘舵��
+            CancelledBy = erpDto.FCancellerId, // 浣滃簾浜�
+            CancelDate = ParseDateTime(erpDto.FCancelDate) ?? null, // 浣滃簾鏃ユ湡
+            CloseStatus = erpDto.FBillCloseStatus, // 鍏抽棴鐘舵��
+            BillStatus  = erpDto.FDocumentStatus, //鍗曟嵁鐘舵��
+            FUNWTextTHYY = erpDto.F_UNW_Text_THYY //鍗曟嵁鐘舵��
+
+        };*/
+
+        var single = base.GetSingle(it => it.Erpid == erpDto.Erpid);
+        if (single != null) salesOrder.Id = single.Id;
+
+        return salesOrder;
+    }
+
+    private List<SalesReturnNoticeDetail> ConvertErpToSalesReturnDetail(
+        List<ErpSalesReturnDetailDto> erpDtoList)
+        
+    {
+        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))
+                return parsedDate;
+
+            return null; // 濡傛灉杞崲澶辫触锛岃繑鍥瀗ull
+        }
+
+
+
+        foreach (var erpDto in erpDtoList)
+        {
+            var salesOrderSub = new SalesReturnNoticeDetail();
+            MapProperties(salesOrderSub, erpDto);
+
+            /*{
+                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 == salesOrderSub.Erpid);
+            if (single != null) salesOrderSub.Id = single.Id;
+
+            salesOrderSubList.Add(salesOrderSub);
+        }
+
+        return salesOrderSubList;
+    }
+
+ 
+}
\ No newline at end of file
diff --git a/MESApplication/Controllers/BasicData/SalesDeliveryNoticeController.cs b/MESApplication/Controllers/BasicData/SalesDeliveryNoticeController.cs
deleted file mode 100644
index d73ca0c..0000000
--- a/MESApplication/Controllers/BasicData/SalesDeliveryNoticeController.cs
+++ /dev/null
@@ -1,278 +0,0 @@
-锘縰sing System.Dynamic;
-using MES.Service.Dto.webApi;
-using MES.Service.Modes;
-using MES.Service.service;
-using MES.Service.service.BasicData;
-using MES.Service.util;
-using Microsoft.AspNetCore.Mvc;
-using Newtonsoft.Json;
-
-namespace MESApplication.Controllers.BasicData;
-
-[ApiController]
-[Route("api/[controller]")]
-public class SalesDeliveryNoticeController : ControllerBase
-{
-    private readonly MessageCenterManager _manager = new();
-
-    private readonly SalesDeliveryNoticeManager m = new();
-
-    private readonly string METHOD = "POST";
-
-    private readonly string TableName = "SALES_DELIVERY_NOTICE";
-
-    private readonly string URL = "http://localhost:10054/api/SalesDeliveryNotice/";
-
-    /// <summary>
-    ///     鍗曟潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("Save")]
-    public ResponseResult Save(SaleDeliveryNotice saleDeliveryNotice)
-    {
-        var entity = new MessageCenter();
-        entity.TableName = TableName;
-        entity.Url = URL + "Save";
-        entity.Method = METHOD;
-        entity.Data = JsonConvert.SerializeObject(saleDeliveryNotice);
-        entity.Status = 1;
-        entity.CreateBy = "PL017";
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            var save = m.Save(saleDeliveryNotice);
-
-            resultInfos.tbBillList = save;
-
-            entity.Result = 0;
-            if (save) entity.Result = 1;
-
-            entity.DealWith = 1;
-            _manager.save(entity);
-
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            entity.Result = 0;
-
-            entity.DealWith = 0;
-
-            entity.ResultData = ex.Message;
-
-            _manager.save(entity);
-
-            return new ResponseResult
-            {
-                status = 1,
-                message = ex.Message,
-                data = ex.Message
-            };
-        }
-    }
-
-    /// <summary>
-    ///     澶氭潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("SaveList")]
-    public ResponseResult SaveList(List<SaleDeliveryNotice> units)
-    {
-        var entity = new MessageCenter();
-        entity.TableName = TableName;
-        entity.Url = URL + "SaveList";
-        entity.Method = METHOD;
-        entity.Data = JsonConvert.SerializeObject(units);
-        entity.Status = 1;
-        entity.CreateBy = "PL017";
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            var save = m.SaveList(units);
-            resultInfos.tbBillList = save;
-
-            entity.Result = 0;
-            if (save) entity.Result = 1;
-
-            entity.DealWith = 1;
-            _manager.save(entity);
-
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            entity.Result = 0;
-
-            entity.DealWith = 0;
-
-            entity.ResultData = ex.Message;
-
-            _manager.save(entity);
-
-            return new ResponseResult
-            {
-                status = 1,
-                message = ex.Message,
-                data = ex.Message
-            };
-        }
-    }
-
-    /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
-
-    /// <summary>
-    ///     鑾峰彇鎵�鏈�
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("GetList")]
-    public ResponseResult GetList()
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.GetList();
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-
-    /// <summary>
-    ///     鏍规嵁涓婚敭鑾峰彇
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("GetById")]
-    public ResponseResult GetById(int id)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.GetById(id);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     鏍规嵁涓婚敭鍒犻櫎
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("DeleteByIds")]
-    public ResponseResult DeleteByIds([FromBody] object[] ids)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.DeleteByIds(ids);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     娣诲姞
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("Insert")]
-    public ResponseResult Add([FromBody] SalesDeliveryNotice data)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.Insert(data);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     娣诲姞杩斿洖鑷
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("InsertReturnIdentity")]
-    public ResponseResult InsertReturnIdentity(
-        [FromBody] SalesDeliveryNotice data)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.InsertReturnIdentity(data);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     淇敼
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("Update")]
-    public ResponseResult Update([FromBody] SalesDeliveryNotice data)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.Update(data);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-}
diff --git a/MESApplication/Controllers/BasicData/SalesDeliveryNoticeDetailController.cs b/MESApplication/Controllers/BasicData/SalesDeliveryNoticeDetailController.cs
deleted file mode 100644
index 20f531f..0000000
--- a/MESApplication/Controllers/BasicData/SalesDeliveryNoticeDetailController.cs
+++ /dev/null
@@ -1,163 +0,0 @@
-锘縰sing System.Dynamic;
-using MES.Service.Modes;
-using MES.Service.service.BasicData;
-using MES.Service.util;
-using Microsoft.AspNetCore.Mvc;
-
-namespace MESApplication.Controllers.BasicData;
-
-[ApiController]
-[Route("api/[controller]")]
-public class SalesDeliveryNoticeDetailController : ControllerBase
-{
-    private readonly SalesDeliveryNoticeDetailManager m = new();
-
-
-    /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
-
-    /// <summary>
-    ///     鑾峰彇鎵�鏈�
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("GetList")]
-    public ResponseResult GetList()
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.GetList();
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-
-    /// <summary>
-    ///     鏍规嵁涓婚敭鑾峰彇
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("GetById")]
-    public ResponseResult GetById(int id)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.GetById(id);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     鏍规嵁涓婚敭鍒犻櫎
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("DeleteByIds")]
-    public ResponseResult DeleteByIds([FromBody] object[] ids)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.DeleteByIds(ids);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     娣诲姞
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("Insert")]
-    public ResponseResult Add([FromBody] SalesDeliveryNoticeDetail data)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.Insert(data);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     娣诲姞杩斿洖鑷
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("InsertReturnIdentity")]
-    public ResponseResult InsertReturnIdentity(
-        [FromBody] SalesDeliveryNoticeDetail data)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.InsertReturnIdentity(data);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     淇敼
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("Update")]
-    public ResponseResult Update([FromBody] SalesDeliveryNoticeDetail data)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.Update(data);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-}
diff --git a/MESApplication/Controllers/BasicData/SalesReturnNoticeDetailController.cs b/MESApplication/Controllers/BasicData/SalesReturnNoticeDetailController.cs
deleted file mode 100644
index 3ed35a0..0000000
--- a/MESApplication/Controllers/BasicData/SalesReturnNoticeDetailController.cs
+++ /dev/null
@@ -1,163 +0,0 @@
-锘縰sing System.Dynamic;
-using MES.Service.Modes;
-using MES.Service.service.BasicData;
-using MES.Service.util;
-using Microsoft.AspNetCore.Mvc;
-
-namespace MESApplication.Controllers.BasicData;
-
-[ApiController]
-[Route("api/[controller]")]
-public class SalesReturnNoticeDetailController : ControllerBase
-{
-    private readonly SalesReturnNoticeDetailManager m = new();
-
-
-    /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
-
-    /// <summary>
-    ///     鑾峰彇鎵�鏈�
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("GetList")]
-    public ResponseResult GetList()
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.GetList();
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-
-    /// <summary>
-    ///     鏍规嵁涓婚敭鑾峰彇
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("GetById")]
-    public ResponseResult GetById(int id)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.GetById(id);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     鏍规嵁涓婚敭鍒犻櫎
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("DeleteByIds")]
-    public ResponseResult DeleteByIds([FromBody] object[] ids)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.DeleteByIds(ids);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     娣诲姞
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("Insert")]
-    public ResponseResult Add([FromBody] SalesReturnNoticeDetail data)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.Insert(data);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     娣诲姞杩斿洖鑷
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("InsertReturnIdentity")]
-    public ResponseResult InsertReturnIdentity(
-        [FromBody] SalesReturnNoticeDetail data)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.InsertReturnIdentity(data);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-
-    /// <summary>
-    ///     淇敼
-    /// </summary>
-    /// <returns></returns>
-    [HttpPost("Update")]
-    public ResponseResult Update([FromBody] SalesReturnNoticeDetail data)
-    {
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.Update(data);
-            return new ResponseResult
-            {
-                status = 0,
-                message = "OK",
-                data = resultInfos
-            };
-        }
-        catch (Exception ex)
-        {
-            return ResponseResult.ResponseError(ex);
-        }
-    }
-}
\ No newline at end of file
diff --git a/MESApplication/Controllers/SalesDeliveryNotice/SalesDeliveryNoticeController.cs b/MESApplication/Controllers/SalesDeliveryNotice/SalesDeliveryNoticeController.cs
new file mode 100644
index 0000000..7648857
--- /dev/null
+++ b/MESApplication/Controllers/SalesDeliveryNotice/SalesDeliveryNoticeController.cs
@@ -0,0 +1,272 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Logging;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service;
+using MES.Service.util;
+using MES.Service.service.BasicData;
+using MES.Service.Dto.webApi;
+using Newtonsoft.Json;
+using MES.Service.Modes.SalesDeliveryNotice;
+
+namespace MESApplication.Controllers
+{
+    [ApiController]
+    [Route("api/[controller]")]
+    public class SalesDeliveryNoticeController : ControllerBase
+    {
+        
+       
+
+        private readonly MessageCenterManager _manager = new();
+
+        private SalesDeliveryNoticeManager m = new SalesDeliveryNoticeManager();
+
+        private readonly string METHOD = "POST";
+
+        private readonly string TableName = "SALES_DELIVERY_NOTICE";
+
+        private readonly string URL = "http://localhost:10054/api/SalesDeliveryNotice/";
+
+
+        //
+        [HttpPost("Save")]
+        public ResponseResult Save(ErpSalesDelivery salesOrder)
+        {
+            var entity = new MessageCenter();
+            entity.TableName = TableName;
+            entity.Url = URL + "Save";
+            entity.Method = METHOD;
+            entity.Data = JsonConvert.SerializeObject(salesOrder);
+            entity.Status = 1;
+            entity.CreateBy = "PL017";
+            try
+            {
+                dynamic resultInfos = new ExpandoObject();
+                var save = m.Save(salesOrder);
+
+                resultInfos.tbBillList = save;
+
+                entity.Result = 0;
+                if (save) entity.Result = 1;
+
+                entity.DealWith = 1;
+                _manager.save(entity);
+
+                return new ResponseResult
+                {
+                    status = 0,
+                    message = "OK",
+                    data = resultInfos
+                };
+            }
+            catch (Exception ex)
+            {
+                entity.Result = 0;
+
+                entity.DealWith = 0;
+
+                entity.ResultData = ex.Message;
+
+                _manager.save(entity);
+
+                return ResponseResult.ResponseError(ex);
+            }
+        }
+
+        [HttpPost("SaveList")]
+        public ResponseResult SaveList(List<ErpSalesDelivery> units)
+        {
+            var entity = new MessageCenter();
+            entity.TableName = TableName;
+            entity.Url = URL + "SaveList";
+            entity.Method = METHOD;
+            entity.Data = JsonConvert.SerializeObject(units);
+            entity.Status = 1;
+            entity.CreateBy = "PL017";
+            try
+            {
+                dynamic resultInfos = new ExpandoObject();
+                var save = m.SaveList(units);
+                resultInfos.tbBillList = save;
+
+                entity.Result = 0;
+                if (save) entity.Result = 1;
+
+                entity.DealWith = 1;
+                _manager.save(entity);
+
+                return new ResponseResult
+                {
+                    status = 0,
+                    message = "OK",
+                    data = resultInfos
+                };
+            }
+            catch (Exception ex)
+            {
+                entity.Result = 0;
+
+                entity.DealWith = 0;
+
+                entity.ResultData = ex.Message;
+
+                _manager.save(entity);
+
+                return ResponseResult.ResponseError(ex);
+            }
+        }
+
+
+        /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
+
+        /// <summary>
+        /// 鑾峰彇鎵�鏈�
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost("GetList")]
+        public ResponseResult GetList()
+        {
+            try
+            {
+                dynamic resultInfos = new ExpandoObject();
+                resultInfos.tbBillList = m.GetList();
+                return new ResponseResult
+                {
+                    status = 0,
+                    message = "OK",
+                    data = resultInfos
+                };
+            }
+            catch (Exception ex)
+            {
+                return ResponseResult.ResponseError(ex);
+            }
+        }
+
+
+        /// <summary>
+        /// 鏍规嵁涓婚敭鑾峰彇
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost("GetById")]
+        public ResponseResult GetById(int id)
+        {
+            try
+            {
+                dynamic resultInfos = new ExpandoObject();
+                resultInfos.tbBillList = m.GetById(id);
+                return new ResponseResult
+                {
+                    status = 0,
+                    message = "OK",
+                    data = resultInfos
+                };
+            }
+            catch (Exception ex)
+            {
+                return ResponseResult.ResponseError(ex);
+            }
+        }
+
+        /// <summary>
+        /// 鏍规嵁涓婚敭鍒犻櫎
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost("DeleteByIds")]
+        public ResponseResult DeleteByIds([FromBody] object[] ids)
+        {
+            try
+            {
+                dynamic resultInfos = new ExpandoObject();
+                resultInfos.tbBillList = m.DeleteByIds(ids);
+                return new ResponseResult
+                {
+                    status = 0,
+                    message = "OK",
+                    data = resultInfos
+                };
+            }
+            catch (Exception ex)
+            {
+                return ResponseResult.ResponseError(ex);
+            }
+        }
+
+        /// <summary>
+        /// 娣诲姞 
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost("Insert")]
+        public ResponseResult Add([FromBody] SalesDeliveryNotice data)
+        {
+            try
+            {
+                dynamic resultInfos = new ExpandoObject();
+                resultInfos.tbBillList = m.Insert(data);
+                return new ResponseResult
+                {
+                    status = 0,
+                    message = "OK",
+                    data = resultInfos
+                };
+            }
+            catch (Exception ex)
+            {
+                return ResponseResult.ResponseError(ex);
+            }
+        }
+        /// <summary>
+        /// 娣诲姞杩斿洖鑷
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost("InsertReturnIdentity")]
+        public ResponseResult InsertReturnIdentity([FromBody] SalesDeliveryNotice data)
+        {
+            try
+            {
+                dynamic resultInfos = new ExpandoObject();
+                resultInfos.tbBillList = m.InsertReturnIdentity(data);
+                return new ResponseResult
+                {
+                    status = 0,
+                    message = "OK",
+                    data = resultInfos
+                };
+            }
+            catch (Exception ex)
+            {
+                return ResponseResult.ResponseError(ex);
+            }
+        }
+
+        /// <summary>
+        /// 淇敼
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost("Update")]
+        public ResponseResult Update([FromBody] SalesDeliveryNotice data)
+        {
+            try
+            {
+                dynamic resultInfos = new ExpandoObject();
+                resultInfos.tbBillList = m.Update(data);
+                return new ResponseResult
+                {
+                    status = 0,
+                    message = "OK",
+                    data = resultInfos
+                };
+            }
+            catch (Exception ex)
+            {
+                return ResponseResult.ResponseError(ex);
+            }
+        }
+    }
+}
diff --git a/MESApplication/Controllers/BasicData/SalesOrderController.cs b/MESApplication/Controllers/SalesOrder/SalesOrderController.cs
similarity index 86%
rename from MESApplication/Controllers/BasicData/SalesOrderController.cs
rename to MESApplication/Controllers/SalesOrder/SalesOrderController.cs
index 814aa54..3505f28 100644
--- a/MESApplication/Controllers/BasicData/SalesOrderController.cs
+++ b/MESApplication/Controllers/SalesOrder/SalesOrderController.cs
@@ -1,11 +1,11 @@
 锘縰sing System.Dynamic;
 using MES.Service.Dto.webApi;
+using Newtonsoft.Json;
 using MES.Service.Modes;
 using MES.Service.service;
 using MES.Service.service.BasicData;
 using MES.Service.util;
 using Microsoft.AspNetCore.Mvc;
-using Newtonsoft.Json;
 
 namespace MESApplication.Controllers.BasicData;
 
@@ -13,34 +13,33 @@
 [Route("api/[controller]")]
 public class SalesOrderController : ControllerBase
 {
-
     private readonly MessageCenterManager _manager = new();
+
     private readonly SalesOrderManager m = new();
 
     private readonly string METHOD = "POST";
 
     private readonly string TableName = "SALES_ORDER";
 
-    private readonly string URL = "http://localhost:10054/api/SalesOrder/";
+    private readonly string URL =
+        "http://localhost:10054/api/SalesOrder/";
 
-    /// <summary>
-    ///     鍗曟潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-    /// </summary>
-    /// <returns></returns>
+
+    //
     [HttpPost("Save")]
-    public ResponseResult Save(SalesOrders salesOrders)
+    public ResponseResult Save(ErpSalesOrder salesOrder)
     {
         var entity = new MessageCenter();
         entity.TableName = TableName;
         entity.Url = URL + "Save";
         entity.Method = METHOD;
-        entity.Data = JsonConvert.SerializeObject(salesOrders);
+        entity.Data = JsonConvert.SerializeObject(salesOrder);
         entity.Status = 1;
         entity.CreateBy = "PL017";
         try
         {
             dynamic resultInfos = new ExpandoObject();
-            var save = m.Save(salesOrders);
+            var save = m.Save(salesOrder);
 
             resultInfos.tbBillList = save;
 
@@ -67,21 +66,12 @@
 
             _manager.save(entity);
 
-            return  new ResponseResult
-            {
-                status = 1,
-                message = ex.Message,
-                data = ex.Message
-            }; 
+            return ResponseResult.ResponseError(ex);
         }
     }
 
-    /// <summary>
-    ///     澶氭潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-    /// </summary>
-    /// <returns></returns>
     [HttpPost("SaveList")]
-    public ResponseResult SaveList(List<SalesOrders> units)
+    public ResponseResult SaveList(List<ErpSalesOrder> units)
     {
         var entity = new MessageCenter();
         entity.TableName = TableName;
@@ -119,16 +109,9 @@
 
             _manager.save(entity);
 
-            return new ResponseResult
-            {
-                status = 1,
-                message = ex.Message,
-                data = ex.Message
-            };
+            return ResponseResult.ResponseError(ex);
         }
     }
-
-    /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
 
     /// <summary>
     ///     鑾峰彇鎵�鏈�
diff --git a/MESApplication/Controllers/BasicData/SalesReturnNoticeController.cs b/MESApplication/Controllers/SalesReturnNotice/SalesReturnNoticeController.cs
similarity index 87%
rename from MESApplication/Controllers/BasicData/SalesReturnNoticeController.cs
rename to MESApplication/Controllers/SalesReturnNotice/SalesReturnNoticeController.cs
index e3fdce5..bc5249d 100644
--- a/MESApplication/Controllers/BasicData/SalesReturnNoticeController.cs
+++ b/MESApplication/Controllers/SalesReturnNotice/SalesReturnNoticeController.cs
@@ -13,7 +13,7 @@
 [Route("api/[controller]")]
 public class SalesReturnNoticeController : ControllerBase
 {
-    private readonly MessageCenterManager _manager = new();
+   private readonly MessageCenterManager _manager = new();
 
     private readonly SalesReturnNoticeManager m = new();
 
@@ -23,24 +23,22 @@
 
     private readonly string URL = "http://localhost:10054/api/SalesReturnNotice/";
 
-    /// <summary>
-    ///     鍗曟潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-    /// </summary>
-    /// <returns></returns>
+
+    //
     [HttpPost("Save")]
-    public ResponseResult Save(SaleReturnNotice saleReturnNotice)
+    public ResponseResult Save(ErpSalesRerurn salesOrder)
     {
         var entity = new MessageCenter();
         entity.TableName = TableName;
         entity.Url = URL + "Save";
         entity.Method = METHOD;
-        entity.Data = JsonConvert.SerializeObject(saleReturnNotice);
+        entity.Data = JsonConvert.SerializeObject(salesOrder);
         entity.Status = 1;
         entity.CreateBy = "PL017";
         try
         {
             dynamic resultInfos = new ExpandoObject();
-            var save = m.Save(saleReturnNotice);
+            var save = m.Save(salesOrder);
 
             resultInfos.tbBillList = save;
 
@@ -67,21 +65,12 @@
 
             _manager.save(entity);
 
-            return new ResponseResult
-            {
-                status = 1,
-                message = ex.Message,
-                data = ex.Message
-            };
+            return ResponseResult.ResponseError(ex);
         }
     }
 
-    /// <summary>
-    ///     澶氭潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-    /// </summary>
-    /// <returns></returns>
     [HttpPost("SaveList")]
-    public ResponseResult SaveList(List<SaleReturnNotice> units)
+    public ResponseResult SaveList(List<ErpSalesRerurn> units)
     {
         var entity = new MessageCenter();
         entity.TableName = TableName;
@@ -119,15 +108,15 @@
 
             _manager.save(entity);
 
-            return new ResponseResult
-            {
-                status = 1,
-                message = ex.Message,
-                data = ex.Message
-            };
+            return ResponseResult.ResponseError(ex);
         }
     }
 
+
+
+
+
+
     /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/
 
     /// <summary>
diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.dll b/MESApplication/bin/Debug/net8.0/MES.Service.dll
index 1fd5998..abf60e5 100644
--- a/MESApplication/bin/Debug/net8.0/MES.Service.dll
+++ b/MESApplication/bin/Debug/net8.0/MES.Service.dll
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.pdb b/MESApplication/bin/Debug/net8.0/MES.Service.pdb
index 59fb86f..04ed036 100644
--- a/MESApplication/bin/Debug/net8.0/MES.Service.pdb
+++ b/MESApplication/bin/Debug/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.deps.json b/MESApplication/bin/Debug/net8.0/MESApplication.deps.json
index 7dc1086..eabfd1f 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.deps.json
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.deps.json
@@ -1887,10 +1887,7 @@
           "SqlSugarCore": "5.1.4.158"
         },
         "runtime": {
-          "MES.Service.dll": {
-            "assemblyVersion": "1.0.0",
-            "fileVersion": "1.0.0.0"
-          }
+          "MES.Service.dll": {}
         }
       },
       "Kingdee.CDP.WebApi.SDK/8.0.6.0": {
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.dll b/MESApplication/bin/Debug/net8.0/MESApplication.dll
index 18f7ab0..f357ae0 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.dll
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.dll
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.exe b/MESApplication/bin/Debug/net8.0/MESApplication.exe
index d09a3bc..43d7abd 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.exe
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.exe
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.pdb b/MESApplication/bin/Debug/net8.0/MESApplication.pdb
index 5cce981..a663a62 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.pdb
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.pdb
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.xml b/MESApplication/bin/Debug/net8.0/MESApplication.xml
index 8381543..694c31d 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.xml
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.xml
@@ -462,138 +462,6 @@
             </summary>
             <returns></returns>
         </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeController.Save(MES.Service.Dto.webApi.SaleDeliveryNotice)">
-            <summary>
-                鍗曟潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeController.SaveList(System.Collections.Generic.List{MES.Service.Dto.webApi.SaleDeliveryNotice})">
-            <summary>
-                澶氭潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeController.GetList">
-            <summary>
-                鑾峰彇鎵�鏈�
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeController.GetById(System.Int32)">
-            <summary>
-                鏍规嵁涓婚敭鑾峰彇
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeController.DeleteByIds(System.Object[])">
-            <summary>
-                鏍规嵁涓婚敭鍒犻櫎
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeController.Add(MES.Service.Modes.SalesDeliveryNotice)">
-            <summary>
-                娣诲姞
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeController.InsertReturnIdentity(MES.Service.Modes.SalesDeliveryNotice)">
-            <summary>
-                娣诲姞杩斿洖鑷
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeController.Update(MES.Service.Modes.SalesDeliveryNotice)">
-            <summary>
-                淇敼
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeDetailController.GetList">
-            <summary>
-                鑾峰彇鎵�鏈�
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeDetailController.GetById(System.Int32)">
-            <summary>
-                鏍规嵁涓婚敭鑾峰彇
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeDetailController.DeleteByIds(System.Object[])">
-            <summary>
-                鏍规嵁涓婚敭鍒犻櫎
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeDetailController.Add(MES.Service.Modes.SalesDeliveryNoticeDetail)">
-            <summary>
-                娣诲姞
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeDetailController.InsertReturnIdentity(MES.Service.Modes.SalesDeliveryNoticeDetail)">
-            <summary>
-                娣诲姞杩斿洖鑷
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesDeliveryNoticeDetailController.Update(MES.Service.Modes.SalesDeliveryNoticeDetail)">
-            <summary>
-                淇敼
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.Save(MES.Service.Dto.webApi.SalesOrders)">
-            <summary>
-                鍗曟潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.SaveList(System.Collections.Generic.List{MES.Service.Dto.webApi.SalesOrders})">
-            <summary>
-                澶氭潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.GetList">
-            <summary>
-                鑾峰彇鎵�鏈�
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.GetById(System.Int32)">
-            <summary>
-                鏍规嵁涓婚敭鑾峰彇
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.DeleteByIds(System.Object[])">
-            <summary>
-                鏍规嵁涓婚敭鍒犻櫎
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.Add(MES.Service.Modes.SalesOrder)">
-            <summary>
-                娣诲姞
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.InsertReturnIdentity(MES.Service.Modes.SalesOrder)">
-            <summary>
-                娣诲姞杩斿洖鑷
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.Update(MES.Service.Modes.SalesOrder)">
-            <summary>
-                淇敼
-            </summary>
-            <returns></returns>
-        </member>
         <member name="M:MESApplication.Controllers.BasicData.SalesOrderDetailController.GetList">
             <summary>
                 鑾峰彇鎵�鏈�
@@ -625,90 +493,6 @@
             <returns></returns>
         </member>
         <member name="M:MESApplication.Controllers.BasicData.SalesOrderDetailController.Update(MES.Service.Modes.SalesOrderDetail)">
-            <summary>
-                淇敼
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.Save(MES.Service.Dto.webApi.SaleReturnNotice)">
-            <summary>
-                鍗曟潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.SaveList(System.Collections.Generic.List{MES.Service.Dto.webApi.SaleReturnNotice})">
-            <summary>
-                澶氭潯涓昏〃鏁版嵁淇濆瓨鎿嶄綔
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.GetList">
-            <summary>
-                鑾峰彇鎵�鏈�
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.GetById(System.Int32)">
-            <summary>
-                鏍规嵁涓婚敭鑾峰彇
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.DeleteByIds(System.Object[])">
-            <summary>
-                鏍规嵁涓婚敭鍒犻櫎
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.Add(MES.Service.Modes.SalesReturnNotice)">
-            <summary>
-                娣诲姞
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.InsertReturnIdentity(MES.Service.Modes.SalesReturnNotice)">
-            <summary>
-                娣诲姞杩斿洖鑷
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.Update(MES.Service.Modes.SalesReturnNotice)">
-            <summary>
-                淇敼
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeDetailController.GetList">
-            <summary>
-                鑾峰彇鎵�鏈�
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeDetailController.GetById(System.Int32)">
-            <summary>
-                鏍规嵁涓婚敭鑾峰彇
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeDetailController.DeleteByIds(System.Object[])">
-            <summary>
-                鏍规嵁涓婚敭鍒犻櫎
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeDetailController.Add(MES.Service.Modes.SalesReturnNoticeDetail)">
-            <summary>
-                娣诲姞
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeDetailController.InsertReturnIdentity(MES.Service.Modes.SalesReturnNoticeDetail)">
-            <summary>
-                娣诲姞杩斿洖鑷
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeDetailController.Update(MES.Service.Modes.SalesReturnNoticeDetail)">
             <summary>
                 淇敼
             </summary>
@@ -840,6 +624,78 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.GetList">
+            <summary>
+                鑾峰彇鎵�鏈�
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.GetById(System.Int32)">
+            <summary>
+                鏍规嵁涓婚敭鑾峰彇
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.DeleteByIds(System.Object[])">
+            <summary>
+                鏍规嵁涓婚敭鍒犻櫎
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.Add(MES.Service.Modes.SalesOrder)">
+            <summary>
+                娣诲姞
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.InsertReturnIdentity(MES.Service.Modes.SalesOrder)">
+            <summary>
+                娣诲姞杩斿洖鑷
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesOrderController.Update(MES.Service.Modes.SalesOrder)">
+            <summary>
+                淇敼
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.GetList">
+            <summary>
+                鑾峰彇鎵�鏈�
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.GetById(System.Int32)">
+            <summary>
+                鏍规嵁涓婚敭鑾峰彇
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.DeleteByIds(System.Object[])">
+            <summary>
+                鏍规嵁涓婚敭鍒犻櫎
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.Add(MES.Service.Modes.SalesReturnNotice)">
+            <summary>
+                娣诲姞
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.InsertReturnIdentity(MES.Service.Modes.SalesReturnNotice)">
+            <summary>
+                娣诲姞杩斿洖鑷
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.BasicData.SalesReturnNoticeController.Update(MES.Service.Modes.SalesReturnNotice)">
+            <summary>
+                淇敼
+            </summary>
+            <returns></returns>
+        </member>
         <member name="M:MESApplication.Controllers.OrganizeController.GetList">
             <summary>
             鑾峰彇鎵�鏈�
@@ -918,6 +774,13 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.QC.SJController.UpdateQsItemIpiItemIsPass(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            鏇存柊QsItemIpiItem鐨処sPass鍊�
+            </summary>
+            <param name="data">鍖呭惈id鍜宨sPass鐨凧SON瀵硅薄</param>
+            <returns>鏇存柊缁撴灉</returns>
+        </member>
         <member name="M:MESApplication.Controllers.QC.XJController.getDaa001(Newtonsoft.Json.Linq.JObject)">
             <summary>
                 鑾峰彇宸ュ崟
@@ -929,6 +792,42 @@
             </summary>
             <returns></returns>
         </member>
+        <member name="M:MESApplication.Controllers.SalesDeliveryNoticeController.GetList">
+            <summary>
+            鑾峰彇鎵�鏈�
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.SalesDeliveryNoticeController.GetById(System.Int32)">
+            <summary>
+            鏍规嵁涓婚敭鑾峰彇
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.SalesDeliveryNoticeController.DeleteByIds(System.Object[])">
+            <summary>
+            鏍规嵁涓婚敭鍒犻櫎
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.SalesDeliveryNoticeController.Add(MES.Service.Modes.SalesDeliveryNotice.SalesDeliveryNotice)">
+            <summary>
+            娣诲姞 
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.SalesDeliveryNoticeController.InsertReturnIdentity(MES.Service.Modes.SalesDeliveryNotice.SalesDeliveryNotice)">
+            <summary>
+            娣诲姞杩斿洖鑷
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MESApplication.Controllers.SalesDeliveryNoticeController.Update(MES.Service.Modes.SalesDeliveryNotice.SalesDeliveryNotice)">
+            <summary>
+            淇敼
+            </summary>
+            <returns></returns>
+        </member>
         <member name="M:MESApplication.Controllers.Warehouse.MesDepotSectionsController.GetList">
             <summary>
                 鑾峰彇鎵�鏈�

--
Gitblit v1.9.3