From c14d65aa45f6fe0eedd558bc0de345a0ccd6e22a Mon Sep 17 00:00:00 2001 From: yusijie <ysj@hz-kingdee.com> Date: 星期四, 25 五月 2023 16:43:41 +0800 Subject: [PATCH] 1 --- WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs | 673 +++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 524 insertions(+), 149 deletions(-) diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs index 6e9855f..3f53aa9 100644 --- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs +++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs @@ -40,6 +40,7 @@ public DateTime HEndDate { get; set; }//缁撴潫鏃堕棿 public int ps { get; set; }//浠呮樉绀烘湭瀹屽叏閰嶉�� public string user { get; set; }//褰撳墠鐧诲綍浜� + public string Arbitrarily { get; set; }//浠绘剰鍙傛暟 } [Route("Sc_ComplementGoodBill/ComplementGoodBillList")] @@ -69,7 +70,7 @@ ComplementGoodBill com = JsonConvert.DeserializeObject<ComplementGoodBill>(sWhere.ToString()); ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_Query '{com.HSeOrderBillNo}','{com.DepartmentName}','{com.MaterialNumber}','{com.MaterialName}'," + - $"'{com.MaterialModel}','{com.HICMOBillNo}','{com.CPNumber}','{com.CPName}','{com.CPModel}','{com.HBeginDate}','{com.HEndDate.AddDays(1).AddSeconds(-1)}'," + + $"'{com.MaterialModel}','{com.HICMOBillNo}','{com.CPNumber}','{com.CPName}','{com.CPModel}'," + $"{com.ps},{com.Organization},'{com.user}' ", "h_p_JIT_CallGoodsPlatForm_Query"); objJsonResult.code = "1"; @@ -98,18 +99,21 @@ 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 public double 璁″垝鍙戞枡鏁伴噺 = 0;//HPlanQtyCol public int HWHID = 0;//HWHIDCol public int? 璋冨嚭浠撳簱id = 0;//璋冨嚭浠撳簱id + public int? 璋冨叆浠撳簱id = 0;//璋冨叆浠撳簱id public string HMaterialNumberCol { get; set; } public string HMaterialModelCol { get; set; } public string HProcID { get; set; }//HProcIDCol @@ -119,10 +123,10 @@ public long HICMOInterID = 0;// HICMOInterIDCol public long HICMOEntryID = 0;// HICMOEntryIDCol public long HDeptID = 0;//HDeptID + public long 搴撳瓨鏁伴噺 = 0; public double HBHGQtyCol = 0; public string 閿�鍞鍗曞彿 { get; set; }//HSeOrderNOCol public DateTime? 璁″垝寮�宸ユ棩鏈� = null;//HBPlanDateCol - } //涓存椂琛� 鍙枡瀛愯〃 @@ -139,6 +143,7 @@ public string HSeOrderNo; public string HSeOrderBillNo; public int HWHID = 0; + public int HSCWHID = 0; public long HOutOrgID = 0; public long HICMOInterID = 0; public long HICMOEntryID = 0; @@ -185,11 +190,96 @@ { 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].鍙枡鏁伴噺 + Hqty - TuiHqty)> listCa[i].璁″垝鍙戞枡鏁伴噺) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊(i + 1)}琛屽彨鏂欐�绘暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!"; + 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 && listCa[i].鍙枡鏁伴噺 > 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].鍙枡鏁伴噺 > 0 && listCa[i].璋冨叆浠撳簱id == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨叆浠撳簱!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].鍙枡鏁伴噺 > 0 && 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; } @@ -218,28 +308,11 @@ oSub.HSourceBillNo = listCa[i].HSourceBillNo; oSub.HQty =double.Parse(listCa[i].鍙枡鏁伴噺.ToString()); - //if (oSub.HQty <= 0) - //{ - // objJsonResult.code = "0"; - // objJsonResult.count = 0; - // objJsonResult.Message = $"绗瑊i+1}琛岋紝鍙枡鏁伴噺涓嶈兘涓�0鎴栬�呭皬浜�0"; - // objJsonResult.data = null; - // return objJsonResult; - //} - - //if (oSub.HQty > listCa[i].璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺) - //{ - // objJsonResult.code = "0"; - // objJsonResult.count = 0; - // objJsonResult.Message = $"绗瑊i+1}琛岋紝鍙枡鏁伴噺澶т簬璇ョ墿鏂欒皟鍑轰粨搴撳彲鐢ㄥ簱瀛樻暟閲�"; - // objJsonResult.data = null; - // return objJsonResult; - //} - oSub.HMaterID = listCa[i].HMaterialID; oSub.HMaterNumber = listCa[i].HMaterialNumberCol; oSub.HModel = listCa[i].HMaterialModelCol; - oSub.HWHID = listCa[i].HWHID; + 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; @@ -264,7 +337,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡锛屽叾浠栬鏁板彨鏂欐垚鍔�"; + objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡"; objJsonResult.data = null; return objJsonResult; } @@ -314,12 +387,12 @@ " (HInterID,HEntryID,HRemark" + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" + - ",HDeptID,HMaterID,HQty,HProcID,HWHID,HSPID,HBillNo_bak,HOutOrgID" + + ",HDeptID,HMaterID,HQty,HProcID,HWHID,HSCWHID,HSPID,HBillNo_bak,HOutOrgID,HStockOutOrgID,HStockInOrgID" + ") values(" + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'" + "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + "," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo + "'" + - "," + oSub.HDeptID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() + ",'" + oSub.HProcID + "'," + oSub.HWHID.ToString() + ", " + oSub.HSPID.ToString() +",'',"+oSub.HOutOrgID+") ", ref DBUtility.ClsPub.sExeReturnInfo); + "," + oSub.HDeptID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() + ",'" + oSub.HProcID + "'," + oSub.HWHID.ToString() + ", " + oSub.HSCWHID.ToString()+"," + oSub.HSPID.ToString() +",'',"+oSub.HOutOrgID+ ","+oSub.HOutOrgID+ "," + omodel.HPRDORGID +") ", ref DBUtility.ClsPub.sExeReturnInfo); //涓昏〃 @@ -346,6 +419,7 @@ catch (Exception e) { sReturn = e.Message; + oCN.RollBack(); throw (e); } } @@ -361,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 { @@ -385,29 +459,17 @@ { if (listCa[i].閫�鏂欐暟閲� > 0) { - if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸查厤閫佹暟閲�) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!"; - objJsonResult.data = null; - return objJsonResult; - } - - ds = oCN.RunProcReturn("select sum(HQty) from JIT_CallGoodsBackRequestBillSub " + - $"where HSourceInterID={listCa[i].HSouceInterID} and HSourceEntryID ={listCa[i].HSourceEntryID} and HSourceBillNo = '{listCa[i].HSourceBillNo}' and 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], "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) @@ -419,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) { @@ -447,14 +498,66 @@ } //鏂板 - 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.閫�鏂欐暟閲�); - long HDeptWHID = listCa.HSTOCKID == 0 ? 0 : listCa.HSTOCKID; + long HDeptWHID = int.Parse(listCa.璋冨叆浠撳簱id.ToString()) == 0 ? 0 : int.Parse(listCa.璋冨叆浠撳簱id.ToString()); string HTuiResult = listCa.閫�鏂欏師鍥� == "" ? "" : listCa.閫�鏂欏師鍥�; var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿 var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo); @@ -474,15 +577,19 @@ " HItemMainID, HSendManID, HWareManID, HStockOutOrgID, HStockInOrgID, HBackType)" + $"values({DateTime.Now.Year},{DateTime.Now.Month},{HBillInterID},'{HBillType}',1," + $" '{HBillType}','{DateTime.Now}','{HBillNo}',{HOrgID},'{ DBUtility.ClsPub.CurUserName}','{DateTime.Now}','','',0,0,0,''," + - $" 0, 0, 0, {HOrgID}, 0,'{HBackType}')"); + $" 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); } } @@ -515,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].宸查厤閫佹暟閲�) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!"; - objJsonResult.data = null; - return objJsonResult; - } - - ds = oCN.RunProcReturn("select sum(HQty) from JIT_CallGoodsBackRequestBillSub " + - $"where HSourceInterID={listCa[i].HSouceInterID} and HSourceEntryID ={listCa[i].HSourceEntryID} and HSourceBillNo = '{listCa[i].HSourceBillNo}' and 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) @@ -556,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) { @@ -613,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].宸查厤閫佹暟閲�) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!"; - objJsonResult.data = null; - return objJsonResult; - } - - ds = oCN.RunProcReturn("select sum(HQty) from JIT_CallGoodsBackRequestBillSub " + - $"where HSourceInterID={listCa[i].HSouceInterID} and HSourceEntryID ={listCa[i].HSourceEntryID} and HSourceBillNo = '{listCa[i].HSourceBillNo}' and 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) @@ -653,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) { @@ -715,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}", "h_v_Sc_ProcessExchangeBillQuery"); } //娣诲姞鍒楀悕 @@ -888,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