From 861aefcec45c1843ad20d22a017054d33f78f8b9 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期三, 16 四月 2025 12:48:28 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 DAL/车间管理/ClsSc_ProcExchWorkBackBill.cs |   99 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 92 insertions(+), 7 deletions(-)

diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBill.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBill.cs"
index 0979f2b..e3133ee 100644
--- "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBill.cs"
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBill.cs"
@@ -36,6 +36,22 @@
         {
             try
             {
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                DataSet ds = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_ProcExchWorkBackBill_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+                //=========================================================
+
+
                 //
                 oCn.BeginTran();
                 //鏇存柊涓昏〃
@@ -50,6 +66,7 @@
                 //========================================
                 ",HInnerBillNo='" + omodel.HInnerBillNo.ToString() +"'"+
                 ",HEmpID=" + omodel.HEmpID.ToString() +
+                ",HBillOperationType='" + omodel.HBillOperationType + "'" +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -59,17 +76,44 @@
                 omodel.HInterID = lngBillKey;
                 foreach (Model.ClsSc_ProcExchWorkBackBillSub oSub in DetailColl)
                 {
+                    if (oSub.HSourceInterID == 0)
+                    {
+                        oSub.HSourceInterID = omodel.HProcExchInterID;
+                    }
+
+                    if (oSub.HSourceEntryID == 0)
+                    {
+                        oSub.HSourceEntryID = omodel.HProcExchEntryID;
+                    }
+
                     oCn.RunProc("Insert into Sc_ProcExchWorkBackBillSub (HInterID, HEntryID, HCloseMan, HEntryCloseDate, HCloseType" +
                         ", HRemark, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType" +
                         ", HRelationQty, HRelationMoney, HBillNo_bak, HProcNo, HProcID" +
                         ", HWorkRemark, HCenterID, HDeptID, HSupID, HSupFlag" +
                         ", HQty, HICMOInterID, HICMOBillNo, HICMOEntryID)values(" +
                         $"{omodel.HInterID}, {oSub.HEntryID.ToString()}, '{oSub.HCloseMan.ToString()}', null, {(oSub.HCloseType == true ? 1 : 0)}" +
-                        $",'{oSub.HRemark.ToString()}', {omodel.HProcExchInterID.ToString()},{omodel.HProcExchEntryID.ToString()}, '{omodel.HProcExchBillNo.ToString()}', '3772'" +
+                        $",'{oSub.HRemark.ToString()}', {oSub.HSourceInterID},{oSub.HSourceEntryID}, '{omodel.HProcExchBillNo.ToString()}', '3772'" +
                         $",{oSub.HRelationQty.ToString()},{oSub.HRelationMoney.ToString()}, '{oSub.HBillNo_bak.ToString()}', '{oSub.HProcNo.ToString()}',{oSub.HProcID.ToString()}" +
                         $", '{oSub.HWorkRemark.ToString()}', {oSub.HCenterID.ToString()},{oSub.HDeptID.ToString()},{oSub.HSupID.ToString()},{(oSub.HSupFlag == true ? 1 : 0)}" +
                         $", {oSub.HQty.ToString()},{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID}) ");
                 }
+
+
+                //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sc_ProcExchWorkBackBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    sReturn = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //============================
 
                 sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
                 oCn.Commit();
@@ -87,8 +131,23 @@
         {
             try
             {
-                //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                DataSet ds = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_ProcExchWorkBackBill_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+                //=========================================================
+
+                ////寰楀埌mainid
+                //omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCn.BeginTran();
                 //涓昏〃
@@ -97,28 +156,54 @@
                     ", HICMOInterID, HICMOBillNo, HICMOEntryID, HProcExchInterID, HProcExchEntryID" +
                     ", HProcExchBillNo, HProcExchBegNO, HProcExchEndNO, HProcBegID, HProcEndID" +
                     ", HMaterID, HUnitID, HEmpID, HPlanQty, HQty" +
-                    ", HExplanation, HInnerBillNo, HWorkShopID, HOrderProcNo, HPRDORGID) values(" +
+                    ", HExplanation, HInnerBillNo, HWorkShopID, HOrderProcNo, HPRDORGID,HBillOperationType) values(" +
                     $"'{omodel.HBillType}','{omodel.HBillSubType}',{omodel.HInterID},'{omodel.HBillNo}','{omodel.HDate}',1" +
                     $",'{omodel.HMaker}','{omodel.HMakeDate}',{omodel.HYear},{omodel.HPeriod},'{omodel.HRemark}'" +
                     $",{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID},{omodel.HProcExchInterID},{omodel.HProcExchEntryID}" +
                     $",'{omodel.HProcExchBillNo}',{omodel.HProcExchBegNO},{omodel.HProcExchEndNO},{omodel.HProcBegID},{omodel.HProcEndID}" +
                     $",{omodel.HMaterID},{omodel.HUnitID},{omodel.HEmpID},{omodel.HPlanQty},{omodel.HQty}" +
-                    $",'{omodel.HExplanation}','{omodel.HInnerBillNo}',{omodel.HWorkShopID},'{omodel.HOrderProcNo}',{omodel.HPRDORGID})");
+                    $",'{omodel.HExplanation}','{omodel.HInnerBillNo}',{omodel.HWorkShopID},'{omodel.HOrderProcNo}',{omodel.HPRDORGID},'{omodel.HBillOperationType}')");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_ProcExchWorkBackBillSub oSub in DetailColl)
                 {
+                    if (oSub.HSourceInterID == 0)
+                    {
+                        oSub.HSourceInterID = omodel.HProcExchInterID;
+                    }
+
+                    if (oSub.HSourceEntryID == 0)
+                    {
+                        oSub.HSourceEntryID = omodel.HProcExchEntryID;
+                    }
+
                     oCn.RunProc("Insert into Sc_ProcExchWorkBackBillSub (HInterID, HEntryID, HCloseMan, HEntryCloseDate, HCloseType" +
                         ", HRemark, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType" +
                         ", HRelationQty, HRelationMoney, HBillNo_bak, HProcNo, HProcID" +
                         ", HWorkRemark, HCenterID, HDeptID, HSupID, HSupFlag" +
                         ", HQty, HICMOInterID, HICMOBillNo, HICMOEntryID)values(" +
                         $"{omodel.HInterID}, {oSub.HEntryID.ToString()}, '{oSub.HCloseMan.ToString()}', null, {(oSub.HCloseType== true ? 1:0)}" +
-                        $",'{oSub.HRemark.ToString()}', {omodel.HProcExchInterID.ToString()},{omodel.HProcExchEntryID.ToString()}, '{omodel.HProcExchBillNo.ToString()}', '3772'" +
+                        $",'{oSub.HRemark.ToString()}', {oSub.HSourceInterID},{oSub.HSourceEntryID}, '{omodel.HProcExchBillNo.ToString()}', '3772'" +
                         $",{oSub.HRelationQty.ToString()},{oSub.HRelationMoney.ToString()}, '{oSub.HBillNo_bak.ToString()}', '{oSub.HProcNo.ToString()}',{oSub.HProcID.ToString()}" +
                         $", '{oSub.HWorkRemark.ToString()}', {oSub.HCenterID.ToString()},{oSub.HDeptID.ToString()},{oSub.HSupID.ToString()},{(oSub.HSupFlag== true?1:0)}" +
                         $", {oSub.HQty.ToString()},{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID}) ");
                 }
-               
+
+                //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sc_ProcExchWorkBackBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    sReturn = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //============================
+
                 sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
                 oCn.Commit();
                 return true;

--
Gitblit v1.9.1