From 65438b8c1f9ec323c3c2ae265561dae4ff536379 Mon Sep 17 00:00:00 2001
From: xwt <2740516069@qq.com>
Date: 星期四, 19 六月 2025 14:20:54 +0800
Subject: [PATCH] Merge branch 'master' of http://43.142.96.171:8080/r/~yhj/HM_JK

---
 StandardInterface/MESApplication/Controllers/BasicData/ProductionOrderController.cs  |    1 
 StandardInterface/MES.Service/Dto/webApi/Inventory.cs                                |    9 
 StandardInterface/MES.Service/Modes/ErpMesKc.cs                                      |   49 ++++
 StandardInterface/MES.Service/Modes/IqcBefore.cs                                     |   34 +++
 StandardInterface/MES.Service/Dto/webApi/ErpKc.cs                                    |   19 +
 StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteDetails.cs                    |    4 
 StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteBarcodeController.cs |   89 ++++++++
 StandardInterface/MES.Service/Modes/MesQaItemsDetect01.cs                            |    3 
 StandardInterface/MES.Service/MES.Service.csproj                                     |    1 
 StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNoteDetail.cs                   |    2 
 StandardInterface/MES.Service/service/SRM/MesDeliveryNoteBarcodeManager.cs           |   30 ++
 StandardInterface/MES.Service/Modes/Womcaa.cs                                        |    7 
 StandardInterface/MESApplication/Controllers/Kingdee/ErpKcController.cs              |   46 ++++
 StandardInterface/MES.Service/service/QC/LljService.cs                               |  125 ++++++++++-
 StandardInterface/MES.Service/service/WomcaaManager.cs                               |    3 
 StandardInterface/MES.Service/Modes/MesQaItemsDetectDetail5.cs                       |    5 
 StandardInterface/MES.Service/Dto/webApi/ErpCAA.cs                                   |    1 
 StandardInterface/MES.Service/service/Kingdee/ErpKcManager.cs                        |  145 +++++++++++++
 StandardInterface/MES.Service/service/SRM/MesDeliveryNoteManager.cs                  |    3 
 StandardInterface/MES.Service/Modes/LtsLlj.cs                                        |    6 
 StandardInterface/MES.Service/Dto/service/LLJDto.cs                                  |    2 
 StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryItem.cs                         |    7 
 StandardInterface/MES.Service/Modes/IqcBeforeFrom.cs                                 |   49 ++++
 23 files changed, 618 insertions(+), 22 deletions(-)

diff --git a/StandardInterface/MES.Service/Dto/service/LLJDto.cs b/StandardInterface/MES.Service/Dto/service/LLJDto.cs
index 6ee2a7b..7e88165 100644
--- a/StandardInterface/MES.Service/Dto/service/LLJDto.cs
+++ b/StandardInterface/MES.Service/Dto/service/LLJDto.cs
@@ -20,6 +20,8 @@
 
     //澶囨敞
     public string? Remarks { get; set; }
+    //鐗规畩澶囨敞
+    public string? Meom { get; set; }
 
     //==========================================
     //宸℃涓诲瓙琛ㄩ渶瑕佺殑鏁版嵁
diff --git a/StandardInterface/MES.Service/Dto/webApi/ErpCAA.cs b/StandardInterface/MES.Service/Dto/webApi/ErpCAA.cs
index ca7db32..c882e0f 100644
--- a/StandardInterface/MES.Service/Dto/webApi/ErpCAA.cs
+++ b/StandardInterface/MES.Service/Dto/webApi/ErpCAA.cs
@@ -73,6 +73,7 @@
   public string? XS_CN { get; set; }  //灏忔椂浜ц兘
   public string? SJ_xs { get; set; }  //瀹為檯绌存暟
     public string? NEXT_Gx { get; set; }  //涓嬮亾宸ュ簭
+    public string? RKS { get; set; }  //鍏ュ簱鏁�
     ////濮斿瀛楁
     //public string? F_ZJXF_DATETIME_YHRQ { get; set; }
     //public string? F_ZJXF_BASE_KH { get; set; }
