From c27c6fbfd03ffd89a839e7aa4c2643e5ea7ab0dc Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期五, 19 一月 2024 10:20:09 +0800
Subject: [PATCH] 是否做首件/工序 检验单控制;批量出站汇报;保存前后控制(生产订单保存方法,开工单保存方法,完工单保存方法,停工挂起单保存方法,产量汇报单保存方法,质量汇报单保存方法,生产汇报单保存方法)

---
 WebAPI/Models/StationBill.cs                                        |    4 
 Pub_Class/CustomerCls/ClsXt_SystemParameter.cs                      |   10 +
 WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs              |   13 +
 WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs        |    2 
 WebAPI/DLL/ClsSc_MESStopWorkBill.cs                                 |   25 +++
 WebAPI/Controllers/LMESController.cs                                |    9 +
 WebAPI/Controllers/生产管理/质量汇报单/Sc_QualityReportBillController.cs     |   40 +++++
 Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs                  |    1 
 WebAPI/Controllers/生产管理/报工台工序/Sc_QualityReportStepBillController.cs |   42 ++++++
 WebAPI/Controllers/CJGL/Cj_StationInBillController.cs               |    2 
 WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs            |    2 
 WebAPI/Controllers/生产管理/生产任务单/Sc_ICMOBillController.cs              |   82 +++++++++++
 WebAPI/DLL/ClsSc_MESBeginWorkBill.cs                                |   28 +++
 WebAPI/DLL/ClsSc_ICMOBillWorkQtyStatus_Tmp.cs                       |   28 +++
 WebAPI/DLL/ClsSc_MESEndWorkBill.cs                                  |   25 +++
 WebAPI/DLL/ClsSc_ICMOReportBill.cs                                  |   25 +++
 WebAPI/Controllers/ReportPlatFormController.cs                      |   69 +++++++++
 17 files changed, 391 insertions(+), 16 deletions(-)

diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
index 8122824..0673bac 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -142,6 +142,16 @@
                     {
                         omodel.Sc_ICMOReportBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    //生产汇报单 报工台报检申请生产汇报单前判断是否首检检验
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_FirstCheckOut")
+                    {
+                        omodel.Sc_ICMOReportBill_FirstCheckOut = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //生产汇报单 报工台报检申请生产汇报单前判断是否过程检验
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_ProcessCheckOut")
+                    {
+                        omodel.Sc_ICMOReportBill_ProcessCheckOut = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
 
                     //==========================================收料通知单(送货单、到货确认)
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Cg_POInStockBill_BarCodeCtl")
diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
index 330f406..76ec6c0 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
@@ -23,6 +23,7 @@
         public string Sc_ICMOReportBill_UpdateSourceInterID;    //上传后回填条码档案源单信息
         public string Sc_ICMOReportBill_MESFlag;                //生产汇报单同步MES标记,Y为同步
         public string Sc_ICMOReportBill_FirstCheckOut;              //必须首件检验通过才能保存单据
+        public string Sc_ICMOReportBill_ProcessCheckOut;              //必须过程检验通过才能保存单据
         public string Sc_ICMOReportBill_DeleterAndMakerMustSame;    //生产汇报单暂存删除人必须是制单人
 
         //收料通知单(送货单、到货确认)
diff --git a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
index 0958235..89276bf 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
@@ -530,7 +530,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏈煡璇㈠埌鍑虹珯鍗曟槑缁嗕俊鎭紒";
+                    objJsonResult.Message = "鏈煡璇㈠埌鑱屽憳淇℃伅锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
diff --git a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
index 8727f0c..d89d13b 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -643,7 +643,7 @@
                     long HMaterID = listSub[i].HMaterID;//浜у搧ID
                     long HProcID = listSub[i].HProcID;//褰撳墠宸ュ簭ID
                     double HICMOQty = listSub[i].HICMOQty;//浠诲姟鍗曟暟閲�
-                    double HPlanQty = list[0].HPlanQty;//绉讳氦PNL鏁�
+                    double HPlanQty = listSub[i].HPlanQty;//绉讳氦PNL鏁�
                     DateTime HStationOutTime = list[0].HStationOutTime;//姹囨姤鏃堕棿
                     long HSourceID = listSub[i].HSourceID;//鐢熶骇璧勬簮ID
                     long HPayProcID = list[0].HPayProcID;//鏍哥畻宸ュ簭ID
@@ -666,10 +666,11 @@
                     string HProcNo = listSub[i].HProcNo;//娴佹按鍙�
                     string HOrderProcNO = list[0].HOrderProcNO;//璁㈠崟璺熻釜鍙�
                     string HSourceNameList = list[0].HSourceNameList;//璁惧娓呭崟
-                    long HMainSourceInterID = list[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
-                    string HMainSourceBillNo = list[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
+                    long HMainSourceInterID = listSub[0].HMainSourceInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                    long HMainSourceEntryID = listSub[0].HMainSourceEntryID;//閫掑叆type寰楀埌鐨勫崟鎹瓙ID
+                    string HMainSourceBillNo = listSub[0].HMainSourceBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
                     string HMainSourceBillType = "3790";
-                    bool HLastSubProc = list[0].HLastSubProc;//杞笅宸ュ簭
+                    bool HLastSubProc = listSub[0].HLastSubProc;//杞笅宸ュ簭
                     long HEmpID2 = list[0].HEmpID2;//鎿嶄綔鍛�2ID
                     long HEmpID3 = list[0].HEmpID3;//鎿嶄綔鍛�3ID
                     long HEmpID4 = list[0].HEmpID4;//鎿嶄綔鍛�4ID
@@ -704,7 +705,7 @@
                         ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSourceID2,HSourceID3,HSourceID4,HSourceID5" +
                         ",HSupID,HQty,HPrice,HMoney,HBadCount,HCenterID,HProcNo,HOrderProcNO,HSourceNameList" +
                         ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HLastSubProc" +
-                        ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID,HMainInterID,HPRDOrgID" +
+                        ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID,HMainInterID,HPRDOrgID,HMainSourceEntryID" +
                         ") " +
                         " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" +
                         "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL +
@@ -713,7 +714,7 @@
                         "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + "," + HSourceID2 + "," + HSourceID3 + "," + HSourceID4 + "," + HSourceID5 +
                         "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HBadCount + "," + HCenterID + "," + HProcNo + ",'" + HOrderProcNO + "'" + ",'" + HSourceNameList + "'" +
                         "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + Convert.ToString(HLastSubProc ? 1 : 0) +
-                        "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID + "," + HMainInterID + "," + HPRDOrgID +
+                        "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID + "," + HMainInterID + "," + HPRDOrgID + "," + HMainSourceEntryID +
                         ") ");
                     }
                     else
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs
index 413489c..b1163f9 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs
@@ -69,7 +69,7 @@
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 string sql = string.Format(@"select * from h_v_Sc_ProcessExchangeBillQuerySub_SendWork");
-                ds = oCN.RunProcReturn(sql + sWhere + " order by 娴佹按鍙� ", "h_v_Sc_ProcessExchangeBillQuerySub_SendWork");
+                ds = oCN.RunProcReturn(sql + sWhere + " order by convert(int,娴佹按鍙�) asc", "h_v_Sc_ProcessExchangeBillQuerySub_SendWork");
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
diff --git a/WebAPI/Controllers/LMESController.cs b/WebAPI/Controllers/LMESController.cs
index a1fe776..bdbd9bf 100644
--- a/WebAPI/Controllers/LMESController.cs
+++ b/WebAPI/Controllers/LMESController.cs
@@ -572,6 +572,7 @@
 
                 //鑾峰彇绯荤粺鍙傛暟
                 string Ret = "";
+                string Count = "";
                 if (oSystemParameter.ShowBill(ref Ret))
                 {
                     //鍒ゆ柇瀹㈡埛涓洪緳灞辨苯閰�
@@ -582,10 +583,16 @@
 
                         sWhere += sql_splice;                        
                     }
+                    //鍒ゆ柇瀹㈡埛涓虹憺涓庣ズ
+                    if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�")
+                    {
+                        Count = "top 1000";
+                    }
                 }
 
+
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeIssueBillQuery where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeIssueBillQuery");
+                ds = oCN.RunProcReturn("select " + Count + " * from h_v_Sc_ProcessExchangeIssueBillQuery where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeIssueBillQuery");
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
diff --git a/WebAPI/Controllers/ReportPlatFormController.cs b/WebAPI/Controllers/ReportPlatFormController.cs
index 8a91897..2a1c600 100644
--- a/WebAPI/Controllers/ReportPlatFormController.cs
+++ b/WebAPI/Controllers/ReportPlatFormController.cs
@@ -15,6 +15,7 @@
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
 
         #region 鎶ュ伐骞冲彴鏍规嵁璐d换浜虹瓫閫夊姞杞借祫婧愬垪琛�
@@ -188,5 +189,73 @@
         }
         #endregion
 
+        #region  閫氳繃绯荤粺鍙傛暟鎺у埗锛屽垽鏂敓浜ц鍗曟槸鍚﹀仛浜嗛浠舵楠屽崟鍜屽伐搴忔楠屽崟
+        [Route("ReportPlatForm/IsCheck")]
+        [HttpGet]
+        public object IsCheck(Int64 HICMOInterID,Int64 HICMOEntryID,string HICMOBillNo)
+        {
+            try
+            {
+                //鑾峰彇绯荤粺鍙傛暟
+                string sErrMsg = "";
+                string HBackRemark = "";
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    if (oSystemParameter.omodel.Sc_ICMOReportBill_FirstCheckOut == "Y") //绯荤粺鍙傛暟  鏄惁鍋氫簡棣栦欢妫�楠屽崟  绌虹櫧涓洪�氱敤
+                    {
+                        ds = oCN.RunProcReturn("exec h_p_JIT_IsFirstCheckOut " + HICMOInterID + "," + HICMOEntryID + ",'" + HICMOBillNo + "'", "h_p_Sc_IsFirstCheckOut");
+
+                        if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                        {
+                            HBackRemark += ds.Tables[0].Rows[0]["HBackRemark"] + "    ";
+                        }
+                    }
+                    if(oSystemParameter.omodel.Sc_ICMOReportBill_ProcessCheckOut == "Y") //绯荤粺鍙傛暟  鏄惁鍋氫簡杩囩▼妫�楠屽崟  绌虹櫧涓洪�氱敤
+                    {
+                        ds = oCN.RunProcReturn("exec h_p_JIT_IsProcessCheckOut " + HICMOInterID + "," + HICMOEntryID + ",'" + HICMOBillNo + "'", "h_p_Sc_IsProcessCheckOut");
+
+                        if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                        {
+                            HBackRemark += ds.Tables[0].Rows[0]["HBackRemark"];
+                        }
+                    }                    
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HBackRemark == "")
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "褰撳墠鐢熶骇璁㈠崟宸茬淮鎶ら浠舵楠屽崟鍜岃繃绋嬫楠屽崟";
+                    objJsonResult.data = null;
+                    return objJsonResult;                    
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = HBackRemark;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = ex.Message;
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
     }
 }
