From b64efba9b005c074b3963c9d650091c70e46108b Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期四, 01 八月 2024 14:53:18 +0800
Subject: [PATCH] 采购入库单和消息中心重推送

---
 MESApplication/bin/Release/net8.0/MESApplication.exe                   |    0 
 MESApplication/bin/Release/net8.0/publish/MESApplication.pdb           |    0 
 MESApplication/bin/Debug/net8.0/MES.Service.pdb                        |    0 
 MESApplication/bin/Release/net8.0/publish/MESApplication.dll           |    0 
 MES.Service/Dto/service/PurchaseInventory.cs                           |   15 
 MES.Service/service/GetErpParametersServer.cs                          |  138 +++
 MESApplication/bin/Debug/net8.0/MES.Service.dll                        |    0 
 MES.Service/Modes/MesInvItemBarcodes.cs                                |  460 ++++++++++
 MESApplication/bin/Debug/net8.0/MESApplication.pdb                     |    0 
 MES.Service/Modes/MessageCenter.cs                                     |    8 
 MESApplication/bin/Release/net8.0/MES.Service.dll                      |    0 
 MESApplication/Controllers/Warehouse/MesInvItemBarcodesController.cs   |  163 +++
 MESApplication/bin/Release/net8.0/MESApplication.dll                   |    0 
 MESApplication/bin/Release/net8.0/publish/MES.Service.pdb              |    0 
 MES.Service/Modes/MesInvItemIns.cs                                     |  591 +++++-------
 MESApplication/Controllers/BasicData/MesItemsController.cs             |    1 
 MESApplication/Controllers/Warehouse/MesInvItemInCDetailsController.cs |  288 ++++++
 MESApplication/bin/Release/net8.0/MES.Service.pdb                      |    0 
 MESApplication/bin/Release/net8.0/publish/MESApplication.exe           |    0 
 MESApplication/Controllers/Base/MessageCenterController.cs             |   60 +
 MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs             |   78 +
 MESApplication/bin/Release/net8.0/MESApplication.pdb                   |    0 
 MES.Service/bin/Debug/net8.0/MES.Service.pdb                           |    0 
 MESApplication/bin/Release/net8.0/publish/MES.Service.dll              |    0 
 MES.Service/service/QC/XJService.cs                                    |   10 
 MESApplication/bin/Debug/net8.0/MESApplication.dll                     |    0 
 MES.Service/bin/Debug/net8.0/MES.Service.dll                           |    0 
 MES.Service/Modes/MesInvItemArnDetail.cs                               |    6 
 MESApplication/Controllers/WomcaaController.cs                         |    8 
 MES.Service/service/Warehouse/MesInvItemInCDetailsManager.cs           |  317 +++++++
 MES.Service/Modes/MesInvItemInCDetails.cs                              |  361 ++++++++
 MES.Service/service/MessageCenterManager.cs                            |   38 
 MES.Service/Dto/service/Material.cs                                    |    4 
 MESApplication/bin/Debug/net8.0/MESApplication.exe                     |    0 
 MES.Service/bin/Release/net8.0/MES.Service.dll                         |    0 
 MES.Service/bin/Release/net8.0/MES.Service.pdb                         |    0 
 MES.Service/Dto/service/WarehouseQuery.cs                              |   10 
 37 files changed, 2,197 insertions(+), 359 deletions(-)

diff --git a/MES.Service/Dto/service/Material.cs b/MES.Service/Dto/service/Material.cs
index 70e8ed4..183cedf 100644
--- a/MES.Service/Dto/service/Material.cs
+++ b/MES.Service/Dto/service/Material.cs
@@ -12,4 +12,8 @@
     public decimal? FmesEntryId { get; set; }
     public decimal? Mid { get; set; }
     public string? UserName { get; set; }
+    public string? DepotSectionCode { get; set; }
+    public string? WorkNo { get; set; }
+    public decimal? Frealqty { get; set; }
+    public string? FuintId { get; set; }
 }