diff --git a/StandardInterface/MES.Service/Dto/webApi/ErpKc.cs b/StandardInterface/MES.Service/Dto/webApi/ErpKc.cs
new file mode 100644
index 0000000..8c40a48
--- /dev/null
+++ b/StandardInterface/MES.Service/Dto/webApi/ErpKc.cs
@@ -0,0 +1,19 @@
+锘縩amespace MES.Service.Dto.webApi;
+
+public class ErpKc
+{
+    public string? FMaterialId { get; set; }
+    public string? FStockId { get; set; }
+    public string? FMtoNo { get; set; }
+    public string? FLot { get; set; }
+    public string? FStockUnitId { get; set; }
+    public string? FBaseUnitId { get; set; }
+    public string? FStockStatusId { get; set; }
+    public string? FBASEQTY { get; set; }
+    public string? FSTOREURNOM { get; set; }
+    public string? FSTOREURNUM { get; set; }
+  //  public string? FOwnerId { get; set; } // 鏂板璐т富缂栫爜瀛楁
+    public string? FStockOrgId { get; set; } //  鏂板搴撳瓨缁勭粐瀛楁
+   
+
+}
diff --git a/StandardInterface/MES.Service/Dto/webApi/Inventory.cs b/StandardInterface/MES.Service/Dto/webApi/Inventory.cs
new file mode 100644
index 0000000..2df26d4
--- /dev/null
+++ b/StandardInterface/MES.Service/Dto/webApi/Inventory.cs
@@ -0,0 +1,9 @@
+锘縩amespace MES.Service.Dto.webApi;
+
+public class Inventory
+{
+    public string? ItemNo { get; set; } // 鏂欏彿
+    public string? DepotCode { get; set; } // 浠撳簱
+    public string? StockOrgNumber { get; set; } // 鐢ㄤ簬搴撳瓨缁勭粐杩囨护
+    //public string? OwnerNumber { get; set; } // 鏂板璐т富缂栫爜
+}
diff --git a/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryItem.cs b/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryItem.cs
new file mode 100644
index 0000000..d4707c4
--- /dev/null
+++ b/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryItem.cs
@@ -0,0 +1,7 @@
+锘縩amespace MES.Service.Dto.webApi.SRM;
+
+public class DeliveryItem
+{
+    public string? DeliveryNo { get; set; }
+    public string? ItemNo { get; set; }
+}
diff --git a/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNoteDetail.cs b/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNoteDetail.cs
index 9d3494b..468fd91 100644
--- a/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNoteDetail.cs
+++ b/StandardInterface/MES.Service/Dto/webApi/SRM/DeliveryNoteDetail.cs
@@ -14,4 +14,6 @@
     public string? FBillNo { get; set; }
     public string? OrderlineId { get; set; }
     public string? DepotNo { get; set; }
+
+    public string? IsGift { get; set; }
 }
diff --git a/StandardInterface/MES.Service/MES.Service.csproj b/StandardInterface/MES.Service/MES.Service.csproj
index 9efe6e5..24fb568 100644
--- a/StandardInterface/MES.Service/MES.Service.csproj
+++ b/StandardInterface/MES.Service/MES.Service.csproj
@@ -24,7 +24,6 @@
     </ItemGroup>
 
     <ItemGroup>
-      <Folder Include="Dto\webApi\SRM\" />
       <Folder Include="Modes\SRM\" />
       <Folder Include="service\SRM\" />
     </ItemGroup>
