From d5e3339a3bf56252ca43fe5143c44b179e877630 Mon Sep 17 00:00:00 2001
From: sjz <1240968267@qq.com>
Date: 星期一, 28 四月 2025 17:24:34 +0800
Subject: [PATCH] SRM接口

---
 StandardInterface/MESApplication/MESApplication.csproj                               |   12 
 StandardInterface/MES.Service/Dto/webApi/SRM/ErpBarcode.cs                           |    6 
 StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteDetailController.cs  |    8 
 StandardInterface/MES.Service/Modes/SRM/MesDeliveryNote.cs                           |   52 ++
 StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteDetails.cs                    |   66 +++
 .vs/HM_JK/v17/DocumentLayout.json                                                    |  107 +++++
 StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteController.cs        |  195 +++++++++
 StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteBarcodeController.cs |  198 +++++++++
 StandardInterface/MES.Service/Dto/webApi/SRM/PrintBarcode.cs                         |   13 
 StandardInterface/MES.Service/MES.Service.csproj                                     |   16 
 StandardInterface/MESApplication/Config/appsettings.json                             |   17 
 /dev/null                                                                            |  164 --------
 StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNoteDetail.cs                   |   19 
 StandardInterface/MES.Service/Dto/webApi/SRM/Delivery.cs                             |    7 
 StandardInterface/MES.Service/service/SRM/MesDeliveryNoteBarcodeManager.cs           |   92 ++++
 StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNote.cs                         |   11 
 StandardInterface/MES.Service/Dto/webApi/SRM/ErpDelivery.cs                          |    6 
 .vs/HM_JK/v17/.wsuo                                                                  |    0 
 StandardInterface/MES.Service/resources/Kingdee.CDP.WebApi.SDK.dll                   |    0 
 StandardInterface/MES.Service/service/SRM/MesDeliveryNoteManager.cs                  |  119 +++++
 StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteBarcode.cs                    |   52 ++
 StandardInterface/MES.Service/service/SRM/MesDeliveryNoteDetailsManager.cs           |   12 
 22 files changed, 985 insertions(+), 187 deletions(-)

