From b065299c6d8c27f80da9e9451878650b05feb0cb Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期四, 04 七月 2024 15:53:20 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/MJGL/Sc_MouldProdMoveBillListController.cs   |  365 ++-
 WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs          |  352 +++
 WebAPI/DLL/ClsSc_MESStopWorkBill.cs                             |   91 
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs     |    7 
 WebAPI/Controllers/Sc_MouldRepairInBillListController.cs        | 1531 ++++++++++++-----
 DAL/生产管理/设备管理/ClsSb_EquipStopBillMain.cs                        |   87 
 WebAPI/Controllers/MJGL/Sc_MouldRepairOutBillController.cs      |  477 +++-
 WebAPI/Controllers/Sc_MouldOtherInBillController.cs             |  366 ++-
 WebAPI/Controllers/Sc_CheckToolsRepairWorkBillListController.cs |  480 +++-
 DAL/生产管理/设备管理/ClsSb_EquipBeginBillMain.cs                       |   87 
 WebAPI/DLL/ClsSc_MESBeginWorkBill.cs                            |   91 
 WebAPI/Controllers/MJGL/Sc_MouldOtherOutBillController.cs       |  368 ++-
 DAL/生产管理/模具管理/ClsSc_MouldConkBookBill.cs                        |  113 
 DAL/生产管理/模具管理/ClsSc_MouldMaintainBill.cs                        |  101 
 WebAPI/Controllers/MJGL/Sc_MouldProdInBillController.cs         |  521 ++++-
 WebAPI/DLL/ClsSc_MESEndWorkBill.cs                              |   91 
 WebAPI/DLL/ClsSb_EquipConkBookBill.cs                           |  129 
 17 files changed, 3,807 insertions(+), 1,450 deletions(-)

diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldConkBookBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldConkBookBill.cs"
index c46c69d..e0f472b 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldConkBookBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldConkBookBill.cs"
@@ -29,8 +29,64 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldConkBookBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldConkBookBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldConkBookBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldConkBookBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -38,6 +94,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldConkBookBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -90,19 +152,13 @@
                       "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                       ") ");
                 }
-                //
-                //foreach (Model.ClsSc_MouldConkBookBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldConkBookBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -120,7 +176,13 @@
             {
                 //寰楀埌mainid
                 omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldConkBookBillMain " +
@@ -151,20 +213,13 @@
                        "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                        ") ");
                 }
-                //
-                //foreach (Model.ClsSc_MouldConkBookBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldConkBookBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
-                //
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBill.cs"
index c2f9e31..32929b1 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBill.cs"
@@ -30,15 +30,75 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldMaintainBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldMaintainBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldMaintainBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldMaintainBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
             try
             {
-                //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldMaintainBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -111,19 +171,13 @@
                       "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                       ") ");
                 }
-                //
-                //foreach (Model.ClsSc_MouldMaintainBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldMaintainBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -141,7 +195,13 @@
             {
                 //寰楀埌mainid
                 omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldMaintainBillMain " +
@@ -216,7 +276,14 @@
 
                 //淇濆吇瀹屾垚锛屽弽鍐欒澶囦繚鍏昏鍒掑崟瀛愯〃鏄惁鐐规鏍囪
                 oCn.RunProc("exec h_p_Sc_MouldMaintain_AfterSaveCtrl " + omodel.HMouldMaintainPlanInterID + "," + omodel.HMouldMaintainPlanEntryID);
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipBeginBillMain.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipBeginBillMain.cs"
index 432108b..727def3 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipBeginBillMain.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipBeginBillMain.cs"
@@ -29,15 +29,75 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sb_EquipBeginBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sb_EquipBeginBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sb_EquipBeginBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sb_EquipBeginBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
             try
             {
-
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sb_EquipBeginBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  
@@ -56,8 +116,14 @@
                 DeleteRelation(ref sReturn, lngBillKey);
                 //鍒犻櫎瀛愯〃
                 //DeleteBillSub(lngBillKey);
-             
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -91,6 +157,11 @@
                         break;
                     }
                 }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    return false;
+                }
 
                 //涓昏〃
                 string mainSql = "insert into Sb_EquipBeginBillMain" +
@@ -115,7 +186,13 @@
 
                 oCn.RunProc(mainSql);
 
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipStopBillMain.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipStopBillMain.cs"
index 09170bf..a842d1c 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipStopBillMain.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipStopBillMain.cs"
@@ -29,15 +29,75 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sb_EquipStopBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sb_EquipStopBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sb_EquipStopBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sb_EquipStopBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
             try
             {
-
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sb_EquipStopBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  
@@ -57,8 +117,14 @@
                 DeleteRelation(ref sReturn, lngBillKey);
                 //鍒犻櫎瀛愯〃
                 //DeleteBillSub(lngBillKey);
-             
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -92,6 +158,11 @@
                         break;
                     }
                 }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    return false;
+                }
 
                 //涓昏〃
                 string mainSql = "insert into Sb_EquipStopBillMain" +
@@ -117,7 +188,13 @@
 
                 oCn.RunProc(mainSql);
 
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index 317ab6b..520f9c4 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -1170,7 +1170,7 @@
 
                 string sql = string.Format(@"select * from h_v_Sc_ProcessExchangeBillQuerySub");
 
-                ds = oCN.RunProcReturn(sql + " where hmainid=" + HInterID + " and 鍑虹珯鍏宠仈鏁伴噺=0  and  cast(娴佹按鍙� as int)>" + ds1 .Tables[0].Rows[0][0].ToString(), "h_v_Sc_ProcessExchangeBillQuerySub");
+                ds = oCN.RunProcReturn(sql + " where hmainid=" + HInterID + " and 鍑虹珯鍏宠仈鏁伴噺=0  and  cast(娴佹按鍙� as int)>" + ds1 .Tables[0].Rows[0][0].ToString()+ " order by  cast(娴佹按鍙� as int) ", "h_v_Sc_ProcessExchangeBillQuerySub");
 
                 if (float.Parse(ds.Tables[0].Rows[0]["杩涚珯鍏宠仈鏁伴噺"].ToString()) > 0)
                 {
@@ -1246,9 +1246,9 @@
                         objJsonResult.data = 1;
                         return objJsonResult;
                     }
-
+                    int num = oItem.HBillNo.Split('-').Length;
                     oBill.omodel.HMaker = msg5;  //鍒跺崟浜�
-                    oBill.omodel.HNo = DBUtility.ClsPub.isLong(oItem.HBillNo.Split('-')[1]);
+                    oBill.omodel.HNo = DBUtility.ClsPub.isLong(oItem.HBillNo.Split('-')[num - 1]);
                     oBill.omodel.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                     oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                     oBill.omodel.HDate = oItem.HDate;// 鏃ユ湡
@@ -1312,7 +1312,6 @@
                         j++;
                     }
                 }
-
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
diff --git a/WebAPI/Controllers/MJGL/Sc_MouldOtherOutBillController.cs b/WebAPI/Controllers/MJGL/Sc_MouldOtherOutBillController.cs
index 5a57592..af6e436 100644
--- a/WebAPI/Controllers/MJGL/Sc_MouldOtherOutBillController.cs
+++ b/WebAPI/Controllers/MJGL/Sc_MouldOtherOutBillController.cs
@@ -17,8 +17,10 @@
         private json objJsonResult = new json();
         public DataSet ds = new DataSet();
         public WebServer webserver = new WebServer();
-        public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); 
+        public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
+        DAL.ClsSc_MouldOtherOutBill oBill = new DAL.ClsSc_MouldOtherOutBill();
         public DAL.ClsSc_MouldScrapInBill BillNew0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
         public DAL.ClsSc_MouldScrapInBill BillOld0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
 
@@ -203,7 +205,159 @@
         }
         #endregion
 
-        #region 鍏朵粬鍑哄簱鍗曚繚瀛�/缂栬緫
+        #region 鍏朵粬鍑哄簱鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿棰嗙敤鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldOtherOutBill/SaveGetMouldOtherOutBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldOtherOutBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string msg4 = sArray[2].ToString();
+
+        //    string UserName = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //缂栬緫鏉冮檺
+        //        if (!DBUtility.ClsPub.Security_Log_second("Sc_MouldOtherOutBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldOtherOutBill oBill = new DLL.ClsSc_MouldOtherOutBill();
+        //        List<Model.ClsSc_MouldOtherOutBillMain> lsmain = new List<Model.ClsSc_MouldOtherOutBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Sc_MouldOtherOutBillMain(msg2);
+        //        foreach (Model.ClsSc_MouldOtherOutBillMain oItem in lsmain)
+        //        {
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3841";
+        //            oItem.HBillSubType = "3841";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+                   
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 鍏朵粬鍑哄簱鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿棰嗙敤鍗�
         /// </summary>
