From d971349f30f6a5faae97892a195c99d36465e7b5 Mon Sep 17 00:00:00 2001 From: yangle <admin@YINMOU> Date: 星期二, 11 六月 2024 23:40:54 +0800 Subject: [PATCH] 进站单新增优化 进站单保存 控制优化 --- WebAPI/Controllers/CJGL/Cj_StationInBillController.cs | 615 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 529 insertions(+), 86 deletions(-) diff --git a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs index 23471f7..a9e4e6e 100644 --- a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs +++ b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs @@ -7,6 +7,7 @@ using System.Data; using System.Data.SqlClient; using System.Web.Http; +using System.Windows.Forms; using WebAPI.Models; namespace WebAPI.Controllers @@ -21,6 +22,7 @@ private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); + public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill(); DataSet ds; DataSet ds1; @@ -37,16 +39,33 @@ //濮斿宸ュ簭鍙戝嚭鍙嶅簭鍒楀寲 string msg2 = "[" + sArray[0].ToString() + "]"; string user = sArray[1].ToString(); + string OperationType = sArray[2].ToString(); + string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О - //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� - if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Edit", 1, false, user)) + if (OperationType == "5") { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犵紪杈戞潈闄�!"; - objJsonResult.data = null; - return objJsonResult; + //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟鏃犵紪杈戞潈闄�!"; + objJsonResult.data = null; + return objJsonResult; + } } + else { + //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鍗曟棤缂栬緫鏉冮檺!"; + objJsonResult.data = null; + return objJsonResult; + } + } + List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg2); long HMainInterID = 0; @@ -134,6 +153,23 @@ objJsonResult.data = null; return objJsonResult; } + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn) == true) + { + if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴") //绯荤粺鍙傛暟 鍒ゆ柇瀹㈡埛 + { + //鍒ゆ柇鐢熶骇璧勬簮 + if (HSourceID <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鐢熶骇璧勬簮娌℃湁閫夋嫨锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + } + if (HCenterID <= 0) { objJsonResult.code = "0"; @@ -168,7 +204,28 @@ objJsonResult.data = null; return objJsonResult; } - + + //淇濆瓨鍓嶆帶鍒�========================================= + string HBillNote = ""; + ds = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_BeforeSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_StationInBill_BeforeSaveCtrl "); + if (ds == null) + { + 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; + } + //========================================================= + //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙� oCN.BeginTran(); @@ -194,7 +251,7 @@ ",HProcNo,HOrderProcNO,HMainInterID,HPRDOrgID" + ",HmaterOutqty" + ") " + - " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" + + " values('" + BillType + "','" + (OperationType=="5"?"SUB":BillType) + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" + "," + HYear + "," + HPeriod + ",'" + HRemark + "'" + "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID + ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + @@ -202,6 +259,9 @@ "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HPieceQty + ",'" + HSourceName + "'," + HCenterID + ",'" + HProcNo + "','" + HOrderProcNO + "','" + HMainInterID + "'," + HPRDOrgID + ","+ HmaterOutqty + ") "); + + LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ュ簭杩涚珯鍗曟嵁:" + HBillNo); + oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板宸ュ簭杩涚珯鍗曟嵁锛�" + HBillNo + "','LMES-宸ュ簭杩涚珯妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo); } else if ("Modify".Equals(eventType)) { @@ -244,6 +304,9 @@ ",HProcNo='" + HProcNo + "'" + ",HOrderProcNO='" + HOrderProcNO + "'" + " where HInterID=" + HInterID); + + LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ュ簭杩涚珯鍗曟嵁:" + HBillNo); + oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ュ簭杩涚珯鍗曟嵁锛�" + HBillNo + "','LMES-宸ュ簭杩涚珯妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo); } else { @@ -255,34 +318,34 @@ return objJsonResult; } - ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_QtyCtrl " + HInterID + "", "h_p_MES_StationInBill_QtyCtrl"); - if (ds == null) - { - oCN.RollBack(); - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍒ゆ柇鏁伴噺澶辫触锛�"; - objJsonResult.data = null; - return objJsonResult; - } - if (ds.Tables[0].Rows.Count == 0) - { - oCN.RollBack(); - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍒ゆ柇鏁伴噺澶辫触锛�"; - objJsonResult.data = null; - return objJsonResult; - } - if (ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2") - { - oCN.RollBack(); - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); - objJsonResult.data = null; - return objJsonResult; - } + //ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_QtyCtrl " + HInterID + "", "h_p_MES_StationInBill_QtyCtrl"); + //if (ds == null) + //{ + // oCN.RollBack(); + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "鍒ゆ柇鏁伴噺澶辫触锛�"; + // objJsonResult.data = null; + // return objJsonResult; + //} + //if (ds.Tables[0].Rows.Count == 0) + //{ + // oCN.RollBack(); + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "鍒ゆ柇鏁伴噺澶辫触锛�"; + // objJsonResult.data = null; + // return objJsonResult; + //} + //if (ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2") + //{ + // oCN.RollBack(); + // 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_Mes_ProcessExchangeRelationQty_In " + HInterID + ",1"); //鍒ゆ柇鏄惁鏄� 棣栭亾宸ュ簭 ds1 = oCN.RunProcReturn(" select HLastProc,HFstProc from Sc_ProcessExchangeBillMain a " + @@ -296,8 +359,32 @@ { } + + //=========================淇濆瓨鍚庢帶鍒� + DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "',1 ", "h_p_Sc_StationInBill_AfterSaveCtrl"); + if (ds2 == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + + } + if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0") + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //============================ + oCN.Commit(); - string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn) == true) { if (oSystemParameter.omodel.MES_StationInBill_SaveAutoAddnew == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳 @@ -381,6 +468,63 @@ } #endregion + #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅 绯荤粺鍙傛暟鍒ゆ柇鏄惁缁戝畾閰嶄欢娓呭崟 + [Route("Cj_StationInBill/MES_StationInBillSubBindSource")] + [HttpGet] + public object MES_StationInBillSubBindSource(string HInterID, string HProcExchInterID,string HProcExchEntryID) + { + try + { + //濡傛灉绯荤粺鍙傛暟鍚敤浜� 杩涚珯鍗曠粦瀹氶厤浠舵竻鍗曞垯 浠庣敓浜х敤鏂欐竻鍗曚腑鑾峰彇宸ュ簭BOM鍐欏叆 涓存椂琛紝骞跺姞杞借〃鏍� + Pub_Class.ClsXt_SystemParameter oParam = new ClsXt_SystemParameter(); + string sIsBingLine = oParam.GetSingleSystemParameter("MES_StationInBill_LineBindCtl", ref DBUtility.ClsPub.sExeReturnInfo); + if (sIsBingLine.Trim() == "Y") + { + oCN.RunProc("exec h_p_MES_StationInBillSubBindSource_Insert " + HProcExchInterID.ToString() + " , " + HProcExchEntryID.ToString() + "," + HInterID.ToString() + " "); + + ds = oCN.RunProcReturn($@"select * from +( + select +a.HICMOInterID,a.HICMOEntryID,b.HProcID +from Sc_ProcessExchangeBillMain a with(nolock) +inner join Sc_ProcessExchangeBillSub b with(nolock) on a.HInterID=b.HinterID +Where a.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID} +) a +inner join ( +select a.HICMOInterID,a.HICMOEntryID, b.HProcID +from Sc_PPBomBillMain a with(nolock) +inner join Sc_PPBomBillSub b with(nolock) on a.HInterID=b.HInterID +Where b.HKeyMaterID_Line<>0 +)b on a.HICMOInterID=b.HICMOInterID and a.HICMOEntryID=b.HICMOEntryID and a.HProcID=b.HProcID", "Sc_ProcessExchangeBillMain"); + + if (ds.Tables[0].Rows.Count > 0) { + objJsonResult.Message = "闇�瑕佺粦瀹氶厤浠讹紒"; + } + else + { + objJsonResult.Message = "涓嶉渶瑕佺粦瀹氶厤浠讹紒"; + } + } + else { + objJsonResult.Message = "涓嶉渶瑕佺粦瀹氶厤浠讹紒"; + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.data =null; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅鑾峰彇宸ュ簭淇℃伅 [Route("Cj_StationInBill/txtHProcNo_KeyDown_qiaoyi")] @@ -443,7 +587,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鏈煡璇㈠埌鍑虹珯鍗曟槑缁嗕俊鎭紒"; + objJsonResult.Message = "鏈煡璇㈠埌鑱屽憳淇℃伅锛�"; objJsonResult.data = null; return objJsonResult; } @@ -507,20 +651,36 @@ #region 杩斿洖宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛� [Route("Cj_StationInBill/get_Display")] [HttpGet] - public object get_Display(string sWhere,string user) + public object get_Display(string sWhere,string user,string HBillSubType) { try { List<object> columnNameList = new List<object>(); - //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� - if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Query", 1, false, user)) + + if (HBillSubType == "SUB") { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犳煡璇㈡潈闄�!"; - objJsonResult.data = null; - return objJsonResult; + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟鏃犳煡璇㈡潈闄�!"; + objJsonResult.data = null; + return objJsonResult; + } } + else { + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鍗曟棤鏌ヨ鏉冮檺!"; + objJsonResult.data = null; + return objJsonResult; + } + } + if (sWhere == null || sWhere.Equals("")) { @@ -653,20 +813,36 @@ #region 瀹℃牳 [Route("Cj_StationInBill/set_CheckBill")] [HttpGet] - public object set_CheckBill(int HInterID,string CurUserName) + public object set_CheckBill(int HInterID,string CurUserName,string HBillSubType) { try { - string ModRightNameCheck = "Cj_StationInBill_Check"; - //瀹℃牳鏉冮檺 - if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false,CurUserName)) + string ModRightNameCheck = ""; + + if (HBillSubType == "SUB") { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; - objJsonResult.data = null; - return objJsonResult; + //瀹℃牳鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Check", 1, false, CurUserName)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } } + else { + //瀹℃牳鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Check", 1, false, CurUserName)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鍗曞鏍稿け璐ワ紒鏃犳潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + } + if (HInterID == 0) { objJsonResult.code = "0"; @@ -696,8 +872,31 @@ objJsonResult.data = null; return objJsonResult; } + + //瀹℃牳鍓嶆帶鍒� + string HBillNo = oBill.omodel.HBillNo; + string sql = "exec h_p_Sc_StationInBill_BeforeCheckCtrl " + HInterID + ",'" + HBillNo + "','" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_BeforeCheckCtrl"); + if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴"; + objJsonResult.data = null; + return objJsonResult; + + } + if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; + objJsonResult.data = null; + return objJsonResult; + } + //瀹℃牳 - if (Cj_StationInBillCheckBill(HInterID,CurUserName, ref DBUtility.ClsPub.sExeReturnInfo)) + if (Cj_StationInBillCheckBill(HInterID, HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo)) { objJsonResult.code = "1"; objJsonResult.count = 1; @@ -726,7 +925,7 @@ } //瀹℃牳 - public bool Cj_StationInBillCheckBill(Int64 lngBillKey, string CurUserName, ref string sReturn) + public bool Cj_StationInBillCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn) { try { @@ -754,6 +953,23 @@ else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "鏄�") { } + + //瀹℃牳鍚庢帶鍒� + string sql = "exec h_p_Sc_StationInBill_AfterCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_AfterCheckCtrl"); + 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 = sReturn + " 瀹℃牳鍔熻兘锛�"; oCN.Commit(); return true; @@ -770,20 +986,36 @@ #region 鍙嶅鏍� [Route("Cj_StationInBill/set_AbandonCheck")] [HttpGet] - public object set_AbandonCheck(int HInterID, string CurUserName) + public object set_AbandonCheck(int HInterID, string CurUserName, string HBillSubType) { try { - string ModRightNameCheck = "Cj_StationInBill_Check"; - //瀹℃牳鏉冮檺 - if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName)) + if (HBillSubType == "SUB") { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍙嶅鏍稿け璐ワ紒鏃犳潈闄愶紒"; - objJsonResult.data = null; - return objJsonResult; + //瀹℃牳鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Check", 1, false, CurUserName)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟鍙嶅鏍稿け璐ワ紒鏃犳潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } } + else + { + //瀹℃牳鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Check", 1, false, CurUserName)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鍗曞弽瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + + if (HInterID == 0) { @@ -814,8 +1046,31 @@ objJsonResult.data = null; return objJsonResult; } + + //鍙嶅鏍稿墠鎺у埗 + string HBillNo = oBill.omodel.HBillNo; + string sql = "exec h_p_Sc_StationInBill_BeforeUnCheckCtrl " + HInterID + ",'" + HBillNo + "','" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_BeforeUnCheckCtrl"); + if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�"; + objJsonResult.data = null; + return objJsonResult; + + } + if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; + objJsonResult.data = null; + return objJsonResult; + } + //鍙嶅鏍� - if (Cj_StationInBillAbandonCheckBill(HInterID, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo)) + if (Cj_StationInBillAbandonCheckBill(HInterID, HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo)) { objJsonResult.code = "1"; objJsonResult.count = 1; @@ -843,7 +1098,7 @@ } //鍙嶅鏍� - public bool Cj_StationInBillAbandonCheckBill(Int64 lngBillKey, string CurUserName, ref string sReturn) + public bool Cj_StationInBillAbandonCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn) { if (Cj_StationInBillisUse(lngBillKey, ref sReturn)) { @@ -876,6 +1131,23 @@ else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "鏄�") { } + + //鍙嶅鏍稿悗鎺у埗 + string sql = "exec h_p_Sc_StationInBill_AfterUnCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_AfterUnCheckCtrl"); + 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 = sReturn + "鍙嶅鏍稿姛鑳斤紒"; oCN.Commit(); return true; @@ -908,6 +1180,127 @@ { sReturn = e.Message; throw (e); + } + } + #endregion + + #region 宸ュ簭杩涚珯鍏抽棴/鍙嶅叧闂姛鑳� + [Route("Cj_StationInBill/CloseCj_StationInBill")] + [HttpGet] + public object CloseSc_StationInBill(string HInterID, int Type, string user,string HBillSubType) + { + try + { + if (HBillSubType == "SUB") + { + //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Close", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟鏃犳潈闄愬叧闂�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + else { + //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Close", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鍗曟棤鏉冮檺鍏抽棴!"; + objJsonResult.data = null; + return objJsonResult; + } + } + + + if (string.IsNullOrWhiteSpace(HInterID)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "HInterID涓虹┖锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + ClsPub.CurUserName = user; + BillOld.MvarItemKey = "Sc_StationInBillMain"; + oCN.BeginTran();//寮�濮嬩簨鍔� + + //Type 1 鍏抽棴 2 鍙嶅叧闂� + if (Type == 1) + { + //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴 + DataSet ds; + string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; + ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); + if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) + { + if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!"; + objJsonResult.data = null; + return objJsonResult; + } + } + //鍏抽棴鍗曟嵁 + if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂� + DataSet ds; + string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; + ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); + if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) + { + if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + //鍙嶅叧闂崟鎹� + if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + + oCN.Commit();//鎻愪氦浜嬪姟 + + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鎵ц鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; ; + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; } } #endregion @@ -961,30 +1354,54 @@ #region 鏍规嵁id鍒犻櫎杩涚珯鍗� [Route("Cj_StationInBill/del_StationInBill")] [HttpGet] - public object del_StationInBill(long HInterID,string HDeleteMan) + public object del_StationInBill(long HInterID,string HDeleteMan,string HBillSubType) { try { - //缂栬緫鏉冮檺 - if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Drop", 1, false, HDeleteMan)) + string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О + if (HBillSubType == "SUB") { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犳潈闄愶紒"; - objJsonResult.data = null; - return objJsonResult; - } - DAL.ClsSc_StationInBill oBill = new DAL.ClsSc_StationInBill(); - if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) - { - if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin")) + //缂栬緫鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Drop", 1, false, HDeleteMan)) { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒"; + objJsonResult.Message = "寮�宸ュ崟鏃犳潈闄愶紒"; objJsonResult.data = null; return objJsonResult; } + } + else { + //缂栬緫鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Drop", 1, false, HDeleteMan)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鎺ユ敹鍗曟棤鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + + DAL.ClsSc_StationInBill oBill = new DAL.ClsSc_StationInBill(); + if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) + { + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn)) + { + if (oSystemParameter.omodel.MES_StationInBill_DeleteCtl == "Y") + { + if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin")) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒"; + objJsonResult.data = null; + return objJsonResult; + } + } + } + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DataSet ds; @@ -1026,9 +1443,31 @@ return objJsonResult; } - //鍐欏叆鍒犻櫎鏃ュ織 - string WorkList = "鍒犻櫎杩涚珯鍗曪細" + oBill.omodel.HBillNo; - if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, ref DBUtility.ClsPub.sExeReturnInfo)) + //鍒犻櫎鍓嶆帶鍒�========================================= + string HBillNo = oBill.omodel.HBillNo; + string sql1 = "exec h_p_Sc_StationInBill_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + HDeleteMan + "'"; + ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_BeforeDelCtrl"); + if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴"; + objJsonResult.data = null; + return objJsonResult; + } + + if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; + objJsonResult.data = null; + return objJsonResult; + } + //================================================================================== + + + if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, HBillNo, "h_p_Sc_StationInBill_AfterDelCtrl", HDeleteMan, ref DBUtility.ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -1038,6 +1477,10 @@ } else { + //鍐欏叆鍒犻櫎鏃ュ織 + LogService.Write("鐢ㄦ埛:" + HDeleteMan + ",鏃ユ湡:" + DateTime.Now + ",鍒犻櫎宸ュ簭杩涚珯鍗曟嵁:" + oBill.omodel.HBillNo); + oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + HDeleteMan + "','" + HComputerName + "','" + "鍒犻櫎宸ュ簭杩涚珯鍗曟嵁锛�" + oBill.omodel.HBillNo + "','LMES-宸ュ簭杩涚珯妯″潡','" + DBUtility.ClsPub.IPAddress + "','鍒犻櫎鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo); + objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "鍒犻櫎鎴愬姛锛�"; -- Gitblit v1.9.1