\ No newline at end of file
diff --git a/MES.Service/Dto/service/PurchaseInventory.cs b/MES.Service/Dto/service/PurchaseInventory.cs
new file mode 100644
index 0000000..ebf10d8
--- /dev/null
+++ b/MES.Service/Dto/service/PurchaseInventory.cs
@@ -0,0 +1,15 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.service;
+
+public class PurchaseInventory
+{
+    public string? ItemNo { get; set; }
+
+    public decimal? SumQuantity { get; set; }
+
+    public MesInvItemIns? ItemIns { get; set; }
+    public List<MesInvItemInCDetails>? InvItemInCDetails { get; set; }
+
+    public List<MesInvItemInCDetails>? ItemInDetails { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Dto/service/WarehouseQuery.cs b/MES.Service/Dto/service/WarehouseQuery.cs
index 1df3b92..7e019e6 100644
--- a/MES.Service/Dto/service/WarehouseQuery.cs
+++ b/MES.Service/Dto/service/WarehouseQuery.cs
@@ -7,4 +7,14 @@
     public decimal? id { get; set; }
 
     public decimal[]? ItemArnDetailIds { get; set; }
+
+    public string? itemInId { get; set; }
+
+    public string? sectionCode { get; set; }
+    public string? barcode { get; set; }
+    public string? userName { get; set; }
+    public string? billNo { get; set; }
+    public short? status { get; set; }
+    public DateTime? date { get; set; }
+    public string? Type { get; set; }
 }
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemArnDetail.cs b/MES.Service/Modes/MesInvItemArnDetail.cs
index 530aeb5..7be265c 100644
--- a/MES.Service/Modes/MesInvItemArnDetail.cs
+++ b/MES.Service/Modes/MesInvItemArnDetail.cs
@@ -211,6 +211,12 @@
     [SugarColumn(ColumnName = "OK_RKQTY")]
     public decimal? OkRkqty { get; set; }
 
+    /// <summary>
+    ///     鍒拌揣鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "CBILL_NO")]
+    public string CbillNo { get; set; }
+
     [SugarColumn(IsIgnore = true)] public string? itemModel { get; set; }
 
     [SugarColumn(IsIgnore = true)] public string? itemName { get; set; }
diff --git a/MES.Service/Modes/MesInvItemBarcodes.cs b/MES.Service/Modes/MesInvItemBarcodes.cs
new file mode 100644
index 0000000..078ac04
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemBarcodes.cs
@@ -0,0 +1,460 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+///     鐗╂枡鏉$爜琛�
+/// </summary>
+[SugarTable("MES_INV_ITEM_BARCODES")]
+public class MesInvItemBarcodes
+{
+   /// <summary>
+   ///     SEQ_BARCODE_PSN_ID
+   /// </summary>
+   [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+    public decimal Id { get; set; }
+
+   /// <summary>
+   ///     鐗╂枡鏉$爜
+   /// </summary>
+   [SugarColumn(ColumnName = "ITEM_BARCODE")]
+    public string ItemBarcode { get; set; }
+
+   /// <summary>
+   ///     瀹㈡埛鎴愬搧缂栫爜
+   /// </summary>
+   [SugarColumn(ColumnName = "C_PRODUCT_CODE")]
+    public string CProductCode { get; set; }
+
+   /// <summary>
+   ///     瀹㈡埛鐗╂枡鏉$爜
+   /// </summary>
+   [SugarColumn(ColumnName = "C_ITEM_BARCODE")]
+    public string CItemBarcode { get; set; }
+
+   /// <summary>
+   ///     瀹㈡埛鐗╂枡缂栫爜
+   /// </summary>
+   [SugarColumn(ColumnName = "C_ITEM_CODE")]
+    public string CItemCode { get; set; }
+
+   /// <summary>
+   ///     鏈徃鐗╂枡缂栫爜
+   /// </summary>
+   [SugarColumn(ColumnName = "ITEM_NO")]
+    public string ItemNo { get; set; }
+
+   /// <summary>
+   ///     鍘傚鎵规
+   /// </summary>
+   [SugarColumn(ColumnName = "LOT_NO")]
+    public string LotNo { get; set; }
+
+   /// <summary>
+   ///     鏁伴噺
+   /// </summary>
+   [SugarColumn(ColumnName = "QUANTITY")]
+    public decimal? Quantity { get; set; }
+
+   /// <summary>
+   ///     鏄惁鐜繚(0:鍚�,1:鏄�)
+   /// </summary>
+   [SugarColumn(ColumnName = "EP_FLAG")]
+    public short? EpFlag { get; set; }
+
+   /// <summary>
+   ///     鐢熶骇宸ュ崟
+   /// </summary>
+   [SugarColumn(ColumnName = "TASK_NO")]
+    public string TaskNo { get; set; }
+
+   /// <summary>
+   ///     鍒涘缓浜�
+   /// </summary>
+   [SugarColumn(ColumnName = "CREATE_BY")]
+    public string CreateBy { get; set; }
+
+   /// <summary>
+   ///     鍒涘缓鏃堕棿
+   /// </summary>
+   [SugarColumn(ColumnName = "CREATE_DATE")]
+    public DateTime? CreateDate { get; set; }
+
+   /// <summary>
+   ///     鏈�鍚庢洿鏂颁汉
+   /// </summary>
+   [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+    public string LastupdateBy { get; set; }
+
+   /// <summary>
+   ///     鏈�鍚庢洿鏂版椂闂�
+   /// </summary>
+   [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+    public DateTime? LastupdateDate { get; set; }
+
+   /// <summary>
+   ///     瀹㈡埛缂栧彿
+   /// </summary>
+   [SugarColumn(ColumnName = "CUST_NO")]
+    public string CustNo { get; set; }
+
+   /// <summary>
+   ///     鐗╂枡鏉$爜娉ㄩ噴琛孾鍐椾綑锛屾潯鐮侀噸鎵撲娇鐢╙
+   /// </summary>
+   [SugarColumn(ColumnName = "ITEM_BARCODE_TEXT")]
+    public string ItemBarcodeText { get; set; }
+
+   /// <summary>
+   ///     鍘烶SN鐗╂枡鏉$爜
+   /// </summary>
+   [SugarColumn(ColumnName = "OLD_ITEM_BARCODE")]
+    public string OldItemBarcode { get; set; }
+
+   /// <summary>
+   ///     SAP鏀惰揣鐗╂枡鍑瘉鍙�    --閲囪喘鍗曞彿
+   /// </summary>
+   [SugarColumn(ColumnName = "MBLNR")]
+    public string Mblnr { get; set; }
+
+   /// <summary>
+   ///     SAP鏀惰揣鐗╂枡鍑瘉琛屽彿  --閲囪喘鍗曡鍙�
+   /// </summary>
+   [SugarColumn(ColumnName = "ZEILE")]
+    public decimal? Zeile { get; set; }
+
+   /// <summary>
+   ///     鏀舵枡琛↖D
+   /// </summary>
+   [SugarColumn(ColumnName = "ROH_IN_ID")]
+    public decimal? RohInId { get; set; }
+
+   /// <summary>
+   ///     0涓烘湁鏁堟潯鐮侊紱1涓烘棤鏁堟潯鐮�
+   /// </summary>
+   [SugarColumn(ColumnName = "BARCODESTATUS")]
+    public short? Barcodestatus { get; set; }
+
+   /// <summary>
+   ///     鍘熷鏁伴噺
+   /// </summary>
+   [SugarColumn(ColumnName = "OLDQTY")]
+    public decimal? Oldqty { get; set; }
+
+   /// <summary>
+   ///     浣跨敤鏁伴噺
+   /// </summary>
+   [SugarColumn(ColumnName = "USEQTY")]
+    public decimal? Useqty { get; set; }
+
+   /// <summary>
+   ///     0鍦ㄥ簱锛�1鍦ㄧ嚎锛�2浣滃簾
+   /// </summary>
+   [SugarColumn(ColumnName = "LOCATION")]
+    public short? Location { get; set; }
+
+   /// <summary>
+   ///     鍗曚綅
+   /// </summary>
+   [SugarColumn(ColumnName = "UNIT")]
+    public string Unit { get; set; }
+
+   /// <summary>
+   ///     閲嶉噺锛堝崟浣嶏細鍏枻锛�
+   /// </summary>
+   [SugarColumn(ColumnName = "WEIGHT_UNIT")]
+    public decimal? WeightUnit { get; set; }
+
+   /// <summary>
+   ///     鍗曚环
+   /// </summary>
+   [SugarColumn(ColumnName = "PRICE")]
+    public decimal? Price { get; set; }
+
+   /// <summary>
+   ///     鍘熸潯鐮佹暟閲�
+   /// </summary>
+   [SugarColumn(ColumnName = "OLD_BAR_QUANTITY")]
+    public decimal? OldBarQuantity { get; set; }
+
+   /// <summary>
+   ///     姹囨�绘潯鐮�
+   /// </summary>
+   [SugarColumn(ColumnName = "SUM_BARCODE")]
+    public string SumBarcode { get; set; }
+
+   /// <summary>
+   ///     鐢熶骇鏃ユ湡
+   /// </summary>
+   [SugarColumn(ColumnName = "LOT_DATE")]
+    public string LotDate { get; set; }
+
+   /// <summary>
+   ///     妯″彿
+   /// </summary>
+   [SugarColumn(ColumnName = "MOCODE")]
+    public string Mocode { get; set; }
+
+   /// <summary>
+   ///     鏉ユ簮
+   /// </summary>
+   [SugarColumn(ColumnName = "MEMO")]
+    public string Memo { get; set; }
+
+   /// <summary>
+   ///     渚涘簲鍟嗙紪鐮�
+   /// </summary>
+   [SugarColumn(ColumnName = "SUPP_NO")]
+    public string SuppNo { get; set; }
+
+   /// <summary>
+   ///     妗d綅浣庡��
+   /// </summary>
+   [SugarColumn(ColumnName = "SPOSTION")]
+    public string Spostion { get; set; }
+
+   /// <summary>
+   ///     妗d綅楂樺��
+   /// </summary>
+   [SugarColumn(ColumnName = "EPOSTION")]
+    public string Epostion { get; set; }
+
+   /// <summary>
+   ///     鐗╂枡绠�绉�
+   /// </summary>
+   [SugarColumn(ColumnName = "ITEM_SNAME")]
+    public string ItemSname { get; set; }
+
+   /// <summary>
+   ///     鏄惁宸插喕缁�,1鍐荤粨
+   /// </summary>
+   [SugarColumn(ColumnName = "VISABLE")]
+    public short? Visable { get; set; }
+
+   /// <summary>
+   ///     渚涘簲鍟嗘壒娆�
+   /// </summary>
+   [SugarColumn(ColumnName = "TR_LOTNO")]
+    public string TrLotno { get; set; }
+
+   /// <summary>
+   ///     鍐荤粨鏃堕棿
+   /// </summary>
+   [SugarColumn(ColumnName = "FLEZZ_DATE")]
+    public DateTime? FlezzDate { get; set; }
+
+   /// <summary>
+   ///     鍐荤粨鍘熷洜
+   /// </summary>
+   [SugarColumn(ColumnName = "FLEZZ_REASON")]
+    public string FlezzReason { get; set; }
+
+   /// <summary>
+   ///     鍐荤粨浜�
+   /// </summary>
+   [SugarColumn(ColumnName = "FLEZZ_BY")]
+    public string FlezzBy { get; set; }
+
+   /// <summary>
+   ///     寤堕暱淇濊川鏈�
+   /// </summary>
+   [SugarColumn(ColumnName = "DELANY_MONTH")]
+    public decimal? DelanyMonth { get; set; }
+
+   /// <summary>
+   ///     鏈�灏忓寘瑁呮爣璇�
+   /// </summary>
+   [SugarColumn(ColumnName = "MINPACK_FLAG")]
+    public short? MinpackFlag { get; set; }
+
+   /// <summary>
+   ///     鎵撳嵃ID锛岀敤鏉ュ尯鍒嗘墦鍗版鏁�
+   /// </summary>
+   [SugarColumn(ColumnName = "PRINT_ID")]
+    public string PrintId { get; set; }
+
+   /// <summary>
+   ///     鐜繚椤圭洰
+   /// </summary>
+   [SugarColumn(ColumnName = "EP_ITEM")]
+    public string EpItem { get; set; }
+
+   /// <summary>
+   ///     宸ュ巶缂栧彿
+   /// </summary>
+   [SugarColumn(ColumnName = "FACTORY")]
+    public string Factory { get; set; }
+
+   /// <summary>
+   ///     鍏徃缂栧彿
+   /// </summary>
+   [SugarColumn(ColumnName = "COMPANY")]
+    public string Company { get; set; }
+
+   /// <summary>
+   ///     鍗℃澘缂栫爜
+   /// </summary>
+   [SugarColumn(ColumnName = "CB_NO")]
+    public string CbNo { get; set; }
+
+   /// <summary>
+   ///     鍘傚鐢熶骇绾�
+   /// </summary>
+   [SugarColumn(ColumnName = "LINFLINE")]
+    public string Linfline { get; set; }
+
+   /// <summary>
+   ///     鏈夋晥鏈�
+   /// </summary>
+   [SugarColumn(ColumnName = "VALID_TIME")]
+    public DateTime? ValidTime { get; set; }
+
+   /// <summary>
+   ///     璐ㄦ缁撴灉
+   /// </summary>
+   [SugarColumn(ColumnName = "IQC_STATUS")]
+    public string IqcStatus { get; set; }
+
+   /// <summary>
+   ///     灏忚溅鏉$爜
+   /// </summary>
+   [SugarColumn(ColumnName = "FCAR")]
+    public string Fcar { get; set; }
+
+   /// <summary>
+   ///     姣涢噸
+   /// </summary>
+   [SugarColumn(ColumnName = "GWEIGHT")]
+    public string Gweight { get; set; }
+
+   /// <summary>
+   ///     鍑�閲�
+   /// </summary>
+   [SugarColumn(ColumnName = "NWEIGHT")]
+    public string Nweight { get; set; }
+
+   /// <summary>
+   ///     淇濊川鏈�
+   /// </summary>
+   [SugarColumn(ColumnName = "EXT_DATE")]
+    public decimal? ExtDate { get; set; }
+
+   /// <summary>
+   ///     渚涘簲鍟嗐�佽禒鍝併�佸渚涙枡銆佸澶�
+   /// </summary>
+   [SugarColumn(ColumnName = "BARCODETYPE")]
+    public string Barcodetype { get; set; }
+
+   /// <summary>
+   ///     渚涘簲鍟嗗悕绉�
+   /// </summary>
+   [SugarColumn(ColumnName = "SUPP_NAME")]
+    public string SuppName { get; set; }
+
+   /// <summary>
+   ///     鍒拌揣鍗曞彿/鍏ュ簱鍗曞彿
+   /// </summary>
+   [SugarColumn(ColumnName = "BILL_NO")]
+    public string BillNo { get; set; }
+
+   /// <summary>
+   ///     鎬ユ枡鏍囪瘑
+   /// </summary>
+   [SugarColumn(ColumnName = "URGENT_FLAG")]
+    public short? UrgentFlag { get; set; }
+
+   /// <summary>
+   ///     棰滆壊
+   /// </summary>
+   [SugarColumn(ColumnName = "COLOR_NAME")]
+    public string ColorName { get; set; }
+
+   /// <summary>
+   ///     浜у搧鍨嬪彿
+   /// </summary>
+   [SugarColumn(ColumnName = "BOARD_STYLE")]
+    public string BoardStyle { get; set; }
+
+   /// <summary>
+   ///     鏉ユ枡鏃ユ湡
+   /// </summary>
+   [SugarColumn(ColumnName = "INS_DATE")]
+    public DateTime? InsDate { get; set; }
+
+   /// <summary>
+   ///     鍒拌揣鍗曡鍙�
+   /// </summary>
+   [SugarColumn(ColumnName = "WORK_LINE")]
+    public decimal? WorkLine { get; set; }
+
+   /// <summary>
+   ///     涓嶈壇鍘熷洜
+   /// </summary>
+   [SugarColumn(ColumnName = "MEMO_BAD")]
+    public string MemoBad { get; set; }
+
+   /// <summary>
+   ///     浠诲姟鍗曞彿
+   /// </summary>
+   [SugarColumn(ColumnName = "WORK_NO")]
+    public string WorkNo { get; set; }
+
+   /// <summary>
+   ///     鏉$爜鏉ユ簮鏍囪瘑锛�0-鍒濇湡鐗╂枡,1-閲囪喘鍏ュ簱锛�2銆佺敓浜ч��鏂欙紝3銆佸叾瀹冨叆搴擄紝4-瀹緵鏂�,5-鍦ㄥ簱鍒嗘枡锛�6-鍒剁▼鏉$爜
+   /// </summary>
+   [SugarColumn(ColumnName = "COME_FLG")]
+    public short? ComeFlg { get; set; }
+
+   /// <summary>
+   ///     鐢熶骇绾夸綋
+   /// </summary>
+   [SugarColumn(ColumnName = "LINE_NO")]
+    public string LineNo { get; set; }
+
+   /// <summary>
+   ///     涓濆嵃娆℃暟
+   /// </summary>
+   [SugarColumn(ColumnName = "SILK_PQTY")]
+    public decimal? SilkPqty { get; set; }
+
+   /// <summary>
+   ///     涓濆嵃娆℃暟姣�
+   /// </summary>
+   [SugarColumn(ColumnName = "SILK")]
+    public string Silk { get; set; }
+
+   /// <summary>
+   ///     涓濆嵃娲惧伐浠庤〃ID
+   /// </summary>
+   [SugarColumn(ColumnName = "SILK_ID")]
+    public decimal? SilkId { get; set; }
+
+   /// <summary>
+   ///     宸叉姤宸ユ爣璇�
+   /// </summary>
+   [SugarColumn(ColumnName = "WORK_FLG")]
+    public decimal? WorkFlg { get; set; }
+
+   /// <summary>
+   ///     鏈�鍚庡伐搴�
+   /// </summary>
+   [SugarColumn(ColumnName = "WORK_LAST")]
+    public decimal? WorkLast { get; set; }
+
+   /// <summary>
+   ///     0-鏈悎骞舵墦鍗帮紝1-鍚堝苟鎵撳嵃
+   /// </summary>
+   [SugarColumn(ColumnName = "HBDY")]
+    public decimal? Hbdy { get; set; }
+
+   /// <summary>
+   ///     0-鏈夋晥鏉$爜锛�1-鍚堝苟鎷嗗垎鐨勬潯鐮侊紝鏃犳晥
+   /// </summary>
+   [SugarColumn(ColumnName = "HBDYTM")]
+    public decimal? Hbdytm { get; set; }
+
+   /// <summary>
+   ///     鎶ュ伐鏃堕棿
+   /// </summary>
+   [SugarColumn(ColumnName = "WORK_FLGTIME")]
+    public string WorkFlgtime { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemInCDetails.cs b/MES.Service/Modes/MesInvItemInCDetails.cs
new file mode 100644
index 0000000..258cb34
--- /dev/null
+++ b/MES.Service/Modes/MesInvItemInCDetails.cs
@@ -0,0 +1,361 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+///     鐗╂枡鍏ュ簱鏉$爜鏄庣粏
+/// </summary>
+[SugarTable("MES_INV_ITEM_IN_C_DETAILS")]
+public class MesInvItemInCDetails
+{
+    /// <summary>
+    ///     SEQ_OUT
+    /// </summary>
+    [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+    public decimal Id { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱鍗昳d
+    /// </summary>
+    [SugarColumn(ColumnName = "ITEM_IN_ID", IsPrimaryKey = true)]
+    public decimal ItemInId { get; set; }
+
+    /// <summary>
+    ///     鐗╂枡鏉$爜PSN
+    /// </summary>
+    [SugarColumn(ColumnName = "ITEM_BARCODE")]
+    public string ItemBarcode { get; set; }
+
+    /// <summary>
+    ///     瀹㈡埛鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+    /// </summary>
+    [SugarColumn(ColumnName = "C_ITEM_CODE")]
+    public string CItemCode { get; set; }
+
+    /// <summary>
+    ///     瀹㈡埛鐗╂枡鏉$爜
+    /// </summary>
+    [SugarColumn(ColumnName = "C_ITEM_BARCODE")]
+    public string CItemBarcode { get; set; }
+
+    /// <summary>
+    ///     楠屾敹鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "QUANTITY")]
+    public decimal? Quantity { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱鏂瑰紡(1:鏈夋潯鐮�,0:鏃犳潯鐮�)
+    /// </summary>
+    [SugarColumn(ColumnName = "BARCODE_FLAG")]
+    public short? BarcodeFlag { get; set; }
+
+    /// <summary>
+    ///     鐜繚鏍囧織锛�0-闈炵幆淇�,1-鐜繚.鏃犳潯鐮佹墜宸ュ綍鍏ワ紝鏈夋潯鐮佷负鍐椾綑瀛楁锛�
+    /// </summary>
+    [SugarColumn(ColumnName = "EP_FLAG")]
+    public short? EpFlag { get; set; }
+
+    /// <summary>
+    ///     鍒涘缓浜�
+    /// </summary>
+    [SugarColumn(ColumnName = "CREATE_BY")]
+    public string CreateBy { get; set; }
+
+    /// <summary>
+    ///     鍒涘缓鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnName = "CREATE_DATE")]
+    public DateTime? CreateDate { get; set; }
+
+    /// <summary>
+    ///     鏈�鍚庢洿鏂颁汉
+    /// </summary>
+    [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+    public string LastupdateBy { get; set; }
+
+    /// <summary>
+    ///     鏈�鍚庢洿鏂版椂闂�
+    /// </summary>
+    [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+    public DateTime? LastupdateDate { get; set; }
+
+    /// <summary>
+    ///     浣滀笟鏂瑰紡0-鏈夌嚎鏉$爜鏋�1-鏃犵嚎鏉$爜鏋�
+    /// </summary>
+    [SugarColumn(ColumnName = "WORK_TYPE")]
+    public decimal? WorkType { get; set; }
+
+    /// <summary>
+    ///     鏈徃鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+    /// </summary>
+    [SugarColumn(ColumnName = "ITEM_NO")]
+    public string ItemNo { get; set; }
+
+    /// <summary>
+    ///     鍘傚鎵规
+    /// </summary>
+    [SugarColumn(ColumnName = "LOT_NO")]
+    public string LotNo { get; set; }
+
+    /// <summary>
+    ///     鏄惁鍏辩鐗╂枡(0:鍚︼紝1:鏄�)
+    /// </summary>
+    [SugarColumn(ColumnName = "COMANAGEMENT_FLAG")]
+    public short? ComanagementFlag { get; set; }
+
+    /// <summary>
+    ///     瀹㈡埛缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "CUST_NO")]
+    public string CustNo { get; set; }
+
+    /// <summary>
+    ///     妫�楠岀粨鏋�
+    /// </summary>
+    [SugarColumn(ColumnName = "CHECK_RES")]
+    public string CheckRes { get; set; }
+
+    /// <summary>
+    ///     杩涜揣鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "CHECK_QTY")]
+    public decimal? CheckQty { get; set; }
+
+    /// <summary>
+    ///     妫�楠岀姸鎬�
+    /// </summary>
+    [SugarColumn(ColumnName = "CHECK_STATES")]
+    public string CheckStates { get; set; }
+
+    /// <summary>
+    ///     寮哄埗鍏ュ簱鏍囪0鏃狅紝1-寮哄埗鍏ュ簱  閫�鏂欏崟浣跨敤
+    /// </summary>
+    [SugarColumn(ColumnName = "FORCE_IN_FLAG")]
+    public short? ForceInFlag { get; set; }
+
+    /// <summary>
+    ///     浠撳簱缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "DEPOT_CODE")]
+    public string DepotCode { get; set; }
+
+    /// <summary>
+    ///     璐т綅缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
+    public string DepotSectionCode { get; set; }
+
+    /// <summary>
+    ///     鐗硅浜嬮」
+    /// </summary>
+    [SugarColumn(ColumnName = "REMARK")]
+    public string Remark { get; set; }
+
+    /// <summary>
+    ///     鐗╂枡鏉$爜
+    /// </summary>
+    [SugarColumn(ColumnName = "ITEM_BARCODE2")]
+    public string ItemBarcode2 { get; set; }
+
+    /// <summary>
+    ///     鏂版潯鐮�
+    /// </summary>
+    [SugarColumn(ColumnName = "ITEM_BARCODE3")]
+    public string ItemBarcode3 { get; set; }
+
+    /// <summary>
+    ///     浣跨敤鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "USE_QTY")]
+    public decimal? UseQty { get; set; }
+
+    /// <summary>
+    ///     棰嗘枡鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "OUT_QTY")]
+    public decimal? OutQty { get; set; }
+
+    /// <summary>
+    ///     鐗╂枡绠�绉�
+    /// </summary>
+    [SugarColumn(ColumnName = "ITEM_SNAME")]
+    public string ItemSname { get; set; }
+
+    /// <summary>
+    ///     妗d綅浣庡��
+    /// </summary>
+    [SugarColumn(ColumnName = "SPOSTION")]
+    public decimal? Spostion { get; set; }
+
+    /// <summary>
+    ///     妗d綅楂樺��
+    /// </summary>
+    [SugarColumn(ColumnName = "EPOSTION")]
+    public decimal? Epostion { get; set; }
+
+    /// <summary>
+    ///     妫�楠屾棩鏈�
+    /// </summary>
+    [SugarColumn(ColumnName = "CHECK_DATE")]
+    public DateTime? CheckDate { get; set; }
+
+    /// <summary>
+    ///     鍗曚綅
+    /// </summary>
+    [SugarColumn(ColumnName = "UNIT")]
+    public string Unit { get; set; }
+
+    /// <summary>
+    ///     鏄惁妫�楠�
+    /// </summary>
+    [SugarColumn(ColumnName = "ISCHECK")]
+    public decimal? Ischeck { get; set; }
+
+    /// <summary>
+    ///     閲囪喘璁㈠崟
+    /// </summary>
+    [SugarColumn(ColumnName = "EBELN")]
+    public string Ebeln { get; set; }
+
+    /// <summary>
+    ///     鐢熶骇鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "LOT_DATE")]
+    public string LotDate { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "BILL_NO")]
+    public string BillNo { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱瀹℃牳鏍囧織
+    /// </summary>
+    [SugarColumn(ColumnName = "STOCK_OK")]
+    public short? StockOk { get; set; }
+
+    /// <summary>
+    ///     鍒嗗巶缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "FACTORY")]
+    public string Factory { get; set; }
+
+    /// <summary>
+    ///     鍏徃浠g爜
+    /// </summary>
+    [SugarColumn(ColumnName = "COMPANY")]
+    public string Company { get; set; }
+
+    /// <summary>
+    ///     鍗℃澘缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "CB_NO")]
+    public string CbNo { get; set; }
+
+    /// <summary>
+    ///     绠卞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "BOX_NO")]
+    public string BoxNo { get; set; }
+
+    /// <summary>
+    ///     浠撳簱ID
+    /// </summary>
+    [SugarColumn(ColumnName = "DEPOT_ID")]
+    public decimal? DepotId { get; set; }
+
+    /// <summary>
+    ///     璐т綅ID
+    /// </summary>
+    [SugarColumn(ColumnName = "DEPOT_SECTION_ID")]
+    public decimal? DepotSectionId { get; set; }
+
+    /// <summary>
+    ///     琛屽彿
+    /// </summary>
+    [SugarColumn(ColumnName = "LINE_NUM")]
+    public string LineNum { get; set; }
+
+    /// <summary>
+    ///     鎵爜鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "SM_QTY")]
+    public decimal? SmQty { get; set; }
+
+    /// <summary>
+    ///     閿�鍞鍗�
+    /// </summary>
+    [SugarColumn(ColumnName = "VGBEL")]
+    public string Vgbel { get; set; }
+
+    /// <summary>
+    ///     閿�鍞鍗曡鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "KDPOS")]
+    public decimal? Kdpos { get; set; }
+
+    /// <summary>
+    ///     浠诲姟鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "WORK_NO")]
+    public string WorkNo { get; set; }
+
+    /// <summary>
+    ///     琛屽彿
+    /// </summary>
+    [SugarColumn(ColumnName = "EBELN_LINE_NO")]
+    public decimal? EbelnLineNo { get; set; }
+
+    /// <summary>
+    ///     鍒拌揣鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "CBILL_NO")]
+    public string CbillNo { get; set; }
+
+    /// <summary>
+    ///     鎬ユ枡鏍囪瘑
+    /// </summary>
+    [SugarColumn(ColumnName = "URGENT_FLAG")]
+    public decimal? UrgentFlag { get; set; }
+
+    /// <summary>
+    ///     浜у搧鍨嬪彿
+    /// </summary>
+    [SugarColumn(ColumnName = "BOARD_STYLE")]
+    public string BoardStyle { get; set; }
+
+    /// <summary>
+    ///     浠诲姟鍗曡鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "WORK_LINE")]
+    public decimal? WorkLine { get; set; }
+
+    /// <summary>
+    ///     鐢熶骇宸ュ崟
+    /// </summary>
+    [SugarColumn(ColumnName = "TASK_NO")]
+    public string TaskNo { get; set; }
+
+    /// <summary>
+    ///     渚涘簲鍟�
+    /// </summary>
+    [SugarColumn(ColumnName = "SUPP_NO")]
+    public string SuppNo { get; set; }
+
+    /// <summary>
+    ///     浠诲姟姹囨姤鍗�
+    /// </summary>
+    [SugarColumn(ColumnName = "RBILL_NO")]
+    public string RbillNo { get; set; }
+
+    // 娣诲姞鐨勫瓧娈碉紝骞朵笖瀹冧滑涓嶅睘浜庢暟鎹簱琛�
+    [SugarColumn(IsIgnore = true)] public string? ItemName { get; set; }
+
+    [SugarColumn(IsIgnore = true)] public string? ItemModel { get; set; }
+
+    [SugarColumn(IsIgnore = true)] public string? ItemUnit { get; set; }
+
+    [SugarColumn(IsIgnore = true)] public decimal? SumQuantity { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/MesInvItemIns.cs b/MES.Service/Modes/MesInvItemIns.cs
index 9392c4f..b38b2cd 100644
--- a/MES.Service/Modes/MesInvItemIns.cs
+++ b/MES.Service/Modes/MesInvItemIns.cs
@@ -1,5 +1,3 @@
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
 using SqlSugar;
 
 namespace MES.Service.Modes;
@@ -7,404 +5,311 @@
 /// <summary>
 ///     鐗╂枡鍏ュ簱涓昏〃
 /// </summary>
-[Table("MES_INV_ITEM_INS")]
-[SugarTable("MES_INV_ITEM_INS")] //鐢ㄤ簬SqlSugar
+[SugarTable("MES_INV_ITEM_INS")]
 public class MesInvItemIns
 {
     /// <summary>
     ///     ID(SEQ_INV_ID)
     /// </summary>
-    [Key]
-    [Column("ID")]
-    [SugarColumn(ColumnName = "ID")] //鐢ㄤ簬SqlSugar
+    [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
     public decimal Id { get; set; }
 
     /// <summary>
     ///     鍏ュ簱鍗曞彿
     /// </summary>
-    [Column("BILL_NO")]
-    [SugarColumn(ColumnName = "BILL_NO")] //鐢ㄤ簬SqlSugar
-    [StringLength(100, ErrorMessage = "鍏ュ簱鍗曞彿闀垮害涓嶈兘瓒呭嚭100")]
+    [SugarColumn(ColumnName = "BILL_NO")]
     public string BillNo { get; set; }
 
     /// <summary>
-    ///     鍗曟嵁绫诲瀷ID
+    ///     鐘舵�亅0-鏈鏍�1-瀹℃牳鍏ュ簱\缁撴
     /// </summary>
-    [Column("BILL_TYPE_ID")]
-    [SugarColumn(ColumnName = "BILL_TYPE_ID")] //鐢ㄤ簬SqlSugar
-    public decimal? BillTypeId { get; set; }
+    [SugarColumn(ColumnName = "STATUS")]
+    public short? Status { get; set; }
 
     /// <summary>
-    ///     鍒拌揣鍗曞彿/璁″垝鍗曞彿
+    ///     浠撳簱
     /// </summary>
-    [Column("CBILL_NO")]
-    [SugarColumn(ColumnName = "CBILL_NO")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "鍒拌揣鍗曞彿/璁″垝鍗曞彿闀垮害涓嶈兘瓒呭嚭50")]
-    public string CbillNo { get; set; }
+    [SugarColumn(ColumnName = "DEPOTS_ID")]
+    public decimal? DepotsId { get; set; }
 
     /// <summary>
-    ///     瀹℃牳鏃ユ湡
+    ///     鍘熷洜
     /// </summary>
-    [Column("CHECK_DATE")]
-    [SugarColumn(ColumnName = "CHECK_DATE")] //鐢ㄤ簬SqlSugar
-    public DateTime? CheckDate { get; set; }
-
-    /// <summary>
-    ///     宸叉崱鏁伴噺
-    /// </summary>
-    [Column("CHECK_QTY")]
-    [SugarColumn(ColumnName = "CHECK_QTY")] //鐢ㄤ簬SqlSugar
-    public decimal? CheckQty { get; set; }
-
-    /// <summary>
-    ///     妫�楠岀粨鏋�
-    /// </summary>
-    [Column("CHECK_RES")]
-    [SugarColumn(ColumnName = "CHECK_RES")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "妫�楠岀粨鏋滈暱搴︿笉鑳借秴鍑�50")]
-    public string CheckRes { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳浜�
-    /// </summary>
-    [Column("CHECK_USER")]
-    [SugarColumn(ColumnName = "CHECK_USER")] //鐢ㄤ簬SqlSugar
-    [StringLength(32, ErrorMessage = "瀹℃牳浜洪暱搴︿笉鑳借秴鍑�32")]
-    public string CheckUser { get; set; }
-
-    /// <summary>
-    ///     鍏徃浠g爜
-    /// </summary>
-    [Column("COMPANY")]
-    [SugarColumn(ColumnName = "COMPANY")] //鐢ㄤ簬SqlSugar
-    [StringLength(20, ErrorMessage = "鍏徃浠g爜闀垮害涓嶈兘瓒呭嚭20")]
-    public string Company { get; set; }
+    [SugarColumn(ColumnName = "REASON")]
+    public string Reason { get; set; }
 
     /// <summary>
     ///     鍒涘缓浜�
     /// </summary>
-    [Column("CREATE_BY")]
-    [SugarColumn(ColumnName = "CREATE_BY")] //鐢ㄤ簬SqlSugar
-    [StringLength(30, ErrorMessage = "鍒涘缓浜洪暱搴︿笉鑳借秴鍑�30")]
+    [SugarColumn(ColumnName = "CREATE_BY")]
     public string CreateBy { get; set; }
 
     /// <summary>
     ///     鍒涘缓鏃堕棿
     /// </summary>
-    [Column("CREATE_DATE")]
-    [SugarColumn(ColumnName = "CREATE_DATE")] //鐢ㄤ簬SqlSugar
+    [SugarColumn(ColumnName = "CREATE_DATE")]
     public DateTime? CreateDate { get; set; }
-
-    /// <summary>
-    ///     瀹㈡埛鍚嶇О
-    /// </summary>
-    [Column("CUST_NAME")]
-    [SugarColumn(ColumnName = "CUST_NAME")] //鐢ㄤ簬SqlSugar
-    [StringLength(300, ErrorMessage = "瀹㈡埛鍚嶇О闀垮害涓嶈兘瓒呭嚭300")]
-    public string CustName { get; set; }
-
-    /// <summary>
-    ///     瀹㈡埛缂栧彿
-    /// </summary>
-    [Column("CUST_NO")]
-    [SugarColumn(ColumnName = "CUST_NO")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "瀹㈡埛缂栧彿闀垮害涓嶈兘瓒呭嚭50")]
-    public string CustNo { get; set; }
-
-    /// <summary>
-    ///     浠撳簱缂栫爜
-    /// </summary>
-    [Column("DEPOTS_CODE")]
-    [SugarColumn(ColumnName = "DEPOTS_CODE")] //鐢ㄤ簬SqlSugar
-    [StringLength(30, ErrorMessage = "浠撳簱缂栫爜闀垮害涓嶈兘瓒呭嚭30")]
-    public string DepotsCode { get; set; }
-
-    /// <summary>
-    ///     浠撳簱
-    /// </summary>
-    [Column("DEPOTS_ID")]
-    [SugarColumn(ColumnName = "DEPOTS_ID")] //鐢ㄤ簬SqlSugar
-    public decimal? DepotsId { get; set; }
-
-    /// <summary>
-    ///     SAP閲囪喘璁㈠崟鍙�
-    /// </summary>
-    [Column("EBELN")]
-    [SugarColumn(ColumnName = "EBELN")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "SAP閲囪喘璁㈠崟鍙烽暱搴︿笉鑳借秴鍑�50")]
-    public string Ebeln { get; set; }
-
-    /// <summary>
-    ///     宸ュ巶缂栫爜
-    /// </summary>
-    [Column("FACTORY")]
-    [SugarColumn(ColumnName = "FACTORY")] //鐢ㄤ簬SqlSugar
-    [StringLength(10, ErrorMessage = "宸ュ巶缂栫爜闀垮害涓嶈兘瓒呭嚭10")]
-    public string Factory { get; set; }
-
-    /// <summary>
-    ///     鎶曟枡鍗曡鍙�
-    /// </summary>
-    [Column("FBILL_LINO")]
-    [SugarColumn(ColumnName = "FBILL_LINO")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "鎶曟枡鍗曡鍙烽暱搴︿笉鑳借秴鍑�50")]
-    public string FbillLino { get; set; }
-
-    /// <summary>
-    ///     鎶曟枡閫氱煡鍗曞崟鍙�
-    /// </summary>
-    [Column("FBILLNO")]
-    [SugarColumn(ColumnName = "FBILLNO")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "鎶曟枡閫氱煡鍗曞崟鍙烽暱搴︿笉鑳借秴鍑�50")]
-    public string Fbillno { get; set; }
-
-    /// <summary>
-    ///     鍏ュ簱瀹℃牳鏃ユ湡
-    /// </summary>
-    [Column("FCHECK_DATE")]
-    [SugarColumn(ColumnName = "FCHECK_DATE")] //鐢ㄤ簬SqlSugar
-    public DateTime? FcheckDate { get; set; }
-
-    /// <summary>
-    ///     鍏ュ簱瀹℃牳浜�
-    /// </summary>
-    [Column("FCHECK_USER")]
-    [SugarColumn(ColumnName = "FCHECK_USER")] //鐢ㄤ簬SqlSugar
-    [StringLength(10, ErrorMessage = "鍏ュ簱瀹℃牳浜洪暱搴︿笉鑳借秴鍑�10")]
-    public string FcheckUser { get; set; }
-
-    /// <summary>
-    ///     鍏ュ簱鐘舵��
-    /// </summary>
-    [Column("FSTATUS")]
-    [SugarColumn(ColumnName = "FSTATUS")] //鐢ㄤ簬SqlSugar
-    public decimal? Fstatus { get; set; }
-
-    /// <summary>
-    ///     瀹℃牳鍏ュ簱浜�
-    /// </summary>
-    [Column("INSBY")]
-    [SugarColumn(ColumnName = "INSBY")] //鐢ㄤ簬SqlSugar
-    [StringLength(32, ErrorMessage = "瀹℃牳鍏ュ簱浜洪暱搴︿笉鑳借秴鍑�32")]
-    public string Insby { get; set; }
-
-    /// <summary>
-    ///     纭鍏ュ簱鏃ユ湡
-    /// </summary>
-    [Column("INSDATE")]
-    [SugarColumn(ColumnName = "INSDATE")] //鐢ㄤ簬SqlSugar
-    public DateTime? Insdate { get; set; }
-
-    /// <summary>
-    ///     鍏ュ簱鏃ユ湡
-    /// </summary>
-    [Column("INS_DATE")]
-    [SugarColumn(ColumnName = "INS_DATE")] //鐢ㄤ簬SqlSugar
-    public DateTime? InsDate { get; set; }
-
-    /// <summary>
-    ///     IQC妫�楠屽崟鍙�
-    /// </summary>
-    [Column("IQC_RELEASE_NO")]
-    [SugarColumn(ColumnName = "IQC_RELEASE_NO")] //鐢ㄤ簬SqlSugar
-    [StringLength(300, ErrorMessage = "IQC妫�楠屽崟鍙烽暱搴︿笉鑳借秴鍑�300")]
-    public string IqcReleaseNo { get; set; }
-
-    /// <summary>
-    ///     鏄惁妫�楠�
-    /// </summary>
-    [Column("ISCHECK")]
-    [SugarColumn(ColumnName = "ISCHECK")] //鐢ㄤ簬SqlSugar
-    public decimal? Ischeck { get; set; }
-
-    /// <summary>
-    ///     鏄惁鏄剧ず
-    /// </summary>
-    [Column("IS_VISUAL")]
-    [SugarColumn(ColumnName = "IS_VISUAL")] //鐢ㄤ簬SqlSugar
-    public decimal? IsVisual { get; set; }
-
-    /// <summary>
-    ///     鍗婃垚鍝佺紪鍙�
-    /// </summary>
-    [Column("ITEM_NO")]
-    [SugarColumn(ColumnName = "ITEM_NO")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "鍗婃垚鍝佺紪鍙烽暱搴︿笉鑳借秴鍑�50")]
-    public string ItemNo { get; set; }
 
     /// <summary>
     ///     鏈�鍚庢洿鏂颁汉
     /// </summary>
-    [Column("LASTUPDATE_BY")]
-    [SugarColumn(ColumnName = "LASTUPDATE_BY")] //鐢ㄤ簬SqlSugar
-    [StringLength(30, ErrorMessage = "鏈�鍚庢洿鏂颁汉闀垮害涓嶈兘瓒呭嚭30")]
+    [SugarColumn(ColumnName = "LASTUPDATE_BY")]
     public string LastupdateBy { get; set; }
 
     /// <summary>
     ///     鏈�鍚庢洿鏂版椂闂�
     /// </summary>
-    [Column("LASTUPDATE_DATE")]
-    [SugarColumn(ColumnName = "LASTUPDATE_DATE")] //鐢ㄤ簬SqlSugar
+    [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
     public DateTime? LastupdateDate { get; set; }
 
     /// <summary>
-    ///     閲囪喘鍗曡鍙�
+    ///     鍗曟嵁绫诲瀷ID
     /// </summary>
-    [Column("LINE_NO")]
-    [SugarColumn(ColumnName = "LINE_NO")] //鐢ㄤ簬SqlSugar
-    [StringLength(20, ErrorMessage = "閲囪喘鍗曡鍙烽暱搴︿笉鑳借秴鍑�20")]
-    public string LineNo { get; set; }
-
-    /// <summary>
-    ///     棰嗘枡宸ユ
-    /// </summary>
-    [Column("MMLIST")]
-    [SugarColumn(ColumnName = "MMLIST")] //鐢ㄤ簬SqlSugar
-    [StringLength(30, ErrorMessage = "棰嗘枡宸ユ闀垮害涓嶈兘瓒呭嚭30")]
-    public string Mmlist { get; set; }
-
-    /// <summary>
-    ///     鐢熶骇璁㈠崟
-    /// </summary>
-    [Column("MOCODE")]
-    [SugarColumn(ColumnName = "MOCODE")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "鐢熶骇璁㈠崟闀垮害涓嶈兘瓒呭嚭50")]
-    public string Mocode { get; set; }
-
-    /// <summary>
-    ///     鍐查攢浜嬪姟绫诲瀷缂栫爜
-    /// </summary>
-    [Column("MTTRANSCTION_NO")]
-    [SugarColumn(ColumnName = "MTTRANSCTION_NO")] //鐢ㄤ簬SqlSugar
-    public decimal? MttransctionNo { get; set; }
-
-    /// <summary>
-    ///     閫佽揣鍗曞彿
-    /// </summary>
-    [Column("PAPER_BILL_NO")]
-    [SugarColumn(ColumnName = "PAPER_BILL_NO")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "閫佽揣鍗曞彿闀垮害涓嶈兘瓒呭嚭50")]
-    public string PaperBillNo { get; set; }
-
-    /// <summary>
-    ///     0 鐢宠鍗曪紝1鍏ュ簱鍗曟爣璇�
-    /// </summary>
-    [Column("PICK_INS")]
-    [SugarColumn(ColumnName = "PICK_INS")] //鐢ㄤ簬SqlSugar
-    public decimal? PickIns { get; set; }
-
-    /// <summary>
-    ///     鍘熷洜
-    /// </summary>
-    [Column("REASON")]
-    [SugarColumn(ColumnName = "REASON")] //鐢ㄤ簬SqlSugar
-    [StringLength(1000, ErrorMessage = "鍘熷洜闀垮害涓嶈兘瓒呭嚭1000")]
-    public string Reason { get; set; }
-
-    /// <summary>
-    ///     閫�鏂欏師鍥�
-    /// </summary>
-    [Column("REM")]
-    [SugarColumn(ColumnName = "REM")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "閫�鏂欏師鍥犻暱搴︿笉鑳借秴鍑�50")]
-    public string Rem { get; set; }
-
-    /// <summary>
-    ///     澶囨敞
-    /// </summary>
-    [Column("REMARK")]
-    [SugarColumn(ColumnName = "REMARK")] //鐢ㄤ簬SqlSugar
-    [StringLength(255, ErrorMessage = "澶囨敞闀垮害涓嶈兘瓒呭嚭255")]
-    public string Remark { get; set; }
-
-    /// <summary>
-    ///     SAP杩斿洖鍗曟嵁
-    /// </summary>
-    [Column("SAPNO")]
-    [SugarColumn(ColumnName = "SAPNO")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "SAP杩斿洖鍗曟嵁闀垮害涓嶈兘瓒呭嚭50")]
-    public string Sapno { get; set; }
-
-    /// <summary>
-    ///     鏄惁宸插洖鍐橲AP
-    /// </summary>
-    [Column("SAPSTATUS")]
-    [SugarColumn(ColumnName = "SAPSTATUS")] //鐢ㄤ簬SqlSugar
-    public decimal? Sapstatus { get; set; }
-
-    /// <summary>
-    ///     SAP杩斿洖淇℃伅
-    /// </summary>
-    [Column("SAPTEXT")]
-    [SugarColumn(ColumnName = "SAPTEXT")] //鐢ㄤ簬SqlSugar
-    [StringLength(200, ErrorMessage = "SAP杩斿洖淇℃伅闀垮害涓嶈兘瓒呭嚭200")]
-    public string Saptext { get; set; }
-
-    /// <summary>
-    ///     SAP杩斿洖骞翠唤
-    /// </summary>
-    [Column("SAPYEAR")]
-    [SugarColumn(ColumnName = "SAPYEAR")] //鐢ㄤ簬SqlSugar
-    public decimal? Sapyear { get; set; }
-
-    /// <summary>
-    ///     鐘舵�亅0-鏈鏍�1-瀹℃牳鍏ュ簱\缁撴
-    /// </summary>
-    [Column("STATUS")]
-    [SugarColumn(ColumnName = "STATUS")] //鐢ㄤ簬SqlSugar
-    public decimal? Status { get; set; }
-
-    /// <summary>
-    ///     渚涘簲鍟嗙紪鐮�
-    /// </summary>
-    [Column("SUPP_NO")]
-    [SugarColumn(ColumnName = "SUPP_NO")] //鐢ㄤ簬SqlSugar
-    [StringLength(30, ErrorMessage = "渚涘簲鍟嗙紪鐮侀暱搴︿笉鑳借秴鍑�30")]
-    public string SuppNo { get; set; }
-
-    /// <summary>
-    ///     宸ュ崟琛屽彿
-    /// </summary>
-    [Column("TASK_LINO")]
-    [SugarColumn(ColumnName = "TASK_LINO")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "宸ュ崟琛屽彿闀垮害涓嶈兘瓒呭嚭50")]
-    public string TaskLino { get; set; }
-
-    /// <summary>
-    ///     浠诲姟鍗曞彿
-    /// </summary>
-    [Column("TASK_NO")]
-    [SugarColumn(ColumnName = "TASK_NO")] //鐢ㄤ簬SqlSugar
-    [StringLength(50, ErrorMessage = "浠诲姟鍗曞彿闀垮害涓嶈兘瓒呭嚭50")]
-    public string TaskNo { get; set; }
+    [SugarColumn(ColumnName = "BILL_TYPE_ID")]
+    public decimal? BillTypeId { get; set; }
 
     /// <summary>
     ///     浜嬪姟绫诲瀷ID
     /// </summary>
-    [Column("TRANSACTION_ID")]
-    [SugarColumn(ColumnName = "TRANSACTION_ID")] //鐢ㄤ簬SqlSugar
+    [SugarColumn(ColumnName = "TRANSACTION_ID")]
     public decimal? TransactionId { get; set; }
 
     /// <summary>
-    ///     浜嬪姟绫诲瀷缂栫爜
+    ///     澶囨敞
     /// </summary>
-    [Column("TRANSCTION_NO")]
-    [SugarColumn(ColumnName = "TRANSCTION_NO")] //鐢ㄤ簬SqlSugar
-    [StringLength(30, ErrorMessage = "浜嬪姟绫诲瀷缂栫爜闀垮害涓嶈兘瓒呭嚭30")]
-    public string TransctionNo { get; set; }
+    [SugarColumn(ColumnName = "REMARK")]
+    public string Remark { get; set; }
 
     /// <summary>
-    ///     鎬ユ枡鏍囪瘑
+    ///     閫佽揣鍗曞彿
     /// </summary>
-    [Column("URGENT_FLAG")]
-    [SugarColumn(ColumnName = "URGENT_FLAG")] //鐢ㄤ簬SqlSugar
-    public decimal? UrgentFlag { get; set; }
+    [SugarColumn(ColumnName = "PAPER_BILL_NO")]
+    public string PaperBillNo { get; set; }
 
     /// <summary>
     ///     閫�鏂欎汉宸ュ彿
     /// </summary>
-    [Column("USER_NO_BACK")]
-    [SugarColumn(ColumnName = "USER_NO_BACK")] //鐢ㄤ簬SqlSugar
-    [StringLength(20, ErrorMessage = "閫�鏂欎汉宸ュ彿闀垮害涓嶈兘瓒呭嚭20")]
+    [SugarColumn(ColumnName = "USER_NO_BACK")]
     public string UserNoBack { 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 = "TASK_NO")]
+    public string TaskNo { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "INS_DATE")]
+    public DateTime? InsDate { get; set; }
+
+    /// <summary>
+    ///     妫�楠岀粨鏋�
+    /// </summary>
+    [SugarColumn(ColumnName = "CHECK_RES")]
+    public string CheckRes { get; set; }
+
+    /// <summary>
+    ///     宸叉崱鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "CHECK_QTY")]
+    public decimal? CheckQty { get; set; }
+
+    /// <summary>
+    ///     棰嗘枡宸ユ
+    /// </summary>
+    [SugarColumn(ColumnName = "MMLIST")]
+    public string Mmlist { get; set; }
+
+    /// <summary>
+    ///     SAP閲囪喘璁㈠崟鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "EBELN")]
+    public string Ebeln { get; set; }
+
+    /// <summary>
+    ///     浠撳簱缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "DEPOTS_CODE")]
+    public string DepotsCode { get; set; }
+
+    /// <summary>
+    ///     浜嬪姟绫诲瀷缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "TRANSCTION_NO")]
+    public string TransctionNo { get; set; }
+
+    /// <summary>
+    ///     渚涘簲鍟嗙紪鐮�
+    /// </summary>
+    [SugarColumn(ColumnName = "SUPP_NO")]
+    public string SuppNo { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnName = "FSTATUS")]
+    public short? Fstatus { get; set; }
+
+    /// <summary>
+    ///     宸ュ巶缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "FACTORY")]
+    public string Factory { get; set; }
+
+    /// <summary>
+    ///     鏄惁宸插洖鍐橲AP
+    /// </summary>
+    [SugarColumn(ColumnName = "SAPSTATUS")]
+    public short? Sapstatus { get; set; }
+
+    /// <summary>
+    ///     SAP杩斿洖鍗曟嵁
+    /// </summary>
+    [SugarColumn(ColumnName = "SAPNO")]
+    public string Sapno { get; set; }
+
+    /// <summary>
+    ///     SAP杩斿洖骞翠唤
+    /// </summary>
+    [SugarColumn(ColumnName = "SAPYEAR")]
+    public short? Sapyear { get; set; }
+
+    /// <summary>
+    ///     SAP杩斿洖淇℃伅
+    /// </summary>
+    [SugarColumn(ColumnName = "SAPTEXT")]
+    public string Saptext { get; set; }
+
+    /// <summary>
+    ///     纭鍏ュ簱鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "INSDATE")]
+    public DateTime? InsdateA { get; set; }
+
+    /// <summary>
+    ///     鏄惁妫�楠�
+    /// </summary>
+    [SugarColumn(ColumnName = "ISCHECK")]
+    public decimal? Ischeck { get; set; }
+
+    /// <summary>
+    ///     瀹℃牳鍏ュ簱浜�
+    /// </summary>
+    [SugarColumn(ColumnName = "INSBY")]
+    public string Insby { get; set; }
+
+    /// <summary>
+    ///     鏄惁鏄剧ず
+    /// </summary>
+    [SugarColumn(ColumnName = "IS_VISUAL")]
+    public decimal? IsVisual { get; set; }
+
+    /// <summary>
+    ///     鍏徃浠g爜
+    /// </summary>
+    [SugarColumn(ColumnName = "COMPANY")]
+    public string Company { get; set; }
+
+    /// <summary>
+    ///     鎬ユ枡鏍囪瘑
+    /// </summary>
+    [SugarColumn(ColumnName = "URGENT_FLAG")]
+    public short? UrgentFlag { get; set; }
+
+    /// <summary>
+    ///     閲囪喘鍗曡鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "LINE_NO")]
+    public string LineNo { get; set; }
+
+    /// <summary>
+    ///     鍐查攢浜嬪姟绫诲瀷缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "MTTRANSCTION_NO")]
+    public decimal? MttransctionNo { get; set; }
+
+    /// <summary>
+    ///     宸ュ崟琛屽彿
+    /// </summary>
+    [SugarColumn(ColumnName = "TASK_LINO")]
+    public string TaskLino { get; set; }
+
+    /// <summary>
+    ///     鎶曟枡閫氱煡鍗曞崟鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "FBILLNO")]
+    public string Fbillno { get; set; }
+
+    /// <summary>
+    ///     鎶曟枡鍗曡鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "FBILL_LINO")]
+    public string FbillLino { get; set; }
+
+    /// <summary>
+    ///     瀹㈡埛缂栧彿
+    /// </summary>
+    [SugarColumn(ColumnName = "CUST_NO")]
+    public string CustNo { get; set; }
+
+    /// <summary>
+    ///     瀹㈡埛鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnName = "CUST_NAME")]
+    public string CustName { get; set; }
+
+    /// <summary>
+    ///     IQC妫�楠屽崟鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "IQC_RELEASE_NO")]
+    public string IqcReleaseNo { get; set; }
+
+    /// <summary>
+    ///     鍒拌揣鍗曞彿
+    /// </summary>
+    [SugarColumn(ColumnName = "CBILL_NO")]
+    public string CbillNo { get; set; }
+
+    /// <summary>
+    ///     0 鐢宠鍗曪紝1鍏ュ簱鍗曟爣璇�
+    /// </summary>
+    [SugarColumn(ColumnName = "PICK_INS")]
+    public decimal? PickIns { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱瀹℃牳浜�
+    /// </summary>
+    [SugarColumn(ColumnName = "FCHECK_USER")]
+    public string FcheckUser { get; set; }
+
+    /// <summary>
+    ///     鍏ュ簱瀹℃牳鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "FCHECK_DATE")]
+    public DateTime? FcheckDate { get; set; }
+
+    /// <summary>
+    ///     浠诲姟姹囨姤鍗�
+    /// </summary>
+    [SugarColumn(ColumnName = "RBILL_NO")]
+    public string RbillNo { get; set; }
+
+    //鍦ㄦ暟鎹簱鏌ヨ鏃跺拷鐣ヨ繖涓瓧娈�
+    [SugarColumn(IsIgnore = true)] public string? DepotName { get; set; }
+
+    [SugarColumn(IsIgnore = true)] public string? SuppName { get; set; }
 }
\ No newline at end of file
diff --git a/MES.Service/Modes/MessageCenter.cs b/MES.Service/Modes/MessageCenter.cs
index 74144be..0575d17 100644
--- a/MES.Service/Modes/MessageCenter.cs
+++ b/MES.Service/Modes/MessageCenter.cs
@@ -105,6 +105,14 @@
     [SugarColumn(ColumnName = "ROUTE")]
     public string? Route { get; set; }
 
+    /// <summary>
+    ///     鍙傛暟绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnName = "Content_Type")]
+    public string? ContentType { get; set; }
+
 
     [SugarColumn(IsIgnore = true)] public int? isShow { get; set; }
+
+    [SugarColumn(IsIgnore = true)] public decimal? Count { 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 0970187..a7c8bdc 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 661251c..817f8a7 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/bin/Release/net8.0/MES.Service.dll b/MES.Service/bin/Release/net8.0/MES.Service.dll
index 77464c8..693e2b7 100644
--- a/MES.Service/bin/Release/net8.0/MES.Service.dll
+++ b/MES.Service/bin/Release/net8.0/MES.Service.dll
Binary files differ
diff --git a/MES.Service/bin/Release/net8.0/MES.Service.pdb b/MES.Service/bin/Release/net8.0/MES.Service.pdb
index 63403c8..4b05908 100644
--- a/MES.Service/bin/Release/net8.0/MES.Service.pdb
+++ b/MES.Service/bin/Release/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MES.Service/service/GetErpParametersServer.cs b/MES.Service/service/GetErpParametersServer.cs
new file mode 100644
index 0000000..4ffae67
--- /dev/null
+++ b/MES.Service/service/GetErpParametersServer.cs
@@ -0,0 +1,138 @@
+锘縰sing System.Text;
+using System.Web;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+
+namespace MES.Service.service;
+
+public class GetErpParametersServer
+{
+    private readonly MesInvItemInCDetailsManager _invItemInCDetailsServer =
+        new();
+
+    private readonly MessageCenterManager _messageCenterServer = new();
+
+    public List<MessageCenter> GetErpParameters(List<MessageCenter> data)
+    {
+        var centers = new List<MessageCenter>();
+
+        //鑾峰彇绗竴涓姹�
+        var center = data.Find(p => p.Seq == 1);
+
+        //瑙f瀽URL
+        var queryString =
+            center.PageName.Substring(center.PageName.IndexOf('?') + 1);
+        //鎻愬彇鍙傛暟
+        var queryParameters = HttpUtility.ParseQueryString(queryString);
+
+        switch (center.TableName)
+        {
+            //閲囪喘鍏ュ簱鍗曞鏍�
+            case "MES_INV_ITEM_INS_A":
+            //閲囪喘鍏ュ簱鍗曞弽瀹℃牳
+            case "MES_INV_ITEM_INS_B":
+                var strings = center.TableName.Split("_");
+
+                var query = new WarehouseQuery();
+                //鑾峰彇鍒扮被鍨嬶紙瀹℃牳杩樻槸鍙嶅鏍革級
+                query.Type = strings[^1];
+                query.id = Convert.ToDecimal(queryParameters["id"]);
+                query.billNo = queryParameters["billNo"];
+
+                var mesToErp = _invItemInCDetailsServer.MesToErpParam(query);
+                mesToErp.Id = center.Id;
+                centers.Add(mesToErp);
+
+                var messageCenter = data[0];
+                var json = new JObject();
+                json.Add(new JProperty("id", query.id));
+                json.Add(new JProperty("billNo", query.billNo));
+                messageCenter.Data = json.ToString();
+                centers.Add(messageCenter);
+
+                break;
+            default:
+                throw new Exception("鏃犳硶璇嗗埆TableName绫诲瀷");
+        }
+
+        //鏍规嵁椤哄簭杩斿洖
+        return centers.OrderBy(p => p.Seq).ToList();
+    }
+
+
+    public string Resend(MessageCenter data)
+    {
+        //鑾峰彇鎵�鏈夌殑鍥炶皟
+        var messageCenters =
+            _messageCenterServer.GetList(it => it.Pid == data.Id);
+        messageCenters.Add(data);
+        var erpParameters = GetErpParameters(messageCenters);
+
+        return sendHttp(erpParameters).Result;
+    }
+
+
+    private async Task<string> sendHttp(List<MessageCenter> requestList)
+    {
+        var sortedRequests = requestList.OrderBy(r => r.Seq).ToList();
+
+        using var httpClient = new HttpClient();
+
+        var responses = "";
+
+        foreach (var request in sortedRequests)
+        {
+            var httpRequestMessage = new HttpRequestMessage
+            {
+                Method = new HttpMethod(request.Method),
+                RequestUri = new Uri(request.Url),
+                Content = new StringContent(request.Data, Encoding.UTF8,
+                    request.ContentType)
+            };
+
+            var response =
+                await httpClient.SendAsync(httpRequestMessage);
+            var responseData = await response.Content.ReadAsStringAsync();
+
+            var result = JsonConvert.DeserializeObject<Result>(responseData);
+
+            responses += result.msg + "!!!";
+            responses += result.message + "!!!";
+
+            if ("500".Equals(result.state))
+            {
+                responses = "杩斿洖鎶ラ敊锛�" + responses;
+                return responses;
+            }
+
+            if ("1".Equals(result.status))
+            {
+                responses = "杩斿洖鎶ラ敊锛�" + responses;
+                return responses;
+            }
+
+            request.Result = 1;
+            request.ResultData = result.msg;
+            request.Status = 1;
+            request.DealWith = 1;
+
+            _messageCenterServer.ResetUpdate(request);
+        }
+
+        responses = "閲嶆帹鎴愬姛锛�" + responses;
+        return responses;
+    }
+}
+
+public class Result
+{
+    public string? state { get; set; }
+    public string? msg { get; set; }
+
+    public string? status { get; set; }
+
+    public string? message { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/service/MessageCenterManager.cs b/MES.Service/service/MessageCenterManager.cs
index c835790..255bac7 100644
--- a/MES.Service/service/MessageCenterManager.cs
+++ b/MES.Service/service/MessageCenterManager.cs
@@ -1,5 +1,6 @@
 锘縰sing MES.Service.DB;
 using MES.Service.Modes;
+using SqlSugar;
 
 namespace MES.Service.service;
 
@@ -7,25 +8,54 @@
 {
     //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
 
-    public List<MessageCenter> getPushFailedPage(MessageCenter query)
+    public List<MessageCenter> GetPushFailedPage(MessageCenter query)
     {
         return Context.Queryable<MessageCenter>()
             .Where(it =>
                 it.Result == 0 && it.Status == 1 &&
-                it.Seq == 1 &&
-                it.CreateBy == query.CreateBy)
+                it.Seq == 1 && it.Title != null)
             .WhereIF(query.isShow == 1, it => it.DealWith == 0)
             .OrderByDescending(it => it.CreateDate)
             .ToPageList(1, 20);
     }
 
-    public bool save(MessageCenter entity)
+    public int save(MessageCenter entity)
     {
         entity.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
         entity.Method = "POST";
+        return Db.Insertable(entity).ExecuteReturnIdentity();
+    }
+
+    public bool SetError(MessageCenter entity)
+    {
+        entity.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+        entity.Method = "POST";
+        entity.Result = 0;
+        entity.DealWith = 0;
+        entity.Status = 1;
         return base.Insert(entity);
     }
 
+    //鑾峰彇鎵�鏈夋病鏈夋垚鍔熺殑璇锋眰
+    public List<MessageCenter> ErrorMsg()
+    {
+        return Context.Queryable<MessageCenter>()
+            .GroupBy(a => new
+            {
+                a.TableName, a.Pid, a.Title, a.PageName
+            })
+            .Where(a =>
+                a.DealWith == 0 && a.Status == 0 && a.Result == 0 &&
+                a.Title == null)
+            .Select<MessageCenter>(a => new MessageCenter
+            {
+                TableName = a.TableName,
+                Pid = a.Pid,
+                Title = a.Title,
+                PageName = a.PageName,
+                Count = SqlFunc.AggregateCount(a.Id)
+            }).ToList();
+    }
     //鏍规嵁鍑犵鎯呭喌鏇存柊  淇濇寔椤甸潰id鏄浐瀹氱殑
 
 
diff --git a/MES.Service/service/QC/XJService.cs b/MES.Service/service/QC/XJService.cs
index 5513747..7c35c43 100644
--- a/MES.Service/service/QC/XJService.cs
+++ b/MES.Service/service/QC/XJService.cs
@@ -64,7 +64,7 @@
                 BoardModel = b.BoardModel,
                 PlanQty = c.PlanQty,
                 Mocode = a.Mocode,
-                BoardStyle = c.BoardStyle,
+                // BoardStyle = c.BoardStyle,
                 Id = a.Id
             })
             .ToList();
@@ -156,7 +156,7 @@
                 CatQty = a.CatQty,
                 MoidNum = s.MoidNum,
                 Daa020 = a.LineNo,
-                DetailMem = a.DetailMem,
+                // DetailMem = a.DetailMem,
                 TaskNo = a.TaskNo,
                 Id = s.Id,
                 CreateBy = s.CreateBy,
@@ -169,9 +169,9 @@
                 FcheckResu = s.FcheckResu,
                 Remarks = s.Remarks,
                 BoardModel = b.BoardModel,
-                PlanQty = c.PlanQty,
-                Mocode = a.Mocode,
-                BoardStyle = c.BoardStyle
+                PlanQty = c.PlanQty
+                // Mocode = a.Mocode,
+                // BoardStyle = c.BoardStyle
             }).OrderBy(s => s.CreateDate, OrderByType.Desc)
             .ToPageList(queryObj.PageIndex, queryObj.Limit);
     }