@@ -216,123 +370,121 @@
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string msg4 = sArray[2].ToString();
-
-            string UserName = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string HMaker = sArray[2].ToString();           //鍒跺崟浜�
             try
             {
                 //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log_second("Sc_MouldOtherOutBill_Edit", 1, false, msg4))
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherOutBill_Edit", 1, false, HMaker))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板/缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
+                {
+                    if (oItem.HInterID == 0)
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    }
+                    else
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    }
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (oBill.omodel.HInterID == 0)   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldOtherOutBill oBill = new DLL.ClsSc_MouldOtherOutBill();
-                List<Model.ClsSc_MouldOtherOutBillMain> lsmain = new List<Model.ClsSc_MouldOtherOutBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Sc_MouldOtherOutBillMain(msg2);
-                foreach (Model.ClsSc_MouldOtherOutBillMain oItem in lsmain)
-                {
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3841";
-                    oItem.HBillSubType = "3841";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
-                int i = 0;
-                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
-                   
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -340,7 +492,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -348,8 +500,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
diff --git a/WebAPI/Controllers/MJGL/Sc_MouldProdInBillController.cs b/WebAPI/Controllers/MJGL/Sc_MouldProdInBillController.cs
index 0ab23f8..a0abee9 100644
--- a/WebAPI/Controllers/MJGL/Sc_MouldProdInBillController.cs
+++ b/WebAPI/Controllers/MJGL/Sc_MouldProdInBillController.cs
@@ -14,10 +14,23 @@
 {
     public class Sc_MouldProdInBillController : ApiController
     {
-        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
-        private json objJsonResult = new json();
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        public const string ModName = "3801";                   //鍗曟嵁绫诲瀷
+        public const string ModCaption = "鍣ㄥ叿閲囪喘鍏ュ簱鍗�";          //鍗曟嵁鍚嶇О
+        public const string ModRightName = "Sc_MouldProdInBill";
+        public const string ModRightNameList = ModRightName + "List";       //鍒楄〃
+        public const string ModRightNameEdit = ModRightName + "_Edit";      //缂栬緫
+        public const string ModRightNameCheck = ModRightName + "_Check";    //瀹℃牳
+        public const string ModRightNameClose = ModRightName + "_Close";    //鍏抽棴
+        public const string ModRightNameDelete = ModRightName + "_Delete";  //浣滃簾
+        public const string ModRightNameDrop = ModRightName + "_Drop";      //鍒犻櫎
+        public const string ModRightNameMoney = ModRightName + "_Money";    //閲戦
+        public const string ModRightNameQty = ModRightName + "_Qty";        //鏁伴噺
         public DataSet ds = new DataSet();
-        public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+        public DAL.ClsSc_MouldProdInBill oBill = new DAL.ClsSc_MouldProdInBill();
         public DLL.ClsSc_MouldProdInBill BillNew0 = new DLL.ClsSc_MouldProdInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
         public DLL.ClsSc_MouldProdInBill BillOld0 = new DLL.ClsSc_MouldProdInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
 
@@ -477,7 +490,219 @@
         }
         #endregion
 
-        #region 妯″叿閲囪喘鍏ュ簱鍗曚繚瀛�/缂栬緫
+        #region 妯″叿閲囪喘鍏ュ簱鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿閲囪喘鍏ュ簱鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldProdInHouseBill/SaveGetMouldProdInHouseBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldProdInHouseBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string refSav = sArray[2].ToString();
+        //    string msg4 = sArray[3].ToString();
+
+        //    string UserName = "";
+        //    string s = "";
+        //    long mouldid;
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //缂栬緫鏉冮檺
+        //        if (!DBUtility.ClsPub.Security_Log_second("Sc_MouldProdInBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldProdInBill oBill = new DLL.ClsSc_MouldProdInBill();
+        //        List<Models.ClsSc_MouldProdBillMain> lsmain = new List<Models.ClsSc_MouldProdBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldProdInHouseBillMain(msg2);
+        //        foreach (Models.ClsSc_MouldProdBillMain oItem in lsmain)
+        //        {
+        //            if (refSav == "Add")
+        //            {
+        //                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+        //                if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            if (refSav == "Update")
+        //            {
+        //                if (BillOld0.ShowBill(oItem.HInterID, ref s) == false)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                //鍒ゆ柇鏄惁鍙紪杈�
+        //                if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                if (BillOld0.omodel.HBillStatus > 1)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3801";
+        //            oItem.HBillSubType = "3801";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Models.ClsSc_MouldProdBillSub> ls = new List<Models.ClsSc_MouldProdBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldProdInHouseBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Models.ClsSc_MouldProdBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+        //            mouldid = oItemSub.HMaterID;
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鍣ㄥ叿妗f浣嶇疆
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+        //            DataSet db = oCn.RunProcReturn(sql, "h_p_Sc_MouldChangeFileStatus");
+        //            if (db.Tables[0].Rows[0]["issuccess"].ToString() == "0")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "鍣ㄥ叿浣嶇疆鍚屾澶辫触锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 妯″叿閲囪喘鍏ュ簱鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿閲囪喘鍏ュ簱鍗�
         /// </summary>
@@ -490,183 +715,140 @@
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string refSav = sArray[2].ToString();
-            string msg4 = sArray[3].ToString();
-
-            string UserName = "";
-            string s = "";
-            long mouldid;
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string OperationType = sArray[2].ToString();    //鎿嶄綔绫诲瀷锛圓dd鏂板銆乁pdate缂栬緫锛�
+            string HMaker = sArray[3].ToString();           //鍒跺崟浜�
             try
             {
-                //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log_second("Sc_MouldProdInBill_Edit", 1, false, msg4))
+                //鍒ゆ柇鏉冮檺
+                if (OperationType == "Add")
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-
-                DLL.ClsSc_MouldProdInBill oBill = new DLL.ClsSc_MouldProdInBill();
-                List<Models.ClsSc_MouldProdBillMain> lsmain = new List<Models.ClsSc_MouldProdBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldProdInHouseBillMain(msg2);
-                foreach (Models.ClsSc_MouldProdBillMain oItem in lsmain)
-                {
-                    if (refSav == "Add")
-                    {
-                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
-                        if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                    }
-                    if (refSav == "Update")
-                    {
-                        if (BillOld0.ShowBill(oItem.HInterID, ref s) == false)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        //鍒ゆ柇鏄惁鍙紪杈�
-                        if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        if (BillOld0.omodel.HBillStatus > 1)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                    }
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3801";
-                    oItem.HBillSubType = "3801";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    //鍒ゆ柇鏂板鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log(ModRightName, 1, false, HMaker))
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Models.ClsSc_MouldProdBillSub> ls = new List<Models.ClsSc_MouldProdBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldProdInHouseBillSub(msg3);
-                int i = 0;
-                foreach (Models.ClsSc_MouldProdBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-                    mouldid = oItemSub.HMaterID;
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鍣ㄥ叿妗f浣嶇疆
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
-                    DataSet db = oCn.RunProcReturn(sql, "h_p_Sc_MouldChangeFileStatus");
-                    if (db.Tables[0].Rows[0]["issuccess"].ToString() == "0")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "鍣ㄥ叿浣嶇疆鍚屾澶辫触锛�";
-                        objJsonResult.data = 1;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
                         return objJsonResult;
                     }
                 }
                 else
                 {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    //鍒ゆ柇缂栬緫鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, false, HMaker))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                 }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldProdInBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdInBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldProdInBillMain oItem in lsmain)
+                {
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (OperationType == "Add")   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+                            DataSet db = oCn.RunProcReturn(sql, "h_p_Sc_MouldChangeFileStatus");
+                            if (db.Tables[0].Rows[0]["issuccess"].ToString() == "0")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鍣ㄥ叿浣嶇疆鍚屾澶辫触锛�";
+                                objJsonResult.data = 1;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -674,7 +856,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -682,8 +864,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
@@ -772,5 +954,8 @@
             }
         }
         #endregion
+
+
+
     }
 }
diff --git a/WebAPI/Controllers/MJGL/Sc_MouldProdMoveBillListController.cs b/WebAPI/Controllers/MJGL/Sc_MouldProdMoveBillListController.cs
index e28d3ab..de79d99 100644
--- a/WebAPI/Controllers/MJGL/Sc_MouldProdMoveBillListController.cs
+++ b/WebAPI/Controllers/MJGL/Sc_MouldProdMoveBillListController.cs
@@ -18,6 +18,7 @@
         public DataSet ds = new DataSet();
         public WebServer webserver = new WebServer();
         public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
         public DAL.ClsSc_MouldScrapInBill BillNew0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
         public DAL.ClsSc_MouldScrapInBill BillOld0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
@@ -206,7 +207,157 @@
         }
         #endregion
 