diff --git a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
index 0f9d62f..bd708fd 100644
--- a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
@@ -1077,7 +1077,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "淇濆瓨澶辫触锛�";
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\346\212\245\345\267\245\345\217\260\345\267\245\345\272\217/Sc_QualityReportStepBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\346\212\245\345\267\245\345\217\260\345\267\245\345\272\217/Sc_QualityReportStepBillController.cs"
index 4b95cbe..c503cf4 100644
--- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\346\212\245\345\267\245\345\217\260\345\267\245\345\272\217/Sc_QualityReportStepBillController.cs"
+++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\346\212\245\345\267\245\345\217\260\345\267\245\345\272\217/Sc_QualityReportStepBillController.cs"
@@ -646,6 +646,28 @@
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 bool bResult2 = false;
                 oCN.BeginTran();
+
+                //淇濆瓨鍓嶆帶鍒�=========================================              
+                ds = oCN.RunProcReturn("exec h_p_Sc_QualityReportBill_BeforeSaveCtrl " + HInterID , "h_p_Sc_QualityReportBill_BeforeSaveCtrl");
+
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
+
                 //淇濆瓨
                 oCN.RunProc("exec h_p_save_Sc_QualityReportBill " + HInterID);
                 //鍒ゆ柇鏄惁鍏佽淇濆瓨锛屼笉鍏佽鍒欏洖婊�
@@ -659,6 +681,26 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+                //淇濆瓨鍚庢帶鍒�=========================================              
+                ds = oCN.RunProcReturn("exec h_p_Sc_QualityReportBill_AfterSaveCtrl " + HInterID, "h_p_Sc_QualityReportBill_AfterSaveCtrl");
+
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
                 oCN.Commit();
                 //鑾峰彇鑷姩瀹℃牳鍙傛暟
                 string sReturn = "";
diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
index b35c9d4..0b1561a 100644
--- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
+++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
@@ -111,6 +111,26 @@
 
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
+                    //淇濆瓨鍓嶆帶鍒�=========================================              
+                    ds = oCN.RunProcReturn("exec h_p_Sc_ICMOBill_BeforeSaveCtrl_New " + HInterID, "h_p_Sc_ICMOBill_BeforeSaveCtrl_New");
+
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
                     //涓昏〃
                     oCN.RunProc(@"Insert Into Sc_ICMOBillMain   
                         (HBillType,HBillStatus,HInterID,HBillNo,HDate,HPRDORGID
@@ -252,6 +272,27 @@
                 ,{oSub.HMaterID},{oSub.HUnitID},'{oSub.HRemark}',{oSub.HSourceID},{oSub.HDeptID},{oSub.HSTATUS}
 	                    ,0,0,'','',0,0,{HINSTOCKTYPE},{HCHECKPRODUCT},{HQAIP},{HISBACKFLUSH},{HREQSRC},{HSTOCKINQUASELAUXQTY},{HSeOrderEntrySEQ},{HPROJECTNO},{HPRODUCTTYPE},{HCOSTRATE},{HBASEUNITID},{oSub.HSTOCKINORGID},{oSub.HOrderLevID})");
             }