diff --git a/MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs b/MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs
new file mode 100644
index 0000000..836f395
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemBarcodesManager.cs
@@ -0,0 +1,78 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemBarcodesManager : Repository<MesInvItemBarcodes>
+{
+    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+    //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemBarcodesManager.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(MesInvItemBarcodes).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 MesInvItemBarcodes(); //娴嬭瘯鍙傛暟
+        var insertArray = new[] { insertData };
+        base.Insert(insertData); //鎻掑叆
+        base.InsertRange(insertArray); //鎵归噺鎻掑叆
+        var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒�
+        AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆
+
+
+        /*********鏇存柊*********/
+        var updateData = new MesInvItemBarcodes(); //娴嬭瘯鍙傛暟
+        var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟
+        base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊
+        base.UpdateRange(updateArray); //鎵归噺鏇存柊
+        //base.Update(it => new MesInvItemBarcodes() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1
+        AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏�
+
+
+        /*********鍒犻櫎*********/
+        var deldata = new MesInvItemBarcodes(); //娴嬭瘯鍙傛暟
+        base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎
+        base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎
+        base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎
+        base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎
+        AsDeleteable().Where(it => 1 == 2)
+            .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣�
+    }
+
+    #endregion
+}
\ No newline at end of file
diff --git a/MES.Service/service/Warehouse/MesInvItemInCDetailsManager.cs b/MES.Service/service/Warehouse/MesInvItemInCDetailsManager.cs
new file mode 100644
index 0000000..c27ff9a
--- /dev/null
+++ b/MES.Service/service/Warehouse/MesInvItemInCDetailsManager.cs
@@ -0,0 +1,317 @@
+锘縰sing System.Data;
+using MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using Newtonsoft.Json;
+using SqlSugar;
+using DbType = System.Data.DbType;
+
+namespace MES.Service.service.Warehouse;
+
+public class MesInvItemInCDetailsManager : Repository<MesInvItemInCDetails>
+{
+    //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
+
+    private readonly MessageCenterManager _messageCenterManager = new();
+
+    public PurchaseInventory SaveBarCodes(WarehouseQuery entity)
+    {
+        // 閲囪喘鍏ュ簱[FILED3[userName[sectionCode[barcode
+        var inputParam = "閲囪喘鍏ュ簱[FILED3[" + entity.userName + "[" +
+                         entity.sectionCode + "[" + entity.barcode;
+
+        // 瀹氫箟杈撳嚭鍙傛暟
+        var outputParam = new SugarParameter("c_result", null,
+            DbType.String, ParameterDirection.Output,
+            4000);
+
+        // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+        Db.Ado.ExecuteCommand(
+            "BEGIN prc_rf_pda_scan_in_barcode(:c_in_str, :c_result); END;",
+            new SugarParameter("c_in_str", inputParam,
+                DbType.String), outputParam);
+
+        // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+        var resultValue = outputParam.Value?.ToString();
+
+// 鏍规嵁杩斿洖鍊煎鐞嗛�昏緫
+        if (resultValue.StartsWith("001"))
+        {
+            // 鎴彇骞跺鐞嗙粨鏋�
+            // 鍘绘帀鍓嶇紑 "001[" 鍜屾渶鍚庣殑 "]"
+            var content = resultValue.Substring(4).TrimEnd(']');
+            // 鎻愬彇绗竴涓�楀彿涔嬪墠鐨勯儴鍒�
+            var parts = content.Split(',');
+
+
+            var mesInvItemInCDetails =
+                base.GetSingle(it => it.ItemBarcode == entity.barcode);
+
+            if (mesInvItemInCDetails == null)
+                throw new Exception("鍑虹幇寮傚父"); // 鎶涘嚭寮傚父浠ヤ緵鍓嶅彴澶勭悊
+
+            var itemInId = mesInvItemInCDetails.ItemInId;
+            entity.id = itemInId;
+            entity.PageIndex = 1;
+            entity.Limit = 1;
+
+            var inventory = getPurchaseInventory(entity);
+            inventory.ItemNo = parts[0];
+            inventory.SumQuantity = Convert.ToDecimal(parts[1]);
+            return inventory;
+        }
+
+        if (resultValue.StartsWith("002"))
+        {
+            // 鎻愬彇骞舵姏鍑哄紓甯镐俊鎭�
+            var errorMessage = resultValue.Substring(4); // 鑾峰彇 "002" 鍚庨潰鐨勯儴鍒�
+            throw new Exception(errorMessage); // 鎶涘嚭寮傚父浠ヤ緵鍓嶅彴澶勭悊
+        }
+
+        throw new Exception("鏈煡閿欒: " + resultValue);
+    }
+
+
+    public PurchaseInventory getPurchaseInventory(WarehouseQuery query)
+    {
+        return new PurchaseInventory
+        {
+            ItemIns = GetInvItemInsList(query)[0],
+            ItemInDetails = GetItemInDetails(query.id),
+            InvItemInCDetails = GetInvItemInCDetails(query.id)
+        };
+    }
+
+    public List<MesInvItemIns> GetInvItemInsList(WarehouseQuery query)
+    {
+        return Db.Queryable<MesInvItemIns, MesDepots, MesSupplier>((a, b, c) =>
+                new JoinQueryInfos(JoinType.Left, a.DepotsCode == b.DepotCode
+                                                  && b.Factory == a.Factory
+                                                  && b.Company == a.Company,
+                    JoinType.Left, a.SuppNo == c.SuppNo))
+            .WhereIF(query.id > 0, (a, b, c) => a.Id == query.id)
+            .Select((a, b, c) => new MesInvItemIns
+            {
+                Id = a.Id,
+                SuppNo = a.SuppNo,
+                InsDate = a.InsDate,
+                PaperBillNo = a.PaperBillNo,
+                Remark = a.Remark,
+                DepotsCode = a.DepotsCode,
+                CbillNo = a.CbillNo,
+                Status = a.Status,
+                BillNo = a.BillNo,
+                CreateDate = a.CreateDate,
+                CreateBy = a.CreateBy,
+                DepotName = b.DepotName,
+                SuppName = c.SuppName
+            }).ToPageList(query.PageIndex, query.Limit);
+    }
+
+    public List<MesInvItemInCDetails> GetItemInDetails(decimal? pid)
+    {
+        var result = Db.Queryable<MesInvItemInCDetails, MesItems>(
+                (g, c) => new JoinQueryInfos(
+                    JoinType.Left,
+                    g.ItemNo == c.ItemNo && g.Company == c.Company &&
+                    g.Factory == c.Factory
+                )
+            )
+            .WhereIF(pid > 0, (g, c) => g.ItemInId == pid)
+            .GroupBy((g, c) => new
+            {
+                g.Company, g.Factory, g.ItemInId, g.WorkNo, g.ItemNo,
+                g.BoardStyle, g.WorkLine, c.ItemName, c.ItemModel, c.ItemUnit
+            })
+            .Select((g, c) => new MesInvItemInCDetails
+            {
+                Company = g.Company,
+                Factory = g.Factory,
+                ItemInId = g.ItemInId,
+                WorkNo = g.WorkNo,
+                ItemNo = g.ItemNo,
+                ItemName = c.ItemName,
+                ItemModel = c.ItemModel,
+                ItemUnit = c.ItemUnit,
+                BoardStyle = g.BoardStyle,
+                WorkLine = g.WorkLine,
+                SumQuantity = SqlFunc.AggregateSum(g.Quantity) // 鑱氬悎璁$畻
+            })
+            .ToList();
+
+        return result;
+    }
+
+    public List<MesInvItemInCDetails> GetInvItemInCDetails(decimal? pid)
+    {
+        var result = Db.Queryable<MesInvItemInCDetails, MesItems, MesUnit>(
+                (g, c, d) => new JoinQueryInfos(
+                    JoinType.Left,
+                    g.ItemNo == c.ItemNo && g.Company == c.Company &&
+                    g.Factory == c.Factory, JoinType.Inner,
+                    d.Id == Convert.ToDecimal(c.ItemUnit)
+                )
+            ).WhereIF(pid > 0, (g, c, d) => g.ItemInId == pid)
+            .Select((g, c, d) => new MesInvItemInCDetails
+            {
+                Id = g.Id,
+                ItemName = c.ItemName,
+                ItemModel = c.ItemModel,
+                ItemUnit = d.Fname,
+                DepotSectionCode = g.DepotSectionCode,
+                CbillNo = g.CbillNo,
+                ItemBarcode = g.ItemBarcode,
+                UrgentFlag = g.UrgentFlag,
+                ItemNo = g.ItemNo,
+                WorkNo = g.WorkNo,
+                Quantity = g.Quantity
+            })
+            .ToList();
+
+        return result;
+    }
+
+    public MessageCenter MesToErpParam(WarehouseQuery query)
+    {
+        var erpParameters = "";
+        var title = "";
+        var tableName = "MES_INV_ITEM_INS_" + query.Type;
+        if ("A".Equals(query.Type))
+        {
+            erpParameters = GetErpParameters(query.billNo);
+            title = "閲囪喘鍏ュ簱鍗�" + query.billNo + "瀹℃牳";
+        }
+        else if ("B".Equals(query.Type))
+        {
+            erpParameters = GetDeApprovePam(query.id);
+            title = "閲囪喘鍏ュ簱鍗�" + query.billNo + "鍙嶅鏍�";
+        }
+
+        var message = new MessageCenter
+        {
+            TableName = tableName,
+            Url = "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfo",
+            Status = 1,
+            CreateBy = query.userName,
+            Route = query.billNo,
+            Title = title,
+            PageName = "Warehouse/PurchaseInventory/Add?id=" + query.id +
+                       "&billNo=" + query.billNo,
+            CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+            Method = "POST",
+            Seq = 1,
+            Data = erpParameters,
+            ContentType = "application/x-www-form-urlencoded"
+        };
+        return message;
+    }
+
+    public MessageCenter SaveMessageCenter(WarehouseQuery query)
+    {
+        var message = MesToErpParam(query);
+
+        var executeReturnIdentity =
+            Db.Insertable(message).ExecuteReturnIdentity();
+        if (executeReturnIdentity > 0)
+        {
+            message.Id = executeReturnIdentity;
+            message.Pid = executeReturnIdentity;
+            return message;
+        }
+
+        throw new Exception("鑾峰彇鏁版嵁澶辫触");
+    }
+
+    //audit
+    public bool audit(WarehouseQuery entity)
+    {
+        entity.date = DateTime.Now;
+        entity.status = 1;
+        return Update(entity);
+    }
+
+    public bool deApprove(WarehouseQuery entity)
+    {
+        entity.date = null;
+        entity.status = 0;
+        return Update(entity);
+    }
+
+    private bool Update(WarehouseQuery entity)
+    {
+        return Db.Updateable<MesInvItemIns>()
+            .SetColumns(x => x.Status == entity.status)
+            .SetColumns(x => x.InsDate == entity.date)
+            .Where(x => x.BillNo == entity.billNo)
+            .ExecuteCommand() > 0;
+    }
+
+    private string GetErpParameters(string? billNo)
+    {
+        var invItemIns = Db.Queryable<MesInvItemIns>()
+            .Single(x => x.BillNo == billNo);
+
+        if (invItemIns == null) throw new Exception("鍏ュ簱鍗曞彿涓嶅瓨鍦�");
+
+        if (invItemIns.Status == 1) throw new Exception("鍏ュ簱鍗曞凡瀹℃牳锛屼笉鑳介噸澶嶆帹閫�");
+
+        var materials = Db.Queryable<MesInvItemInCDetails, MesItems, MesUnit,
+            MesInvItemArnDetail>(
+            (g, c, d, a) => new JoinQueryInfos(
+                JoinType.Left,
+                g.ItemNo == c.ItemNo && g.Company == c.Company &&
+                g.Factory == c.Factory, JoinType.Inner,
+                d.Id == Convert.ToDecimal(c.ItemUnit),
+                JoinType.Inner,
+                a.Ebeln == g.WorkNo && a.WorkLine == g.EbelnLineNo
+                                    && g.CbillNo == a.CbillNo
+            )
+        ).Where((g, c, d, a) => g.BillNo == billNo).Select<Material>(
+            (g, c, d, a) => new Material
+            {
+                FstockId = g.DepotCode,
+                FuintId = d.Fnumber,
+                FsrcEntryId = a.Id,
+                FmesEntryId = g.Id,
+                FmaterialId = a.ItemNo,
+                DepotSectionCode = g.DepotSectionCode,
+                WorkNo = g.WorkNo,
+                Frealqty = g.Quantity
+            }).ToList();
+
+
+        if (materials == null || materials.Count == 0)
+            throw new Exception("娌℃湁鎵惧埌鐩稿叧鏁版嵁"); // 鎶涘嚭寮傚父浠ヤ緵鍓嶅彴澶勭悊
+        // 鏋勯�� JSON
+
+        var jsonEntries = materials.Select(d => new
+        {
+            FMaterialId = d.FmaterialId,
+            FUintId = d.FuintId,
+            FRealQty = d.Frealqty,
+            FStockId = d.FstockId,
+            FSRCENTRYID = d.FsrcEntryId.ToString(),
+            F_MES_ENTRYID = d.FmesEntryId.ToString()
+        }).ToList();
+
+        var fdate = DateTime.Now.ToString("yyyy-MM-dd");
+
+        var jsonString = JsonConvert.SerializeObject(jsonEntries);
+        var encodedUrl = "taskname=CGRK&mesid=" + invItemIns.Id +
+                         "&optype=create&datajson={\"F_MES_ID\":\"" +
+                         invItemIns.Id + "\",\"FDate\":\"" + fdate +
+                         "\",\"cgrkentry\":" + jsonString + "}";
+
+        return encodedUrl;
+    }
+
+
+    private string GetDeApprovePam(decimal? id)
+    {
+        var sid = (int)id;
+        var encodedUrl = "taskname=CGRK&mesid=" + sid +
+                         "&optype=delete&datajson={}";
+
+        return encodedUrl;
+    }
+}
\ No newline at end of file
diff --git a/MESApplication/Controllers/Base/MessageCenterController.cs b/MESApplication/Controllers/Base/MessageCenterController.cs
index a079762..529df7f 100644
--- a/MESApplication/Controllers/Base/MessageCenterController.cs
+++ b/MESApplication/Controllers/Base/MessageCenterController.cs
@@ -3,6 +3,7 @@
 using MES.Service.service;
 using MES.Service.util;
 using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json.Linq;
 
 namespace MESApplication.Controllers.Base;
 