-        #region 鍣ㄥ叿鐩存帴璋冩嫧鍗曚繚瀛�/缂栬緫
+        #region 鍣ㄥ叿鐩存帴璋冩嫧鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿棰嗙敤鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldProdMoveBill/SaveGetMouldProdMoveBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldProdMoveBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string msg4 = sArray[2].ToString();
+
+        //    string UserName = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        if (!DBUtility.ClsPub.Security_Log_second("Sc_MouldProdMoveBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "娌℃湁淇濆瓨鏉冮檺";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldProdMoveBill oBill = new DLL.ClsSc_MouldProdMoveBill();
+        //        List<Model.ClsSc_MouldProdMoveBillMain> lsmain = new List<Model.ClsSc_MouldProdMoveBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldProdMoveBillMain(msg2);
+        //        foreach (Model.ClsSc_MouldProdMoveBillMain oItem in lsmain)
+        //        {
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3814";
+        //            oItem.HBillSubType = "3814";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 鍣ㄥ叿鐩存帴璋冩嫧鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿棰嗙敤鍗�
         /// </summary>
@@ -216,124 +367,126 @@
         [HttpPost]
         public object SaveGetMouldProdMoveBillList([FromBody] JObject msg)
         {
+            DAL.ClsSc_MouldProdMoveBill oBill = new DAL.ClsSc_MouldProdMoveBill();
+
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string msg4 = sArray[2].ToString();
-
-            string UserName = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string HMaker = sArray[2].ToString();           //鍒跺崟浜�
             try
             {
-                if (!DBUtility.ClsPub.Security_Log_second("Sc_MouldProdMoveBill_Edit", 1, false, msg4))
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdMoveBill_Edit", 1, false, HMaker))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "娌℃湁淇濆瓨鏉冮檺";
+                    objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板/缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldProdMoveBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdMoveBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldProdMoveBillMain oItem in lsmain)
+                {
+                    if (oItem.HInterID == 0)
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    }
+                    else
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    }
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldProdMoveBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdMoveBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldProdMoveBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (oBill.omodel.HInterID == 0)   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql1 = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql1);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldProdMoveBill oBill = new DLL.ClsSc_MouldProdMoveBill();
-                List<Model.ClsSc_MouldProdMoveBillMain> lsmain = new List<Model.ClsSc_MouldProdMoveBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldProdMoveBillMain(msg2);
-                foreach (Model.ClsSc_MouldProdMoveBillMain oItem in lsmain)
-                {
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3814";
-                    oItem.HBillSubType = "3814";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
-                int i = 0;
-                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -341,7 +494,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -349,8 +502,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
diff --git a/WebAPI/Controllers/MJGL/Sc_MouldRepairOutBillController.cs b/WebAPI/Controllers/MJGL/Sc_MouldRepairOutBillController.cs
index a6b2b09..cdb898f 100644
--- a/WebAPI/Controllers/MJGL/Sc_MouldRepairOutBillController.cs
+++ b/WebAPI/Controllers/MJGL/Sc_MouldRepairOutBillController.cs
@@ -17,6 +17,8 @@
         private json objJsonResult = new json();
         public DataSet ds = new DataSet();
         public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+        DAL.ClsSc_MouldRepairOutBill oBill = new DAL.ClsSc_MouldRepairOutBill();
         public DLL.ClsSc_MouldRepairOutBill BillNew0 = new DLL.ClsSc_MouldRepairOutBill();   //妯″叿鏀瑰埗鍑哄簱瀵瑰簲鍗曟嵁绫�
         public DLL.ClsSc_MouldRepairOutBill BillOld0 = new DLL.ClsSc_MouldRepairOutBill();   //妯″叿鏀瑰埗鍑哄簱瀵瑰簲鍗曟嵁绫�
 
@@ -172,7 +174,208 @@
 
         #endregion
 
-        #region 妯″叿鏀瑰埗鍑哄簱淇濆瓨/缂栬緫
+        #region 妯″叿鏀瑰埗鍑哄簱淇濆瓨/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿閲囪喘鍏ュ簱鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldRepairOutHouseBill/SaveGetMouldRepairOutHouseBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldRepairOutHouseBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string refSav = sArray[2].ToString();
+        //    string msg4 = sArray[3].ToString();
+
+        //    string UserName = "";
+        //    string s = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //缂栬緫鏉冮檺
+        //        if (!DBUtility.ClsPub.Security_Log_second("Sc_MouldRepairOut_SingleBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldRepairOutBill oBill = new DLL.ClsSc_MouldRepairOutBill();
+        //        List<Models.ClsSc_MouldRepairOutBillMain> lsmain = new List<Models.ClsSc_MouldRepairOutBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldRepairOutHouseBillMain(msg2);
+        //        foreach (Models.ClsSc_MouldRepairOutBillMain oItem in lsmain)
+        //        {
+        //            if (refSav == "Add")
+        //            {
+        //                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+        //                if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            if (refSav == "Update")
+        //            {
+        //                if (BillOld0.ShowBill(oItem.HInterID, ref s) == false)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                //鍒ゆ柇鏄惁鍙紪杈�
+        //                if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                if (BillOld0.omodel.HBillStatus > 1)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3825";
+        //            oItem.HBillSubType = "3825";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Models.ClsSc_MouldRepairOutBillSub> ls = new List<Models.ClsSc_MouldRepairOutBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldRepairOutHouseBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Models.ClsSc_MouldRepairOutBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out',{oBill.omodel.HInterID.ToString()} ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 妯″叿鏀瑰埗鍑哄簱淇濆瓨/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿閲囪喘鍏ュ簱鍗�
         /// </summary>
@@ -185,172 +388,132 @@
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string refSav = sArray[2].ToString();
-            string msg4 = sArray[3].ToString();
-
-            string UserName = "";
-            string s = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string OperationType = sArray[2].ToString();    //鎿嶄綔绫诲瀷锛圓dd鏂板銆乁pdate缂栬緫锛�
+            string HMaker = sArray[3].ToString();           //鍒跺崟浜�
             try
             {
-                //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log_second("Sc_MouldRepairOut_SingleBill_Edit", 1, false, msg4))
+                //鍒ゆ柇鏉冮檺
+                if (OperationType == "Add")
+                {
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    //鍒ゆ柇鏂板鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Sc_MouldRepairOut_SingleBill", 1, false, HMaker))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    //鍒ゆ柇缂栬緫鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Sc_MouldRepairOut_SingleBill_Edit", 1, false, HMaker))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
+                {
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (OperationType == "Add")   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out',{oBill.omodel.HInterID.ToString()} ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldRepairOutBill oBill = new DLL.ClsSc_MouldRepairOutBill();
-                List<Models.ClsSc_MouldRepairOutBillMain> lsmain = new List<Models.ClsSc_MouldRepairOutBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldRepairOutHouseBillMain(msg2);
-                foreach (Models.ClsSc_MouldRepairOutBillMain oItem in lsmain)
-                {
-                    if (refSav == "Add")
-                    {
-                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
-                        if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                    }
-                    if (refSav == "Update")
-                    {
-                        if (BillOld0.ShowBill(oItem.HInterID, ref s) == false)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        //鍒ゆ柇鏄惁鍙紪杈�
-                        if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        if (BillOld0.omodel.HBillStatus > 1)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                    }
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3825";
-                    oItem.HBillSubType = "3825";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Models.ClsSc_MouldRepairOutBillSub> ls = new List<Models.ClsSc_MouldRepairOutBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldRepairOutHouseBillSub(msg3);
-                int i = 0;
-                foreach (Models.ClsSc_MouldRepairOutBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out',{oBill.omodel.HInterID.ToString()} ");
-                    oCn.RunProc(sql);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -358,7 +521,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -366,8 +529,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
diff --git a/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs b/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs
index b3d6f23..2501eff 100644
--- a/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs
+++ b/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs
@@ -67,6 +67,70 @@
         }
         #endregion
 
+        #region 涓婃ā鍗� 淇濆瓨鍓嶃�佷繚瀛樺悗鎺у埗
+
+        //淇濆瓨鍓嶆帶鍒�
+        public json BeforeSave_MouldUpperBill(Int64 HInterID, string HBillNo, Int64 OperationType)
+        {
+            DataSet BeforeSave = oCN.RunProcReturn("Exec h_p_Sc_MouldUpperBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldUpperBill_BeforeSaveCtrl");
+            if (BeforeSave == null || BeforeSave.Tables[0].Rows.Count == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else if (DBUtility.ClsPub.isLong(BeforeSave.Tables[0].Rows[0]["HBack"]) == 1)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;  //澶辫触锛�
+                objJsonResult.Message = DBUtility.ClsPub.isStrNull(BeforeSave.Tables[0].Rows[0]["HRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;  //鎴愬姛锛�
+                objJsonResult.Message = DBUtility.ClsPub.isStrNull(BeforeSave.Tables[0].Rows[0]["HRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public json AfterSave_MouldUpperBill(Int64 HInterID, string HBillNo, Int64 OperationType)
+        {
+            DataSet AfterSave = oCN.RunProcReturn("Exec h_p_Sc_MouldUpperBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldUpperBill_AfterSaveCtrl");
+            if (AfterSave == null || AfterSave.Tables[0].Rows.Count == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else if (DBUtility.ClsPub.isLong(AfterSave.Tables[0].Rows[0]["HBack"]) == 1)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;  //澶辫触锛�
+                objJsonResult.Message = DBUtility.ClsPub.isStrNull(AfterSave.Tables[0].Rows[0]["HRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;  //鎴愬姛锛�
+                objJsonResult.Message = DBUtility.ClsPub.isStrNull(AfterSave.Tables[0].Rows[0]["HRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
         #region 涓婃ā鍗� 鏂板
         /// <summary>
         /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
@@ -136,6 +200,16 @@
 
                 if ((OperationType == 1) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
+                    //淇濆瓨鍓嶆帶鍒�
+                    objJsonResult = BeforeSave_MouldUpperBill(HInterID, HBillNo, 1);
+                    if (objJsonResult.count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = objJsonResult.Message;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                     //涓昏〃
                     oCN.RunProc(@"Insert Into Sc_MouldUpperBillMain   
                    (HBillType,HBillStatus, HBillSubType, HInterID, HBillNo, HDate
@@ -147,7 +221,18 @@
 
                 }
                 else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
-                { //淇敼
+                {
+                    //淇濆瓨鍓嶆帶鍒�
+                    objJsonResult = BeforeSave_MouldUpperBill(HInterID, HBillNo, 2);
+                    if (objJsonResult.count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = objJsonResult.Message;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //淇敼
                     oCN.RunProc("update Sc_MouldUpperBillMain  set " +
                        "HDate='" + HDate +
                        "',HYear='" + HYear + "',HPeriod='" + HPeriod + "',HRemark='" + HRemark + "',hupdater='" + HMaker +
@@ -157,7 +242,7 @@
                     oCN.RunProc("delete from Sc_MouldUpperBillSub where HInterID='" + HInterID + "'");
                 }
                 //淇濆瓨瀛愯〃
-                objJsonResult = AddBillSub(msg3, HInterID, HBillNo);
+                objJsonResult = AddBillSub(msg3, HInterID, HBillNo, OperationType);
                 if (objJsonResult.code == "0")
                 {
                     objJsonResult.code = "0";
@@ -183,7 +268,7 @@
             }
         }
 
-        public json AddBillSub(string msg3, long HInterID,string HBillNo)
+        public json AddBillSub(string msg3, long HInterID,string HBillNo, Int64 OperationType)
         {
             List<ClsSc_MouldUpperBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_MouldUpperBillSub>>(msg3);
             int i = 0;
@@ -198,11 +283,34 @@
                      + HInterID + ",'"+ HBillNo + "'," + i + "," + oSub.HMouldID.ToString() + ",'" + oSub.HQty 
                      + "'," + oSub.HSourceID.ToString() + "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString()+",'"+ oSub.HICMOBillNo.ToString() +
                      "') ");
-
-                //鍙嶅啓妯″叿鐘舵��
-                oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='棰嗗嚭' where HInterID= " + oSub.HMouldID.ToString());
             }
 
+            if (OperationType == 1)//鏂板
+            {
+                //淇濆瓨鍚庢帶鍒�
+                objJsonResult = AfterSave_MouldUpperBill(HInterID, HBillNo, 1);
+                if (objJsonResult.count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            else
+            {
+                //淇濆瓨鍚庢帶鍒�
+                objJsonResult = AfterSave_MouldUpperBill(HInterID, HBillNo, 2);
+                if (objJsonResult.count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
             objJsonResult.code = "1";
             objJsonResult.count = 1;
             objJsonResult.Message = null;
@@ -749,6 +857,70 @@
         }
         #endregion
 
+        #region 涓嬫ā鍗� 淇濆瓨鍓嶃�佷繚瀛樺悗鎺у埗
+
+        //淇濆瓨鍓嶆帶鍒�
+        public json BeforeSave_MouldLowerBill(Int64 HInterID, string HBillNo, Int64 OperationType)
+        {
+            DataSet BeforeSave = oCN.RunProcReturn("Exec h_p_Sc_MouldLowerBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldLowerBill_BeforeSaveCtrl");
+            if (BeforeSave == null || BeforeSave.Tables[0].Rows.Count == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else if (DBUtility.ClsPub.isLong(BeforeSave.Tables[0].Rows[0]["HBack"]) == 1)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;  //澶辫触锛�
+                objJsonResult.Message = DBUtility.ClsPub.isStrNull(BeforeSave.Tables[0].Rows[0]["HRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;  //鎴愬姛锛�
+                objJsonResult.Message = DBUtility.ClsPub.isStrNull(BeforeSave.Tables[0].Rows[0]["HRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public json AfterSave_MouldLowerBill(Int64 HInterID, string HBillNo, Int64 OperationType)
+        {
+            DataSet AfterSave = oCN.RunProcReturn("Exec h_p_Sc_MouldLowerBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldLowerBill_AfterSaveCtrl");
+            if (AfterSave == null || AfterSave.Tables[0].Rows.Count == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else if (DBUtility.ClsPub.isLong(AfterSave.Tables[0].Rows[0]["HBack"]) == 1)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;  //澶辫触锛�
+                objJsonResult.Message = DBUtility.ClsPub.isStrNull(AfterSave.Tables[0].Rows[0]["HRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;  //鎴愬姛锛�
+                objJsonResult.Message = DBUtility.ClsPub.isStrNull(AfterSave.Tables[0].Rows[0]["HRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
         #region 涓嬫ā鍗� 鏂板
         /// <summary>
         /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
@@ -818,6 +990,16 @@
 
                 if ((OperationType == 1) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
+                    //淇濆瓨鍓嶆帶鍒�
+                    objJsonResult = BeforeSave_MouldLowerBill(HInterID, HBillNo, 1);
+                    if (objJsonResult.count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = objJsonResult.Message;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                     //涓昏〃
                     oCN.RunProc(@"Insert Into Sc_MouldLowerBillMain   
                    (HBillType,HBillStatus, HBillSubType, HInterID, HBillNo, HDate
@@ -829,7 +1011,18 @@
 
                 }
                 else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
-                { //淇敼
+                {
+                    //淇濆瓨鍓嶆帶鍒�
+                    objJsonResult = BeforeSave_MouldLowerBill(HInterID, HBillNo, 2);
+                    if (objJsonResult.count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = objJsonResult.Message;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //淇敼
                     oCN.RunProc("update Sc_MouldLowerBillMain  set " +
                        "HDate='" + HDate +
                        "',HYear='" + HYear + "',HPeriod='" + HPeriod + "',HRemark='" + HRemark + "',hupdater='" + HMaker +
@@ -839,7 +1032,7 @@
                     oCN.RunProc("delete from Sc_MouldLowerBillSub where HInterID='" + HInterID + "'");
                 }
                 //淇濆瓨瀛愯〃
-                objJsonResult = AddMouldLowerBill(msg3, HInterID, HBillNo);
+                objJsonResult = AddMouldLowerBill(msg3, HInterID, HBillNo, OperationType);
                 if (objJsonResult.code == "0")
                 {
                     objJsonResult.code = "0";
@@ -865,7 +1058,7 @@
             }
         }
 
-        public json AddMouldLowerBill(string msg3, long HInterID, string HBillNo)
+        public json AddMouldLowerBill(string msg3, long HInterID, string HBillNo, Int64 OperationType)
         {
             List<ClsSc_MouldLowerBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_MouldLowerBillSub>>(msg3);
             int i = 0;
@@ -880,11 +1073,34 @@
                      + HInterID + ",'" + HBillNo + "'," + i + "," + oSub.HMouldID.ToString() + ",'" + oSub.HQty
                      + "'," + oSub.HSourceID.ToString() + "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo.ToString() +
                      "') ");
-
-                //鍙嶅啓妯″叿鐘舵��
-                oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='鍦ㄥ簱' where HInterID= " + oSub.HMouldID.ToString());
             }
 
+            if (OperationType == 1)//鏂板
+            {
+                //淇濆瓨鍚庢帶鍒�
+                objJsonResult = AfterSave_MouldLowerBill(HInterID, HBillNo, 1);
+                if (objJsonResult.count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            else
+            {
+                //淇濆瓨鍚庢帶鍒�
+                objJsonResult = AfterSave_MouldLowerBill(HInterID, HBillNo, 2);
+                if (objJsonResult.count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
             objJsonResult.code = "1";
             objJsonResult.count = 1;
             objJsonResult.Message = null;
@@ -1529,6 +1745,16 @@
 
                 if ((OperationType == 1) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
+                    //淇濆瓨鍓嶆帶鍒�
+                    objJsonResult = BeforeSave_MouldUpperBill(HInterID, HBillNo, 1);
+                    if (objJsonResult.count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = objJsonResult.Message;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                     //涓昏〃
                     oCN.RunProc(@"Insert Into Sc_MouldUpperBillMain   
                    (HBillType,HBillStatus, HBillSubType, HInterID, HBillNo, HDate
@@ -1540,7 +1766,18 @@
 
                 }
                 else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
-                { //淇敼
+                {
+                    //淇濆瓨鍓嶆帶鍒�
+                    objJsonResult = BeforeSave_MouldUpperBill(HInterID, HBillNo, 2);
+                    if (objJsonResult.count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = objJsonResult.Message;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //淇敼
                     oCN.RunProc("update Sc_MouldUpperBillMain  set " +
                        "HDate='" + HDate +
                        "',HYear='" + HYear + "',HPeriod='" + HPeriod + "',HRemark='" + HRemark + "',hupdater='" + HMaker +
@@ -1550,7 +1787,7 @@
                     oCN.RunProc("delete from Sc_MouldUpperBillSub where HInterID='" + HInterID + "'");
                 }
                 //淇濆瓨瀛愯〃
-                objJsonResult = AddBillSub_PDA(msg2, HInterID, HBillNo);
+                objJsonResult = AddBillSub_PDA(msg2, HInterID, HBillNo, OperationType);
                 if (objJsonResult.code == "0")
                 {
                     objJsonResult.code = "0";
@@ -1576,7 +1813,7 @@
             }
         }
 
-        public json AddBillSub_PDA(string msg2, long HInterID, string HBillNo)
+        public json AddBillSub_PDA(string msg2, long HInterID, string HBillNo, Int64 OperationType)
         {
             List<ClsSc_MouldUpperBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_MouldUpperBillSub>>(msg2);
             int i = 0;
@@ -1594,11 +1831,34 @@
                      + "'," + oSub.HSourceID.ToString() + "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo.ToString()
                      + "','" + oSub.HProcExchBillNo.ToString() + "'," + oSub.HProcExchInterID.ToString() + "," + oSub.HProcExchEntryID.ToString()
                      + ",'" + oSub.HScanDate.ToString() + "','" + oSub.HMouldNumber.ToString() + "') ");
-
-                //鍙嶅啓妯″叿鐘舵��
-                oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='棰嗗嚭' where HInterID= "+ oSub.HMouldID.ToString());
             }
 
+            if (OperationType == 1)//鏂板
+            {
+                //淇濆瓨鍚庢帶鍒�
+                objJsonResult = AfterSave_MouldUpperBill(HInterID, HBillNo, 1);
+                if (objJsonResult.count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            else
+            {
+                //淇濆瓨鍚庢帶鍒�
+                objJsonResult = AfterSave_MouldUpperBill(HInterID, HBillNo, 2);
+                if (objJsonResult.count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
             objJsonResult.code = "1";
             objJsonResult.count = 1;
             objJsonResult.Message = null;
@@ -1676,6 +1936,16 @@
 
                 if ((OperationType == 1) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
+                    //淇濆瓨鍓嶆帶鍒�
+                    objJsonResult = BeforeSave_MouldLowerBill(HInterID, HBillNo, 1);
+                    if (objJsonResult.count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = objJsonResult.Message;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                     //涓昏〃
                     oCN.RunProc(@"Insert Into Sc_MouldLowerBillMain   
                    (HBillType,HBillStatus, HBillSubType, HInterID, HBillNo, HDate
@@ -1687,7 +1957,18 @@
 
                 }
                 else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
-                { //淇敼
+                {
+                    //淇濆瓨鍓嶆帶鍒�
+                    objJsonResult = BeforeSave_MouldLowerBill(HInterID, HBillNo, 2);
+                    if (objJsonResult.count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = objJsonResult.Message;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //淇敼
                     oCN.RunProc("update Sc_MouldLowerBillMain  set " +
                        "HDate='" + HDate +
                        "',HYear='" + HYear + "',HPeriod='" + HPeriod + "',HRemark='" + HRemark + "',hupdater='" + HMaker +
@@ -1697,7 +1978,7 @@
                     oCN.RunProc("delete from Sc_MouldLowerBillSub where HInterID='" + HInterID + "'");
                 }
                 //淇濆瓨瀛愯〃
-                objJsonResult = AddSc_MouldLowerBillSub_PDA(msg2, HInterID, HBillNo);
+                objJsonResult = AddSc_MouldLowerBillSub_PDA(msg2, HInterID, HBillNo, OperationType);
                 if (objJsonResult.code == "0")
                 {
                     objJsonResult.code = "0";
@@ -1723,7 +2004,7 @@
             }
         }
 
-        public json AddSc_MouldLowerBillSub_PDA(string msg2, long HInterID, string HBillNo)
+        public json AddSc_MouldLowerBillSub_PDA(string msg2, long HInterID, string HBillNo, Int64 OperationType)
         {
             List<ClsSc_MouldLowerBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_MouldLowerBillSub>>(msg2);
             int i = 0;
@@ -1741,11 +2022,34 @@
                      + "'," + oSub.HSourceID.ToString() + "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo.ToString()
                      + "','" + oSub.HProcExchBillNo.ToString() + "'," + oSub.HProcExchInterID.ToString() + "," + oSub.HProcExchEntryID.ToString()
                      + ",'" + oSub.HScanDate.ToString() + "','" + oSub.HMouldNumber.ToString() + "') ");
-
-                //鍙嶅啓妯″叿鐘舵��
-                oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='鍦ㄥ簱' where HInterID= " + oSub.HMouldID.ToString());
             }
 
+            if (OperationType == 1)//鏂板
+            {
+                //淇濆瓨鍚庢帶鍒�
+                objJsonResult = AfterSave_MouldLowerBill(HInterID, HBillNo, 1);
+                if (objJsonResult.count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            else
+            {
+                //淇濆瓨鍚庢帶鍒�
+                objJsonResult = AfterSave_MouldLowerBill(HInterID, HBillNo, 2);
+                if (objJsonResult.count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
             objJsonResult.code = "1";
             objJsonResult.count = 1;
             objJsonResult.Message = null;
diff --git a/WebAPI/Controllers/Sc_CheckToolsRepairWorkBillListController.cs b/WebAPI/Controllers/Sc_CheckToolsRepairWorkBillListController.cs
index a47006f..c4ed243 100644
--- a/WebAPI/Controllers/Sc_CheckToolsRepairWorkBillListController.cs
+++ b/WebAPI/Controllers/Sc_CheckToolsRepairWorkBillListController.cs
@@ -18,6 +18,7 @@
         public DataSet ds = new DataSet();
         public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
         public WebServer webserver = new WebServer();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
         public DAL.ClsSc_MouldScrapInBill BillNew0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
         public DAL.ClsSc_MouldScrapInBill BillOld0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
@@ -4318,7 +4319,209 @@
         }
         #endregion
 
-        #region 鍣ㄥ叿鏀瑰埗鍏ュ簱鍗曚繚瀛�/缂栬緫
+        #region 鍣ㄥ叿鏀瑰埗鍏ュ簱鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨鍣ㄥ叿鏀瑰埗鍏ュ簱鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldRepairInBill/SaveGetMouldRepairInBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldRepairInBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string refSav = sArray[2].ToString();
+        //    string msg4 = sArray[3].ToString();
+
+        //    string UserName = "";
+        //    string s = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //缂栬緫鏉冮檺
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldRepairIn_SingleBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldRepairInBill oBill = new DLL.ClsSc_MouldRepairInBill();
+        //        List<Models.ClsSc_MouldRepairInBillMain> lsmain = new List<Models.ClsSc_MouldRepairInBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldRepairInHouseBillMain(msg2);
+        //        foreach (Models.ClsSc_MouldRepairInBillMain oItem in lsmain)
+        //        {
+        //            if (refSav == "Add")
+        //            {
+        //                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+        //                if (BillNew01.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            if (refSav == "Update")
+        //            {
+        //                if (BillOld01.ShowBill(oItem.HInterID, ref s) == false)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                //鍒ゆ柇鏄惁鍙紪杈�
+        //                if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                if (BillOld0.omodel.HBillStatus > 1)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3826";
+        //            oItem.HBillSubType = "3826";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Models.ClsSc_MouldRepairInBillSub> ls = new List<Models.ClsSc_MouldRepairInBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldRepairInHouseBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Models.ClsSc_MouldRepairInBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇濆瓨鎴愬姛
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 鍣ㄥ叿鏀瑰埗鍏ュ簱鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨鍣ㄥ叿鏀瑰埗鍏ュ簱鍗�
         /// </summary>
@@ -4328,176 +4531,137 @@
         [HttpPost]
         public object SaveGetMouldRepairInBillList([FromBody] JObject msg)
         {
+            DAL.ClsSc_MouldRepairInBill oBill = new DAL.ClsSc_MouldRepairInBill();
+
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string refSav = sArray[2].ToString();
-            string msg4 = sArray[3].ToString();
-
-            string UserName = "";
-            string s = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string OperationType = sArray[2].ToString();    //鎿嶄綔绫诲瀷锛圓dd鏂板銆乁pdate缂栬緫锛�
+            string HMaker = sArray[3].ToString();           //鍒跺崟浜�
             try
             {
-                //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log("Sc_MouldRepairIn_SingleBill_Edit", 1, false, msg4))
+                //鍒ゆ柇鏉冮檺
+                if (OperationType == "Add")
+                {
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    //鍒ゆ柇鏂板鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Sc_MouldRepairIn_SingleBill", 1, false, HMaker))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    //鍒ゆ柇缂栬緫鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Sc_MouldRepairIn_SingleBill_Edit", 1, false, HMaker))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
+                {
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (OperationType == "Add")   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldRepairInBill oBill = new DLL.ClsSc_MouldRepairInBill();
-                List<Models.ClsSc_MouldRepairInBillMain> lsmain = new List<Models.ClsSc_MouldRepairInBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldRepairInHouseBillMain(msg2);
-                foreach (Models.ClsSc_MouldRepairInBillMain oItem in lsmain)
-                {
-                    if (refSav == "Add")
-                    {
-                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
-                        if (BillNew01.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                    }
-                    if (refSav == "Update")
-                    {
-                        if (BillOld01.ShowBill(oItem.HInterID, ref s) == false)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        //鍒ゆ柇鏄惁鍙紪杈�
-                        if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        if (BillOld0.omodel.HBillStatus > 1)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                    }
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3826";
-                    oItem.HBillSubType = "3826";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Models.ClsSc_MouldRepairInBillSub> ls = new List<Models.ClsSc_MouldRepairInBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldRepairInHouseBillSub(msg3);
-                int i = 0;
-                foreach (Models.ClsSc_MouldRepairInBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇濆瓨鎴愬姛
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -4505,7 +4669,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -4513,8 +4677,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
diff --git a/WebAPI/Controllers/Sc_MouldOtherInBillController.cs b/WebAPI/Controllers/Sc_MouldOtherInBillController.cs
index 60534ae..b618604 100644
--- a/WebAPI/Controllers/Sc_MouldOtherInBillController.cs
+++ b/WebAPI/Controllers/Sc_MouldOtherInBillController.cs
@@ -18,6 +18,8 @@
         public DataSet ds = new DataSet();
         public WebServer webserver = new WebServer();
         public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+        DAL.ClsSc_MouldOtherInBill oBill = new DAL.ClsSc_MouldOtherInBill();
         public DAL.ClsSc_MouldScrapInBill BillNew0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
         public DAL.ClsSc_MouldScrapInBill BillOld0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
 
@@ -202,7 +204,158 @@
         }
         #endregion
 
-        #region 鍣ㄥ叿鍏朵粬鍏ュ簱鍗曚繚瀛�/缂栬緫
+        #region 鍣ㄥ叿鍏朵粬鍏ュ簱鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿棰嗙敤鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldOtherInBill/SaveGetMouldOtherInBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldOtherInBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string msg4 = sArray[2].ToString();
+
+        //    string UserName = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //缂栬緫鏉冮檺
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherInBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldOtherInBill oBill = new DLL.ClsSc_MouldOtherInBill();
+        //        List<Model.ClsSc_MouldOtherInBillMain> lsmain = new List<Model.ClsSc_MouldOtherInBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Sc_MouldOtherInBillMain(msg2);
+        //        foreach (Model.ClsSc_MouldOtherInBillMain oItem in lsmain)
+        //        {
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3841";
+        //            oItem.HBillSubType = "3841";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 鍣ㄥ叿鍏朵粬鍏ュ簱鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿棰嗙敤鍗�
         /// </summary>
@@ -215,122 +368,121 @@
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string msg4 = sArray[2].ToString();
-
-            string UserName = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string HMaker = sArray[2].ToString();           //鍒跺崟浜�
             try
             {
-                //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherInBill_Edit", 1, false, msg4))
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherInBill_Edit", 1, false, HMaker))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板/缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
+                {
+                    if (oItem.HInterID == 0)
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    }
+                    else
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    }
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (oBill.omodel.HInterID == 0)   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql1 = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql1);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldOtherInBill oBill = new DLL.ClsSc_MouldOtherInBill();
-                List<Model.ClsSc_MouldOtherInBillMain> lsmain = new List<Model.ClsSc_MouldOtherInBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Sc_MouldOtherInBillMain(msg2);
-                foreach (Model.ClsSc_MouldOtherInBillMain oItem in lsmain)
-                {
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3841";
-                    oItem.HBillSubType = "3841";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
-                int i = 0;
-                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -338,7 +490,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -346,8 +498,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
diff --git a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
index b5e0283..25453d9 100644
--- a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
+++ b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
@@ -22,6 +22,7 @@
         public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
         public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
         public DAL.ClsSc_MouldScrapInBill BillNew0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
         public DAL.ClsSc_MouldScrapInBill BillOld0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
@@ -6979,7 +6980,208 @@
         }
         #endregion
 
-        #region 妯″叿鎶ュ簾鍏ュ簱鍗曚繚瀛�/缂栬緫
+        #region 妯″叿鎶ュ簾鍏ュ簱鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿鎶ュ簾鍏ュ簱鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldScrapInHouseBill/SaveGetMouldScrapInHouseBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldScrapInHouseBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string refSav = sArray[2].ToString();
+        //    string msg4 = sArray[3].ToString();
+
+        //    string UserName = "";
+        //    string s = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //缂栬緫鏉冮檺
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapRequestBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldScrapInBill oBill = new DLL.ClsSc_MouldScrapInBill();
+        //        List<Models.ClsSc_MouldStockBillMain> lsmain = new List<Models.ClsSc_MouldStockBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldScrapInHouseBillMain(msg2);
+        //        foreach (Models.ClsSc_MouldStockBillMain oItem in lsmain)
+        //        {
+        //            if (refSav == "Add")
+        //            {
+        //                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+        //                if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            if (refSav == "Update")
+        //            {
+        //                if (BillOld0.ShowBill(oItem.HInterID, ref s) == false)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                //鍒ゆ柇鏄惁鍙紪杈�
+        //                if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                if (BillOld0.omodel.HBillStatus > 1)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3831";
+        //            oItem.HBillSubType = "3831";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Models.ClsSc_MouldStockBillSub> ls = new List<Models.ClsSc_MouldStockBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldScrapInHouseBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Models.ClsSc_MouldStockBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 妯″叿鎶ュ簾鍏ュ簱鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿鎶ュ簾鍏ュ簱鍗�
         /// </summary>
@@ -6989,175 +7191,137 @@
         [HttpPost]
         public object SaveGetMouldScrapInHouseBillList([FromBody] JObject msg)
         {
+            DAL.ClsSc_MouldScrapInBill oBill = new DAL.ClsSc_MouldScrapInBill();
+
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string refSav = sArray[2].ToString();
-            string msg4 = sArray[3].ToString();
-
-            string UserName = "";
-            string s = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string OperationType = sArray[2].ToString();    //鎿嶄綔绫诲瀷锛圓dd鏂板銆乁pdate缂栬緫锛�
+            string HMaker = sArray[3].ToString();           //鍒跺崟浜�
             try
             {
-                //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapRequestBill_Edit", 1, false, msg4))
+                //鍒ゆ柇鏉冮檺
+                if (OperationType == "Add")
+                {
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    //鍒ゆ柇鏂板鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapRequestBill", 1, false, HMaker))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    //鍒ゆ柇缂栬緫鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapRequestBill_Edit", 1, false, HMaker))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
+                {
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (OperationType == "Add")   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldScrapInBill oBill = new DLL.ClsSc_MouldScrapInBill();
-                List<Models.ClsSc_MouldStockBillMain> lsmain = new List<Models.ClsSc_MouldStockBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldScrapInHouseBillMain(msg2);
-                foreach (Models.ClsSc_MouldStockBillMain oItem in lsmain)
-                {
-                    if (refSav == "Add")
-                    {
-                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
-                        if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                    }
-                    if (refSav == "Update")
-                    {
-                        if (BillOld0.ShowBill(oItem.HInterID, ref s) == false)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        //鍒ゆ柇鏄惁鍙紪杈�
-                        if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        if (BillOld0.omodel.HBillStatus > 1)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                    }
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3831";
-                    oItem.HBillSubType = "3831";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Models.ClsSc_MouldStockBillSub> ls = new List<Models.ClsSc_MouldStockBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldScrapInHouseBillSub(msg3);
-                int i = 0;
-                foreach (Models.ClsSc_MouldStockBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -7165,7 +7329,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -7173,8 +7337,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
@@ -7443,7 +7607,158 @@
         }
         #endregion
 
-        #region 妯″叿澶勭悊鍑哄簱鍗曚繚瀛�/缂栬緫
+        #region 妯″叿澶勭悊鍑哄簱鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿澶勭悊鍑哄簱鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldScrapOutHouseBill/SaveGetMouldScrapOutHouseBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldScrapOutHouseBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string msg4 = sArray[2].ToString();
+
+        //    string UserName = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //缂栬緫鏉冮檺
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapOutBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldScrapOutBill oBill = new DLL.ClsSc_MouldScrapOutBill();
+        //        List<Model.ClsSc_MouldStockBillMain> lsmain = new List<Model.ClsSc_MouldStockBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldScrapOutHouseBillMain(msg2);
+        //        foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
+        //        {
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3832";
+        //            oItem.HBillSubType = "3832";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldScrapOutHouseBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 妯″叿澶勭悊鍑哄簱鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿澶勭悊鍑哄簱鍗�
         /// </summary>
@@ -7453,125 +7768,126 @@
         [HttpPost]
         public object SaveGetMouldScrapOutHouseBillList([FromBody] JObject msg)
         {
+            DAL.ClsSc_MouldScrapOutBill oBill = new DAL.ClsSc_MouldScrapOutBill();
+
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string msg4 = sArray[2].ToString();
-
-            string UserName = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string HMaker = sArray[2].ToString();           //鍒跺崟浜�
             try
             {
                 //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapOutBill_Edit", 1, false, msg4))
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapOutBill_Edit", 1, false, HMaker))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板/缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
+                {
+                    if (oItem.HInterID == 0)
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    }
+                    else
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    }
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (oBill.omodel.HInterID == 0)   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldScrapOutBill oBill = new DLL.ClsSc_MouldScrapOutBill();
-                List<Model.ClsSc_MouldStockBillMain> lsmain = new List<Model.ClsSc_MouldStockBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldScrapOutHouseBillMain(msg2);
-                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
-                {
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3832";
-                    oItem.HBillSubType = "3832";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldScrapOutHouseBillSub(msg3);
-                int i = 0;
-                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -7579,7 +7895,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -7587,8 +7903,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
@@ -8035,7 +8351,159 @@
         }
         #endregion
 
-        #region 妯″叿閫�搴撳崟淇濆瓨/缂栬緫
+        #region 妯″叿閫�搴撳崟淇濆瓨/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿閫�搴撳崟
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldProdBackBill/SaveGetMouldProdBackBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldProdBackBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string msg4 = sArray[2].ToString();
+
+        //    string UserName = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdBackBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "娌℃湁淇濆瓨鏉冮檺";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldProdBackBill oBill = new DLL.ClsSc_MouldProdBackBill();
+        //        List<Model.ClsSc_MouldProdBackBillMain> lsmain = new List<Model.ClsSc_MouldProdBackBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldProdBackBillMain(msg2);
+        //        foreach (Model.ClsSc_MouldProdBackBillMain oItem in lsmain)
+        //        {
+        //             //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3803";
+        //            oItem.HBillSubType = "3803";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Model.ClsSc_MouldProdBackBillSub> ls = new List<Model.ClsSc_MouldProdBackBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldProdBackBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Model.ClsSc_MouldProdBackBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql1 = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql1);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            string sql =string.Format($"exec h_p_Sc_MouldProdBackBillList '{oBill.omodel.HBillNo}' ") ;
+        //            oCn.RunProc(sql);
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 妯″叿閫�搴撳崟淇濆瓨/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿閫�搴撳崟
         /// </summary>
@@ -8045,126 +8513,127 @@
         [HttpPost]
         public object SaveGetMouldProdBackBillList([FromBody] JObject msg)
         {
+            DAL.ClsSc_MouldProdBackBill oBill = new DAL.ClsSc_MouldProdBackBill();
+
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string msg4 = sArray[2].ToString();
-
-            string UserName = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string HMaker = sArray[2].ToString();           //鍒跺崟浜�
             try
             {
-                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdBackBill_Edit", 1, false, msg4))
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdBackBill_Edit", 1, false, HMaker))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "娌℃湁淇濆瓨鏉冮檺";
+                    objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板/缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldProdBackBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdBackBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldProdBackBillMain oItem in lsmain)
+                {
+                    if (oItem.HInterID == 0)
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    }
+                    else
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    }
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (oBill.omodel.HInterID == 0)   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql1 = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql1);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldProdBackBill oBill = new DLL.ClsSc_MouldProdBackBill();
-                List<Model.ClsSc_MouldProdBackBillMain> lsmain = new List<Model.ClsSc_MouldProdBackBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldProdBackBillMain(msg2);
-                foreach (Model.ClsSc_MouldProdBackBillMain oItem in lsmain)
-                {
-                     //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3803";
-                    oItem.HBillSubType = "3803";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Model.ClsSc_MouldProdBackBillSub> ls = new List<Model.ClsSc_MouldProdBackBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldProdBackBillSub(msg3);
-                int i = 0;
-                foreach (Model.ClsSc_MouldProdBackBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql1 = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql1);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
-                    string sql =string.Format($"exec h_p_Sc_MouldProdBackBillList '{oBill.omodel.HBillNo}' ") ;
-                    oCn.RunProc(sql);
+                    string sql = string.Format($"exec h_p_Sc_MouldProdBackBillList '{oBill.omodel.HBillNo}' ");
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -8172,7 +8641,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -8180,8 +8649,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
@@ -8488,7 +8957,158 @@
         }
         #endregion
 
-        #region 妯″叿棰嗙敤鍗曚繚瀛�/缂栬緫
+        #region 妯″叿棰嗙敤鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿棰嗙敤鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldProdOutBill/SaveGetMouldProdOutBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldProdOutBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string msg4 = sArray[2].ToString();
+
+
+        //    string UserName = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //妯″潡鍚嶏紝鍐欏叆鏃ュ織锛屾姤閿欐锛岀敤鎴峰悕
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdOutBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "娌℃湁淇濆瓨鏉冮檺";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+        //        DLL.ClsSc_MouldProdOutBill oBill = new DLL.ClsSc_MouldProdOutBill();
+        //        List<Model.ClsSc_MouldProdOutBillMain> lsmain = new List<Model.ClsSc_MouldProdOutBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldProdOutBillMain(msg2);
+        //        foreach (Model.ClsSc_MouldProdOutBillMain oItem in lsmain)
+        //        {
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3802";
+        //            oItem.HBillSubType = "3802";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 妯″叿棰嗙敤鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿棰嗙敤鍗�
         /// </summary>
@@ -8498,125 +9118,126 @@
         [HttpPost]
         public object SaveGetMouldProdOutBillList([FromBody] JObject msg)
         {
+            DAL.ClsSc_MouldProdOutBill oBill = new DAL.ClsSc_MouldProdOutBill();
+
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string msg4 = sArray[2].ToString();
-
-
-            string UserName = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string HMaker = sArray[2].ToString();           //鍒跺崟浜�
             try
             {
                 //妯″潡鍚嶏紝鍐欏叆鏃ュ織锛屾姤閿欐锛岀敤鎴峰悕
-                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdOutBill_Edit", 1, false, msg4))
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdOutBill_Edit", 1, false, HMaker))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "娌℃湁淇濆瓨鏉冮檺";
+                    objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板/缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                DLL.ClsSc_MouldProdOutBill oBill = new DLL.ClsSc_MouldProdOutBill();
-                List<Model.ClsSc_MouldProdOutBillMain> lsmain = new List<Model.ClsSc_MouldProdOutBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldProdOutBillMain(msg2);
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldProdOutBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdOutBillMain>>(sMainStr);
                 foreach (Model.ClsSc_MouldProdOutBillMain oItem in lsmain)
                 {
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3802";
-                    oItem.HBillSubType = "3802";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    if (oItem.HInterID == 0)
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    }
+                    else
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    }
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
                         return objJsonResult;
                     }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
                     oBill.omodel = oItem;
                 }
-                //琛ㄤ綋鏁版嵁
+                //琛ㄤ綋璧嬪��
                 //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
                 int i = 0;
                 foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
                 {
-
                     i++;
                     oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
                     oBill.DetailColl.Add(oItemSub);
-
                 }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
+
+                string sErrMsg = "";
                 bool bResult;
-                if (oBill.omodel.HInterID == 0)
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
                 {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql);
+                    //淇濆瓨
+                    if (oBill.omodel.HInterID == 0)   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
                 }
                 else
                 {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                    objJsonResult.data = null;
+                    return objJsonResult;
                 }
+
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -8624,7 +9245,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -8632,8 +9253,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
diff --git a/WebAPI/DLL/ClsSb_EquipConkBookBill.cs b/WebAPI/DLL/ClsSb_EquipConkBookBill.cs
index 3fa837c..29ae33e 100644
--- a/WebAPI/DLL/ClsSb_EquipConkBookBill.cs
+++ b/WebAPI/DLL/ClsSb_EquipConkBookBill.cs
@@ -29,29 +29,74 @@
         }
 
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, string HBillNote, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sb_EquipConkBookBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillNote + "'," + OperationType.ToString(), "h_p_Sb_EquipConkBookBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sb_EquipConkBookBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sb_EquipConkBookBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
             try
             {
-
-                //淇濆瓨鍓嶆帶鍒�=========================================
-                string HBillNote = "";
-                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipConkBookBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipConkBookBill_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();
+                //淇濆瓨鍓嶆帶鍒�
+                string HBillNote = "";
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, HBillNote, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sb_EquipConkBookBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -89,24 +134,13 @@
                      "," + oSub.HConkReasonID.ToString() + ",'" + oSub.HConkExplanation + "'," + oSub.HManagerID.ToString() + 
                      ") ");
                 }
-
-                //=========================淇濆瓨鍚庢帶鍒�  
-                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipConkBookBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipConkBookBill_AfterSaveCtrl");
-                if (ds2 == null)
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
                 {
-                    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 = "淇敼鍗曟嵁鎴愬姛锛�";
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -125,24 +159,13 @@
                 //寰楀埌mainid
                 omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
 
-
-                //淇濆瓨鍓嶆帶鍒�=========================================
+                //淇濆瓨鍓嶆帶鍒�
                 string HBillNote = "";
-                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipConkBookBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipConkBookBill_BeforeSaveCtrl");
-                if (ds == null)
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, HBillNote, 1, ref sReturn))
                 {
-                    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;
-                }
-                //=========================================================
 
-
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sb_EquipConkBookBillMain" +
@@ -169,25 +192,13 @@
                       "," + oSub.HConkReasonID.ToString() + "," + oSub.HManagerID.ToString() + ",'" + oSub.HConkExplanation + "'" +
                       ") ");
                 }
-
-
-                //=========================淇濆瓨鍚庢帶鍒�  
-                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipConkBookBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipConkBookBill_AfterSaveCtrl");
-                if (ds2 == null)
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
                 {
-                    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 = "鏂板鍗曟嵁鎴愬姛锛�";
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
diff --git a/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs b/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs
index f8b31cf..0e38b1b 100644
--- a/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs
+++ b/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs
@@ -30,15 +30,75 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, Int64 HICMOInterID, Int64 HICMOEntryID, string HICMOBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MESBeginWorkBill_BeforeSaveCtrl " + HInterID.ToString() + "," + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ",'" + HICMOBillNo + "'," + OperationType.ToString(), "h_p_Sc_MESBeginWorkBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, Int64 HICMOInterID, Int64 HICMOEntryID, string HICMOBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MESBeginWorkBill_AfterSaveCtrl " + HInterID.ToString() + "," + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ",'" + HICMOBillNo + "'," + OperationType.ToString(), "h_p_Sc_MESBeginWorkBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
             try
             {
-                //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MESBeginWorkBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -136,7 +196,14 @@
                 //        return false;
                 //    }
                 //}
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -157,16 +224,12 @@
                 omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCn.BeginTran();
-                //淇濆瓨鍓嶆帶鍒�=========================================
-                ds = oCn.RunProcReturn("exec h_p_Sc_MESBeginWorkBill_BeforeSaveCtrl " + omodel.HInterID + "," + omodel.HICMOInterID + "," + omodel.HICMOEntryID + ",'" + omodel.HICMOBillNo + "'", "h_p_Sc_MESBeginWorkBill_BeforeSaveCtrl");
-
-                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1")
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 1, ref sReturn))
                 {
-                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
-                    oCn.RollBack();
                     return false;
                 }
-                //=========================================================
+
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MESBeginWorkBillMain " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
@@ -201,16 +264,12 @@
                     return false;
                 }
 
-                //淇濆瓨鍚庢帶鍒�=========================================
-                ds = oCn.RunProcReturn("exec h_p_Sc_MESBeginWorkBill_AfterSaveCtrl " + omodel.HInterID + "," + omodel.HICMOInterID + "," + omodel.HICMOEntryID + ",'" + omodel.HICMOBillNo + "'", "h_p_Sc_MESBeginWorkBill_AfterSaveCtrl");
-
-                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1")
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 1, ref sReturn))
                 {
-                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                     oCn.RollBack();
                     return false;
                 }
-                //=========================================================
 
                 //鑾峰彇鏈�杩戠殑涓婃ā鍗�  鎶婂伐鍗曡窡妯″叿杩涜缁戝畾
                 ds = oCn.RunProcReturn(@"select  HICMOInterID,HICMOEntryID,HSourceInterID,HSourceEntryID,HSourceID from Sc_ICMOBillStatus_Tmp where HInterID=" + omodel.HMainSourceInterID.ToString(), "Sc_ICMOBillStatus_Tmp");
diff --git a/WebAPI/DLL/ClsSc_MESEndWorkBill.cs b/WebAPI/DLL/ClsSc_MESEndWorkBill.cs
index f6fdf1c..a6953f0 100644
--- a/WebAPI/DLL/ClsSc_MESEndWorkBill.cs
+++ b/WebAPI/DLL/ClsSc_MESEndWorkBill.cs
@@ -29,16 +29,76 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, Int64 HICMOInterID, Int64 HICMOEntryID, string HICMOBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MESEndWorkBill_BeforeSaveCtrl " + HInterID.ToString() + "," + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ",'" + HICMOBillNo + "'," + OperationType.ToString(), "h_p_Sc_MESEndWorkBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, Int64 HICMOInterID, Int64 HICMOEntryID, string HICMOBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MESEndWorkBill_AfterSaveCtrl " + HInterID.ToString() + "," + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ",'" + HICMOBillNo + "'," + OperationType.ToString(), "h_p_Sc_MESEndWorkBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
 
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
             try
             {
-                //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MESEndWorkBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -142,7 +202,14 @@
                 //        return false;
                 //    }
                 //}
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -163,16 +230,12 @@
                 omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCn.BeginTran();
-                //淇濆瓨鍓嶆帶鍒�=========================================
-                ds = oCn.RunProcReturn("exec h_p_Sc_MESEndWorkBill_BeforeSaveCtrl " + omodel.HInterID + "," + omodel.HICMOInterID + "," + omodel.HICMOEntryID + ",'" + omodel.HICMOBillNo + "'", "h_p_Sc_MESEndWorkBill_BeforeSaveCtrl");
-
-                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1")
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 1, ref sReturn))
                 {
-                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
-                    oCn.RollBack();
                     return false;
                 }
-                //=========================================================
+
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MESEndWorkBillMain " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
@@ -210,16 +273,12 @@
                     return false;
                 }
 
-                //淇濆瓨鍚庢帶鍒�=========================================
-                ds = oCn.RunProcReturn("exec h_p_Sc_MESEndWorkBill_AfterSaveCtrl " + omodel.HInterID + "," + omodel.HICMOInterID + "," + omodel.HICMOEntryID + ",'" + omodel.HICMOBillNo + "'", "h_p_Sc_MESEndWorkBill_AfterSaveCtrl");
-
-                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1")
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 1, ref sReturn))
                 {
-                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                     oCn.RollBack();
                     return false;
                 }
-                //=========================================================
 
                 sReturn = omodel.HInterID.ToString();
                 oCn.Commit();
diff --git a/WebAPI/DLL/ClsSc_MESStopWorkBill.cs b/WebAPI/DLL/ClsSc_MESStopWorkBill.cs
index 49e3695..4df2fb9 100644
--- a/WebAPI/DLL/ClsSc_MESStopWorkBill.cs
+++ b/WebAPI/DLL/ClsSc_MESStopWorkBill.cs
@@ -29,15 +29,75 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, Int64 HICMOInterID, Int64 HICMOEntryID, string HICMOBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MESStopWorkBill_BeforeSaveCtrl " + HInterID.ToString() + "," + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ",'" + HICMOBillNo + "'," + OperationType.ToString(), "h_p_Sc_MESStopWorkBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, Int64 HICMOInterID, Int64 HICMOEntryID, string HICMOBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MESStopWorkBill_AfterSaveCtrl " + HInterID.ToString() + "," + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ",'" + HICMOBillNo + "'," + OperationType.ToString(), "h_p_Sc_MESStopWorkBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
             try
             {
-                //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MESStopWorkBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -138,7 +198,14 @@
                 //        return false;
                 //    }
                 //}
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -159,16 +226,12 @@
                 omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCn.BeginTran();
-                //淇濆瓨鍓嶆帶鍒�=========================================
-                ds = oCn.RunProcReturn("exec h_p_Sc_MESStopWorkBill_BeforeSaveCtrl " + omodel.HInterID + "," + omodel.HICMOInterID + "," + omodel.HICMOEntryID + ",'" + omodel.HICMOBillNo + "'", "h_p_Sc_MESStopWorkBill_BeforeSaveCtrl");
-
-                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1")
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 1, ref sReturn))
                 {
-                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
-                    oCn.RollBack();
                     return false;
                 }
-                //=========================================================
+
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MESStopWorkBillMain " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
@@ -203,16 +266,12 @@
                     return false;
                 }
 
-                //淇濆瓨鍚庢帶鍒�=========================================
-                ds = oCn.RunProcReturn("exec h_p_Sc_MESStopWorkBill_AfterSaveCtrl " + omodel.HInterID + "," + omodel.HICMOInterID + "," + omodel.HICMOEntryID + ",'" + omodel.HICMOBillNo + "'", "h_p_Sc_MESStopWorkBill_AfterSaveCtrl");
-
-                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1")
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 1, ref sReturn))
                 {
-                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                     oCn.RollBack();
                     return false;
                 }
-                //=========================================================
 
                 sReturn = omodel.HInterID.ToString();
                 oCn.Commit();

--
Gitblit v1.9.1