From c62aab5f09d8393619c6a0819e1bffdc2aa29085 Mon Sep 17 00:00:00 2001 From: black-goat-me <226547893@qq.com> Date: 星期五, 19 五月 2023 09:29:08 +0800 Subject: [PATCH] 1 --- WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs | 258 ++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 192 insertions(+), 66 deletions(-) diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs index 187c835..b582041 100644 --- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs +++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs @@ -18,6 +18,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[鏂板鍗曟嵁-淇濆瓨鎸夐挳] /// <summary> @@ -373,6 +374,112 @@ //} #endregion + #region[鏂板鍗曟嵁-淇濆瓨鎸夐挳-鎵归噺澶嶅埗] + /// <summary> + /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳 + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("Sc_ProcessExchangeBill/AddBill_Copy_pl")] + [HttpPost] + public object AddBill_Copy_pl([FromBody] JObject sMainSub) + { + var _value = sMainSub["sMainSub"].ToString(); + string msg1 = _value.ToString(); + string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + int msg2 = int.Parse(sArray[0].ToString()); + string msg3 = sArray[1].ToString(); + string msg4 = sArray[2].ToString(); + string msg5 = sArray[3].ToString(); + + string UserName = ""; + ListModels oListModels = new ListModels(); + string sReturn = ""; + try + { + if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, msg4)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + + DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); + DBUtility.ClsPub.HOrgID = long.Parse(msg5); + DBUtility.ClsPub.CurUserName = msg4; + oBill.ShowBill(long.Parse(msg3), ref sReturn); + + ds = oCN.RunProcReturn("select isnull(sum(HQty),0) from Sc_ProcessExchangeBillMain where HICMOBillNo='" + oBill.omodel.HICMOBillNo + "' and HInterID <>"+ oBill.omodel.HInterID, "Sc_ProcessExchangeBillMain"); + var HQty = double.Parse(ds.Tables[0].Rows[0][0].ToString()); + int num = 0; + //鍗曟嵁鏁伴噺 * 寮犳暟 + 宸茬敓鎴愪笉鍖呮嫭鏈崟鎹殑鏁伴噺 >鐢熶骇璁㈠崟鏁伴噺 + if ((oBill.omodel.HQty * msg2) + HQty > oBill.omodel.HPlanQty) + { + if (((oBill.omodel.HPlanQty - oBill.omodel.HQty - HQty) % oBill.omodel.HQty) == 0) + { + num = (int)((oBill.omodel.HPlanQty - oBill.omodel.HQty - HQty) / oBill.omodel.HQty); + } else + { + num = (int)((oBill.omodel.HPlanQty - oBill.omodel.HQty - HQty) / oBill.omodel.HQty); + num += 1; + } + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏈�澶氬彲浠ュ鍒�" + num + "寮狅紒"; + objJsonResult.data = null; + return objJsonResult; + } + + if (num == 0) { + double HPlanQty = oBill.omodel.HPlanQty - oBill.omodel.HQty - HQty; + for (int i = 0; i < msg2; i++) + { + oBill.omodel.HBillNo = DBUtility.ClsPub.CreateBillCode("3772", ref DBUtility.ClsPub.sExeReturnInfo, true); + oBill.omodel.HDate =DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); + oBill.omodel.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); + oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); + oBill.omodel.HChecker = ""; + oBill.omodel.HCheckDate = ""; + oBill.omodel.HMaker = msg4; + + if (HPlanQty < oBill.omodel.HQty) + { + oBill.omodel.HQty = HPlanQty; + } + + //淇濆瓨瀹屾瘯鍚庡鐞� + bool bResult; + + bResult = oBill.AddBill(ref sReturn); + if (bResult) + { + num++; + HPlanQty -= oBill.omodel.HQty; + } + } + + } + + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "澶嶅埗浜�" + num + "寮犲崟鎹紒"; + 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[鎵归噺鏂板鍗曟嵁-淇濆瓨鎸夐挳] /// <summary> /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳 @@ -698,7 +805,7 @@ /// <returns></returns> [Route("Sc_ProcessExchangeBill/DeltetProcessExchangeBillByID")] [HttpGet] - public object DeltetProcessExchangeBillByID(string HInterID,int HPRDORGID, string user) + public object DeltetProcessExchangeBillByID(string HInterID, int HPRDORGID, string user) { //缂栬緫鏉冮檺 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Drop", 1, false, user)) @@ -710,69 +817,91 @@ return objJsonResult; } - - Int64 lngBillKey = 0; - lngBillKey = DBUtility.ClsPub.isLong(HInterID); - if (lngBillKey == 0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍗曟嵁ID涓虹┖锛�"; - objJsonResult.data = null; - return objJsonResult; - } - - - //鍒犻櫎鍓嶅垽鏂叧鑱旀暟閲� - SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); - DataSet ds; - ds = oCn.RunProcReturn("select ct from ( " + - " select 1 ct from Sc_StationInBillMain Where HProcExchInterID=" + lngBillKey + " " + - " union all " + - " select 1 from Sc_StationOutBillMain Where HProcExchInterID=" + lngBillKey + " ) as a ", "Sc_ProcExchReportSub"); - if (ds.Tables[0].Rows.Count != 0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "娴佽浆鍗″凡缁忔湁涓嬫父杩涘嚭绔欏崟鍚庯紝涓嶅厑璁稿垹闄わ紒"; - objJsonResult.data = null; - return objJsonResult; - } - - DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); - DBUtility.ClsPub.HOrgID = HPRDORGID; - if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) - { - if (oBill.omodel.HBillStatus > 1) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵��,涓嶈兘鍒犻櫎锛�"; - objJsonResult.data = null; - return objJsonResult; - } - if (oBill.omodel.HChecker != "") - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�"; - objJsonResult.data = null; - return objJsonResult; - } - bool IsDete = oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); - if (IsDete) + string[] HBillNo = HInterID.Split(','); + + foreach (var item in HBillNo) + { + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(item); + + DBUtility.ClsPub.HOrgID = HPRDORGID; + if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) { - objJsonResult.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; - objJsonResult.data = null; - return objJsonResult; + if (lngBillKey == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍙�:"+ oBill .omodel.HBillNo+ "鍗曟嵁ID涓虹┖锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + //鍒犻櫎鍓嶅垽鏂叧鑱旀暟閲� + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + DataSet ds; + ds = oCn.RunProcReturn("select ct from ( " + + " select 1 ct from Sc_StationInBillMain Where HProcExchInterID=" + lngBillKey + " " + + " union all " + + " select 1 from Sc_StationOutBillMain Where HProcExchInterID=" + lngBillKey + " ) as a ", "Sc_ProcExchReportSub"); + if (ds.Tables[0].Rows.Count != 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "娴佽浆鍗″凡缁忔湁涓嬫父杩涘嚭绔欏崟鍚庯紝涓嶅厑璁稿垹闄わ紒"; + objJsonResult.data = null; + return objJsonResult; + } + + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn)) + { + if (oSystemParameter.omodel.Sc_ProcessExchangeBill_DeleterAndMakerMustSame == "Y") + { + if (oBill.omodel.HMaker != user && (user != "admin" && user != "Admin")) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒"; + objJsonResult.data = null; + return objJsonResult; + } + } + } + + + if (oBill.omodel.HBillStatus > 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵��,涓嶈兘鍒犻櫎锛�"; + objJsonResult.data = null; + return objJsonResult; + } + if (oBill.omodel.HChecker != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍙�:" + oBill.omodel.HBillNo + "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�"; + objJsonResult.data = null; + return objJsonResult; + } } else { - + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鏈壘鍒�"; + objJsonResult.data = null; + return objJsonResult; + } + } + foreach (var item in HBillNo) + { + bool IsDete = oBill.DeleteBill(long.Parse(item), ref DBUtility.ClsPub.sExeReturnInfo); + if (!IsDete) + { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; @@ -780,14 +909,11 @@ return objJsonResult; } } - else - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍗曟嵁鏈壘鍒�"; - objJsonResult.data = null; - return objJsonResult; - } + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; } #endregion -- Gitblit v1.9.1