diff --git a/.vs/HM_JK/v17/.wsuo b/.vs/HM_JK/v17/.wsuo
new file mode 100644
index 0000000..38a63b3
--- /dev/null
+++ b/.vs/HM_JK/v17/.wsuo
Binary files differ
diff --git a/.vs/HM_JK/v17/DocumentLayout.json b/.vs/HM_JK/v17/DocumentLayout.json
new file mode 100644
index 0000000..04e36e6
--- /dev/null
+++ b/.vs/HM_JK/v17/DocumentLayout.json
@@ -0,0 +1,107 @@
+{
+  "Version": 1,
+  "WorkspaceRootPath": "E:\\Tool\\HM\\HM_JK\\",
+  "Documents": [],
+  "DocumentGroupContainers": [
+    {
+      "Orientation": 0,
+      "VerticalTabListWidth": 256,
+      "DocumentGroups": [
+        {
+          "DockedWidth": 200,
+          "SelectedChildIndex": -1,
+          "Children": [
+            {
+              "$type": "Bookmark",
+              "Name": "ST:132:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:133:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:132:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:130:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:129:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:131:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:130:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:134:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:134:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:135:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:138:0:{13b12e3e-c1b4-4539-9371-4fe9a0d523fc}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:137:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:136:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:139:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:141:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:143:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:140:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:142:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Dto/webApi/Delivery.cs b/StandardInterface/MES.Service/Dto/webApi/Delivery.cs
deleted file mode 100644
index 8322af0..0000000
--- a/StandardInterface/MES.Service/Dto/webApi/Delivery.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi;
-
-public class Delivery
-{
-    public ErpDelivery ErpDelivery { get; set; }
-    public List<ErpDeliveryData> ErpDeliveryData { get; set; }
-}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Dto/webApi/ErpBarcode.cs b/StandardInterface/MES.Service/Dto/webApi/ErpBarcode.cs
deleted file mode 100644
index 9123c04..0000000
--- a/StandardInterface/MES.Service/Dto/webApi/ErpBarcode.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi;
-
-public class ErpBarcode
-{
-    public string? Type { get; set; }
-    public string? DeliveryNo { get; set; }
-    public string? LineNo { get; set; }
-    public string? ProductCode { get; set; }
-    public string? SmallBarcode { get; set; }
-    public string? IncludeQty { get; set; }
-    public string? SupplierId { get; set; }
-    public string? FPackageBarcode { get; set; }
-}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Dto/webApi/ErpDelivery.cs b/StandardInterface/MES.Service/Dto/webApi/ErpDelivery.cs
deleted file mode 100644
index 27b1143..0000000
--- a/StandardInterface/MES.Service/Dto/webApi/ErpDelivery.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-锘縩amespace MES.Service.Dto.webApi;
-
-public class ErpDelivery
-{
-    public string? Type { get; set; }
-    public string? DeliveryNo { get; set; }
-    public string? DepotNo { get; set; }
-    public string? FDate { get; set; }
-    public string? Remark { get; set; }
-    public string? SupplierId { get; set; }
-    public string? ErpId { get; set; }
-
-    public string? F_ZJXF_sfgx { get; set; }
-}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Dto/webApi/SRM/Delivery.cs b/StandardInterface/MES.Service/Dto/webApi/SRM/Delivery.cs
new file mode 100644
index 0000000..46de90c
--- /dev/null
+++ b/StandardInterface/MES.Service/Dto/webApi/SRM/Delivery.cs
@@ -0,0 +1,7 @@
+锘縩amespace MES.Service.Dto.webApi.SRM;
+
+public class Delivery
+{
+    public DeliveryNote DeliveryNote { get; set; }
+    public List<DeliveryNoteDetail> DeliveryNoteDetail { get; set; }
+}
diff --git a/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNote.cs b/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNote.cs
new file mode 100644
index 0000000..bcbd735
--- /dev/null
+++ b/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNote.cs
@@ -0,0 +1,11 @@
+锘縩amespace MES.Service.Dto.webApi.SRM;
+
+public class DeliveryNote
+{
+    public string? Erpid { get; set; }
+    public string? DeliveryNo { get; set; }
+    public string? SupplierId { get; set; }
+    public string? FDate { get; set; }
+    public string? Remark { get; set; }
+    public string? FReceiveOrgId { get; set; }
+}
diff --git a/StandardInterface/MES.Service/Dto/webApi/ErpDeliveryData.cs b/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNoteDetail.cs
similarity index 61%
rename from StandardInterface/MES.Service/Dto/webApi/ErpDeliveryData.cs
rename to StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNoteDetail.cs
index 25e0697..9d3494b 100644
--- a/StandardInterface/MES.Service/Dto/webApi/ErpDeliveryData.cs
+++ b/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNoteDetail.cs
@@ -1,20 +1,17 @@
-锘縩amespace MES.Service.Dto.webApi;
+锘縩amespace MES.Service.Dto.webApi.SRM;
 
-public class ErpDeliveryData
+public class DeliveryNoteDetail
 {
+    public string? DeliveryNo { get; set; }
     public string? LineNo { get; set; }
-    public string? FBillNo { get; set; }
     public string? ProductCode { get; set; }
-    public string? IncludeQty { get; set; }
     public string? PurchaseQty { get; set; }
     public string? DeliveryQty { get; set; }
-    public string? SalesOrderId { get; set; }
-    public string? OrderlineId { get; set; }
+    public string? IncludeQty { get; set; }
     public string? PurchaseUnit { get; set; }
     public string? InventoryUnit { get; set; }
-    public string? FXSHTH { get; set; }
     public string? Remark { get; set; }
-    public string? FMtoNo { get; set; }
-    public string? FLot { get; set; }
-    public string? F_SLTZ_SCTZDA { get; set; }
-}
\ No newline at end of file
+    public string? FBillNo { get; set; }
+    public string? OrderlineId { get; set; }
+    public string? DepotNo { get; set; }
+}
diff --git a/StandardInterface/MES.Service/Dto/webApi/SRM/ErpBarcode.cs b/StandardInterface/MES.Service/Dto/webApi/SRM/ErpBarcode.cs
new file mode 100644
index 0000000..7c74a26
--- /dev/null
+++ b/StandardInterface/MES.Service/Dto/webApi/SRM/ErpBarcode.cs
@@ -0,0 +1,6 @@
+锘縩amespace MES.Service.Dto.webApi.SRM;
+
+public class ErpBarcode
+{
+    public string? SmallBarcode { get; set; }
+}
diff --git a/StandardInterface/MES.Service/Dto/webApi/SRM/ErpDelivery.cs b/StandardInterface/MES.Service/Dto/webApi/SRM/ErpDelivery.cs
new file mode 100644
index 0000000..f04782d
--- /dev/null
+++ b/StandardInterface/MES.Service/Dto/webApi/SRM/ErpDelivery.cs
@@ -0,0 +1,6 @@
+锘縩amespace MES.Service.Dto.webApi.SRM;
+
+public class ErpDelivery
+{
+    public string? DeliveryNo { get; set; }
+}
diff --git a/StandardInterface/MES.Service/Dto/webApi/SRM/PrintBarcode.cs b/StandardInterface/MES.Service/Dto/webApi/SRM/PrintBarcode.cs
new file mode 100644
index 0000000..df0e678
--- /dev/null
+++ b/StandardInterface/MES.Service/Dto/webApi/SRM/PrintBarcode.cs
@@ -0,0 +1,13 @@
+锘縩amespace MES.Service.Dto.webApi.SRM;
+
+public class PrintBarcode
+{
+    public string? DeliveryNo { get; set; }
+    public string? LineNo { get; set; }
+    public string? SmallBarcode { get; set; }
+    public string? ProductCode { get; set; }
+    public string? IncludeQty { get; set; }
+    public string? OuterBarcode { get; set; }
+    public string? BarcodeType { get; set; }
+    public string? IsMerge { get; set; }
+}
diff --git a/StandardInterface/MES.Service/MES.Service.csproj b/StandardInterface/MES.Service/MES.Service.csproj
index 5e01337..89bbd58 100644
--- a/StandardInterface/MES.Service/MES.Service.csproj
+++ b/StandardInterface/MES.Service/MES.Service.csproj
@@ -7,8 +7,20 @@
     </PropertyGroup>
 
     <ItemGroup>
-        <PackageReference Include="Masuit.Tools.Core" Version="2024.3.4"/>
-        <PackageReference Include="SqlSugarCore" Version="5.1.4.158"/>
+        <PackageReference Include="Masuit.Tools.Core" Version="2024.3.4" />
+        <PackageReference Include="SqlSugarCore" Version="5.1.4.158" />
+    </ItemGroup>
+
+    <ItemGroup>
+      <Folder Include="Dto\webApi\SRM\" />
+      <Folder Include="Modes\SRM\" />
+      <Folder Include="service\SRM\" />
+    </ItemGroup>
+
+    <ItemGroup>
+      <Reference Include="Kingdee.CDP.WebApi.SDK">
+        <HintPath>resources\Kingdee.CDP.WebApi.SDK.dll</HintPath>
+      </Reference>
     </ItemGroup>
 
 </Project>
diff --git a/StandardInterface/MES.Service/Modes/MesDeliveryNote.cs b/StandardInterface/MES.Service/Modes/MesDeliveryNote.cs
deleted file mode 100644
index cd333fb..0000000
--- a/StandardInterface/MES.Service/Modes/MesDeliveryNote.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-锘縰sing SqlSugar;
-
-namespace MES.Service.Modes;
-
-/// <summary>
-///     閫佽揣鍗曟潯鐮佽〃
-/// </summary>
-[SugarTable("MES_DELIVERY_NOTE")]
-public class MesDeliveryNote
-{
-    /// <summary>
-    ///     SEQ_DELIVERY
-    /// </summary>
-    [SugarColumn(ColumnName = "ID", IsPrimaryKey = true,
-        OracleSequenceName = "SEQ_DELIVERY")]
-    public decimal Id { get; set; }
-
-    /// <summary>
-    ///     閫佽揣鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_NO")]
-    public string? DeliveryNo { get; set; }
-
-    /// <summary>
-    ///     渚涘簲鍟�
-    /// </summary>
-    [SugarColumn(ColumnName = "SUPP_NO")]
-    public string? SuppNo { get; set; }
-
-    /// <summary>
-    ///     鍗曟嵁鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_DATE")]
-    public string? DeliveryDate { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳鏍囪瘑
-    /// </summary>
-    [SugarColumn(ColumnName = "STATUS")]
-    public decimal? Status { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CHECK_USER")]
-    public string? CheckUser { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳鏃ユ湡
-    /// </summary>
-    [SugarColumn(ColumnName = "CHECK_DATE")]
-    public DateTime? CheckDate { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳鏍囪瘑
-    /// </summary>
-    [SugarColumn(ColumnName = "SITE")]
-    public string? Site { get; set; }
-
-    /// <summary>
-    ///     鍒涘缓鏃堕棿
-    /// </summary>
-    [SugarColumn(ColumnName = "CREATE_DATE")]
-    public DateTime? CreateDate { get; set; }
-
-    /// <summary>
-    ///     澶囨敞
-    /// </summary>
-    [SugarColumn(ColumnName = "REMARK")]
-    public string? Remark { get; set; }
-
-    /// <summary>
-    ///     浠撳簱缂栧彿
-    /// </summary>
-    [SugarColumn(ColumnName = "DEPOT_NO")]
-    public string? DepotNo { get; set; }
-
-
-    /// <summary>
-    ///     ERP鏀舵枡閫氱煡鍗曟嵁澶村唴鐮�
-    /// </summary>
-    [SugarColumn(ColumnName = "ERP_ID")]
-    public string? ErpId { get; set; }
-
-    /// <summary>
-    ///     鏄惁渚涘崗
-    /// </summary>
-    [SugarColumn(ColumnName = "F_ZJXF_SFGX")]
-    public string? F_ZJXF_SFGX { get; set; }
-
-    [SugarColumn(IsIgnore = true)] public string? Type { get; set; }
-}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Modes/MesDeliveryNoteBarcode.cs b/StandardInterface/MES.Service/Modes/MesDeliveryNoteBarcode.cs
deleted file mode 100644
index 30a0a62..0000000
--- a/StandardInterface/MES.Service/Modes/MesDeliveryNoteBarcode.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-锘縰sing SqlSugar;
-
-namespace MES.Service.Modes;
-
-/// <summary>
-///     閫佽揣鍗曟潯鐮佽〃
-/// </summary>
-[SugarTable("MES_DELIVERY_NOTE_BARCODE")]
-public class MesDeliveryNoteBarcode
-{
-    /// <summary>
-    ///     SEQ_DELIVERY
-    /// </summary>
-    [SugarColumn(ColumnName = "ID", IsPrimaryKey = true,
-        OracleSequenceName = "SEQ_DELIVERY")]
-    public decimal Id { get; set; }
-
-    /// <summary>
-    ///     閫佽揣鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_NO")]
-    public string? DeliveryNo { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡缂栫爜
-    /// </summary>
-    [SugarColumn(ColumnName = "PRODUCT_CODE")]
-    public string? ProductCode { get; set; }
-
-    /// <summary>
-    ///     鐗╂枡鏉$爜
-    /// </summary>
-    [SugarColumn(ColumnName = "SMALL_BARCODE")]
-    public string? SmallBarcode { get; set; }
-
-    /// <summary>
-    ///     绠辨潯鐮�
-    /// </summary>
-    [SugarColumn(ColumnName = "OUTER_BARCODE")]
-    public string? OuterBarcode { get; set; }
-
-    /// <summary>
-    ///     鏉$爜鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "INCLUDE_QTY")]
-    public decimal? IncludeQty { get; set; }
-
-    /// <summary>
-    ///     鍒涘缓鏃堕棿
-    /// </summary>
-    [SugarColumn(ColumnName = "CREATE_DATE")]
-    public DateTime? CreateDate { get; set; }
-
-    /// <summary>
-    ///     渚涘簲鍟�
-    /// </summary>
-    [SugarColumn(ColumnName = "SUPP_NO")]
-    public string? SuppNo { get; set; }
-
-    /// <summary>
-    ///     閫佽揣鍗曢」娆�
-    /// </summary>
-    [SugarColumn(ColumnName = "LINE_NO")]
-    public decimal? LineNo { get; set; }
-
-
-    [SugarColumn(IsIgnore = true)] public string? Type { get; set; }
-}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Modes/MesDeliveryNoteDetails.cs b/StandardInterface/MES.Service/Modes/MesDeliveryNoteDetails.cs
deleted file mode 100644
index 3d73c68..0000000
--- a/StandardInterface/MES.Service/Modes/MesDeliveryNoteDetails.cs
+++ /dev/null
@@ -1,127 +0,0 @@
-锘縰sing SqlSugar;
-
-namespace MES.Service.Modes;
-
-/// <summary>
-///     閫佽揣鍗曟潯鐮佽〃
-/// </summary>
-[SugarTable("MES_DELIVERY_NOTE_DETAILS")]
-public class MesDeliveryNoteDetails
-{
-    /// <summary>
-    ///     SEQ_DELIVERY
-    /// </summary>
-    [SugarColumn(ColumnName = "ID", IsPrimaryKey = true,
-        OracleSequenceName = "SEQ_DELIVERY")]
-    public decimal Id { get; set; }
-
-    /// <summary>
-    ///     閫佽揣鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_NO")]
-    public string? DeliveryNo { get; set; }
-
-    /// <summary>
-    ///     椤规鍙�
-    /// </summary>
-    [SugarColumn(ColumnName = "LINE_NO")]
-    public decimal? LineNo { get; set; }
-
-    /// <summary>
-    ///     ERP閲囪喘鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "ERP_NO")]
-    public string? ErpNo { get; set; }
-
-    /// <summary>
-    ///     閲囪喘鍗曢」娆�
-    /// </summary>
-    [SugarColumn(ColumnName = "PO_LINENO")]
-    public string? PoLineNo { get; set; }
-
-    /// <summary>
-    ///     浜у搧缂栧彿
-    /// </summary>
-    [SugarColumn(ColumnName = "PRODUCT_CODE")]
-    public string? ProductCode { get; set; }
-
-    /// <summary>
-    ///     鏀舵枡鍗曚綅
-    /// </summary>
-    [SugarColumn(ColumnName = "SL_UNIT")]
-    public string? SlUnit { get; set; }
-
-    /// <summary>
-    ///     搴撳瓨鍗曚綅
-    /// </summary>
-    [SugarColumn(ColumnName = "KC_UNIT")]
-    public string? KcUnit { get; set; }
-
-    /// <summary>
-    ///     鍒涘缓鏃堕棿
-    /// </summary>
-    [SugarColumn(ColumnName = "CREATE_DATE")]
-    public DateTime? CreateDate { get; set; }
-
-    /// <summary>
-    ///     鏈搴旀敹鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "DELIVERY_QTY")]
-    public decimal? DeliveryQty { get; set; }
-
-    /// <summary>
-    ///     璁㈠崟鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "PURCHASE_QTY")]
-    public decimal? PurchaseQty { get; set; }
-
-    /// <summary>
-    ///     浜よ揣鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "INCLUDE_QTY")]
-    public decimal? IncludeQty { get; set; }
-
-    /// <summary>
-    ///     閿�鍞鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "SALE_ORDER")]
-    public string? SaleOrder { get; set; }
-
-    /// <summary>
-    ///     婧愬崟鍗曞彿
-    /// </summary>
-    [SugarColumn(ColumnName = "FSRCBILL_NO")]
-    public string? Fsrcbill_no { get; set; }
-
-    /// <summary>
-    ///     澶囨敞
-    /// </summary>
-    [SugarColumn(ColumnName = "REMARK")]
-    public string? Remark { get; set; }
-
-    /// <summary>
-    ///     鏈瀹炴敹鏁伴噺
-    /// </summary>
-    [SugarColumn(ColumnName = "REAL_QTY")]
-    public decimal? RealQty { 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 = "F_SLTZ_SCTZDA")]
-    public string? F_SLTZ_SCTZDA { get; set; }
-
-    [SugarColumn(IsIgnore = true)] public string? Type { get; set; }
-}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNote.cs b/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNote.cs
new file mode 100644
index 0000000..f117a37
--- /dev/null
+++ b/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNote.cs
@@ -0,0 +1,52 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes.SRM;
+
+//閫佽揣鍗曞ご
+[SugarTable("MES_DELIVERY_NOTE")]
+public class MesDeliveryNote
+{
+    //SEQ_DELIVERY
+    [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_DELIVERY")]
+    public decimal Id { get; set; }
+
+    //閫佽揣鍗曞彿
+    [SugarColumn(ColumnName = "DELIVERY_NO")]
+    public string? DeliveryNo { get; set; }
+
+    //渚涘簲鍟嗗唴鐮�
+    [SugarColumn(ColumnName = "SUPP_NO")]
+    public string? SuppNo { get; set; }
+
+    //鍗曟嵁鏃ユ湡
+    [SugarColumn(ColumnName = "DELIVERY_DATE")]
+    public string? DeliveryDate { get; set; }
+
+    //澶囨敞
+    [SugarColumn(ColumnName = "REMARK")]
+    public string? Remark { get; set; }
+
+    //瀹℃牳鏍囪瘑
+    [SugarColumn(ColumnName = "STATUS")]
+    public decimal? Status { get; set; }
+
+    //瀹℃牳浜�
+    [SugarColumn(ColumnName = "CHECK_USER")]
+    public string? CheckUser { get; set; }
+
+    //瀹℃牳鏃ユ湡
+    [SugarColumn(ColumnName = "CHECK_DATE")]
+    public DateTime? CheckDate { get; set; }
+
+    //鏀舵枡缁勭粐
+    [SugarColumn(ColumnName = "SITE")]
+    public string? Site { get; set; }
+
+    //鍒涘缓鏃堕棿
+    [SugarColumn(ColumnName = "CREATE_DATE")]
+    public DateTime? CreateDate { get; set; }
+
+    //ERP鏀舵枡閫氱煡鍗曟嵁澶村唴鐮�
+    [SugarColumn(ColumnName = "ERP_ID")]
+    public string? ErpId { get; set; }
+}
diff --git a/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteBarcode.cs b/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteBarcode.cs
new file mode 100644
index 0000000..16521bc
--- /dev/null
+++ b/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteBarcode.cs
@@ -0,0 +1,52 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes.SRM;
+
+//閫佽揣鍗曟潯鐮佽〃
+[SugarTable("MES_DELIVERY_NOTE_BARCODE")]
+public class MesDeliveryNoteBarcode
+{
+    //SEQ_DELIVERY
+    [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_DELIVERY_B")]
+    public decimal Id { get; set; }
+
+    //閫佽揣鍗曞彿
+    [SugarColumn(ColumnName = "DELIVERY_NO")]
+    public string? DeliveryNo { get; set; }
+
+    // 鐗╂枡缂栫爜
+    [SugarColumn(ColumnName = "PRODUCT_CODE")]
+    public string? ProductCode { get; set; }
+
+    //鐗╂枡鏉$爜
+    [SugarColumn(ColumnName = "SMALL_BARCODE")]
+    public string? SmallBarcode { get; set; }
+
+    //鏉$爜鏁伴噺
+    [SugarColumn(ColumnName = "INCLUDE_QTY")]
+    public decimal? IncludeQty { get; set; }
+
+    //閫佽揣鍗曢」娆�
+    [SugarColumn(ColumnName = "LINE_NO")]
+    public string? LineNo { get; set; }
+
+    //鍒涘缓鏃堕棿
+    [SugarColumn(ColumnName = "CREATE_DATE")]
+    public DateTime? CreateDate { get; set; }
+
+    //渚涘簲鍟�
+    [SugarColumn(ColumnName = "SUPP_NO")]
+    public string? SuppNo { get; set; }
+
+    //绠辨潯鐮�
+    [SugarColumn(ColumnName = "OUTER_BARCODE")]
+    public string? OuterBarcode { get; set; }
+
+    //鏉$爜绫诲瀷
+    [SugarColumn(ColumnName = "BARCODE_TYPE")]
+    public string? BarcodeType { get; set; }
+
+    //鏄惁鍚堝苟
+    [SugarColumn(ColumnName = "IS_MERGE")]
+    public decimal? IsMegre { get; set; }
+}
diff --git a/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteDetails.cs b/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteDetails.cs
new file mode 100644
index 0000000..2de9451
--- /dev/null
+++ b/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteDetails.cs
@@ -0,0 +1,66 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes.SRM;
+
+/// <summary>
+///     閫佽揣鍗曟槑缁�
+/// </summary>
+[SugarTable("MES_DELIVERY_NOTE_DETAILS")]
+public class MesDeliveryNoteDetails
+{
+    //SEQ_DELIVERY
+    [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_DELIVERY_D")]
+    public decimal Id { get; set; }
+
+    //鏀舵枡閫氱煡鍗曞垎褰曞唴鐮�
+    [SugarColumn(ColumnName = "LINE_NO")]
+    public decimal? LineNo { get; set; }
+
+    //ERP閲囪喘鍗曞彿
+    [SugarColumn(ColumnName = "ERP_NO")]
+    public string? ErpNo { get; set; }
+
+    //閲囪喘鍗曞垎褰曞唴鐮�
+    [SugarColumn(ColumnName = "PO_LINENO")]
+    public string? PoLineNo { get; set; }
+
+    //浜у搧鍐呯爜
+    [SugarColumn(ColumnName = "PRODUCT_CODE")]
+    public string? ProductCode { get; set; }
+
+    //鏀舵枡鍗曚綅
+    [SugarColumn(ColumnName = "SL_UNIT")]
+    public string? SlUnit { get; set; }
+
+    //搴撳瓨鍗曚綅
+    [SugarColumn(ColumnName = "KC_UNIT")]
+    public string? KcUnit { get; set; }
+
+    //鏈搴旀敹鏁伴噺
+    [SugarColumn(ColumnName = "DELIVERY_QTY")]
+    public decimal? DeliveryQty { get; set; }
+
+    //澶囨敞
+    [SugarColumn(ColumnName = "REMARK")]
+    public string? Remark { get; set; }
+
+    //鏀舵枡閫氱煡鍗�
+    [SugarColumn(ColumnName = "DELIVERY_NO")]
+    public string? DeliveryNo { get; set; }
+
+    //鍒涘缓鏃ユ湡
+    [SugarColumn(ColumnName = "CREATE_DATE")]
+    public DateTime? CreateDate { get; set; }
+
+    //閲囪喘璁㈠崟鏁伴噺
+    [SugarColumn(ColumnName = "PURCHASE_QTY")]
+    public decimal? PurchaseQty { get; set; }
+
+    //鏈浜よ揣鏁伴噺
+    [SugarColumn(ColumnName = "INCLUDE_QTY")]
+    public decimal? IncludeQty { get; set; }
+
+    //鏀惰揣浠撳簱
+    [SugarColumn(ColumnName = "DEPOT_CODE")]
+    public string? DepotCode { get; set; }
+}
diff --git a/StandardInterface/MES.Service/resources/Kingdee.CDP.WebApi.SDK.dll b/StandardInterface/MES.Service/resources/Kingdee.CDP.WebApi.SDK.dll
new file mode 100644
index 0000000..4d68c10
--- /dev/null
+++ b/StandardInterface/MES.Service/resources/Kingdee.CDP.WebApi.SDK.dll
Binary files differ
diff --git a/StandardInterface/MES.Service/service/BasicData/Sales/MesDeliveryNoteBarcodeManager.cs b/StandardInterface/MES.Service/service/BasicData/Sales/MesDeliveryNoteBarcodeManager.cs
deleted file mode 100644
index 020242e..0000000
--- a/StandardInterface/MES.Service/service/BasicData/Sales/MesDeliveryNoteBarcodeManager.cs
+++ /dev/null
@@ -1,142 +0,0 @@
-锘縰sing MES.Service.DB;
-using MES.Service.Dto.webApi;
-using MES.Service.Modes;
-using SqlSugar;
-
-namespace MES.Service.service.BasicData.Sales;
-
-public class MesDeliveryNoteBarcodeManager : Repository<MesDeliveryNoteBarcode>
-{
-    //private readonly MesDeliveryNoteBarcodeManager mesDeliveryNoteBarcode = new();
-    public bool Save(ErpBarcode barcode)
-    {
-        var mesDeliveryNoteBarcode = GetMesDeliveryNoteBarcode(barcode);
-
-        return UseTransaction(db =>
-        {
-            switch (barcode.Type)
-            {
-                case "2":
-                case "4":
-                case "5":
-                    return SaveOrUpdateData(db, mesDeliveryNoteBarcode) ? 1 : 0;
-                case "3":
-                case "6":
-                    return DeleteData(db, mesDeliveryNoteBarcode) ? 1 : 0;
-                default:
-                    throw new ArgumentNullException(
-                        $"type娌℃湁{barcode.Type}杩欎釜绫诲瀷鐨勫弬鏁�");
-            }
-
-            throw new NotImplementedException("鎿嶄綔澶辫触");
-        }) > 0;
-    }
-
-    // 鎻掑叆鏁版嵁鐨勬柟娉�
-    private bool InsertData(SqlSugarScope db,
-        MesDeliveryNoteBarcode mesDeliveryNoteBarcode)
-    {
-        if (mesDeliveryNoteBarcode.Id != null)
-            base.DeleteById(mesDeliveryNoteBarcode.Id);
-
-        var insert = base.Insert(mesDeliveryNoteBarcode);
-
-        if (insert) return true;
-        throw new NotImplementedException("鎻掑叆澶辫触");
-    }
-
-    // 鏇存柊鏁版嵁鐨勬柟娉�
-    private bool DeleteData(SqlSugarScope db,
-        MesDeliveryNoteBarcode mesDeliveryNoteBarcode)
-    {
-        var detect = base.DeleteById(mesDeliveryNoteBarcode.Id);
-
-        if (detect) return true;
-        throw new NotImplementedException("鏇存柊澶辫触");
-    }
-
-    // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
-    private bool SaveOrUpdateData(SqlSugarScope db,
-        MesDeliveryNoteBarcode mesDeliveryNoteBarcode)
-    {
-        if (mesDeliveryNoteBarcode.Id != null)
-            base.DeleteById(mesDeliveryNoteBarcode.Id);
-
-        var orUpdate = base.Insert(mesDeliveryNoteBarcode);
-        if (orUpdate) return true;
-        throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
-    }
-
-
-    // 鎵归噺淇濆瓨璁板綍鐨勬柟娉�
-    public bool SaveList(List<ErpBarcode> barcodes)
-    {
-        var result = barcodes.Select(Save).ToList();
-        return result.All(b => b);
-        /*    var list = barcodes.Select(GetMesDeliveryNoteBarcode).ToList();
-            var groupBy = list.GroupBy(s => s.Type)
-                .ToDictionary(g => g.Key, g => g.ToList());
-
-            return UseTransaction(db =>
-            {
-                foreach (var barcodeGroup in groupBy)
-                    switch (barcodeGroup.Key)
-                    {
-                        case "1":
-                            if (!UpdateItemStatusBatch(db, barcodeGroup.Value, "B"))
-                                throw new NotImplementedException("绂佺敤澶辫触");
-                            break;
-                        case "2":
-                            if (!InsertItemBatch(db, barcodeGroup.Value))
-                                throw new NotImplementedException("鎻掑叆澶辫触");
-                            break;
-                        default:
-                            throw new ArgumentNullException(
-                                $"type娌℃湁{barcodeGroup.Key}杩欎釜绫诲瀷鐨勫弬鏁�");
-                    }
-
-                return 1;
-            }) > 0; */
-    }
-
-    /*  private bool InsertItemBatch(SqlSugarScope db, List<MesDeliveryNoteBarcode> barcodeList)
-      {
-          var insertRange = db.Insertable(barcodeList).ExecuteCommand();
-          if (insertRange > 0)
-              return true;
-
-          throw new NotImplementedException("鎻掑叆澶辫触");
-      }
-
-      private bool DeleteItemBatch(SqlSugarScope db, List<MesDeliveryNoteBarcode> barcodeList)
-      {
-          var ids = barcodeList.Select(it => it.Id).ToArray();
-          var deleteByIds = db.Deleteable<MesItems>().In(ids).ExecuteCommand();
-          if (deleteByIds > 0)
-              return true;
-
-          throw new NotImplementedException("鍒犻櫎澶辫触");
-      } */
-
-
-    public MesDeliveryNoteBarcode GetMesDeliveryNoteBarcode(ErpBarcode barcode)
-    {
-        var mesDeliveryNoteBarcode = new MesDeliveryNoteBarcode();
-        var single =
-            base.GetSingle(it => it.SmallBarcode == barcode.SmallBarcode);
-        if (single != null) mesDeliveryNoteBarcode.Id = single.Id;
-
-
-        mesDeliveryNoteBarcode.DeliveryNo = barcode.DeliveryNo;
-        mesDeliveryNoteBarcode.ProductCode = barcode.ProductCode;
-        mesDeliveryNoteBarcode.SmallBarcode = barcode.SmallBarcode;
-        mesDeliveryNoteBarcode.IncludeQty =
-            Convert.ToDecimal(barcode.IncludeQty);
-        mesDeliveryNoteBarcode.LineNo = Convert.ToDecimal(barcode.LineNo);
-        mesDeliveryNoteBarcode.CreateDate = DateTime.Now;
-        mesDeliveryNoteBarcode.SuppNo = barcode.SupplierId;
-        mesDeliveryNoteBarcode.OuterBarcode = barcode.FPackageBarcode;
-
-        return mesDeliveryNoteBarcode;
-    }
-}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/service/BasicData/Sales/MesDeliveryNoteManager.cs b/StandardInterface/MES.Service/service/BasicData/Sales/MesDeliveryNoteManager.cs
deleted file mode 100644
index fca1fa3..0000000
--- a/StandardInterface/MES.Service/service/BasicData/Sales/MesDeliveryNoteManager.cs
+++ /dev/null
@@ -1,148 +0,0 @@
-锘縰sing MES.Service.DB;
-using MES.Service.Dto.webApi;
-using MES.Service.Modes;
-using SqlSugar;
-
-namespace MES.Service.service.BasicData.Sales;
-
-public class MesDeliveryNoteManager : Repository<MesDeliveryNote>
-{
-    private readonly MesDeliveryDetailsManager mesDeliveryNoteManager = new();
-
-    // Save 鏂规硶鐢ㄤ簬淇濆瓨鍗曚釜 RohIn 璁板綍锛屾牴鎹被鍨嬫墽琛屼笉鍚岀殑鎿嶄綔
-    public bool Save(Delivery delivery)
-    {
-        var erpDelivery = delivery.ErpDelivery;
-        var mesDeliveryNote = GetMesDeliveryNote(erpDelivery);
-        var mesDeliveryNoteDetails = GetMesDeliveryNoteDetails(
-            delivery.ErpDeliveryData, erpDelivery.DeliveryNo,
-            mesDeliveryNote.Status);
-
-        return UseTransaction(db =>
-        {
-            switch (erpDelivery.Type)
-            {
-                case "2":
-                case "4":
-                case "5":
-                    return SaveOrUpdateData(db, mesDeliveryNote,
-                        mesDeliveryNoteDetails)
-                        ? 1
-                        : 0;
-                case "3":
-                case "6":
-                    return DeleteData(db, mesDeliveryNote,
-                        mesDeliveryNoteDetails)
-                        ? 1
-                        : 0;
-                default:
-                    throw new NotImplementedException(
-                        $"type娌℃湁{erpDelivery.Type}杩欎釜绫诲瀷");
-            }
-        }) > 0;
-    }
-
-    // 鏇存柊鏁版嵁鐨勬柟娉�
-    private bool DeleteData(SqlSugarScope db, MesDeliveryNote mesDeliveryNote,
-        List<MesDeliveryNoteDetails> mesDeliveryNoteDetails)
-    {
-        var decimals = mesDeliveryNoteDetails.Select(s => s.Id).ToArray();
-        var update = base.DeleteById(mesDeliveryNote.Id);
-        var insertOrUpdate = db.Deleteable<MesDeliveryNoteDetails>()
-            .Where(s => s.DeliveryNo == mesDeliveryNote.DeliveryNo)
-            .ExecuteCommand() > 0;
-
-        if (update && insertOrUpdate) return true;
-        throw new NotImplementedException("鍒犻櫎澶辫触");
-    }
-
-    // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
-    private bool SaveOrUpdateData(SqlSugarScope db,
-        MesDeliveryNote mesDeliveryNote,
-        List<MesDeliveryNoteDetails> mesDeliveryNoteDetails)
-    {
-        if (mesDeliveryNote.Id != null) base.DeleteById(mesDeliveryNote.Id);
-
-        if (mesDeliveryNoteDetails.Count > 0)
-            db.Deleteable<MesDeliveryNoteDetails>()
-                .Where(s => s.DeliveryNo == mesDeliveryNote.DeliveryNo)
-                .ExecuteCommand();
-
-        var orUpdate = base.Insert(mesDeliveryNote);
-        var baOrUpdate =
-            mesDeliveryNoteManager.InsertRange(mesDeliveryNoteDetails);
-        if (orUpdate && baOrUpdate) return true;
-        throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
-    }
-
-    // 鎵归噺淇濆瓨璁板綍鐨勬柟娉�
-    public bool SaveList(List<Delivery> deliveries)
-    {
-        var result = deliveries.Select(Save).ToList();
-        return result.All(b => b);
-    }
-
-    public MesDeliveryNote GetMesDeliveryNote(ErpDelivery delivery)
-    {
-        var mesDeliveryNote = new MesDeliveryNote();
-        var single = base.GetSingle(it => it.DeliveryNo == delivery.DeliveryNo);
-        if (single != null) mesDeliveryNote.Id = single.Id;
-
-        mesDeliveryNote.DeliveryNo = delivery.DeliveryNo;
-        mesDeliveryNote.SuppNo = delivery.SupplierId;
-        mesDeliveryNote.DeliveryDate = delivery.FDate;
-        mesDeliveryNote.Remark = delivery.Remark;
-        if (single != null)
-        {
-            mesDeliveryNote.Status = single.Status;
-            mesDeliveryNote.CheckUser = single.CheckUser;
-            mesDeliveryNote.CheckDate = single.CheckDate;
-        }
-        else
-        {
-            mesDeliveryNote.Status = 0;
-        }
-
-        mesDeliveryNote.CreateDate = DateTime.Now;
-        mesDeliveryNote.DepotNo = delivery.DepotNo;
-        mesDeliveryNote.ErpId = delivery.ErpId;
-        mesDeliveryNote.F_ZJXF_SFGX = delivery.F_ZJXF_sfgx;
-
-        return mesDeliveryNote;
-    }
-
-    public List<MesDeliveryNoteDetails> GetMesDeliveryNoteDetails(
-        List<ErpDeliveryData> erpDeliveryDatas, string? type, decimal? status)
-    {
-        return erpDeliveryDatas.Select(s =>
-        {
-            var entity = new MesDeliveryNoteDetails
-            {
-                DeliveryNo = type,
-                LineNo = Convert.ToDecimal(s.LineNo),
-                ErpNo = s.FBillNo,
-                PoLineNo = s.OrderlineId,
-                ProductCode = s.ProductCode,
-                SlUnit = s.PurchaseUnit,
-                KcUnit = s.InventoryUnit,
-                DeliveryQty = Convert.ToDecimal(s.DeliveryQty),
-                Remark = s.Remark,
-                CreateDate = DateTime.Now,
-                SaleOrder = s.FXSHTH,
-                PurchaseQty = Convert.ToDecimal(s.PurchaseQty),
-                IncludeQty = Convert.ToDecimal(s.IncludeQty),
-                Fsrcbill_no = s.SalesOrderId,
-                RealQty = Convert.ToDecimal(s.IncludeQty),
-                FMTONO = s.FMtoNo,
-                FLOT = s.FLot,
-                F_SLTZ_SCTZDA = s.F_SLTZ_SCTZDA
-            };
-            var single =
-                mesDeliveryNoteManager.GetSingle(it =>
-                    it.LineNo == entity.LineNo);
-            if (single != null && status == 1) entity.RealQty = single.RealQty;
-
-            return entity;
-        }).ToList();
-    }
-}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteBarcodeManager.cs b/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteBarcodeManager.cs
new file mode 100644
index 0000000..782124d
--- /dev/null
+++ b/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteBarcodeManager.cs
@@ -0,0 +1,92 @@
+锘縰sing Masuit.Tools;
+using MES.Service.DB;
+using MES.Service.Dto.webApi.SRM;
+using MES.Service.Modes.SRM;
+using SqlSugar;
+
+public class MesDeliveryNoteBarcodeManager : Repository<MesDeliveryNoteBarcode>
+{
+
+    public dynamic Save(PrintBarcode barcode)
+    {
+        var mesDeliveryBarcode= GetMesDeliveryBarcode(barcode);
+
+        return UseTransaction(db =>
+        {
+            return SaveOrUpdateData(db, mesDeliveryBarcode) ? 1 : 0;
+        }) > 0;
+    }
+
+    public dynamic SaveList(List<PrintBarcode> barcode)
+    {
+        var result = barcode.Select(Save).ToList();
+        return result.All(b => b);
+    }
+
+    public dynamic DeleteBarcode(ErpBarcode barcode)
+    {
+        return UseTransaction(db =>
+        {
+            return DeleteData(db, barcode) ? 1 : 0;
+        }) > 0;
+    }
+    public dynamic DeleteBarcodeList(List<ErpBarcode> barcode)
+    {
+        var result = barcode.Select(DeleteBarcode).ToList();
+        return result.All(b => b);
+    }
+
+    // 鍒犻櫎鏁版嵁鐨勬柟娉�
+    private bool DeleteData(SqlSugarScope db, ErpBarcode barcode)
+    {
+        var del = db.Deleteable<MesDeliveryNoteBarcode>().Where(s => s.SmallBarcode == barcode.SmallBarcode).ExecuteCommand() > 0;
+
+        if (del) { 
+            return true;
+        } 
+        throw new NotImplementedException("鍒犻櫎澶辫触");
+    }
+
+    // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
+    private bool SaveOrUpdateData(SqlSugarScope db, MesDeliveryNoteBarcode mesDeliveryBarcode)
+    {
+        if (mesDeliveryBarcode.Id != null)
+        {
+            base.DeleteById(mesDeliveryBarcode.Id);
+        }
+
+        var orUpdate = base.Insert(mesDeliveryBarcode);
+        if (orUpdate)
+        {
+            return true;
+        }
+        throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
+    }
+
+
+
+    public MesDeliveryNoteBarcode GetMesDeliveryBarcode(PrintBarcode barcode)
+    {
+        var mesDeliveryBarcode = new MesDeliveryNoteBarcode();
+        var single = base.GetSingle(it => it.SmallBarcode == barcode.SmallBarcode);
+        if (single != null)
+        {
+            mesDeliveryBarcode.Id = single.Id;
+        }
+
+
+        mesDeliveryBarcode.DeliveryNo = barcode.DeliveryNo;
+        mesDeliveryBarcode.ProductCode = barcode.ProductCode;
+
+        mesDeliveryBarcode.LineNo = barcode.LineNo;
+        mesDeliveryBarcode.SmallBarcode = barcode.SmallBarcode;
+        mesDeliveryBarcode.IncludeQty = Convert.ToDecimal(barcode.IncludeQty);
+        mesDeliveryBarcode.CreateDate = DateTime.Now;
+        mesDeliveryBarcode.OuterBarcode = barcode.OuterBarcode;
+        mesDeliveryBarcode.BarcodeType = barcode.BarcodeType;
+        mesDeliveryBarcode.IsMegre = Convert.ToDecimal(barcode.IsMerge);
+
+        return mesDeliveryBarcode;
+    }
+
+}
diff --git a/StandardInterface/MES.Service/service/BasicData/Sales/MesDeliveryNoteDetailsManager.cs b/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteDetailsManager.cs
similarity index 94%
rename from StandardInterface/MES.Service/service/BasicData/Sales/MesDeliveryNoteDetailsManager.cs
rename to StandardInterface/MES.Service/service/SRM/MesDeliveryNoteDetailsManager.cs
index f55ca22..035e931 100644
--- a/StandardInterface/MES.Service/service/BasicData/Sales/MesDeliveryNoteDetailsManager.cs
+++ b/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteDetailsManager.cs
@@ -1,10 +1,10 @@
-锘縰sing MES.Service.DB;
-using MES.Service.Modes;
+锘�
+
+using MES.Service.DB;
+using MES.Service.Modes.SRM;
 using SqlSugar;
 
-namespace MES.Service.service.BasicData.Sales;
-
-public class MesDeliveryDetailsManager : Repository<MesDeliveryNoteDetails>
+public class MesDeliveryNoteDetailsManager : Repository<MesDeliveryNoteDetails>
 {
     //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
 
@@ -76,4 +76,4 @@
     }
 
     #endregion
-}
\ No newline at end of file
+}
diff --git a/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteManager.cs b/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteManager.cs
new file mode 100644
index 0000000..9ff5996
--- /dev/null
+++ b/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteManager.cs
@@ -0,0 +1,119 @@
+锘�
+using MES.Service.DB;
+using MES.Service.Dto.webApi.SRM;
+using MES.Service.Modes.SRM;
+using SqlSugar;
+
+public class MesDeliveryNoteManager : Repository<MesDeliveryNote>{
+    private readonly MesDeliveryNoteDetailsManager mesDeliveryNoteManager = new();
+    public dynamic Save(Delivery delivery)
+    {
+        var DeliveryNote = delivery.DeliveryNote;
+        var mesDeliveryNote = GetMesDeliveryNote(DeliveryNote);
+        var mesDeliveryNoteDetails = GetMesDeliveryNoteDetails(delivery.DeliveryNoteDetail, DeliveryNote.DeliveryNo);
+
+        return UseTransaction(db =>
+        {
+            return SaveOrUpdateData(db, mesDeliveryNote, mesDeliveryNoteDetails) ? 1 : 0;
+        }) > 0;
+    }
+
+    public dynamic SaveList(List<Delivery> delivery)
+    {
+        var result = delivery.Select(Save).ToList();
+        return result.All(b => b);
+    }
+
+    public dynamic DeleteDelivery(ErpDelivery delivery)
+    {
+        return UseTransaction(db =>
+        {
+            return DeleteData(db, delivery) ? 1 : 0;
+        }) > 0;
+    }
+    public dynamic DeleteDeliveryList(List<ErpDelivery> delivery)
+    {
+        var result = delivery.Select(DeleteDelivery).ToList();
+        return result.All(b => b);
+    }
+
+    // 鍒犻櫎鏁版嵁鐨勬柟娉�
+    private bool DeleteData(SqlSugarScope db, ErpDelivery delivery)
+    {
+        var update = db.Deleteable<MesDeliveryNote>().Where(s => s.DeliveryNo == delivery.DeliveryNo).ExecuteCommand()>0;
+        var insertOrUpdate = db.Deleteable<MesDeliveryNoteDetails>().Where(s => s.DeliveryNo == delivery.DeliveryNo).ExecuteCommand() >= 0;
+
+        if (update && insertOrUpdate) return true;
+        throw new NotImplementedException("鍒犻櫎澶辫触,MES涓笉瀛樺湪姝ら�佽揣鍗�");
+    }
+
+    // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
+    private bool SaveOrUpdateData(SqlSugarScope db, MesDeliveryNote mesDeliveryNote, List<MesDeliveryNoteDetails> mesDeliveryNoteDetails)
+    {
+        if (mesDeliveryNote.Id != null)
+        {
+            base.DeleteById(mesDeliveryNote.Id);
+        }
+
+        if (mesDeliveryNoteDetails.Count > 0)
+        {
+            db.Deleteable<MesDeliveryNoteDetails>().Where(s => s.DeliveryNo == mesDeliveryNote.DeliveryNo).ExecuteCommand();
+        }
+        
+        var orUpdate = base.Insert(mesDeliveryNote);
+        var baOrUpdate = mesDeliveryNoteManager.InsertRange(mesDeliveryNoteDetails);
+        if (orUpdate && baOrUpdate) return true;
+        throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
+    }
+
+    public MesDeliveryNote GetMesDeliveryNote(DeliveryNote delivery)
+    {
+        var mesDeliveryNote = new MesDeliveryNote();
+        var single = base.GetSingle(it => it.DeliveryNo == delivery.DeliveryNo);
+        if (single != null) mesDeliveryNote.Id = single.Id;
+
+        mesDeliveryNote.ErpId = delivery.Erpid;
+        mesDeliveryNote.DeliveryNo = delivery.DeliveryNo;
+        mesDeliveryNote.SuppNo = delivery.SupplierId;
+        mesDeliveryNote.DeliveryDate = delivery.FDate;
+        mesDeliveryNote.Remark = delivery.Remark;
+        mesDeliveryNote.Site = delivery.FReceiveOrgId;
+        if (single != null)
+        {
+            mesDeliveryNote.Status = single.Status;
+            mesDeliveryNote.CheckUser = single.CheckUser;
+            mesDeliveryNote.CheckDate = single.CheckDate;
+        }
+        else
+        {
+            mesDeliveryNote.Status = 0;
+        }
+        mesDeliveryNote.CreateDate = DateTime.Now;
+
+        return mesDeliveryNote;
+    }
+
+    public List<MesDeliveryNoteDetails> GetMesDeliveryNoteDetails(List<DeliveryNoteDetail> erpDeliveryDatas, string? type)
+    {
+        return erpDeliveryDatas.Select(s =>
+        {
+            var entity = new MesDeliveryNoteDetails
+            {
+                DeliveryNo = type,
+                LineNo = Convert.ToDecimal(s.LineNo),
+                ErpNo = s.FBillNo,
+                PoLineNo = s.OrderlineId,
+                ProductCode = s.ProductCode,
+                SlUnit = s.PurchaseUnit,
+                KcUnit = s.InventoryUnit,
+                DeliveryQty = Convert.ToDecimal(s.DeliveryQty),
+                Remark = s.Remark,
+                CreateDate = DateTime.Now,
+                PurchaseQty = Convert.ToDecimal(s.PurchaseQty),
+                IncludeQty = Convert.ToDecimal(s.IncludeQty),
+                DepotCode = s.DepotNo
+            };
+            return entity;
+        }).ToList();
+    }
+}
diff --git a/StandardInterface/MESApplication/Config/appsettings.json b/StandardInterface/MESApplication/Config/appsettings.json
new file mode 100644
index 0000000..cf432d9
--- /dev/null
+++ b/StandardInterface/MESApplication/Config/appsettings.json
@@ -0,0 +1,17 @@
+{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft": "Warning",
+      "Microsoft.Hosting.Lifetime": "Information"
+    }
+  },
+  "AllowedHosts": "*",
+  "Version": "1.0.0",
+  "X-KDApi-AcctID": "61ce591aee4c5a",
+  "X-KDApi-UserName": "mes",
+  "X-KDApi-AppID": "310228_4f7q68lG0OG9w9XL5e3q0bXqzgQV4toK",
+  "X-KDApi-AppSec": "db05ae60d70e4bd0a8bdb974f8030f6f",
+  "X-KDApi-LCID": "2052",
+  "X-KDApi-ServerUrl": "http://121.36.245.199/K3cloud/"
+}
\ No newline at end of file
diff --git a/StandardInterface/MESApplication/Controllers/BasicData/MesDeliveryNoteBarcodeController.cs b/StandardInterface/MESApplication/Controllers/BasicData/MesDeliveryNoteBarcodeController.cs
deleted file mode 100644
index 4717414..0000000
--- a/StandardInterface/MESApplication/Controllers/BasicData/MesDeliveryNoteBarcodeController.cs
+++ /dev/null
@@ -1,260 +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.service.BasicData.Sales;
-using MES.Service.util;
-using Microsoft.AspNetCore.Mvc;
-using Newtonsoft.Json;
-
-namespace MESApplication.Controllers.BasicData;
-
-[ApiController]
-[Route("api/DeliveryBarcode")]
-public class MesDeliveryNoteBarcodeController : ControllerBase
-{
-    private readonly MessageCenterManager _manager = new();
-    private readonly MesDeliveryNoteBarcodeManager m = new();
-
-    private readonly string METHOD = "POST";
-
-    private readonly string TableName = "MES_DELIVERY_NOTE_BARCODE";
-
-    private readonly string URL =
-        "http://localhost:10054/api/MesDeliveryNoteBarcode/";
-
-    [HttpPost("Save")]
-    public ResponseResult Save(ErpBarcode barcode)
-    {
-        var entity = new MessageCenter();
-        entity.TableName = TableName;
-        entity.Url = URL + "Save";
-        entity.Method = METHOD;
-        entity.Data = JsonConvert.SerializeObject(barcode);
-        entity.Status = 1;
-        entity.CreateBy = "PL017";
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            var save = m.Save(barcode);
-            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<ErpBarcode> barcodes)
-    {
-        var entity = new MessageCenter();
-        entity.TableName = TableName;
-        entity.Url = URL + "SaveList";
-        entity.Method = METHOD;
-        entity.Data = JsonConvert.SerializeObject(barcodes);
-        entity.Status = 1;
-        entity.CreateBy = "PL017";
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            var save = m.SaveList(barcodes);
-            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] MesDeliveryNoteBarcode 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] MesDeliveryNoteBarcode 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] MesDeliveryNoteBarcode 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/StandardInterface/MESApplication/Controllers/BasicData/MesDeliveryNoteController.cs b/StandardInterface/MESApplication/Controllers/BasicData/MesDeliveryNoteController.cs
deleted file mode 100644
index 109ee0f..0000000
--- a/StandardInterface/MESApplication/Controllers/BasicData/MesDeliveryNoteController.cs
+++ /dev/null
@@ -1,258 +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.service.BasicData.Sales;
-using MES.Service.util;
-using Microsoft.AspNetCore.Mvc;
-using Newtonsoft.Json;
-
-namespace MESApplication.Controllers.BasicData;
-
-[ApiController]
-[Route("api/DeliveryNote")]
-public class MesDeliveryNoteController : ControllerBase
-{
-    private readonly MessageCenterManager _manager = new();
-    private readonly MesDeliveryNoteManager m = new();
-
-    private readonly string METHOD = "POST";
-
-    private readonly string TableName = "MES_DELIVERY_NOTE";
-
-    private readonly string URL = "http://localhost:10054/api/MesDeliveryNote/";
-
-    [HttpPost("Save")]
-    public ResponseResult Save(Delivery delivery)
-    {
-        var entity = new MessageCenter();
-        entity.TableName = TableName;
-        entity.Url = URL + "Save";
-        entity.Method = METHOD;
-        entity.Data = JsonConvert.SerializeObject(delivery);
-        entity.Status = 1;
-        entity.CreateBy = "PL017";
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            var save = m.Save(delivery);
-            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<Delivery> deliveries)
-    {
-        var entity = new MessageCenter();
-        entity.TableName = TableName;
-        entity.Url = URL + "SaveList";
-        entity.Method = METHOD;
-        entity.Data = JsonConvert.SerializeObject(deliveries);
-        entity.Status = 1;
-        entity.CreateBy = "PL017";
-        try
-        {
-            dynamic resultInfos = new ExpandoObject();
-            var save = m.SaveList(deliveries);
-            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] MesDeliveryNote 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] MesDeliveryNote 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] MesDeliveryNote 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/StandardInterface/MESApplication/Controllers/BasicData/MesDeliveryNoteDetails.cs b/StandardInterface/MESApplication/Controllers/BasicData/MesDeliveryNoteDetails.cs
deleted file mode 100644
index 4fd9ec1..0000000
--- a/StandardInterface/MESApplication/Controllers/BasicData/MesDeliveryNoteDetails.cs
+++ /dev/null
@@ -1,164 +0,0 @@
-锘縰sing System.Dynamic;
-using MES.Service.Modes;
-using MES.Service.service.BasicData;
-using MES.Service.service.BasicData.Sales;
-using MES.Service.util;
-using Microsoft.AspNetCore.Mvc;
-
-namespace MESApplication.Controllers.BasicData;
-
-[ApiController]
-[Route("api/[controller]")]
-public class MesDeliveryNoteDetailsController : ControllerBase
-{
-    private readonly MesDeliveryDetailsManager 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] MesDeliveryNoteDetails 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] MesDeliveryNoteDetails 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] MesDeliveryNoteDetails 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/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteBarcodeController.cs b/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteBarcodeController.cs
new file mode 100644
index 0000000..271308f
--- /dev/null
+++ b/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteBarcodeController.cs
@@ -0,0 +1,198 @@
+锘縰sing MES.Service.Dto.webApi.SRM;
+using MES.Service.Modes;
+using MES.Service.service;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using System.Dynamic;
+
+namespace MESApplication.Controllers.DeliveryNote;
+
+[ApiController]
+[Route("api/DeliveryBarcode")]
+public class MesDeliveryNoteBarcodeController : ControllerBase 
+{
+    private readonly MessageCenterManager _manager = new();
+    private readonly MesDeliveryNoteBarcodeManager m = new();
+
+    private readonly string METHOD = "POST";
+
+    private readonly string TableName = "MES_DELIVERY_NOTE_BARCODE";
+
+    private readonly string URL = "http://localhost:10054/api/DeliveryBarcode/";
+
+    [HttpPost("Save")]
+    public ResponseResult Save(PrintBarcode barcode)
+    {
+        var entity = new MessageCenter();
+        entity.TableName = TableName;
+        entity.Url = URL + "Save";
+        entity.Method = METHOD;
+        entity.Data = JsonConvert.SerializeObject(barcode);
+        entity.Status = 1;
+        entity.CreateBy = "PL017";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            PrintBarcode save = m.Save(barcode);
+            resultInfos = 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<PrintBarcode> barcode)
+    {
+        var entity = new MessageCenter();
+        entity.TableName = TableName;
+        entity.Url = URL + "SaveList";
+        entity.Method = METHOD;
+        entity.Data = JsonConvert.SerializeObject(barcode);
+        entity.Status = 1;
+        entity.CreateBy = "PL017";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var save = m.SaveList(barcode);
+
+            resultInfos = 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("Delete")]
+    public ResponseResult Delete(ErpBarcode barcode)
+    {
+        var entity = new MessageCenter();
+        entity.TableName = TableName;
+        entity.Url = URL + "Delete";
+        entity.Method = METHOD;
+        entity.Data = JsonConvert.SerializeObject(barcode);
+        entity.Status = 1;
+        entity.CreateBy = "PL017";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+
+            var save = m.DeleteBarcode(barcode);
+
+            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("DeleteList")]
+    public ResponseResult DeleteList(List<ErpBarcode> barcode)
+    {
+        var entity = new MessageCenter();
+        entity.TableName = TableName;
+        entity.Url = URL + "DeleteList";
+        entity.Method = METHOD;
+        entity.Data = JsonConvert.SerializeObject(barcode);
+        entity.Status = 1;
+        entity.CreateBy = "PL017";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var save = m.DeleteBarcodeList(barcode);
+            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);
+        }
+    }
+
+}
+
diff --git a/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteController.cs b/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteController.cs
new file mode 100644
index 0000000..7b65c38
--- /dev/null
+++ b/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteController.cs
@@ -0,0 +1,195 @@
+锘縰sing MES.Service.Dto.webApi.SRM;
+using MES.Service.Modes;
+using MES.Service.service;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using System.Dynamic;
+
+namespace MESApplication.Controllers.DeliveryNote;
+
+[ApiController]
+[Route("api/DeliveryNote")]
+public class MesDeliveryNoteController : ControllerBase
+{
+    private readonly MessageCenterManager _manager = new();
+    private readonly MesDeliveryNoteManager m = new();
+
+    private readonly string METHOD = "POST";
+
+    private readonly string TableName = "MES_DELIVERY_NOTE";
+
+    private readonly string URL = "http://localhost:10054/api/MesDelivery/";
+
+    [HttpPost("Save")]
+    public ResponseResult Save(Delivery delivery)
+    {
+        var entity = new MessageCenter();
+        entity.TableName = TableName;
+        entity.Url = URL + "Save";
+        entity.Method = METHOD;
+        entity.Data = JsonConvert.SerializeObject(delivery);
+        entity.Status = 1;
+        entity.CreateBy = "PL017";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var save = m.Save(delivery);
+            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<Delivery> delivery)
+    {
+        var entity = new MessageCenter();
+        entity.TableName = TableName;
+        entity.Url = URL + "SaveList";
+        entity.Method = METHOD;
+        entity.Data = JsonConvert.SerializeObject(delivery);
+        entity.Status = 1;
+        entity.CreateBy = "PL017";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var save = m.SaveList(delivery);
+            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("Delete")]
+    public ResponseResult Delete(ErpDelivery delivery)
+    {
+        var entity = new MessageCenter();
+        entity.TableName = TableName;
+        entity.Url = URL + "Delete";
+        entity.Method = METHOD;
+        entity.Data = JsonConvert.SerializeObject(delivery);
+        entity.Status = 1;
+        entity.CreateBy = "PL017";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var save = m.DeleteDelivery(delivery);
+            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("DeleteList")]
+    public ResponseResult DeleteList(List<ErpDelivery> delivery)
+    {
+        var entity = new MessageCenter();
+        entity.TableName = TableName;
+        entity.Url = URL + "DeleteList";
+        entity.Method = METHOD;
+        entity.Data = JsonConvert.SerializeObject(delivery);
+        entity.Status = 1;
+        entity.CreateBy = "PL017";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var save = m.DeleteDeliveryList(delivery);
+            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);
+        }
+    }
+}
\ No newline at end of file
diff --git a/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteDetailController.cs b/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteDetailController.cs
new file mode 100644
index 0000000..70b981c
--- /dev/null
+++ b/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteDetailController.cs
@@ -0,0 +1,8 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.DeliveryNote;
+
+public class MesDeliveryNoteDetailController : ControllerBase
+{
+
+}
diff --git a/StandardInterface/MESApplication/MESApplication.csproj b/StandardInterface/MESApplication/MESApplication.csproj
index b87eece..e344958 100644
--- a/StandardInterface/MESApplication/MESApplication.csproj
+++ b/StandardInterface/MESApplication/MESApplication.csproj
@@ -9,7 +9,7 @@
     </PropertyGroup>
 
     <ItemGroup>
-        <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.0"/>
+        <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.0" />
         <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.1">
             <PrivateAssets>all</PrivateAssets>
             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
@@ -18,12 +18,16 @@
             <PrivateAssets>all</PrivateAssets>
             <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
         </PackageReference>
-        <PackageReference Include="Oracle.EntityFrameworkCore" Version="8.21.121"/>
-        <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0"/>
+        <PackageReference Include="Oracle.EntityFrameworkCore" Version="8.21.121" />
+        <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
     </ItemGroup>
 
     <ItemGroup>
-        <ProjectReference Include="..\MES.Service\MES.Service.csproj"/>
+        <ProjectReference Include="..\MES.Service\MES.Service.csproj" />
+    </ItemGroup>
+
+    <ItemGroup>
+      <Folder Include="Controllers\SRM\" />
     </ItemGroup>
 
 </Project>

--
Gitblit v1.9.3