diff --git a/StandardInterface/MES.Service/Modes/ErpMesKc.cs b/StandardInterface/MES.Service/Modes/ErpMesKc.cs
new file mode 100644
index 0000000..7236e96
--- /dev/null
+++ b/StandardInterface/MES.Service/Modes/ErpMesKc.cs
@@ -0,0 +1,49 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+[SugarTable("ERP_MES_KC")]
+public class ErpMesKc
+{
+    [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_ERP_KC", IsPrimaryKey = true)]
+    public decimal Id { get; set; }
+
+    [SugarColumn(ColumnName = "FNUMBER")]
+    public string? FNumber { get; set; }
+
+    [SugarColumn(ColumnName = "FQTY")]
+    public decimal? FQty { get; set; }
+
+    [SugarColumn(ColumnName = "FBASEUNIT")]
+    public string? FBaseUnit { get; set; }
+
+    [SugarColumn(ColumnName = "FSTOCKUNIT")]
+    public string? FStockUnit { get; set; }
+
+    [SugarColumn(ColumnName = "FSTOCKNUMBER")]
+    public string? FStockNumber { get; set; }
+
+    [SugarColumn(ColumnName = "CREATE_DATE")]
+    public DateTime? CreateDate { get; set; }
+
+    [SugarColumn(ColumnName = "FBATCHNO")]
+    public string? FBatchno { get; set; }
+
+    [SugarColumn(ColumnName = "FMTONO")]
+    public string? FMtono { get; set; }
+
+    [SugarColumn(ColumnName = "FSTOCKSTATUS")]
+    public string? FStockStatus { get; set; }
+
+    [SugarColumn(ColumnName = "FSTOREURNOM")]
+    public decimal? FStoreUrnom { get; set; }
+
+    [SugarColumn(ColumnName = "FSTOREURNUM")]
+    public decimal? FStoreUrnum { get; set; }
+    [SugarColumn(ColumnName = "FOWNERID")]
+    public string? FOwnerId { get; set; }
+    [SugarColumn(ColumnName = "FSTOCKORGID")]
+    public string? FStockOrgId { get; set; }
+
+
+}
diff --git a/StandardInterface/MES.Service/Modes/IqcBefore.cs b/StandardInterface/MES.Service/Modes/IqcBefore.cs
new file mode 100644
index 0000000..44934dc
--- /dev/null
+++ b/StandardInterface/MES.Service/Modes/IqcBefore.cs
@@ -0,0 +1,34 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+namespace MES.Service.Modes
+{
+    /// <summary>
+    /// 
+    ///</summary>
+    [SugarTable("IQC_BEFORE")]
+    public class IqcBefore
+    {
+        /// <summary>
+        ///  
+        ///</summary>
+         [SugarColumn(ColumnName="ID" ,IsPrimaryKey = true   )]
+         public decimal Id { get; set; }
+        /// <summary>
+        ///  
+        ///</summary>
+         [SugarColumn(ColumnName="SID"    )]
+         public decimal? Sid { get; set; }
+        /// <summary>
+        ///  
+        ///</summary>
+         [SugarColumn(ColumnName="ITEM_ID"    )]
+         public decimal? ItemId { get; set; }
+        /// <summary>
+        ///  
+        ///</summary>
+         [SugarColumn(ColumnName="PID"    )]
+         public decimal? Pid { get; set; }
+    }
+}
diff --git a/StandardInterface/MES.Service/Modes/IqcBeforeFrom.cs b/StandardInterface/MES.Service/Modes/IqcBeforeFrom.cs
new file mode 100644
index 0000000..057b2b8
--- /dev/null
+++ b/StandardInterface/MES.Service/Modes/IqcBeforeFrom.cs
@@ -0,0 +1,49 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+namespace MES.Service.Modes
+{
+    /// <summary>
+    /// 
+    ///</summary>
+    [SugarTable("IQC_BEFORE_FROM")]
+    public class IqcBeforeFrom
+    {
+        /// <summary>
+        ///  
+        ///</summary>
+         [SugarColumn(ColumnName="ID" ,IsPrimaryKey = true   )]
+         public decimal Id { get; set; }
+        /// <summary>
+        ///  
+        ///</summary>
+         [SugarColumn(ColumnName="SID"    )]
+         public decimal? Sid { get; set; }
+        /// <summary>
+        ///  
+        ///</summary>
+         [SugarColumn(ColumnName="USER_NAME"    )]
+         public string UserName { get; set; }
+        /// <summary>
+        ///  
+        ///</summary>
+         [SugarColumn(ColumnName="ORGANIZE_ID"    )]
+         public string OrganizeId { 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="STATUS"    )]
+         public short? Status { get; set; }
+    }
+}
diff --git a/StandardInterface/MES.Service/Modes/LtsLlj.cs b/StandardInterface/MES.Service/Modes/LtsLlj.cs
index 8450691..1787616 100644
--- a/StandardInterface/MES.Service/Modes/LtsLlj.cs
+++ b/StandardInterface/MES.Service/Modes/LtsLlj.cs
@@ -201,7 +201,9 @@
     /// </summary>
     [SugarColumn(IsIgnore = true)]
     public string? NewFngDesc { get; set; }
-    [SugarColumn(IsIgnore = true)]
-    //绱ф�ユ斁琛屾爣璇�
+    /// <summary>
+    ///     绱ф�ユ斁琛屾爣璇�
+    /// </summary>
     public int EMERGENCY { get; set; }
+ 
 }
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Modes/MesQaItemsDetect01.cs b/StandardInterface/MES.Service/Modes/MesQaItemsDetect01.cs
index 1ca3523..6dcf54a 100644
--- a/StandardInterface/MES.Service/Modes/MesQaItemsDetect01.cs
+++ b/StandardInterface/MES.Service/Modes/MesQaItemsDetect01.cs
@@ -459,8 +459,9 @@
     /// </summary>
     [SugarColumn(ColumnName = "MANAGER_USER")]
     public string? ManagerUser { get; set; }
+
     /// <summary>
-    ///     绱ф�ユ斁琛�
+    ///     缁忕悊瀹℃牳浜�
     /// </summary>
     [SugarColumn(ColumnName = "MANAGER_USER")]
     public int EMERGENCY { get; set; }
