From 8affd199e02bd37f0dcb16447d1fbcaa34bfa2f8 Mon Sep 17 00:00:00 2001 From: lan <lan@DESKTOP-MG88OFJ> Date: 星期四, 30 五月 2024 10:39:43 +0800 Subject: [PATCH] 1 --- WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs | 633 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 475 insertions(+), 158 deletions(-) diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs index cb4170a..ee29387 100644 --- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs +++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs @@ -99,12 +99,14 @@ public long HSouceInterID = 0;//HSourceInterIDCol public long HSourceEntryID = 0;//HSourceEntryIDCol public int? 鍙枡鏁伴噺 = 0;//HBHGQtyCol + public int? 閰嶅鏁伴噺 = 0; public int? 宸插彨鏂欐暟閲� = 0;//HBHGQtyCol public int? 宸查厤閫佹暟閲� = 0;//HBHGQtyCol public double? 閫�鏂欐暟閲� = 0;//閫�鏂欐暟閲� public long HSTOCKID = 0;//HSTOCKID public string 閫�鏂欏師鍥� { get; set; }//閫�鏂欏師鍥� public int HMaterialID = 0; //HMaterialIDCol + public string 鐗╂枡浠g爜 = ""; public string HSourceBillNo { get; set; }//HSourceBillNoCol public int 璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺 = 0;//HKFQtyKYCol public int 璋冨嚭浠撳簱搴撳瓨鏁伴噺 = 0;//HKFQtySCol @@ -188,29 +190,69 @@ { if (listCa[i].HMaterialID != 0 && listCa[i].鍙枡鏁伴噺 > 0) { + var Hqty = 0.0; + var TuiHqty = 0.0; + //褰撳墠鍗曟嵁宸插彨鏂� 鍜� 宸查��鏂欐暟閲� + ds = oCN.RunProcReturn($@" + select isnull(a.HQty,0) 宸插彨鏂欐暟閲�,isnull(b.HQty,0) 宸查��鏂欑敵璇锋暟閲� from ( + select sum(b.HQty) HQty,c.HNumber ,b.HSourceBillNo + from JIT_CallGoodsBillMain a + join JIT_CallGoodsBillSub b on a.HInterID=b.HInterID + left join Gy_Material c on b.HMaterID=c.HItemID + where b.HSourceBillNo='{listCa[i].HSourceBillNo}' + group by c.HNumber,b.HSourceBillNo + ) a + left join ( + select sum(b.HQty) HQty,c.HNumber,b.HSourceBillNo + from JIT_CallGoodsBackRequestBillMain a + inner join JIT_CallGoodsBackRequestBillSub b on a.HInterID=b.HInterID + left join Gy_Material c on b.HMaterID=c.HItemID + where b.HSourceBillNo='{listCa[i].HSourceBillNo}' + group by c.HNumber,b.HSourceBillNo + ) b on a.HNumber=b.HNumber and a.HSourceBillNo=b.HSourceBillNo where a.HNumber='{listCa[i].鐗╂枡浠g爜}'", "JIT_CallGoodsBillMain"); + + if (ds.Tables[0].Rows.Count > 0) + { + Hqty = double.Parse(ds.Tables[0].Rows[0]["宸插彨鏂欐暟閲�"].ToString()); + TuiHqty = double.Parse(ds.Tables[0].Rows[0]["宸查��鏂欑敵璇锋暟閲�"].ToString()); + } + if (listCa[i].鍙枡鏁伴噺 > listCa[i].璁″垝鍙戞枡鏁伴噺) { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鍙枡鏁伴噺澶т簬璁″垝鍙戞枡鏁伴噺!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛屽彨鏂欐暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!"; objJsonResult.data = null; return objJsonResult; } - if (listCa[i].搴撳瓨鏁伴噺 == 0 && listCa[i].鍙枡鏁伴噺 > 0) + if((listCa[i].鍙枡鏁伴噺 + Hqty - TuiHqty)> listCa[i].璁″垝鍙戞枡鏁伴噺) { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "搴撳瓨鏁伴噺涓�0,鏃犳硶鍙枡!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛屽彨鏂欐�绘暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!"; objJsonResult.data = null; return objJsonResult; } - if (listCa[i].鍙枡鏁伴噺 > listCa[i].搴撳瓨鏁伴噺) + ds = oCN.RunProcReturn("select * from h_v_JIT_WarehouseList where 浠撳簱ID=" + listCa[i].璋冨嚭浠撳簱id + " and 鐗╂枡缂栫爜 = '" + listCa[i].鐗╂枡浠g爜 + "' and 搴撳瓨缁勭粐=" + listCa[i].HOutOrgID, "h_v_JIT_WarehouseList"); + + var HSCWHIDCount= double.Parse(ds.Tables[0].Rows[0]["璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺"].ToString()); + + if (HSCWHIDCount == 0 && listCa[i].鍙枡鏁伴噺 > 0) { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "搴撳瓨鏁伴噺灏忎簬鍙枡鏁伴噺,鏃犳硶鍙枡!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛屽簱瀛樻暟閲忎负0,鏃犳硶鍙枡!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].鍙枡鏁伴噺 > HSCWHIDCount) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊(i + 1)}琛屽簱瀛樻暟閲忓皬浜庡彨鏂欐暟閲�,鏃犳硶鍙枡!"; objJsonResult.data = null; return objJsonResult; } @@ -219,7 +261,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "璇烽�夋嫨璋冨叆浠撳簱!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨叆浠撳簱!"; objJsonResult.data = null; return objJsonResult; } @@ -228,7 +270,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "璇烽�夋嫨璋冨嚭浠撳簱!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨嚭浠撳簱!"; objJsonResult.data = null; return objJsonResult; } @@ -237,19 +279,10 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "璋冨嚭浠撳簱鍜岃皟鍏ヤ粨搴撲笉鑳戒竴鏍�!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛岃皟鍑轰粨搴撳拰璋冨叆浠撳簱涓嶈兘涓�鏍�!"; objJsonResult.data = null; return objJsonResult; } - - //if (listCa[i].璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺 == 0) - //{ - // objJsonResult.code = "0"; - // objJsonResult.count = 0; - // objJsonResult.Message = "璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺涓�0!"; - // objJsonResult.data = null; - // return objJsonResult; - //} j = 1; @@ -304,7 +337,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡锛屽叾浠栬鏁板彨鏂欐垚鍔�"; + objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡"; objJsonResult.data = null; return objJsonResult; } @@ -386,6 +419,7 @@ catch (Exception e) { sReturn = e.Message; + oCN.RollBack(); throw (e); } } @@ -401,7 +435,7 @@ string msg2 = sArray[0].ToString(); DBUtility.ClsPub.CurUserName = sArray[1].ToString(); string HOrgID = sArray[2].ToString(); - bool flag = false; + json flag =new json(); try { @@ -425,47 +459,17 @@ { if (listCa[i].閫�鏂欐暟閲� > 0) { - if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸查厤閫佹暟閲�&& listCa[i].宸查厤閫佹暟閲�>0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!"; - objJsonResult.data = null; - return objJsonResult; - } - - ds = oCN.RunProcReturn("select isnull(sum(d.HQty),0) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " + - $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub"); - - if ((double.Parse(ds.Tables[0].Rows[0][0].ToString()==""?"0": ds.Tables[0].Rows[0][0].ToString()) +listCa[i].閫�鏂欐暟閲�) > listCa[i].宸插彨鏂欐暟閲�) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = $"宸茬粡閫�鏂欐暟閲�:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},鍙��鏂欐暟閲忎负:{(listCa[i].宸插彨鏂欐暟閲� - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!"; - objJsonResult.data = null; - return objJsonResult; - } - - if (listCa[i].璋冨叆浠撳簱id == 0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "璇烽�夋嫨璋冨叆浠撳簱!"; - objJsonResult.data = null; - return objJsonResult; - } - - if (listCa[i].璋冨嚭浠撳簱id == 0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "璇烽�夋嫨璋冨嚭浠撳簱!"; - objJsonResult.data = null; - return objJsonResult; - } - - flag = AddICStockTuiBill(listCa[i], "666601", "涓嶈壇鍝侀��鏂�", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo); + flag = (json)AddICStockTuiBill(listCa[i], "666601", "涓嶈壇鍝侀��鏂�", HOrgID); j = 1; + + if (flag.code == "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = objJsonResult.Message; + objJsonResult.data = null; + return objJsonResult; + } } } if (j == 0) @@ -477,22 +481,11 @@ return objJsonResult; } - if (flag) - { - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "涓嶈壇鍝侀��鏂欐垚鍔�!"; - objJsonResult.data = null; - return objJsonResult; - } - else - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "涓嶈壇鍝侀��鏂欏け璐�!"; - objJsonResult.data = null; - return objJsonResult; - } + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "涓嶈壇鍝侀��鏂欐垚鍔�!"; + objJsonResult.data = null; + return objJsonResult; } catch (Exception e) { @@ -505,10 +498,62 @@ } //鏂板 - public bool AddICStockTuiBill(CallGoodsBill listCa,string HBillType,string HBackType,string HOrgID, ref string sReturn) + public object AddICStockTuiBill(CallGoodsBill listCa,string HBillType,string HBackType,string HOrgID) { try { + + + if (listCa.閫�鏂欐暟閲� > listCa.宸查厤閫佹暟閲� && listCa.宸查厤閫佹暟閲� > 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa.璋冨叆浠撳簱id == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "璇烽�夋嫨璋冨叆浠撳簱!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa.璋冨嚭浠撳簱id == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "璇烽�夋嫨璋冨嚭浠撳簱!"; + objJsonResult.data = null; + return objJsonResult; + } + var THqty = 0.0; + ds = oCN.RunProcReturn($@" + select sum(b.HQty) HQty,c.HNumber,b.HSourceBillNo + from JIT_CallGoodsBackRequestBillMain a + inner join JIT_CallGoodsBackRequestBillSub b on a.HInterID=b.HInterID + left join Gy_Material c on b.HMaterID=c.HItemID + where c.HNumber='{listCa.鐗╂枡浠g爜}' and b.HSourceBillNo='{listCa.HSourceBillNo}' + group by c.HNumber,b.HSourceBillNo + ", "JIT_CallGoodsBackRequestBillMain"); + + if (ds.Tables[0].Rows.Count > 0) + { + THqty = double.Parse(ds.Tables[0].Rows[0]["HQty"].ToString()); + } + + if ((listCa.閫�鏂欐暟閲� + THqty) > listCa.宸查厤閫佹暟閲�) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绱閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!"; + objJsonResult.data = null; + return objJsonResult; + } + Int64 lngBillKey = listCa.HSouceInterID == 0 ? 0 : listCa.HSouceInterID; Int64 lngBillKeyEntry = listCa.HSourceEntryID == 0 ? 0 : listCa.HSourceEntryID; double HQty = (double)(listCa.閫�鏂欐暟閲� == 0 ? 0 : listCa.閫�鏂欐暟閲�); @@ -534,13 +579,17 @@ $" '{HBillType}','{DateTime.Now}','{HBillNo}',{HOrgID},'{ DBUtility.ClsPub.CurUserName}','{DateTime.Now}','','',0,0,0,''," + $" 0, 0, {listCa.HOutOrgID}, {HOrgID}, 0,'{HBackType}')"); - sReturn = "鏂板鍗曟嵁鎴愬姛锛�"; oCN.Commit(); - return true; + + objJsonResult.code = "1"; + objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�"; + return objJsonResult; } catch (Exception e) { - sReturn = e.Message; + objJsonResult.code = "0"; + objJsonResult.Message = e.Message; ; + return objJsonResult; throw (e); } } @@ -573,36 +622,23 @@ List<CallGoodsBill> listCa = new List<CallGoodsBill>(); //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎 listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString()); - bool flag = false; + json flag = new json(); int j = 0; for (int i = 0; i < listCa.Count; i++) { if (listCa[i].閫�鏂欐暟閲� > 0) { - if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸查厤閫佹暟閲� && listCa[i].宸查厤閫佹暟閲� > 0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!"; - objJsonResult.data = null; - return objJsonResult; - } - - ds = oCN.RunProcReturn("select sum(d.HQty) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " + - $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub"); - - if ((double.Parse(ds.Tables[0].Rows[0][0].ToString() == "" ? "0" : ds.Tables[0].Rows[0][0].ToString()) + listCa[i].閫�鏂欐暟閲�) > listCa[i].宸插彨鏂欐暟閲�) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = $"宸茬粡閫�鏂欐暟閲�:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},鍙��鏂欐暟閲忎负:{(listCa[i].宸插彨鏂欐暟閲� - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!"; - objJsonResult.data = null; - return objJsonResult; - } - - flag = AddICStockTuiBill(listCa[i], "666602", " 浣欓噺閫�鏂�", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo); + flag =(json)AddICStockTuiBill(listCa[i], "666602", " 浣欓噺閫�鏂�", HOrgID); j = 1; + if (flag.code == "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = objJsonResult.Message; + objJsonResult.data = null; + return objJsonResult; + } } } if (j == 0) @@ -614,23 +650,11 @@ return objJsonResult; } - if (flag) - { - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "浣欓噺閫�鏂欐垚鍔�!"; - objJsonResult.data = null; - return objJsonResult; - } - else - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "浣欓噺閫�鏂欏け璐�!"; - objJsonResult.data = null; - return objJsonResult; - } - + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "浣欓噺閫�鏂欐垚鍔�!"; + objJsonResult.data = null; + return objJsonResult; } catch (Exception e) { @@ -671,35 +695,22 @@ //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎 listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString()); - bool flag = false; + json flag = new json(); int j = 0; for (int i = 0; i < listCa.Count; i++) { if (listCa[i].閫�鏂欐暟閲� > 0) { - if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸查厤閫佹暟閲� && listCa[i].宸查厤閫佹暟閲� > 0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!"; - objJsonResult.data = null; - return objJsonResult; - } - - ds = oCN.RunProcReturn("select sum(d.HQty) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " + - $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub"); - - if ((double.Parse(ds.Tables[0].Rows[0][0].ToString() == "" ? "0" : ds.Tables[0].Rows[0][0].ToString()) + listCa[i].閫�鏂欐暟閲�) > listCa[i].宸插彨鏂欐暟閲�) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = $"宸茬粡閫�鏂欐暟閲�:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},鍙��鏂欐暟閲忎负:{(listCa[i].宸插彨鏂欐暟閲� - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!"; - objJsonResult.data = null; - return objJsonResult; - } - - flag = AddICStockTuiBill(listCa[i], "666603", "鎶ュ簾閫�鏂�", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo); + flag =(json) AddICStockTuiBill(listCa[i], "666603", "鎶ュ簾閫�鏂�", HOrgID); j = 1; + if (flag.code == "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = objJsonResult.Message; + objJsonResult.data = null; + return objJsonResult; + } } } if (j == 0) @@ -711,22 +722,11 @@ return objJsonResult; } - if (flag) - { - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "鎶ュ簾閫�鏂欐垚鍔�!"; - objJsonResult.data = null; - return objJsonResult; - } - else - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鎶ュ簾閫�鏂欏け璐�!"; - objJsonResult.data = null; - return objJsonResult; - } + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鎶ュ簾閫�鏂欐垚鍔�!"; + objJsonResult.data = null; + return objJsonResult; } catch (Exception e) { @@ -773,6 +773,11 @@ { //鎷f枡閰嶉�� 涓嬫煡 ds = oCN.RunProcReturn($"exec h_p_JIT_ComplementGoodsBillList_DownQuery '{com.HSouceInterID}',{com.HSourceEntryID}", "h_p_JIT_ComplementGoodsBillList_DownQuery"); + } + else if (com.Type == 3772) + { + //鐢熶骇璁㈠崟 涓嬫煡 宸ュ簭娴佽浆鍗� + ds = oCN.RunProcReturn($"select * from h_v_Sc_ProcessExchangeBillQuery where HICMOInterID='{com.HSouceInterID}' and HICMOEntryID={com.HSourceEntryID} and HBillSubType<>'SUB'", "h_v_Sc_ProcessExchangeBillQuery"); } //娣诲姞鍒楀悕 @@ -946,5 +951,317 @@ } #endregion + #region 鐢熶骇鍙枡骞冲彴 浠撳簱搴撳瓨鍒楄〃 + + [Route("Sc_ComplementGoodBill/GetWarehouseList_JIT")] + [HttpGet] + public object GetWarehouseList_JIT(string sWhere) + { + try + { + ds = oCN.RunProcReturn("select * from h_v_JIT_WarehouseList where 1=1 "+ sWhere, "h_v_JIT_WarehouseList"); + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鐢熶骇鍙枡骞冲彴 鏈敓鎴愭嫞鏂欑敵璇峰崟 鏈敓鎴愰��鏂欏崟 + [Route("Sc_ComplementGoodBill/NotGeneratedMaterialList")] + [HttpGet] + public object NotGeneratedMaterialList(string sWhere, string user) + { + try + { + //鏌ヨ鍙枡鍗� 鏈敓鎴� 鎷f枡鍗� 鐨勬潯鏁� + //鏌ヨ閫�鏂欑敵璇峰崟 鏈敓鎴� 閫�鏂欏崟鐨� 鏉℃暟 + ds = oCN.RunProcReturn($@"select count(*) 鏈敓鎴� from JIT_CallGoodsBackRequestBillMain as a + inner join JIT_CallGoodsBackRequestBillSub as b on a.HInterID=b.HInterID + where a.HISCheck =0 and a.HOrgID={sWhere} + and a.HMaker = '{user}' + union all + select count(*) 鏈敓鎴� from JIT_CallGoodsBillMain a + join JIT_CallGoodsBillSub b on a.HInterID=b.HInterID + where b.HPSQty=0 and a.HOrgID={sWhere} + and a.HMaker = '{user}'", "JIT_CallGoodsBackRequestBillMain"); + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鐢熶骇鍙枡骞冲彴 閰嶅鍙枡鏌ヨ + + [Route("Sc_ComplementGoodBill/JIT_ComplementGoodPT")] + [HttpGet] + public object JIT_ComplementGoodPT(string sWhere,string user) + { + try + { + ds = oCN.RunProcReturn("exec h_p_JIT_ComplementGoodPT " + sWhere, "h_p_JIT_ComplementGoodPT"); + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鐢熶骇鍙枡骞冲彴 閰嶅鍙枡鏂板 + [Route("Sc_ComplementGoodBill/InsertCallGoodsBill_PTJL")] + [HttpPost] + public object InsertCallGoodsBill_PTJL([FromBody] JObject msg) + { + var _value = msg["msg"].ToString(); + string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + string msg2 = sArray[0].ToString(); + string user = sArray[1].ToString(); + omodel.HPRDORGID = long.Parse(sArray[2].ToString()); + + try + { + if (!DBUtility.ClsPub.Security_Log("Cj_CallGoodsBill_Edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犱繚瀛樻潈闄�"; + objJsonResult.data = null; + return objJsonResult; + } + msg2 = msg2.Replace("\\", ""); + msg2 = msg2.Replace("\n", ""); + + List<CallGoodsBill> listCa = new List<CallGoodsBill>(); + //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎 + listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString()); + + var flag = false; + var txt = ""; + + for (int i = 0; i < listCa.Count; i++) + { + if (listCa[i].閰嶅鏁伴噺 <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊i + 1}琛岄厤濂楁暟閲忓皬浜�0锛屾棤娉曞彨鏂�!"; + objJsonResult.data = null; + return objJsonResult; + } + + ds = oCN.RunProcReturn("select * from h_v_JIT_WarehouseList where 浠撳簱ID=" + listCa[i].璋冨嚭浠撳簱id + " and 鐗╂枡缂栫爜 = '" + listCa[i].鐗╂枡浠g爜 + "' and 搴撳瓨缁勭粐=" + listCa[i].HOutOrgID, "h_v_JIT_WarehouseList"); + + var HSCWHIDCount = double.Parse(ds.Tables[0].Rows[0]["璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺"].ToString()); + + if (HSCWHIDCount == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊i + 1}琛屽簱瀛樻暟閲忎负0,鏃犳硶鍙枡!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].閰嶅鏁伴噺 > HSCWHIDCount) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊i+1}琛屽簱瀛樻暟閲忓皬浜庡彨鏂欐暟閲�,鏃犳硶鍙枡!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].璋冨叆浠撳簱id == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊i + 1}琛岃閫夋嫨璋冨叆浠撳簱!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].璋冨嚭浠撳簱id == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊i + 1}琛岃閫夋嫨璋冨嚭浠撳簱!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].璋冨嚭浠撳簱id == listCa[i].璋冨叆浠撳簱id) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊i + 1}琛岃皟鍑轰粨搴撳拰璋冨叆浠撳簱涓嶈兘涓�鏍�!"; + objJsonResult.data = null; + return objJsonResult; + } + + var Hqty = 0.0; + var TuiHqty = 0.0; + //褰撳墠鍗曟嵁宸插彨鏂� 鍜� 宸查��鏂欐暟閲� + ds = oCN.RunProcReturn($@" + select isnull(a.HQty,0) 宸插彨鏂欐暟閲�,isnull(b.HQty,0) 宸查��鏂欑敵璇锋暟閲� from ( + select sum(b.HQty) HQty,c.HNumber ,b.HSourceBillNo + from JIT_CallGoodsBillMain a + join JIT_CallGoodsBillSub b on a.HInterID=b.HInterID + left join Gy_Material c on b.HMaterID=c.HItemID + where b.HSourceBillNo='{listCa[i].HSourceBillNo}' + group by c.HNumber,b.HSourceBillNo + ) a + left join ( + select sum(b.HQty) HQty,c.HNumber,b.HSourceBillNo + from JIT_CallGoodsBackRequestBillMain a + inner join JIT_CallGoodsBackRequestBillSub b on a.HInterID=b.HInterID + left join Gy_Material c on b.HMaterID=c.HItemID + where b.HSourceBillNo='{listCa[i].HSourceBillNo}' + group by c.HNumber,b.HSourceBillNo + ) b on a.HNumber=b.HNumber and a.HSourceBillNo=b.HSourceBillNo where a.HNumber='{listCa[i].鐗╂枡浠g爜}'", "JIT_CallGoodsBillMain"); + + if (ds.Tables[0].Rows.Count > 0) + { + Hqty = double.Parse(ds.Tables[0].Rows[0]["宸插彨鏂欐暟閲�"].ToString()); + TuiHqty = double.Parse(ds.Tables[0].Rows[0]["宸查��鏂欑敵璇锋暟閲�"].ToString()); + } + + if (listCa[i].閰嶅鏁伴噺 > listCa[i].璁″垝鍙戞枡鏁伴噺) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊i + 1}琛屽彨鏂欐暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!"; + objJsonResult.data = null; + return objJsonResult; + } + + if ((listCa[i].閰嶅鏁伴噺 + Hqty - TuiHqty) > listCa[i].璁″垝鍙戞枡鏁伴噺) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊i + 1}琛屽彨鏂欐�绘暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!"; + objJsonResult.data = null; + return objJsonResult; + } + + + var txtHBillNo = DBUtility.ClsPub.CreateBillCode_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿 + omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo); + omodel.HYear = DateTime.Now.Year; + omodel.HPeriod = DateTime.Now.Month; + //鍥哄畾璧嬪��================================= + omodel.HBillNo = txtHBillNo.Trim(); //鍦ㄨ祴鍊肩被鍓嶅氨澶勭悊濂藉瓧绗︿覆鍜屾暟瀛� + omodel.HDate = DateTime.Now; + omodel.HMaker = user; + omodel.HMakeDate = DateTime.Today.ToString(); + omodel.HUpDater = ""; + omodel.HUpDateDate = ""; + omodel.HCloseType = false; + //鏄庣粏绫昏祴鍊� + + //鍥哄畾璧嬪��======================================== + oSub.HEntryID = i + 1; + oSub.HSourceInterID = listCa[i].HSouceInterID; + oSub.HSourceEntryID = listCa[i].HSourceEntryID; + oSub.HSourceBillType = "88"; + oSub.HSourceBillNo = listCa[i].HSourceBillNo; + oSub.HQty = double.Parse(listCa[i].閰嶅鏁伴噺.ToString()); + + oSub.HMaterID = listCa[i].HMaterialID; + oSub.HMaterNumber = listCa[i].HMaterialNumberCol; + oSub.HModel = listCa[i].HMaterialModelCol; + oSub.HWHID = int.Parse(listCa[i].璋冨叆浠撳簱id.ToString()); + oSub.HSCWHID = int.Parse(listCa[i].璋冨嚭浠撳簱id.ToString()); + oSub.HProcName = listCa[i].HProcNameCol; + oSub.HProcID = listCa[i].HProcID; + oSub.HOutOrgID = listCa[i].HOutOrgID; + oSub.HICMOBillNo = listCa[i].HICMOBillNo; + oSub.HICMOInterID = listCa[i].HICMOInterID; + oSub.HICMOEntryID = listCa[i].HICMOEntryID; + oSub.HDeptID = listCa[i].HDeptID; + oSub.HPlanQty = listCa[i].璁″垝鍙戞枡鏁伴噺; + oSub.HSeOrderNo = listCa[i].閿�鍞鍗曞彿; + oSub.HBPlanDate = listCa[i].璁″垝寮�宸ユ棩鏈�; + + + flag = AddBill(ref DBUtility.ClsPub.sExeReturnInfo); + + if (flag == false) + { + txt = txt + DBUtility.ClsPub.isStrNull(i + 1) + "銆�"; + } + + } + if (txt != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (flag == true) + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙枡鎴愬姛!"; + objJsonResult.data = null; + return objJsonResult; + } + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = null; + 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 } } \ No newline at end of file -- Gitblit v1.9.1