From 9a75f7db9431032c0f1ecc64be4966a25c74bafa Mon Sep 17 00:00:00 2001 From: duhe <226547893@qq.com> Date: 星期二, 05 十一月 2024 16:48:12 +0800 Subject: [PATCH] 1 --- WebAPI/DLL/ClsSc_MESStopWorkBill.cs | 229 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 174 insertions(+), 55 deletions(-) diff --git a/WebAPI/DLL/ClsSc_MESStopWorkBill.cs b/WebAPI/DLL/ClsSc_MESStopWorkBill.cs index 68ea31e..4df2fb9 100644 --- a/WebAPI/DLL/ClsSc_MESStopWorkBill.cs +++ b/WebAPI/DLL/ClsSc_MESStopWorkBill.cs @@ -7,9 +7,9 @@ { public class ClsSc_MESStopWorkBill:DBUtility.ClsXt_BaseBill { - public Model.ClsSc_MESStopWorkBillMain omodel = new Model.ClsSc_MESStopWorkBillMain(); - public List<Model.ClsSc_MESStopWorkBillSub> DetailColl = new List<Model.ClsSc_MESStopWorkBillSub>(); - //public List<Model.ClsSc_MESStopWorkBillSub_Item> DetailColl1 = new List<Model.ClsSc_MESStopWorkBillSub_Item>(); + public Models.ClsSc_MESStopWorkBillMain omodel = new Models.ClsSc_MESStopWorkBillMain(); + public List<Models.ClsSc_MESStopWorkBillSub> DetailColl = new List<Models.ClsSc_MESStopWorkBillSub>(); + //public List<Models.ClsSc_MESStopWorkBillSub_Item> DetailColl1 = new List<Models.ClsSc_MESStopWorkBillSub_Item>(); public ClsSc_MESStopWorkBill() { base.MvarItemKeySub = "Sc_MESStopWorkBillSub"; @@ -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 + "'" + //鍥哄畾璧嬪��=============== @@ -83,6 +143,7 @@ ",HDeptID=" + omodel.HDeptID.ToString() + ",HEmpID=" + omodel.HEmpID.ToString() + ",HStopReason='" + omodel.HStopReason + "'" + + ",HStopType='" + omodel.HStopType + "'" + ",HReportType='" + omodel.HReportType + "'" + ",HBarCode='" + omodel.HBarCode + "'" + ",HAddr='" + omodel.HAddr + "'" + @@ -95,7 +156,7 @@ DeleteBillSub(lngBillKey); //鎻掑叆瀛愯〃 omodel.HInterID = lngBillKey; - foreach (Model.ClsSc_MESStopWorkBillSub oSub in DetailColl) + foreach (Models.ClsSc_MESStopWorkBillSub oSub in DetailColl) { //oCn.RunProc("Insert into Sc_MESStopWorkBillSub " + // " (HInterID,HBillNo_bak,HEntryID,HCloseMan" + @@ -137,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; } @@ -153,69 +221,59 @@ { try { + DataSet ds; //寰楀埌mainid omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙� oCn.BeginTran(); + //淇濆瓨鍓嶆帶鍒� + if (!BeforeSave(omodel.HInterID, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 1, ref sReturn)) + { + return false; + } + //涓昏〃 oCn.RunProc("Insert Into Sc_MESStopWorkBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" + ",HYear,HPeriod,HRemark" + - ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" + + ",HICMOInterID,HICMOEntryID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" + ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStopBeginWorkTime,HStopEndWorkTime,HSourceID" + ",HGroupID,HDeptID,HEmpID,HStopReason,HReportType,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" + + ",HSourceInterID_Main,HSourceEntryID_Main,HSourceBillNo_Main,HSourceBillType_Main" + + ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType,HStopType" + ") " + " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",getdate(),'" + omodel.HMaker + "',getdate()" + "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" + - "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HProcPlanInterID.ToString() + "," + omodel.HProcPlanEntryID.ToString() + ",'" + omodel.HProcPlanBillNo + "'," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() + + "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOEntryID + "','" + omodel.HICMOBillNo + "'," + omodel.HProcPlanInterID.ToString() + "," + omodel.HProcPlanEntryID.ToString() + ",'" + omodel.HProcPlanBillNo + "'," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() + ",'" + omodel.HProcExchBillNo + "'," + omodel.HMaterID.ToString() + "," + omodel.HProcID.ToString() + "," + omodel.HICMOQty.ToString() + "," + omodel.HPlanQty.ToString() + ",getdate(),'" + omodel.HStopEndWorkTime.ToShortDateString() + "'," + omodel.HSourceID.ToString() + "," + omodel.HGroupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HEmpID.ToString() + ",'" + omodel.HStopReason + "','" + omodel.HReportType + "','" + omodel.HBarCode + "','" + omodel.HAddr + "','" + omodel.HBarCodeMaker + "',getdate()" + + "," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo.ToString() + "','" + omodel.HMainSourceBillType + "'" + + "," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo.ToString() + "','" + omodel.HMainSourceBillType + "','"+ omodel.HStopType + "'" + ") "); - //鎻掑叆瀛愯〃 - foreach (Model.ClsSc_MESStopWorkBillSub oSub in DetailColl) + + //鍐嶆楠岃瘉 淇濆瓨鏄惁 鍚堢悊 + 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) { - //oCn.RunProc("Insert into Sc_MESStopWorkBillSub " + - // " (HInterID,HBillNo_bak,HEntryID,HCloseMan" + - // ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" + - // ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + - // ",HDotCheckItemID,HDotCheckItem,HDotCheckPart,HClaim,HManagerID" + - - // ") values(" - // + omodel.HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "'" + - // ",getdate()," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() + - // "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + - // "," + oSub.HDotCheckItemID.ToString() + ",'" + oSub.HDotCheckItem + "','" + oSub.HDotCheckPart + "','" + oSub.HClaim + "'," + oSub.HManagerID.ToString() + - // ") "); + sReturn = "鏃犻獙璇佹暟鎹紒"; + oCn.RollBack(); + return false; } - //foreach (Model.ClsSc_MESStopWorkBillSub_Item oSub2 in DetailColl1) - //{ - // oCn.RunProc("Insert into Sc_MESStopWorkBillSub_Item " + - // " (HInterID,HBillNo_bak,HEntryID,HCloseMan" + - // ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" + - // ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + - // ",HMaintainItemID,HMaintainItem,HMaintainPart,HClaim,HManagerID" + + 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; + } - // ") values(" - // + omodel.HInterID.ToString() + ",'" + oSub2.HBillNo_bak + "'," + oSub2.HEntryID.ToString() + ",'" + oSub2.HCloseMan + "'" + - // ",getdate()," + Convert.ToString(oSub2.HCloseType ? 1 : 0) + ",'" + oSub2.HRemark + "'," + oSub2.HSourceInterID.ToString() + - // "," + oSub2.HSourceEntryID.ToString() + ",'" + oSub2.HSourceBillNo + "','" + oSub2.HSourceBillType + "'," + oSub2.HRelationQty.ToString() + "," + oSub2.HRelationMoney.ToString() + - // "," + oSub2.HMaintainItemID.ToString() + ",'" + oSub2.HMaintainItem + "','" + oSub2.HMaintainPart + "','" + oSub2.HClaim + "'," + oSub2.HManagerID.ToString() + - // ") "); - //} - // - //foreach (Model.ClsSc_MESStopWorkBillSub oSub in DetailColl) - //{ - // Ds = oCn.RunProcReturn("exec h_p_Sc_MESStopWorkBill_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.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 1, ref sReturn)) + { + oCn.RollBack(); + return false; + } + + sReturn = omodel.HInterID.ToString(); oCn.Commit(); return true; } @@ -304,7 +362,7 @@ DetailColl.Clear();//娓呯┖ for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++) { - Model.ClsSc_MESStopWorkBillSub oSub = new Model.ClsSc_MESStopWorkBillSub(); + Models.ClsSc_MESStopWorkBillSub oSub = new Models.ClsSc_MESStopWorkBillSub(); // 鍥哄畾璧嬪��=============================================== //oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]); //oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]); @@ -423,15 +481,76 @@ } } + //鍒犻櫎鍗曟嵁 + public bool DeleteBill(Int64 lngBillKey, string HBillNo, string procName, string user, ref string sReturn) + { + try + { + oCn.BeginTran(); + //鍒ゆ柇鏄惁鍏佽鍒犻櫎 + DataSet ds = oCn.RunProcReturn("exec h_p_JIT_MESStopWorkBill_DelCtrl @HInterId=" + lngBillKey + "", "h_p_JIT_MESBeginWorkBill_SaveCtrl"); + if (ds == null || ds.Tables[0].Rows.Count <= 0) + { + sReturn = "鏃犻獙璇佹暟鎹紒"; + return false; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2") + { + sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); + return false; + } + + //鍒犻櫎鍏宠仈鍏崇郴 + oCn.RunProc("exec h_p_JIT_MESStopWorkBill_DelRelation @HInterId=" + lngBillKey + ""); + + //鍒犻櫎鏄庣粏琛� + oCn.RunProc("Delete From " + MvarItemKeySub + " where HInterID=" + lngBillKey.ToString()); + //鍒犻櫎涓昏〃 + oCn.RunProc("Delete From " + MvarItemKey + " where HInterID=" + lngBillKey.ToString()); + + //鍒犻櫎鍚庢帶鍒�================================================================================== + string sql2 = "exec " + procName + " " + lngBillKey + ",'" + HBillNo + "','" + user + "'"; + ds = oCn.RunProcReturn(sql2, procName); + if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) + { + + sReturn = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴"; + oCn.RollBack(); + return false; + } + if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") + { + sReturn = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); + oCn.RollBack(); + return false; + } + //============================================================================================== + + sReturn = "鍒犻櫎鍗曟嵁鎴愬姛锛�"; + oCn.Commit(); + return true; + } + catch (Exception e) + { + sReturn = e.Message; + oCn.RollBack(); + throw (e); + } + } + //瀹℃牳 public bool CheckBill(Int64 lngBillKey, ref string sReturn) { - try { string HChecker = DBUtility.ClsPub.CurUserName; string HCheckDate = DBUtility.ClsPub.GetServerDate(-1); - oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString()); + oCn.BeginTran(); + oCn.RunProc(" Update " + MvarItemKey + " set HBillStatus='2',HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString()); + //鏍规嵁寮�宸ュ崟鍐呯爜 璁剧疆 鐢熶骇鐘舵�佽〃 寮�宸ョ姸鎬�(鍏堟妸 鏈祫婧愬叏閮ㄥ伐鍗� 璁剧疆涓洪潪寮�宸ョ姸鎬侊紝鍐嶈缃湰鍗曞搴斿緱婧愬崟 涓哄紑宸ョ姸鎬�) + oCn.RunProc("exec h_p_JIT_MESBeginWorkBill_BeginWork @HInterId=" + lngBillKey + ",@flag='鍋滃伐'"); + oCn.Commit(); + //鐢熸垚璋冩嫧鍗� //寰楀埌璋冩嫧鍗� mainid 鍗曟嵁鍙� //long NewInterID = DBUtility.ClsPub.CreateBillID("1207", ref DBUtility.ClsPub.sExeReturnInfo); @@ -451,6 +570,6 @@ - + } } -- Gitblit v1.9.1