diff --git a/StandardInterface/MES.Service/Modes/MesQaItemsDetectDetail5.cs b/StandardInterface/MES.Service/Modes/MesQaItemsDetectDetail5.cs
index 715881a..6f00396 100644
--- a/StandardInterface/MES.Service/Modes/MesQaItemsDetectDetail5.cs
+++ b/StandardInterface/MES.Service/Modes/MesQaItemsDetectDetail5.cs
@@ -173,4 +173,9 @@
     public DateTime? LastupdateDate { get; set; }
 
     [SugarColumn(IsIgnore = true)] public int? Unqualified { get; set; }
+    /// <summary>
+    ///     澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnName = "MEOM")]
+    public string? Meom { get; set; }
 }
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteDetails.cs b/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteDetails.cs
index 2de9451..5d77177 100644
--- a/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteDetails.cs
+++ b/StandardInterface/MES.Service/Modes/SRM/MesDeliveryNoteDetails.cs
@@ -63,4 +63,8 @@
     //鏀惰揣浠撳簱
     [SugarColumn(ColumnName = "DEPOT_CODE")]
     public string? DepotCode { get; set; }
+
+    //鏄惁璧犲搧
+    [SugarColumn(ColumnName = "IS_GIFT")]
+    public string? IsGift { get; set; }
 }
diff --git a/StandardInterface/MES.Service/Modes/Womcaa.cs b/StandardInterface/MES.Service/Modes/Womcaa.cs
index ed9b931..896d312 100644
--- a/StandardInterface/MES.Service/Modes/Womcaa.cs
+++ b/StandardInterface/MES.Service/Modes/Womcaa.cs
@@ -485,6 +485,11 @@
         /// 涓嬮亾宸ュ簭 
         ///</summary>
         [SugarColumn(ColumnName = "NEXT_GX")]
-        public string Nextgx { get; set; }
+        public string Nextgx { get; set; } 
+        /// <summary>
+        /// 涓嬮亾宸ュ簭 
+        ///</summary>
+        [SugarColumn(ColumnName = "RKS")]
+        public string Rks { get; set; }
     }
 }