+
+            //淇濆瓨鍚庢帶鍒�=========================================              
+            ds = oCN.RunProcReturn("exec h_p_Sc_ICMOBill_AfterSaveCtrl_New " + HInterID, "h_p_Sc_ICMOBill_AfterSaveCtrl_New");
+
+            if (ds == null || ds.Tables[0].Rows.Count == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            //=========================================================
 
             objJsonResult.code = "1";
             objJsonResult.count = 1;
@@ -452,6 +493,26 @@
 
                 if ((OperationType == 1 || OperationType == 2 || OperationType == 4) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
+                    //淇濆瓨鍓嶆帶鍒�=========================================              
+                    ds = oCN.RunProcReturn("exec h_p_Sc_ICMOBill_BeforeSaveCtrl_New " + HInterID, "h_p_Sc_ICMOBill_BeforeSaveCtrl_New");
+
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
                     //涓昏〃
                     oCN.RunProc(@"Insert Into Sc_ICMOBillMain   
                         (HBillType,HBillStatus,HInterID,HBillNo,HDate,HPRDORGID
@@ -598,6 +659,27 @@
 	                    ,{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',0,0
                 ,{oSub.HAuxQty},{oSub.HAuxUnit},{oSub.HWidth},{oSub.HWeight},'{oSub.HColorRemark}','{oSub.HCusMaterName}','{oSub.HCusModel}','{oSub.HOrderPickRemark}')");
 
+            //淇濆瓨鍚庢帶鍒�=========================================              
+            ds = oCN.RunProcReturn("exec h_p_Sc_ICMOBill_AfterSaveCtrl_New " + HInterID, "h_p_Sc_ICMOBill_AfterSaveCtrl_New");
+
+            if (ds == null || ds.Tables[0].Rows.Count == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            //=========================================================
+
             objJsonResult.code = "1";
             objJsonResult.count = 1;
             objJsonResult.Message = null;
diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\350\264\250\351\207\217\346\261\207\346\212\245\345\215\225/Sc_QualityReportBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\350\264\250\351\207\217\346\261\207\346\212\245\345\215\225/Sc_QualityReportBillController.cs"
index b756254..4b34ab8 100644
--- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\350\264\250\351\207\217\346\261\207\346\212\245\345\215\225/Sc_QualityReportBillController.cs"
+++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\350\264\250\351\207\217\346\261\207\346\212\245\345\215\225/Sc_QualityReportBillController.cs"
@@ -621,6 +621,26 @@
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 bool bResult2 = false;
                 oCN.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�=========================================              
+                ds = oCN.RunProcReturn("exec h_p_Sc_QualityReportBill_BeforeSaveCtrl " + HInterID, "h_p_Sc_QualityReportBill_BeforeSaveCtrl");
+
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
                 //淇濆瓨
                 oCN.RunProc("exec h_p_save_Sc_QualityReportBill " + HInterID);
                 //鍒ゆ柇鏄惁鍏佽淇濆瓨锛屼笉鍏佽鍒欏洖婊�
@@ -634,6 +654,26 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+                //淇濆瓨鍚庢帶鍒�=========================================              
+                ds = oCN.RunProcReturn("exec h_p_Sc_QualityReportBill_AfterSaveCtrl " + HInterID, "h_p_Sc_QualityReportBill_AfterSaveCtrl");
+
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
                 oCN.Commit();
                 //鑾峰彇鑷姩瀹℃牳鍙傛暟
                 string sReturn = "";
diff --git a/WebAPI/DLL/ClsSc_ICMOBillWorkQtyStatus_Tmp.cs b/WebAPI/DLL/ClsSc_ICMOBillWorkQtyStatus_Tmp.cs
index 1878702..b288f48 100644
--- a/WebAPI/DLL/ClsSc_ICMOBillWorkQtyStatus_Tmp.cs
+++ b/WebAPI/DLL/ClsSc_ICMOBillWorkQtyStatus_Tmp.cs
@@ -81,8 +81,20 @@
                 omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                 //若MAINDI重复则重新获取
                 oCn.BeginTran();
-                //主表
+                DataSet ds;
 
+                //保存前控制=========================================
+                ds = oCn.RunProcReturn("exec h_p_Sc_ICMOBillWorkQtyStatus_BeforeSaveCtrl " + omodel.HInterID + "," + omodel.HSourceInterID + "," + omodel.HSourceEntryID + ",'" + omodel.HSourceBillNo + "'", "h_p_Sc_ICMOBillWorkQtyStatus_BeforeSaveCtrl");
+
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1")
+                {
+                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //=========================================================
+
+                //主表
                 oCn.RunProc("Insert Into Sc_ICMOBillWorkQtyStatus_Tmp   " +   
                "(HInterID,HBillType,HSourceID,HReportType,HPieceQty" +
                ",HMaterID,HGroupID,HWorkManID,HWorkReportDate,HDate" +
@@ -103,7 +115,7 @@
                 oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HSplitRelationQty=HSplitRelationQty+" + sumqty + "  where HICMOBillNo='" + omodel.HICMOBillNo + "'  and HSourceID='" + omodel.HSourceID + "' and  HICMOInterID='" + omodel.HICMOInterID + "' and HICMOEntryID='" + omodel.HICMOEntryID + "' and HInterID="+ omodel.HSourceInterID.ToString());
 
                 //再次验证 保存是否 合理
-                DataSet ds = oCn.RunProcReturn("exec h_p_JIT_ICMOBillWorkQtyStatus_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_ICMOBillWorkQtyStatus_SaveCtrl");
+                ds = oCn.RunProcReturn("exec h_p_JIT_ICMOBillWorkQtyStatus_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_ICMOBillWorkQtyStatus_SaveCtrl");
                 if (ds == null || ds.Tables[0].Rows.Count <= 0)
                 {
                     sReturn = "无验证数据!";
@@ -116,6 +128,18 @@
                     oCn.RollBack();
                     return false;
                 }
+
+                //保存后控制=========================================
+                ds = oCn.RunProcReturn("exec h_p_Sc_ICMOBillWorkQtyStatus_AfterSaveCtrl " + omodel.HInterID + "," + omodel.HSourceInterID + "," + omodel.HSourceEntryID + ",'" + omodel.HSourceBillNo + "'", "h_p_Sc_ICMOBillWorkQtyStatus_BeforeSaveCtrl");
+
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1")
+                {
+                    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_ICMOReportBill.cs b/WebAPI/DLL/ClsSc_ICMOReportBill.cs
index 227fb56..8a873a8 100644
--- a/WebAPI/DLL/ClsSc_ICMOReportBill.cs
+++ b/WebAPI/DLL/ClsSc_ICMOReportBill.cs
@@ -155,6 +155,18 @@
                 //omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCn.BeginTran();
+                DataSet ds;
+
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                ds = oCn.RunProcReturn("exec h_p_Sc_ICMOReportBill_BeforeSaveCtrl_New " + omodel.HInterID + "," + oSub.HICMOInterID + "," + oSub.HICMOEntryID + ",'" + oSub.HICMOBillNo + "'", "h_p_Sc_ICMOReportBill_BeforeSaveCtrl_New");
+
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1")
+                {
+                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //=========================================================
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_ICMOReportBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" + 
@@ -228,7 +240,18 @@
                 //        return false;
                 //    }
                 //}
-                //               
+                //
+                //       
+                //淇濆瓨鍚庢帶鍒�=========================================
+                ds = oCn.RunProcReturn("exec h_p_Sc_ICMOReportBill_AfterSaveCtrl_New " + omodel.HInterID + "," + oSub.HICMOInterID + "," + oSub.HICMOEntryID + ",'" + oSub.HICMOBillNo + "'", "h_p_Sc_ICMOReportBill_AfterSaveCtrl_New");
+
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "1")
+                {
+                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //=========================================================
 
                 sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
                 oCn.Commit();
diff --git a/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs b/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs
index 6e1cf5f..565ed59 100644
--- a/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs
+++ b/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs
@@ -152,9 +152,21 @@
         {
             try
             {
+                DataSet ds;
                 //寰楀埌mainid
                 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")
+                {
+                    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" +
@@ -175,25 +187,39 @@
               ") ");
 
                 //鍐嶆楠岃瘉 淇濆瓨鏄惁 鍚堢悊
-                DataSet ds=oCn.RunProcReturn("exec h_p_JIT_MESBeginWorkBill_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_MESBeginWorkBill_SaveCtrl");
+                ds = oCn.RunProcReturn("exec h_p_JIT_MESBeginWorkBill_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_MESBeginWorkBill_SaveCtrl");
                 if (ds == null || ds.Tables[0].Rows.Count <= 0) 
                 {
                     sReturn = "鏃犻獙璇佹暟鎹紒";
+                    oCn.RollBack();
                     return false;
                 }
                 if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2") 
                 {
                     sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
                     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")
+                {
+                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //=========================================================
 
                 sReturn = omodel.HInterID.ToString();
+                oCn.Commit();
                 return true;
             }
             catch (Exception e)
             {
                 sReturn = e.Message;
+                oCn.RollBack();
                 throw (e);
             }
         }
diff --git a/WebAPI/DLL/ClsSc_MESEndWorkBill.cs b/WebAPI/DLL/ClsSc_MESEndWorkBill.cs
index 1943e50..96b9fcb 100644
--- a/WebAPI/DLL/ClsSc_MESEndWorkBill.cs
+++ b/WebAPI/DLL/ClsSc_MESEndWorkBill.cs
@@ -158,10 +158,21 @@
         {
             try
             {
+                DataSet ds;
                 //寰楀埌mainid
                 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")
+                {
+                    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" +
@@ -185,7 +196,7 @@
 
 
                 //鍐嶆楠岃瘉 淇濆瓨鏄惁 鍚堢悊
-                DataSet ds = oCn.RunProcReturn("exec h_p_JIT_MESEndWorkBill_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_MESEndWorkBill_SaveCtrl");
+                ds = oCn.RunProcReturn("exec h_p_JIT_MESEndWorkBill_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_MESEndWorkBill_SaveCtrl");
                 if (ds == null || ds.Tables[0].Rows.Count <= 0)
                 {
                     sReturn = "鏃犻獙璇佹暟鎹紒";
@@ -198,6 +209,18 @@
                     oCn.RollBack();
                     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")
+                {
+                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //=========================================================
+
                 sReturn = omodel.HInterID.ToString();
                 oCn.Commit();
                 return true;
diff --git a/WebAPI/DLL/ClsSc_MESStopWorkBill.cs b/WebAPI/DLL/ClsSc_MESStopWorkBill.cs
index afdc4a9..754dcf3 100644
--- a/WebAPI/DLL/ClsSc_MESStopWorkBill.cs
+++ b/WebAPI/DLL/ClsSc_MESStopWorkBill.cs
@@ -153,10 +153,21 @@
         {
             try
             {
+                DataSet ds;
                 //寰楀埌mainid
                 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")
+                {
+                    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" +
@@ -177,7 +188,7 @@
                 ") ");
 
                 //鍐嶆楠岃瘉 淇濆瓨鏄惁 鍚堢悊
-                DataSet ds = oCn.RunProcReturn("exec h_p_JIT_MESStopWorkBill_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_MESStopWorkBill_SaveCtrl");
+                ds = oCn.RunProcReturn("exec h_p_JIT_MESStopWorkBill_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_MESStopWorkBill_SaveCtrl");
                 if (ds == null || ds.Tables[0].Rows.Count <= 0)
                 {
                     sReturn = "鏃犻獙璇佹暟鎹紒";
@@ -190,6 +201,18 @@
                     oCn.RollBack();
                     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")
+                {
+                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //=========================================================
+
                 sReturn = omodel.HInterID.ToString();
                 oCn.Commit();
                 return true;
diff --git a/WebAPI/Models/StationBill.cs b/WebAPI/Models/StationBill.cs
index b75c16a..6a49935 100644
--- a/WebAPI/Models/StationBill.cs
+++ b/WebAPI/Models/StationBill.cs
@@ -77,5 +77,9 @@
         public double HmaterOutqty { get; set; }
         public double HProcPriceRate { get; set; }
         public int HTemporaryAreaID { get; set; }
+
+        public long HMainSourceInterID { get; set; }
+        public long HMainSourceEntryID { get; set; }
+        public string HMainSourceBillNo { get; set; }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1