@@ -10,6 +11,7 @@
 [Route("api/[controller]")]
 public class MessageCenterController : ControllerBase
 {
+    private readonly GetErpParametersServer ErpParametersServer = new();
     private readonly MessageCenterManager m = new();
 
 
@@ -34,13 +36,60 @@
         }
     }
 
-    [HttpPost("GetByPid")]
-    public ResponseResult ResetUpdate(int pid)
+    //Resend
+    [HttpPost("Resend")]
+    public ResponseResult Resend(MessageCenter data)
     {
         try
         {
             dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.GetList(it => it.Pid == pid);
+            resultInfos.tbBillList = ErpParametersServer.Resend(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    //saveError
+    [HttpPost("SetError")]
+    public ResponseResult SetError([FromBody] MessageCenter data)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.SetError(data);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("GetByPid")]
+    public ResponseResult ResetUpdate([FromBody] JObject data)
+    {
+        var pid = Convert.ToDecimal(data["pid"].ToString());
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+
+            var messageCenter = m.GetById(pid);
+            var messageCenters = m.GetList(it => it.Pid == pid);
+            messageCenters.Add(messageCenter);
+            resultInfos.tbBillList = messageCenters;
             return new ResponseResult
             {
                 status = 0,
@@ -60,7 +109,7 @@
         try
         {
             dynamic resultInfos = new ExpandoObject();
-            resultInfos.tbBillList = m.getPushFailedPage(query);
+            resultInfos.tbBillList = m.GetPushFailedPage(query);
             return new ResponseResult
             {
                 status = 0,
@@ -106,8 +155,9 @@
     /// </summary>
     /// <returns></returns>
     [HttpPost("GetById")]
-    public ResponseResult GetById(int id)
+    public ResponseResult GetById([FromBody] JObject data)
     {
+        var id = Convert.ToDecimal(data["id"].ToString());
         try
         {
             dynamic resultInfos = new ExpandoObject();
diff --git a/MESApplication/Controllers/BasicData/MesItemsController.cs b/MESApplication/Controllers/BasicData/MesItemsController.cs
index c44fe56..c095307 100644
--- a/MESApplication/Controllers/BasicData/MesItemsController.cs
+++ b/MESApplication/Controllers/BasicData/MesItemsController.cs
@@ -32,6 +32,7 @@
         entity.Data = JsonConvert.SerializeObject(unit);
         entity.Status = 1;
         entity.CreateBy = "PL017";
+
         try
         {
             dynamic resultInfos = new ExpandoObject();
diff --git a/MESApplication/Controllers/Warehouse/MesInvItemBarcodesController.cs b/MESApplication/Controllers/Warehouse/MesInvItemBarcodesController.cs
new file mode 100644
index 0000000..b783353
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemBarcodesController.cs
@@ -0,0 +1,163 @@
+锘縰sing System.Dynamic;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemBarcodesController : ControllerBase
+{
+    private readonly MesInvItemBarcodesManager 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] MesInvItemBarcodes 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] MesInvItemBarcodes 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] MesInvItemBarcodes 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/Warehouse/MesInvItemInCDetailsController.cs b/MESApplication/Controllers/Warehouse/MesInvItemInCDetailsController.cs
new file mode 100644
index 0000000..7cc9221
--- /dev/null
+++ b/MESApplication/Controllers/Warehouse/MesInvItemInCDetailsController.cs
@@ -0,0 +1,288 @@
+锘縰sing System.Dynamic;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.service.Warehouse;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.Warehouse;
+
+[ApiController]
+[Route("api/[controller]")]
+public class MesInvItemInCDetailsController : ControllerBase
+{
+    private readonly MesInvItemInCDetailsManager m = new();
+
+    //audit
+    [HttpPost("Audit")]
+    public ResponseResult Audit(WarehouseQuery entity)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.audit(entity);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    //deApprove
+    [HttpPost("DeApprove")]
+    public ResponseResult DeApprove(WarehouseQuery entity)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.deApprove(entity);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    //getPurchaseInventory
+    [HttpPost("GetPurchaseInventory")]
+    public ResponseResult GetPurchaseInventory(WarehouseQuery entity)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.getPurchaseInventory(entity);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    [HttpPost("GetInvItemInsList")]
+    public ResponseResult GetInvItemInsList(WarehouseQuery entity)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.GetInvItemInsList(entity);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    //SaveBarCodes
+    [HttpPost("SaveBarCodes")]
+    public ResponseResult SaveBarCodes(WarehouseQuery entity)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.SaveBarCodes(entity);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    //MesToErp
+    [HttpPost("SaveMessageCenter")]
+    public ResponseResult SaveMessageCenter(WarehouseQuery entity)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos.tbBillList = m.SaveMessageCenter(entity);
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            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] MesInvItemInCDetails 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] MesInvItemInCDetails 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] MesInvItemInCDetails 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/WomcaaController.cs b/MESApplication/Controllers/WomcaaController.cs
index 50c2651..579cf20 100644
--- a/MESApplication/Controllers/WomcaaController.cs
+++ b/MESApplication/Controllers/WomcaaController.cs
@@ -40,9 +40,13 @@
             resultInfos.tbBillList = save;
 
             entity.Result = 0;
-            if (save) entity.Result = 1;
+            entity.DealWith = 0;
+            if (save)
+            {
+                entity.Result = 1;
+                entity.DealWith = 1;
+            }
 
-            entity.DealWith = 1;
             _manager.save(entity);
 
             return new ResponseResult
diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.dll b/MESApplication/bin/Debug/net8.0/MES.Service.dll
index 0970187..a7c8bdc 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 661251c..817f8a7 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.dll b/MESApplication/bin/Debug/net8.0/MESApplication.dll
index 559915f..79f41d2 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 712a67a..ce8751a 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 d994cb3..f9d6ff7 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/Release/net8.0/MES.Service.dll b/MESApplication/bin/Release/net8.0/MES.Service.dll
index 77464c8..693e2b7 100644
--- a/MESApplication/bin/Release/net8.0/MES.Service.dll
+++ b/MESApplication/bin/Release/net8.0/MES.Service.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MES.Service.pdb b/MESApplication/bin/Release/net8.0/MES.Service.pdb
index 63403c8..4b05908 100644
--- a/MESApplication/bin/Release/net8.0/MES.Service.pdb
+++ b/MESApplication/bin/Release/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.dll b/MESApplication/bin/Release/net8.0/MESApplication.dll
index 6018bf4..b0b5ed2 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.dll
+++ b/MESApplication/bin/Release/net8.0/MESApplication.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.exe b/MESApplication/bin/Release/net8.0/MESApplication.exe
index bca230a..ce8751a 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.exe
+++ b/MESApplication/bin/Release/net8.0/MESApplication.exe
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/MESApplication.pdb b/MESApplication/bin/Release/net8.0/MESApplication.pdb
index 0351088..035c9eb 100644
--- a/MESApplication/bin/Release/net8.0/MESApplication.pdb
+++ b/MESApplication/bin/Release/net8.0/MESApplication.pdb
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MES.Service.dll b/MESApplication/bin/Release/net8.0/publish/MES.Service.dll
index 77464c8..693e2b7 100644
--- a/MESApplication/bin/Release/net8.0/publish/MES.Service.dll
+++ b/MESApplication/bin/Release/net8.0/publish/MES.Service.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb b/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb
index 63403c8..4b05908 100644
--- a/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb
+++ b/MESApplication/bin/Release/net8.0/publish/MES.Service.pdb
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.dll b/MESApplication/bin/Release/net8.0/publish/MESApplication.dll
index 6018bf4..b0b5ed2 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.dll
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.dll
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.exe b/MESApplication/bin/Release/net8.0/publish/MESApplication.exe
index bca230a..ce8751a 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.exe
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.exe
Binary files differ
diff --git a/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb b/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb
index 0351088..035c9eb 100644
--- a/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb
+++ b/MESApplication/bin/Release/net8.0/publish/MESApplication.pdb
Binary files differ

--
Gitblit v1.9.3