diff --git a/StandardInterface/MES.Service/service/Kingdee/ErpKcManager.cs b/StandardInterface/MES.Service/service/Kingdee/ErpKcManager.cs
new file mode 100644
index 0000000..4d87a6f
--- /dev/null
+++ b/StandardInterface/MES.Service/service/Kingdee/ErpKcManager.cs
@@ -0,0 +1,145 @@
+锘�
+using Kingdee.CDP.WebApi.SDK;
+using MES.Service.DB;
+using MES.Service.Dto.webApi;
+using MES.Service.Modes;
+using SqlSugar;
+using System.Text;
+
+namespace MES.Service.service.Kingdee;
+
+public class ErpKcManager : Repository<ErpMesKc>
+{
+    public bool QueryStocks(Inventory inventory)
+    {
+        List<ErpKc> erpKc = GetErpInventory(inventory);
+
+        // 妫�鏌ヨ繑鍥炵粨鏋滄槸鍚︿负绌�
+        if (erpKc == null || erpKc.Count == 0)
+        {
+            throw new NotImplementedException("杩斿洖缁撴灉涓虹┖");
+        }
+        else
+        {
+            var baseObjects = MapErpCABtoWomcab(erpKc);
+
+            return UseTransaction(db =>
+            {
+                return SaveData(db, baseObjects) ? 1 : 0;
+            }) > 0;
+        }
+    }
+
+    #region 1.鑾峰彇鍗虫椂搴撳瓨
+    public List<ErpKc> GetErpInventory(Inventory inventory)
+    {
+        //娉ㄦ剰 1锛氭澶勪笉鍐嶄娇鐢ㄥ弬鏁板舰寮忎紶鍏ョ敤鎴峰悕鍙婂瘑鐮佺瓑鏁忔劅淇℃伅锛屾敼涓哄湪鐧诲綍閰嶇疆鏂囦欢涓缃��
+        //娉ㄦ剰 2锛氬繀椤诲厛閰嶇疆绗笁鏂圭郴缁熺櫥褰曟巿鏉冧俊鎭悗锛屽啀杩涜涓氬姟鎿嶄綔锛岃鎯呭弬鑰冨悇璇█鐗堟湰SDK浠嬬粛涓殑鐧诲綍閰嶇疆鏂囦欢璇存槑銆�
+        //璇诲彇閰嶇疆锛屽垵濮嬪寲SDK
+        K3CloudApi client = new K3CloudApi();
+        //鐢ㄤ簬璁板綍缁撴灉
+        StringBuilder Info = new StringBuilder();
+        //涓氬姟瀵硅薄鏍囪瘑
+        string formId = "STK_Inventory";
+        DateTime dt = DateTime.Now;
+        //鏌ヨ瀛楁闆嗗悎锛屽嵆杩斿洖鍝簺鏁版嵁锛屼笉鑳戒负绌猴紝鏍规嵁涓嶅悓涓氬姟鍗曟嵁濉啓涓嶅悓鐨勫瓧娈靛悕锛屼互涓嬩粎涓虹ず渚�
+        //string fieldKeys = "FCode,FFileId,FRelevantObject";
+        //string FilterString = "FID='-2146304'";
+        string fieldKeys = "FMaterialId.FNumber,FMtoNo,FStockId.FNumber,FLot.FNumber,FStockUnitId.FNumber,FBaseUnitId.FNumber,FStockStatusId.FName,FBASEQTY,FMaterialid.FSTOREURNOM,FMaterialid.FSTOREURNUM,FStockOrgId.FNumber";
+        string FilterString = string.Format(@"FMaterialId.FNumber like '%{0}%' and FStockId.FNumber like '%{1}%' and FBaseQty>0 and FStockOrgId.FNumber like'%{2}%'", inventory.ItemNo,inventory.DepotCode, inventory.StockOrgNumber);
+        string OrderString = "";
+        int TopRowCount = 0;
+        int StartRow = 0;
+        int Limit = 0;
+
+        var param = new QueryParam()
+        {
+            FormId = formId,
+            FieldKeys = fieldKeys,
+            FilterString = FilterString,
+            OrderString = OrderString,
+            TopRowCount = TopRowCount,
+            StartRow = StartRow,
+            Limit = Limit
+        };
+        //璋冪敤鎺ュ彛
+        var result = client.ExecuteBillQuery(param.ToJson());
+
+        return result.Select(s =>
+        {
+            var entity = new ErpKc
+            {
+                FMaterialId = s[0]?.ToString(),
+                FMtoNo = s[1]?.ToString(),
+                FStockId = s[2]?.ToString(),
+                FLot = s[3]?.ToString(),
+                FStockUnitId = s[4]?.ToString(),
+                FBaseUnitId = s[5]?.ToString(),
+                FStockStatusId = s[6]?.ToString(),
+                FBASEQTY = s[7]?.ToString() ,
+                FSTOREURNOM = s[8]?.ToString(),
+                FSTOREURNUM = s[9]?.ToString(),
+                //  FOwnerId = s[10]?.ToString()
+                FStockOrgId = s[10]?.ToString()
+            };
+            return entity;
+        }).ToList();
+    }
+    #endregion
+
+
+    private List<ErpMesKc> MapErpCABtoWomcab(List<ErpKc> dtoList)
+    {
+        var ErpMesKcList = new List<ErpMesKc>();
+
+        foreach (var dto in dtoList)
+        {
+            var kc = new ErpMesKc
+            {
+                FNumber = dto.FMaterialId,
+               // FQty = Convert.ToDecimal(dto.FBASEQTY),
+                FQty = SafeParseDecimal(dto.FBASEQTY),
+                FBaseUnit=dto.FBaseUnitId,
+                FStockUnit=dto.FStockUnitId,
+                FStockNumber=dto.FStockId,
+                CreateDate=DateTime.Now,
+                FBatchno=dto.FLot,
+                FMtono=dto.FMtoNo,
+                FStockStatus=dto.FStockStatusId,
+                FStoreUrnom= Convert.ToDecimal(dto.FSTOREURNOM),
+                FStoreUrnum= Convert.ToDecimal(dto.FSTOREURNUM),
+                //FOwnerId=dto.FOwnerId,
+                FStockOrgId = dto.FStockOrgId,
+
+            };
+
+            ErpMesKcList.Add(kc);
+        }
+
+        return ErpMesKcList;
+    }
+
+
+    private decimal SafeParseDecimal(string? input)
+    {
+        if (string.IsNullOrWhiteSpace(input)) return 0;
+
+        if (decimal.TryParse(
+            input,
+            System.Globalization.NumberStyles.Float,
+            System.Globalization.CultureInfo.InvariantCulture,
+            out var result))
+            return result;
+
+        return 0; //    璺宠繃閿欒瀛楁锛岀粰榛樿鍊�
+    }
+
+    // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
+    private bool SaveData(SqlSugarScope db, List<ErpMesKc> kcc)
+    {
+        var save = base.InsertRange(kcc);
+        if (save) return true;
+        throw new NotImplementedException("鎻掑叆澶辫触");
+    }
+
+}
diff --git a/StandardInterface/MES.Service/service/QC/LljService.cs b/StandardInterface/MES.Service/service/QC/LljService.cs
index fe7b172..d5adec6 100644
--- a/StandardInterface/MES.Service/service/QC/LljService.cs
+++ b/StandardInterface/MES.Service/service/QC/LljService.cs
@@ -75,10 +75,9 @@
             //            UserName = i.Fname != null || i.Fname != "" ? i.Fname : g.Fname,
             //            CreateUserName = e.Fname
             //        }, true)
