From f082358bfb772ff6e2b4614eb2866006c7c6b70c Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期二, 25 四月 2023 13:35:20 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 Pub_Class/CustomerCls/ClsXt_SystemParameter.cs               |  191 +++++++++++++++++++++++++------
 WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs |    2 
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs  |   81 ++++++++++--
 Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs           |   27 ++++
 WebAPI/Controllers/生产管理/生产任务单/Sc_ICMOBillController.cs       |    2 
 5 files changed, 243 insertions(+), 60 deletions(-)

diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
index 8694e72..1d02c35 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -88,7 +88,7 @@
                 for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
                 {
                     //WMS条码 系统参数
-                    //生产汇报单
+                    //==============================生产汇报单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_AutoCheck")
                     {
                         omodel.Sc_ICMOReportBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -137,7 +137,13 @@
                     {
                         omodel.Sc_ICMOReportBill_MESFlag = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-                    //收料通知单(送货单、到货确认)
+                    //生产汇报单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Sc_ICMOReportBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //==========================================收料通知单(送货单、到货确认)
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Cg_POInStockBill_BarCodeCtl")
                     {
                         omodel.Cg_POInStockBill_BarCodeCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -150,7 +156,7 @@
                     {
                         omodel.Cg_POInStockBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-                    //采购入库单
+                    //===================================采购入库单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_AutoCheck")
                     {
                         omodel.Kf_POStockInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -195,8 +201,13 @@
                     {
                         omodel.Kf_POStockInBill_AutoBarCode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    //采购入库单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_POStockInBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
 
-                    //产品入库单
+                    //=======================================产品入库单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_AutoCheck")
                     {
                         omodel.Kf_ProductInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -241,8 +252,12 @@
                     {
                         omodel.Kf_ProductInBill_Display = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-
-                    //其他入库单
+                    //产品入库单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_ProductInBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //=======================================================其他入库单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_AutoCheck")
                     {
                         omodel.Kf_OtherInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -283,7 +298,13 @@
                     {
                         omodel.Kf_OtherInBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-                    //其他入库单  校验
+                    //其他入库单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_OtherInBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //========================================其他入库单  校验
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBillCheck_MustQtyCtl")
                     {
                         omodel.Kf_OtherInBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -297,7 +318,7 @@
                         omodel.Kf_OtherInBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
-                    //委外入库单
+                    //==============================================委外入库单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_AutoCheck")
                     {
                         omodel.Kf_EntrustInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -338,8 +359,15 @@
                     {
                         omodel.Kf_EntrustInBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    //委外入库单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_EntrustInBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
 
-                    //生产领料单
+
+
+                    //=========================================生产领料单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_AutoCheck")
                     {
                         omodel.Kf_MateOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -392,7 +420,10 @@
                     {
                         omodel.Kf_MateOutBill_AutoBarCode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-                    //生产领料单    校验
+
+
+
+                    //=========================================生产领料单    校验
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBillCheck_MustQtyCtl")
                     {
                         omodel.Kf_MateOutBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -406,7 +437,7 @@
                         omodel.Kf_MateOutBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
-                    //销售出库单
+                    //=======================================销售出库单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_AutoCheck")
                     {
                         omodel.Kf_SellOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -463,6 +494,12 @@
                     {
                         omodel.Kf_SellOutBill_Display = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    //销售出库单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_SellOutBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
                     //销售出库单    校验
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBillCheck_MustQtyCtl")
                     {
@@ -522,7 +559,14 @@
                     {
                         omodel.Kf_OtherOutBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-                    //其他出库单  校验
+                    //其他出库单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_OtherOutBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+
+                    //========================================其他出库单  校验
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBillCheck_MustQtyCtl")
                     {
                         omodel.Kf_OtherOutBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -536,7 +580,7 @@
                         omodel.Kf_OtherOutBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
-                    //委外出库单
+                    //========================================委外出库单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_AutoCheck")
                     {
                         omodel.Kf_EntrustOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -585,7 +629,14 @@
                     {
                         omodel.Kf_EntrustOutBill_SimpleMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-                    //委外领料单    校验
+                    //委外出库单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_EntrustOutBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+
+                    //===========================委外领料单    校验
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBillCheck_MustQtyCtl")
                     {
                         omodel.Kf_EntrustOutBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -599,7 +650,7 @@
                         omodel.Kf_EntrustOutBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
-                    //生产补料单
+                    //=============================生产补料单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_AutoCheck")
                     {
                         omodel.Kf_MateReplenishOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -636,7 +687,12 @@
                     {
                         omodel.Kf_MateReplenishOutBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-                    //生产补料单    校验
+                    //生产补料单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_MateReplenishOutBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //==============================生产补料单    校验
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBillCheck_MustQtyCtl")
                     {
                         omodel.Kf_MateReplenishOutBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -650,7 +706,7 @@
                         omodel.Kf_MateReplenishOutBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
-                    //委外补料单
+                    //================================委外补料单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustReplenishOutBill_AutoCheck")
                     {
                         omodel.Kf_EntrustReplenishOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -687,7 +743,12 @@
                     {
                         omodel.Kf_EntrustReplenishOutBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-                    //委外补料单    校验
+                    //委外补料单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustReplenishOutBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_EntrustReplenishOutBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //======================委外补料单    校验
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustReplenishOutBillCheck_MustQtyCtl")
                     {
                         omodel.Kf_EntrustReplenishOutBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -701,7 +762,7 @@
                         omodel.Kf_EntrustReplenishOutBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
-                    //直接调拨单
+                    //==================直接调拨单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_AutoCheck")
                     {
                         omodel.Kf_MoveStockBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -750,7 +811,12 @@
                     {
                         omodel.Kf_MoveStockBill_Display = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-                    //直接调拨单  校验
+                    //直接调拨单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_MoveStockBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //==========================================直接调拨单  校验
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBillCheck_MustQtyCtl")
                     {
                         omodel.Kf_MoveStockBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -764,7 +830,7 @@
                         omodel.Kf_MoveStockBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
-                    //分步式调出单
+                    //==============================================分步式调出单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_AutoCheck")
                     {
                         omodel.Kf_MoveStockStepOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -809,8 +875,12 @@
                     {
                         omodel.Kf_MoveStockStepOutBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-
-                    //分步式调入单
+                    //分步式调出单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //=========================================分步式调入单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_AutoCheck")
                     {
                         omodel.Kf_MoveStockStepInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -859,8 +929,13 @@
                     {
                         omodel.Kf_MoveStockStepInBill_SourceBarCodeCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    //分步式调入单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_MoveStockStepInBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
 
-                    //采购退料单
+                    //=====================================采购退料单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_AutoCheck")
                     {
                         omodel.Kf_POStockInBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -897,8 +972,12 @@
                     {
                         omodel.Kf_POStockInBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-
-                    //生产退库单
+                    //采购退料单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_POStockInBackBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //==========================生产退库单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_AutoCheck")
                     {
                         omodel.Kf_ProductInBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -935,8 +1014,12 @@
                     {
                         omodel.Kf_ProductInBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-
-                    //其他入库红字
+                    //产品退库单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_ProductInBackBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //==============================其他入库红字
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_AutoCheck")
                     {
                         omodel.Kf_OtherInBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -973,8 +1056,12 @@
                     {
                         omodel.Kf_OtherInBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-
-                    //委外退库单
+                    //其他入库红字单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_OtherInBackBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===================================委外退库单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_AutoCheck")
                     {
                         omodel.Kf_EntrustInBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -1011,8 +1098,12 @@
                     {
                         omodel.Kf_EntrustInBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-
-                    //生产退料单
+                    //其他入库红字单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_EntrustInBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //====================================生产退料单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_AutoCheck")
                     {
                         omodel.Kf_MateOutBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -1053,8 +1144,13 @@
                     {
                         omodel.Kf_MateOutBackBill_SimpleMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    //生产退料单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_MateOutBackBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
 
-                    //销售退库单
+                    //===========================销售退库单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_AutoCheck")
                     {
                         omodel.Kf_SellOutBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -1095,8 +1191,12 @@
                     {
                         omodel.Kf_SellOutBackBill_AutoSavePOStockInBackBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-
-                    //其他出库红字
+                    //销售退库单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_SellOutBackBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //==========================其他出库红字
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_AutoCheck")
                     {
                         omodel.Kf_OtherOutBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -1133,8 +1233,12 @@
                     {
                         omodel.Kf_OtherOutBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-
-                    //委外退料单
+                    //其他出库红字单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_OtherOutBackBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //======================================委外退料单
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_AutoCheck")
                     {
                         omodel.Kf_EntrustOutBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
@@ -1174,6 +1278,11 @@
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_SimpleMode")
                     {
                         omodel.Kf_EntrustOutBackBill_SimpleMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //委外退料单暂存删除人必须是制单人
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Kf_EntrustOutBackBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
                     //WMS   通用
@@ -2751,7 +2860,7 @@
                         omodel.WMS_BillDateMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
-                    //桌面条码模块
+                    //桌面条码模块  条码主档
                     //有源单生成条码,生成条码数量可否超源单数量控制
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "BarCode_SourceQtyCtl")
                     {
@@ -2792,7 +2901,11 @@
                     {
                         omodel.BarCode_AutoSellOutBackBillWMS = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
-
+                    //条码主档删除人必须是制单人('Y'为控制)
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "BarCode_DeleterAndMakerMustSame")
+                    {
+                        omodel.BarCode_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
                     //============================================================================MES系统参数
 
                     //-==================生产订单
diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
index 3b7e5f4..ee584d3 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
@@ -21,7 +21,8 @@
         public string Sc_ICMOReportBill_SourceWHSPCtl;          //是否取源单中仓库仓位('Y'为是)
         public string Sc_ICMOReportBill_UpdateSourceInterID;    //上传后回填条码档案源单信息
         public string Sc_ICMOReportBill_MESFlag;                //生产汇报单同步MES标记,Y为同步
-        public string Sc_ICMOReportBill_FirstCheckOut;          //必须首件检验通过才能保存单据
+        public string Sc_ICMOReportBill_FirstCheckOut;              //必须首件检验通过才能保存单据
+        public string Sc_ICMOReportBill_DeleterAndMakerMustSame;    //生产汇报单暂存删除人必须是制单人
 
         //收料通知单(送货单、到货确认)
         public string Cg_POInStockBill_AutoCheck;       //是否自动审核
@@ -40,6 +41,7 @@
         public string Kf_POStockInBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_POStockInBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
         public string Kf_POStockInBill_AutoBarCode;     //免扫码模式,条码类型为非唯一条码,上传时自动生成条码扫码记录
+        public string Kf_POStockInBill_DeleterAndMakerMustSame;    //采购入库单暂存删除人必须是制单人
 
         //产品入库
         public string Kf_ProductInBill_AutoCheck;       //是否自动审核
@@ -53,6 +55,7 @@
         public string Kf_ProductInBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_ProductInBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
         public string Kf_ProductInBill_Display;         //扫描物料条码后是否自动刷新子表界面('Y'为是)
+        public string Kf_ProductInBill_DeleterAndMakerMustSame;    //产品入库单暂存删除人必须是制单人
 
         //其他入库
         public string Kf_OtherInBill_AutoCheck;       //是否自动审核
@@ -65,6 +68,7 @@
         public string Kf_OtherInBill_MultilineCtl;    //是否存在多行相同物料时自动拆分换行('Y'为自动拆分)
         public string Kf_OtherInBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_OtherInBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
+        public string Kf_OtherInBill_DeleterAndMakerMustSame;    //其他入库单暂存删除人必须是制单人
         //其他入库  校验
         public string Kf_OtherInBillCheck_MustQtyCtl;   //校验数量控制
         public string Kf_OtherInBillCheck_WHSPCtl;      //校验-是否校对仓库仓位
@@ -81,6 +85,7 @@
         public string Kf_EntrustInBill_MultilineCtl;    //是否存在多行相同物料时自动拆分换行('Y'为自动拆分)
         public string Kf_EntrustInBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_EntrustInBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
+        public string Kf_EntrustInBill_DeleterAndMakerMustSame;    //委外入库单暂存删除人必须是制单人
 
         //生产领料
         public string Kf_MateOutBill_AutoCheck;         //是否自动审核
@@ -96,6 +101,7 @@
         public string Kf_MateOutBill_FIFOCtl;           //先进先出控制
         public string Kf_MateOutBill_SimpleMode;        //简洁模式(不显示源单列表,只显示扫码记录,但后台仍控制)
         public string Kf_MateOutBill_AutoBarCode;       //免扫码模式,条码类型为非唯一条码,上传时自动生成条码扫码记录
+        public string Kf_MateOutBill_DeleterAndMakerMustSame;    //生产领料单暂存删除人必须是制单人
         //生产领料    校验
         public string Kf_MateOutBillCheck_MustQtyCtl;   //校验数量控制
         public string Kf_MateOutBillCheck_WHSPCtl;      //校验-是否校对仓库仓位
@@ -116,6 +122,7 @@
         public string Kf_SellOutBill_AutoSavePOStockInBill; //同步生成采购入库单
         public string Kf_SellOutBill_NoRefresh;             //PDA不自动刷新
         public string Kf_SellOutBill_Display;               //扫描物料条码后是否自动刷新子表界面('Y'为是)
+        public string Kf_SellOutBill_DeleterAndMakerMustSame;    //销售出库单暂存删除人必须是制单人
         //销售出库  校验
         public string Kf_SellOutBillCheck_MustQtyCtl;   //校验数量控制
         public string Kf_SellOutBillCheck_WHSPCtl;      //校验-是否校对仓库仓位
@@ -133,6 +140,7 @@
         public string Kf_OtherOutBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
         public string Kf_OtherOutBill_FIFOList;        //先进先出下架清单
         public string Kf_OtherOutBill_FIFOCtl;         //先进先出控制
+        public string Kf_OtherOutBill_DeleterAndMakerMustSame;    //其他出库单暂存删除人必须是制单人
         //其他出库  校验
         public string Kf_OtherOutBillCheck_MustQtyCtl;   //校验数量控制
         public string Kf_OtherOutBillCheck_WHSPCtl;      //校验-是否校对仓库仓位
@@ -151,6 +159,7 @@
         public string Kf_EntrustOutBill_FIFOList;        //先进先出下架清单
         public string Kf_EntrustOutBill_FIFOCtl;         //先进先出控制
         public string Kf_EntrustOutBill_SimpleMode;      //简洁模式(不显示源单列表,只显示扫码记录,但后台仍控制)
+        public string Kf_EntrustOutBill_DeleterAndMakerMustSame;    //委外出库单暂存删除人必须是制单人
         //委外领料    校验
         public string Kf_EntrustOutBillCheck_MustQtyCtl;   //校验数量控制
         public string Kf_EntrustOutBillCheck_WHSPCtl;      //校验-是否校对仓库仓位
@@ -166,6 +175,7 @@
         public string Kf_MateReplenishOutBill_MultilineCtl;    //是否存在多行相同物料时自动拆分换行('Y'为自动拆分)
         public string Kf_MateReplenishOutBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_MateReplenishOutBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
+        public string Kf_MateReplenishOutBill_DeleterAndMakerMustSame;    //生产补料单暂存删除人必须是制单人
         //生产补料  校验
         public string Kf_MateReplenishOutBillCheck_MustQtyCtl;   //校验数量控制
         public string Kf_MateReplenishOutBillCheck_WHSPCtl;      //校验-是否校对仓库仓位
@@ -181,6 +191,7 @@
         public string Kf_EntrustReplenishOutBill_MultilineCtl;    //是否存在多行相同物料时自动拆分换行('Y'为自动拆分)
         public string Kf_EntrustReplenishOutBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_EntrustReplenishOutBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
+        public string Kf_EntrustReplenishOutBill_DeleterAndMakerMustSame;    //委外补料单暂存删除人必须是制单人
         //委外补料    校验
         public string Kf_EntrustReplenishOutBillCheck_MustQtyCtl;   //校验数量控制
         public string Kf_EntrustReplenishOutBillCheck_WHSPCtl;      //校验-是否校对仓库仓位
@@ -199,6 +210,7 @@
         public string Kf_MoveStockBill_FIFOList;        //先进先出下架清单
         public string Kf_MoveStockBill_FIFOCtl;         //先进先出控制
         public string Kf_MoveStockBill_Display;         //扫描物料条码后是否自动刷新子表界面('Y'为是)
+        public string Kf_MoveStockBill_DeleterAndMakerMustSame;    //直接调拨单暂存删除人必须是制单人
         //直接调拨  校验
         public string Kf_MoveStockBillCheck_MustQtyCtl;     //校验数量控制
         public string Kf_MoveStockBillCheck_WHSPCtl;        //校验-是否校对仓库仓位
@@ -216,6 +228,7 @@
         public string Kf_MoveStockStepOutBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
         public string Kf_MoveStockStepOutBill_FIFOList;        //先进先出下架清单
         public string Kf_MoveStockStepOutBill_FIFOCtl;         //先进先出控制
+        public string Kf_MoveStockStepOutBill_DeleterAndMakerMustSame;    //分步式调出单暂存删除人必须是制单人
 
         //分步式调入单
         public string Kf_MoveStockStepInBill_AutoCheck;       //是否自动审核
@@ -230,6 +243,7 @@
         public string Kf_MoveStockStepInBill_FIFOList;        //先进先出下架清单
         public string Kf_MoveStockStepInBill_FIFOCtl;         //先进先出控制
         public string Kf_MoveStockStepInBill_SourceBarCodeCtl;   //是否进行源单对应条码核对('Y'为核对)
+        public string Kf_MoveStockStepInBill_DeleterAndMakerMustSame;    //分步式调入单暂存删除人必须是制单人
 
         //采购退料
         public string Kf_POStockInBackBill_AutoCheck;       //是否自动审核
@@ -241,6 +255,7 @@
         public string Kf_POStockInBackBill_MultilineCtl;    //是否存在多行相同物料时自动拆分换行('Y'为自动拆分)
         public string Kf_POStockInBackBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_POStockInBackBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
+        public string Kf_POStockInBackBill_DeleterAndMakerMustSame;    //采购退料单暂存删除人必须是制单人
 
         //产品退库
         public string Kf_ProductInBackBill_AutoCheck;       //是否自动审核
@@ -252,6 +267,7 @@
         public string Kf_ProductInBackBill_MultilineCtl;    //是否存在多行相同物料时自动拆分换行('Y'为自动拆分)
         public string Kf_ProductInBackBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_ProductInBackBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
+        public string Kf_ProductInBackBill_DeleterAndMakerMustSame;    //产品退库单暂存删除人必须是制单人
 
         //其他入库红字
         public string Kf_OtherInBackBill_AutoCheck;       //是否自动审核
@@ -263,6 +279,7 @@
         public string Kf_OtherInBackBill_MultilineCtl;    //是否存在多行相同物料时自动拆分换行('Y'为自动拆分)
         public string Kf_OtherInBackBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_OtherInBackBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
+        public string Kf_OtherInBackBill_DeleterAndMakerMustSame;    //其他入库红字单暂存删除人必须是制单人
 
         //委外退库
         public string Kf_EntrustInBackBill_AutoCheck;       //是否自动审核
@@ -274,6 +291,7 @@
         public string Kf_EntrustInBackBill_MultilineCtl;    //是否存在多行相同物料时自动拆分换行('Y'为自动拆分)
         public string Kf_EntrustInBackBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_EntrustInBackBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
+        public string Kf_EntrustInBackBill_DeleterAndMakerMustSame;    //委外退库单暂存删除人必须是制单人
 
         //生产退料
         public string Kf_MateOutBackBill_AutoCheck;       //是否自动审核
@@ -286,6 +304,7 @@
         public string Kf_MateOutBackBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_MateOutBackBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
         public string Kf_MateOutBackBill_SimpleMode;      //简洁模式(不显示源单列表,只显示扫码记录,但后台仍控制)
+        public string Kf_MateOutBackBill_DeleterAndMakerMustSame;    //生产退料单暂存删除人必须是制单人
 
         //销售退库
         public string Kf_SellOutBackBill_AutoCheck;                 //是否自动审核
@@ -298,6 +317,7 @@
         public string Kf_SellOutBackBill_MaterWHSPCtl;              //是否取物料默认仓库仓位('Y'为是)
         public string Kf_SellOutBackBill_SourceWHSPCtl;             //是否取源单中仓库仓位('Y'为是)
         public string Kf_SellOutBackBill_AutoSavePOStockInBackBill; //同步生成采购入库单红字
+        public string Kf_SellOutBackBill_DeleterAndMakerMustSame;    //销售退库单暂存删除人必须是制单人
 
         //其他出库红字
         public string Kf_OtherOutBackBill_AutoCheck;       //是否自动审核
@@ -309,6 +329,7 @@
         public string Kf_OtherOutBackBill_MultilineCtl;    //是否存在多行相同物料时自动拆分换行('Y'为自动拆分)
         public string Kf_OtherOutBackBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_OtherOutBackBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
+        public string Kf_OtherOutBackBill_DeleterAndMakerMustSame;    //其他出库红字单暂存删除人必须是制单人
 
         //委外退料
         public string Kf_EntrustOutBackBill_AutoCheck;       //是否自动审核
@@ -321,6 +342,7 @@
         public string Kf_EntrustOutBackBill_MaterWHSPCtl;    //是否取物料默认仓库仓位('Y'为是)
         public string Kf_EntrustOutBackBill_SourceWHSPCtl;   //是否取源单中仓库仓位('Y'为是)
         public string Kf_EntrustOutBackBill_SimpleMode;      //简洁模式(不显示源单列表,只显示扫码记录,但后台仍控制)
+        public string Kf_EntrustOutBackBill_DeleterAndMakerMustSame;    //委外退料单暂存删除人必须是制单人
 
         //生产组托
         public string Sc_PackUnionBill_SourceBillTypeCtl;   //未入库条码进行组托时,进行同源单类型控制(Y为控制)
@@ -344,7 +366,7 @@
         public string WMS_BillDateMode;     //单据日期是否取界面递入日期
 
 
-        //桌面条码模块
+        //桌面条码模块 条码主档
         public string BarCode_SourceQtyCtl;     //有源单生成条码,生成条码数量可否超源单数量控制
         public long BarCode_PrintQty;          //允许条码打印次数(1、2、3.....)
         public string BarCode_PrintQtyCtl;      //条码打印次数控制(是否只允许打印一次控制,Y 只允许打印一次)
@@ -353,6 +375,7 @@
         public string BarCode_AutoPOStockInBillWMS;     //选源单采购入库单生成条码时是否自动同步生成条码出入库记录('Y'为自动同步)
         public string BarCode_AutoMateOutBackBillWMS;   //选源单生产退料单生成条码时是否自动同步生成条码出入库记录('Y'为自动同步)
         public string BarCode_AutoSellOutBackBillWMS;   //选源单销售退货单生成条码时是否自动同步生成条码出入库记录('Y'为自动同步)
+        public string BarCode_DeleterAndMakerMustSame;  //条码主档删除人必须是制单人
 
         //====================================================工序流转WIP
 
diff --git a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
index 9bf6d9e..5accdda 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -193,7 +193,7 @@
                             { //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
                                 if (oSystemParameter.omodel.MES_StationInBill_ShowUSERProcess == "Y")
                                 {
-                                    ds = oCN.RunProcReturn($"exec h_p_ProcessExchangeBillLastHProNo '{BillNo_PGD}','{UserID}','In'", "h_v_Gy_ProcessList_GetProcNoByUser");
+                                    ds = oCN.RunProcReturn($"exec h_p_ProcessExchangeBillLastHProNo '{BillNo_PGD}','{UserID}','{HBillType}'", "h_v_Gy_ProcessList_GetProcNoByUser");
                                 }
                                 else
                                 {
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index 94d7038..187c835 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -903,12 +903,26 @@
             try
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+                var ds1= oCN.RunProcReturn("select isnull(max(娴佹按鍙�),0) from h_v_Sc_ProcessExchangeBillQuerySub where hmainid=" + HInterID + " and 鍑虹珯鍏宠仈鏁伴噺>0 ", "h_v_Sc_ProcessExchangeBillQuerySub");
+
                 string sql = string.Format(@"select * from h_v_Sc_ProcessExchangeBillQuerySub");
-                ds = oCN.RunProcReturn(sql + " where hmainid=" + HInterID, "h_v_Sc_ProcessExchangeBillQuerySub");
-                objJsonResult.code = "0";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
-                objJsonResult.data = ds.Tables[0];
+
+                ds = oCN.RunProcReturn(sql + " where hmainid=" + HInterID + " and 鍑虹珯鍏宠仈鏁伴噺=0  and  cast(娴佹按鍙� as int)>" + ds1 .Tables[0].Rows[0][0].ToString(), "h_v_Sc_ProcessExchangeBillQuerySub");
+
+                if (float.Parse(ds.Tables[0].Rows[0]["杩涚珯鍏宠仈鏁伴噺"].ToString()) > 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "褰撳墠鍗曟嵁:"+ ds.Tables[0].Rows[0]["宸ュ簭鍚嶇О"].ToString() + "鏈嚭绔欎笉鑳芥媶鍒�!";
+                    objJsonResult.data = ds.Tables[0];
+                }
+                else {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
             }
             catch (Exception e)
             {
@@ -990,26 +1004,52 @@
                 //msg2 = msg2.Replace("'", "鈥�");
                 List<Model.ClsSc_ProcessExchangeBillSub> ls = new List<Model.ClsSc_ProcessExchangeBillSub>();
                 ls = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub(msg3);
-                int i = 0;
-                foreach (Model.ClsSc_ProcessExchangeBillSub oItemSub in ls)
-                {
+              
+                string HEntryID = "";
 
-                    if (oItemSub.HSplitQty > oItemSub.HLeftQty)
+                for (int i = 0; i < oBill.DetailColl.Count; i++)
+                {
+                    if (oBill.DetailColl[i].HRelationQty_Out > 0 || oBill.DetailColl[i].HRelationQty_In > 0)
+                    {
+                        HEntryID += i + ",";
+                    }
+                }
+                if (HEntryID != "")
+                {
+                    HEntryID = HEntryID.Substring(0, HEntryID.Length - 1);
+                    var num = HEntryID.Split(',');
+
+                    for (int k = 0; k < num.Length; k++)
+                    {
+                        oBill.DetailColl.RemoveAt(int.Parse(num[k]) - k);
+                    }
+                }
+
+                int j = 0 ;
+                foreach (Model.ClsSc_ProcessExchangeBillSub oItemSub in oBill.DetailColl)
+                {
+                    if (ls[j].HSplitQty > ls[j].HLeftQty)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "绗�" + (i + 1) + "琛岋紝鎷嗗垎鏁伴噺涓嶈兘澶т簬鍙媶鍒嗘暟閲忥紒";
+                        objJsonResult.Message = "绗�" + (j + 1) + "琛岋紝鎷嗗垎鏁伴噺涓嶈兘澶т簬鍙媶鍒嗘暟閲忥紒";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-                    oBill.DetailColl[i].HQty = oItemSub.HQty;
-                    oBill.DetailColl[i].HBackProc = oItemSub.HBackProc;
-                    oBill.DetailColl[i].HPrevSourceInterID = oItemSub.HPrevSourceInterID;
-                    oBill.DetailColl[i].HPrevSourceEntryID = oItemSub.HPrevSourceEntryID;
-                    oBill.DetailColl[i].HRemark = oItemSub.HRemark;
-                    oBill.DetailColl[i].HTechnologyParameter = oItemSub.HTechnologyParameter;
-                    i++;
+
+                    if (oBill.DetailColl[j].HProcNo == ls[j].HProcNo)
+                    {
+                        oBill.DetailColl[j].HEntryID = j+1;
+                        oBill.DetailColl[j].HQty = ls[j].HQty;
+                        oBill.DetailColl[j].HBackProc = ls[j].HBackProc;
+                        oBill.DetailColl[j].HPrevSourceInterID = ls[j].HPrevSourceInterID;
+                        oBill.DetailColl[j].HPrevSourceEntryID = ls[j].HPrevSourceEntryID;
+                        oBill.DetailColl[j].HRemark = ls[j].HRemark;
+                        oBill.DetailColl[j].HTechnologyParameter = ls[j].HTechnologyParameter;
+                        j++;
+                    }
                 }
+
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -1022,6 +1062,13 @@
                 //{
                 //    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //}
+               
+                oCN.BeginTran();
+
+                oCN.RunProc("update Sc_ProcessExchangeBillSub set HQty=(select HQty from Sc_ProcessExchangeBillMain where HInterID="+ oBill.DetailColl[0].HPrevSourceInterID + ") where HInterID=" + oBill.DetailColl[0].HPrevSourceInterID );
+
+                oCN.Commit();
+
                 if (bResult)
                 {
                     objJsonResult.code = "0";
diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
index af6a9ba..5d76142 100644
--- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
+++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
@@ -72,7 +72,7 @@
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
             string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
             string msg3 = sArray[1].ToString(); //瀛愯〃鏁版嵁
-            int OperationType = int.Parse(sArray[2].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+            int OperationType = int.Parse(sArray[2].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 2澶嶅埗 3淇敼 
             string user = sArray[3].ToString();
 
             try

--
Gitblit v1.9.1