-            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); 
 
-        var emergencyValues = pageList.Select(item => item.EMERGENCY).ToList();
-        //return (pageList, totalCount);
+        var emergencyValues = pageList.Select(item => item.EMERGENCY).ToList(); 
         return (pageList, totalCount);
     }
 
@@ -128,14 +127,104 @@
 
     }
     //绱ф�ユ斁琛�
+    //public string[] EmergencyRelease(int id)
+    //{
+    //    var db = SqlSugarHelper.GetInstance();
+         
+        
+    //    int emergencyStatus = db.Queryable<MesQaItemsDetect01>() 
+    //                            .Where(t => t.Id == id)
+    //                            .Select(t => t.EMERGENCY) 
+    //                            .First();
+
+    //    if (emergencyStatus != 0)
+    //    {
+    //        return new string[] { "1", "闈炵揣鎬ョ姸鎬侊紝鏃犳硶鎵ц绱ф�ユ斁琛�" };
+    //    }
+
+        
+    //    var outputResult = new SugarParameter("PO_RESULT", null,
+    //        DbType.Int32, ParameterDirection.Output, 4000);
+
+    //    var outputMessage = new SugarParameter("PO_MSG", null,
+    //        DbType.String, ParameterDirection.Output, 4000);
+
+    //    var parameters = new List<SugarParameter>
+    //{
+    //    new("P_ID", id, DbType.Int32, ParameterDirection.Input),
+    //    outputResult,
+    //    outputMessage
+    //};
+
+    //    db.Ado.ExecuteCommand(
+    //        "BEGIN prc_MES_QA_ITEMS_update1(:P_ID, :PO_RESULT, :PO_MSG); END;",
+    //        parameters.ToArray());
+
+    //    var lotNo1 = db.Queryable<MesQaItemsDetect01>()
+    //               .Where(t => t.Id == id)
+    //               .Select(t => t.LotNo1)
+    //               .First();
+
+    //    var resultValue = outputResult.Value?.ToString();
+    //    var messageValue = outputMessage.Value?.ToString();
+    //    return new string[] { resultValue, messageValue, lotNo1?.ToString() ?? "" };
+    //}
+
+    //public string[] WithdrawEmergencyRelease(int id)
+    //{
+    //    var db = SqlSugarHelper.GetInstance();
+
+      
+    //    int emergencyStatus = db.Queryable<MesQaItemsDetect01>() 
+    //                            .Where(t => t.Id == id)
+    //                            .Select(t => t.EMERGENCY) 
+    //                            .First();
+
+    //    if (emergencyStatus != 0)
+    //    {
+    //        return new string[] { "1", "闈炵揣鎬ョ姸鎬侊紝鏃犻渶鎾ゅ洖" };
+    //    }
+
+    //    var outputResult = new SugarParameter("PO_RESULT", null,
+    //        DbType.Int32, ParameterDirection.Output, 4000);
+
+    //    var outputMessage = new SugarParameter("PO_MSG", null,
+    //        DbType.String, ParameterDirection.Output, 4000);
+
+    //    var parameters = new List<SugarParameter>
+    //{
+    //    new("P_ID", id, DbType.Int32, ParameterDirection.Input),
+    //    outputResult,
+    //    outputMessage
+    //};
+
+    //    db.Ado.ExecuteCommand(
+    //        "BEGIN prc_MES_QA_ITEMS_update2(:P_ID, :PO_RESULT, :PO_MSG); END;",
+    //        parameters.ToArray());
+
+    //    var lotNo1 = db.Queryable<MesQaItemsDetect01>()
+    //               .Where(t => t.Id == id)
+    //               .Select(t => t.LotNo1)
+    //               .First();
+        
+
+    //    var resultValue = outputResult.Value?.ToString();
+    //    var messageValue = outputMessage.Value?.ToString();
+    //    return new string[] { resultValue, messageValue, lotNo1?.ToString() ?? "" };
+    //}
+
+
+
+
+     
     public string[] EmergencyRelease(int id)
     {
         var db = SqlSugarHelper.GetInstance();
 
-        
-        int emergencyStatus = db.Queryable<MesQaItemsDetect01>() 
+
+        int emergencyStatus = db.Queryable<MesQaItemsDetect01>()
                                 .Where(t => t.Id == id)
-                                .Select(t => t.EMERGENCY) 
+                                .Select(t => t.EMERGENCY)
                                 .First();
 
         if (emergencyStatus != 0)
@@ -143,7 +232,7 @@
             return new string[] { "1", "闈炵揣鎬ョ姸鎬侊紝鏃犳硶鎵ц绱ф�ユ斁琛�" };
         }
 
-        
+
         var outputResult = new SugarParameter("PO_RESULT", null,
             DbType.Int32, ParameterDirection.Output, 4000);
 
@@ -175,10 +264,10 @@
     {
         var db = SqlSugarHelper.GetInstance();
 
-      
-        int emergencyStatus = db.Queryable<MesQaItemsDetect01>() 
+
+        int emergencyStatus = db.Queryable<MesQaItemsDetect01>()
                                 .Where(t => t.Id == id)
-                                .Select(t => t.EMERGENCY) 
+                                .Select(t => t.EMERGENCY)
                                 .First();
 
         if (emergencyStatus != 0)
@@ -207,12 +296,12 @@
                    .Where(t => t.Id == id)
                    .Select(t => t.LotNo1)
                    .First();
-        
+
 
         var resultValue = outputResult.Value?.ToString();
         var messageValue = outputMessage.Value?.ToString();
         return new string[] { resultValue, messageValue, lotNo1?.ToString() ?? "" };
-    }
+    } 
 
     private string ExtractSubstring(string input, char startChar, char endChar)
     {
@@ -305,7 +394,9 @@
                 a.FreQty,
                 a.CheckQyt,
                 a.FcheckResu,
-                a.FcheckItemDesc,a.Funit
+                a.FcheckItemDesc,
+                a.Funit,
+                a.Meom
             }).Select((a, b) => new MesQaItemsDetectDetail5
             {
                 Id = a.Id,
@@ -327,7 +418,8 @@
                 FcheckResu = a.FcheckResu,
                 // FcheckItemDesc = a.FcheckItemDesc
                 FcheckItemDesc = a.FspecRequ,
-                Funit  =a.Funit
+                Funit = a.Funit,
+                Meom = a.Meom,
             }).ToList();
     }
 
@@ -604,6 +696,11 @@
                      it.Funit == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
                 .Where(it => it.Id == dto.pid)
                 .ExecuteCommand();
+            return db.Updateable<MesQaItemsDetectDetail5>()
+                 .SetColumns(it =>
+                     it.Meom == dto.Meom) 
+                .Where(it => it.Id == dto.pid)
+                .ExecuteCommand();
         });
     }
 
diff --git a/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteBarcodeManager.cs b/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteBarcodeManager.cs
index 072a2d0..38ae75e 100644
--- a/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteBarcodeManager.cs
+++ b/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteBarcodeManager.cs
@@ -50,6 +50,32 @@
         return result.All(b => b);
     }
 
+    public dynamic DeleteByItem(DeliveryItem dt)
+    {
+        return UseTransaction(db =>
+        {
+            return DeleteDataByItem(db, dt) ? 1 : 0;
+        }) > 0;
+    }
+
+    public dynamic DeleteListByItem(List<DeliveryItem> dts)
+    {
+        var result = dts.Select(DeleteByItem).ToList();
+        return result.All(b => b);
+    }
+
+    // 鍒犻櫎鏁版嵁鐨勬柟娉�
+    private bool DeleteDataByItem(SqlSugarScope db, DeliveryItem dt)
+    {
+        var del = db.Deleteable<MesDeliveryNoteBarcode>().Where(s => s.DeliveryNo == dt.DeliveryNo && s.ProductCode==dt.ItemNo).ExecuteCommand() > 0;
+
+        if (del)
+        {
+            return true;
+        }
+        throw new NotImplementedException("鍒犻櫎澶辫触");
+    }
+
     // 鍒犻櫎鏁版嵁鐨勬柟娉�
     private bool DeleteData(SqlSugarScope db, ErpBarcode barcode)
     {
@@ -64,7 +90,9 @@
     // 鍒犻櫎鏁版嵁鐨勬柟娉�
     private bool DeleteDataByShd(SqlSugarScope db, ErpDelivery delivery)
     {
-        var del = db.Deleteable<MesDeliveryNoteBarcode>().Where(s => s.DeliveryNo == delivery.DeliveryNo).ExecuteCommand() > 0;
+        var del = db.Deleteable<MesDeliveryNoteBarcode>().
+            Where(s => s.DeliveryNo == delivery.DeliveryNo)
+            .ExecuteCommand() > 0;
 
         if (del)
         {
diff --git a/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteManager.cs b/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteManager.cs
index 79c9578..951992b 100644
--- a/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteManager.cs
+++ b/StandardInterface/MES.Service/service/SRM/MesDeliveryNoteManager.cs
@@ -112,7 +112,8 @@
                 CreateDate = DateTime.Now,
                 PurchaseQty = Convert.ToDecimal(s.PurchaseQty),
                 IncludeQty = Convert.ToDecimal(s.IncludeQty),
-                DepotCode = s.DepotNo
+                DepotCode = s.DepotNo,
+                IsGift = s.IsGift
             };
             return entity;
         }).ToList();
diff --git a/StandardInterface/MES.Service/service/WomcaaManager.cs b/StandardInterface/MES.Service/service/WomcaaManager.cs
index bfc2467..853ca03 100644
--- a/StandardInterface/MES.Service/service/WomcaaManager.cs
+++ b/StandardInterface/MES.Service/service/WomcaaManager.cs
@@ -210,7 +210,8 @@
             Jt=dto.JT,
             Xscn=dto.XS_CN,
             Sjxs=dto.SJ_xs,
-            Nextgx=dto.NEXT_Gx
+            Nextgx=dto.NEXT_Gx,
+            Rks=dto.RKS,
             //娌冨皵鏂板
             // WR_F_SCDD_SCTZD = dto.F_SCDD_SCTZD
             //WR_F_SCDD_XH = dto.F_SCDD_XH
diff --git a/StandardInterface/MESApplication/Controllers/BasicData/ProductionOrderController.cs b/StandardInterface/MESApplication/Controllers/BasicData/ProductionOrderController.cs
index ead12be..6b5c4b8 100644
--- a/StandardInterface/MESApplication/Controllers/BasicData/ProductionOrderController.cs
+++ b/StandardInterface/MESApplication/Controllers/BasicData/ProductionOrderController.cs
@@ -36,6 +36,7 @@
         entity.Data = JsonConvert.SerializeObject(rohIn);
         entity.Status = 1;
         entity.CreateBy = "PL017";
+        entity.Route= rohIn.OrderDto.FBillNo;
         try
         {
             dynamic resultInfos = new ExpandoObject();
diff --git a/StandardInterface/MESApplication/Controllers/Kingdee/ErpKcController.cs b/StandardInterface/MESApplication/Controllers/Kingdee/ErpKcController.cs
new file mode 100644
index 0000000..fad5bef
--- /dev/null
+++ b/StandardInterface/MESApplication/Controllers/Kingdee/ErpKcController.cs
@@ -0,0 +1,46 @@
+锘縰sing MES.Service.Dto.service;
+using MES.Service.Dto.webApi;
+using MES.Service.Modes;
+using MES.Service.service;
+using MES.Service.service.Kingdee;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using System.Dynamic;
+
+namespace MESApplication.Controllers.Kingdee;
+
+
+[ApiController]
+[Route("api/[controller]")]
+public class ErpKcController : ControllerBase 
+{
+    private readonly MessageCenterManager _manager = new();
+    private readonly ErpKcManager kc = new();
+    private readonly string METHOD = "POST";
+    private readonly string TableName = "ERPKC";
+    private readonly string URL = "http://localhost:10054/api/ErpKc/";
+
+
+    //
+    [HttpPost("Save")]
+    public ResponseResult Save(Inventory inventory)
+    {
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            resultInfos = kc.QueryStocks(inventory);
+
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+}
diff --git a/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteBarcodeController.cs b/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteBarcodeController.cs
index 7713f50..0f423b8 100644
--- a/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteBarcodeController.cs
+++ b/StandardInterface/MESApplication/Controllers/SRM/MesDeliveryNoteBarcodeController.cs
@@ -286,5 +286,94 @@
         }
     }
 
+    [HttpPost("DeleteByItem")]
+    public ResponseResult DeleteByItem(DeliveryItem dt)
+    {
+        var entity = new MessageCenter();
+        entity.TableName = TableName;
+        entity.Url = URL + "DeleteByItem";
+        entity.Method = METHOD;
+        entity.Data = JsonConvert.SerializeObject(dt);
+        entity.Status = 1;
+        entity.CreateBy = "PL017";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var save = m.DeleteByItem(dt);
+            resultInfos = 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("DeleteListByItem")]
+    public ResponseResult DeleteListByItem(List<DeliveryItem> dts)
+    {
+        var entity = new MessageCenter();
+        entity.TableName = TableName;
+        entity.Url = URL + "DeleteListByItem";
+        entity.Method = METHOD;
+        entity.Data = JsonConvert.SerializeObject(dts);
+        entity.Status = 1;
+        entity.CreateBy = "PL017";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var save = m.DeleteListByItem(dts);
+            resultInfos = 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);
+        }
+    }
+
+
+
+
 }
 

--
Gitblit v1.9.3