From 8806e07a66f414e5aec181de5e954d1b0c045700 Mon Sep 17 00:00:00 2001 From: ch <37327@LLOOCCY> Date: 星期四, 01 十二月 2022 15:25:00 +0800 Subject: [PATCH] 修改了来料检验单生成金蝶云检验单方法 --- WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs | 926 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 789 insertions(+), 137 deletions(-) diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs index 41407d2..273dfc6 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}'," + + $"'{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,28 +99,34 @@ 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 HProcIDCol { get; set; }//HProcID + public string HProcID { get; set; }//HProcIDCol public string HProcNameCol { get; set; }//宸ユ - public int HOutOrgIDCol = 0;//HOutOrgID - public string HICMOBillNoCol { get; set; }//HICMOBillNo - public long HICMOInterIDCol = 0;//HICMOInterID - public long HICMOEntryIDCol = 0;//HICMOEntryID - public long HDeptIDCol = 0;//HDeptID + public int HOutOrgID = 0;//HOutOrgID + public string HICMOBillNo { get; set; }// HICMOBillNoCol + 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 - } //涓存椂琛� 鍙枡瀛愯〃 @@ -136,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; @@ -155,6 +163,7 @@ 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 { @@ -181,6 +190,100 @@ { 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 = $"绗瑊(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; + } + j = 1; var txtHBillNo = DBUtility.ClsPub.CreateBillCode_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿 @@ -205,35 +308,18 @@ 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].HProcIDCol; - oSub.HOutOrgID = listCa[i].HOutOrgIDCol; - oSub.HICMOBillNo = listCa[i].HICMOBillNoCol; - oSub.HICMOInterID = listCa[i].HICMOInterIDCol; - oSub.HICMOEntryID = listCa[i].HICMOEntryIDCol; - oSub.HDeptID = listCa[i].HDeptIDCol; + 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].璁″垝寮�宸ユ棩鏈�; @@ -251,7 +337,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡锛屽叾浠栬鏁板彨鏂欐垚鍔�"; + objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡"; objJsonResult.data = null; return objJsonResult; } @@ -270,7 +356,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鏃犱换浣曞彨鏂欐暟閲忥紝鏃犳硶鍙枡!"; + objJsonResult.Message = "鏃犱换浣曞彨鏂欐暟閲忔垨鍙枡鏁伴噺灏忎簬0锛屾棤娉曞彨鏂�!"; objJsonResult.data = null; return objJsonResult; } @@ -301,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" + + ",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() +",'') ", 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); //涓昏〃 @@ -317,14 +403,14 @@ ",HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo" + ",HBacker,HBackDate,HBackRemark,HChecker,HCheckDate,HUpDater,HUpDateDate " + ",HCloseMan,HCloseDate,HCloseType,HDeleteMan,HDeleteDate " + - ",HPrintQty,HCallManID,HSendManID,HCallType,HWareManID) " + + ",HPrintQty,HCallManID,HSendManID,HCallType,HWareManID,HOrgID) " + " values('" + CallGoodsBill.ModName + "','" + CallGoodsBill.ModName + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" + ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" + ",'" + omodel.HBillStatus + "'," + omodel.HCheckItemNowID.ToString() + "," + omodel.HCheckItemNextID.ToString() + ", " + omodel.HCheckFlowID.ToString() + ",'" + omodel.HMainSourceBillType + "'," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ", '" + omodel.HMainSourceBillNo + "'" + ",'" + omodel.HBacker + "','" + omodel.HBackDate + "','" + omodel.HBackRemark + "', '" + omodel.HChecker + "','" + omodel.HCheckDate + "', '" + omodel.HUpDater + "',''" + ",'" + omodel.HCloseMan + "','" + omodel.HCloseDate + "','" + omodel.HCloseType + "', '" + omodel.HDeleteMan + "','" + omodel.HDeleteDate + "'" + - ",0,0,0,'鏅��',0) ", ref DBUtility.ClsPub.sExeReturnInfo); + ",0,0,0,'鏅��',0," + omodel.HPRDORGID + ") ", ref DBUtility.ClsPub.sExeReturnInfo); sReturn = "鏂板鍗曟嵁鎴愬姛锛�"; //oCn.Commit(); @@ -333,6 +419,7 @@ catch (Exception e) { sReturn = e.Message; + oCN.RollBack(); throw (e); } } @@ -346,12 +433,13 @@ var _value = msg["msg"].ToString(); string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); - string user = sArray[1].ToString(); + DBUtility.ClsPub.CurUserName = sArray[1].ToString(); string HOrgID = sArray[2].ToString(); + json flag =new json(); try { - if (!DBUtility.ClsPub.Security_Log("JIT_BLP_ComplementGoods_Edit", 1, false, user)) + if (!DBUtility.ClsPub.Security_Log("JIT_BLP_ComplementGoods_Edit", 1, false, DBUtility.ClsPub.CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -366,43 +454,38 @@ //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎 listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString()); - if (listCa[0].閫�鏂欐暟閲� > 0) + int j=0; + for (int i = 0; i < listCa.Count; i++) { - Int64 lngBillKey = listCa[0].HSouceInterID == 0 ? 0 : listCa[0].HSouceInterID; - Int64 lngBillKeyEntry = listCa[0].HSourceEntryID == 0 ? 0 : listCa[0].HSourceEntryID; - double HQty = (double)(listCa[0].閫�鏂欐暟閲� == 0 ? 0 : listCa[0].閫�鏂欐暟閲�); - long HDeptWHID = listCa[0].HSTOCKID == 0 ? 0 : listCa[0].HSTOCKID; - string HTuiResult = listCa[0].閫�鏂欏師鍥� == "" ? "" : listCa[0].閫�鏂欏師鍥�; - var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿 - var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo); - - ds = oCN.RunProcReturn("exec h_p_JIT_BadGoodsRequest_Insert " + lngBillKey.ToString() + " , " + lngBillKeyEntry.ToString() + " , '" + user + "' ," + HQty.ToString() + " ," + HOrgID.ToString() + " , '" + HBillNo + "' ," + HBillInterID.ToString() + "," + HDeptWHID.ToString() + ",'" + HTuiResult + "'", "h_p_JIT_GoodsRequestBad_Insert"); - - if (int.Parse(ds.Tables[0].Rows[0][0].ToString()) == 1) + if (listCa[i].閫�鏂欐暟閲� > 0) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!"; - objJsonResult.data = null; - return objJsonResult; - } - else - { - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "閫�鏂欐垚鍔�"; - objJsonResult.data = null; - return objJsonResult; + 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; + } } } - else + if (j == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!"; + objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忔垨閫�鏂欐暟閲忓皬浜�0锛屾棤娉曢��鏂�!"; objJsonResult.data = null; return objJsonResult; } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "涓嶈壇鍝侀��鏂欐垚鍔�!"; + objJsonResult.data = null; + return objJsonResult; } catch (Exception e) { @@ -411,6 +494,103 @@ objJsonResult.Message = "Exception锛�" + e.ToString(); objJsonResult.data = null; return objJsonResult; + } + } + + //鏂板 + 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 = 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); + + oCN.BeginTran(); + //鎻掑叆瀛愯〃 + oCN.RunProc("Insert into JIT_CallGoodsBackRequestBillSub ( HInterID,HEntryID,HSourceInterID,HSourceEntryID," + + "HSourceBillNo,HSourceBillType, HMaterID, HQty, HSCWHID," + + " HWHID, HSPID, HResult, HDeptID, HProcID,HBackReason) " + + $"values({HBillInterID},1,{lngBillKey},{ lngBillKeyEntry}," + + $"'{listCa.HSourceBillNo}',88,{listCa.HMaterialID},{HQty},{(listCa.璋冨嚭浠撳簱id==null?0:listCa.璋冨嚭浠撳簱id)}," + + $"{HDeptWHID},'','',{listCa.HDeptID},'','{HTuiResult}')"); + + //鎻掑叆涓昏〃 + oCN.RunProc("insert into JIT_CallGoodsBackRequestBillMain(HYear,HPeriod,HInterid,HBillSubType,HBillStatus," + + "HBillType,HDate,HBillNo,HOrgID,HMaker,HMakeDate,HRemark,HBackRemark,HMainSourceBillType , HMainSourceInterID, HMainSourceEntryID, HMainSourceBillNo," + + " 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, {listCa.HOutOrgID}, {HOrgID}, 0,'{HBackType}')"); + + oCN.Commit(); + + objJsonResult.code = "1"; + objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�"; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.Message = e.Message; ; + return objJsonResult; + throw (e); } } #endregion @@ -423,12 +603,12 @@ var _value = msg["msg"].ToString(); string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); - string user = sArray[1].ToString(); + DBUtility.ClsPub.CurUserName = sArray[1].ToString(); string HOrgID = sArray[2].ToString(); try { - if (!DBUtility.ClsPub.Security_Log("JIT_YL_ComplementGoods_Edit", 1, false, user)) + if (!DBUtility.ClsPub.Security_Log("JIT_YL_ComplementGoods_Edit", 1, false, DBUtility.ClsPub.CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -442,37 +622,26 @@ List<CallGoodsBill> listCa = new List<CallGoodsBill>(); //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎 listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString()); + json flag = new json(); - if (listCa[0].閫�鏂欐暟閲� > 0) + int j = 0; + for (int i = 0; i < listCa.Count; i++) { - Int64 lngBillKey = listCa[0].HSouceInterID == 0 ? 0 : listCa[0].HSouceInterID; - Int64 lngBillKeyEntry = listCa[0].HSourceEntryID == 0 ? 0 : listCa[0].HSourceEntryID; - double HQty = (double)(listCa[0].閫�鏂欐暟閲� == 0 ? 0 : listCa[0].閫�鏂欐暟閲�); - long HDeptWHID = listCa[0].HSTOCKID == 0 ? 0 : listCa[0].HSTOCKID; - string HTuiResult = listCa[0].閫�鏂欏師鍥� == "" ? "" : listCa[0].閫�鏂欏師鍥�; - var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿 - var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo); - - ds = oCN.RunProcReturn("exec h_p_JIT_MarginGoodsRequest_Insert " + lngBillKey.ToString() + " , " + lngBillKeyEntry.ToString() + " , '" + user + "' ," + HQty.ToString() + " ," + HOrgID.ToString() + " , '" + HBillNo + "' ," + HBillInterID.ToString() + "," + HDeptWHID.ToString() + ",'" + HTuiResult + "'", "h_p_JIT_GoodsRequestMargin_Insert"); - - if (int.Parse(ds.Tables[0].Rows[0][0].ToString()) == 1) + if (listCa[i].閫�鏂欐暟閲� > 0) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!"; - objJsonResult.data = null; - return objJsonResult; - } - else - { - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "閫�鏂欐垚鍔�"; - objJsonResult.data = null; - return objJsonResult; + 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; + } } } - else + if (j == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -480,6 +649,12 @@ objJsonResult.data = null; return objJsonResult; } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "浣欓噺閫�鏂欐垚鍔�!"; + objJsonResult.data = null; + return objJsonResult; } catch (Exception e) { @@ -500,12 +675,12 @@ var _value = msg["msg"].ToString(); string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); - string user = sArray[1].ToString(); + DBUtility.ClsPub.CurUserName = sArray[1].ToString(); string HOrgID = sArray[2].ToString(); try { - if (!DBUtility.ClsPub.Security_Log("JIT_YL_ComplementGoods_Edit", 1, false, user)) + if (!DBUtility.ClsPub.Security_Log("JIT_BF_ComplementGoods_Edit", 1, false, DBUtility.ClsPub.CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -520,40 +695,180 @@ //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎 listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString()); - if (listCa[0].閫�鏂欐暟閲� > 0) + json flag = new json(); + int j = 0; + for (int i = 0; i < listCa.Count; i++) { - Int64 lngBillKey = listCa[0].HSouceInterID == 0 ? 0 : listCa[0].HSouceInterID; - Int64 lngBillKeyEntry = listCa[0].HSourceEntryID == 0 ? 0 : listCa[0].HSourceEntryID; - double HQty = (double)(listCa[0].閫�鏂欐暟閲� == 0 ? 0 : listCa[0].閫�鏂欐暟閲�); - long HDeptWHID = listCa[0].HSTOCKID == 0 ? 0 : listCa[0].HSTOCKID; - string HTuiResult = listCa[0].閫�鏂欏師鍥� == "" ? "" : listCa[0].閫�鏂欏師鍥�; - var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿 - var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo); - - ds = oCN.RunProcReturn("exec h_p_JIT_ScrapGoodsRequest_Insert " + lngBillKey.ToString() + " , " + lngBillKeyEntry.ToString() + " , '" + user + "' ," + HQty.ToString() + " ," + HOrgID.ToString() + " , '" + HBillNo + "' ," + HBillInterID.ToString() + "," + HDeptWHID.ToString() + ",'" + HTuiResult + "'", "h_p_JIT_GoodsRequestMargin_Insert"); - - if (int.Parse(ds.Tables[0].Rows[0][0].ToString()) == 1) + if (listCa[i].閫�鏂欐暟閲� > 0) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!"; - objJsonResult.data = null; - return objJsonResult; + 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; + } } - else - { - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "閫�鏂欐垚鍔�"; - objJsonResult.data = null; - return objJsonResult; - } + } + if (j == 0) + { + 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) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鐢熶骇鍙枡骞冲彴 鍙枡鎷f枡淇℃伅鏌ヨ 涓婃煡/涓嬫煡 + //鏌ヨ鏉′欢 + public class HlpBill + { + public int HSouceInterID = 0; + public int HSourceEntryID = 0; + public int Type = 0; + public string user { get; set; } + } + [Route("Sc_ComplementGoodBill/HlpBillList")] + [HttpGet] + public object HlpBillList(string sWhere) + { + try + { + List<object> columnNameList = new List<object>(); + //鍙嶅簭鍒楀寲浼犻�掔殑鍊� + HlpBill com = JsonConvert.DeserializeObject<HlpBill>(sWhere.ToString()); + + if (com.Type == 1) + { + //鐢熶骇鍙枡骞冲彴 涓嬫煡 + ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_DownQuery 0,0,'',0,0,{com.HSouceInterID},{com.HSourceEntryID}" + + $",'{com.user}'", "h_p_JIT_CallGoodsPlatForm_DownQuery"); + } + else if (com.Type == 2) + { + //鎷f枡閰嶉�� 涓婃煡 + ds = oCN.RunProcReturn($"exec h_p_JIT_ComplementGoodsBillList_UpQuery '{com.HSouceInterID}',{com.HSourceEntryID}", "h_p_JIT_ComplementGoodsBillList_UpQuery"); + } + else if (com.Type == 3) + { + //鎷f枡閰嶉�� 涓嬫煡 + ds = oCN.RunProcReturn($"exec h_p_JIT_ComplementGoodsBillList_DownQuery '{com.HSouceInterID}',{com.HSourceEntryID}", "h_p_JIT_ComplementGoodsBillList_DownQuery"); + } + + //娣诲姞鍒楀悕 + foreach (DataColumn col in ds.Tables[0].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + //type==1 瀛樺偍杩囩▼閲岄潰鏌ヨ浜嗕袱娆� 鎵�鏈夐渶瑕佸垽鏂袱寮犺〃閮芥湁娌℃湁鏁版嵁 + if (ds.Tables[0].Rows.Count != 0) + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + else if ((com.Type == 1 ? ds.Tables[1].Rows.Count : ds.Tables[0].Rows.Count) != 0) + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[1]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + else + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鐢熶骇鍙枡骞冲彴 鎷f枡鍗曟柊澧� + [Route("Sc_ComplementGoodBill/Insert_JL_ICStockTuiBill")] + [HttpPost] + public object Insert_JL_ICStockTuiBill([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(); + string HOrgID = sArray[2].ToString(); + + try + { + if (!DBUtility.ClsPub.Security_Log("Cj_ComplementGoodsBill_Edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犱繚瀛樻潈闄�"; + objJsonResult.data = null; + return objJsonResult; + } + msg2 = msg2.Replace("\\", ""); + msg2 = msg2.Replace("\n", ""); + + ds = oCN.RunProcReturn("select * from h_v_IF_JIT_CallGoodsBillList ", "h_v_IF_JIT_CallGoodsBillList "); + + if (ds.Tables[0].Rows.Count > 0) + { + ds.Clear(); + long HInterID = DBUtility.ClsPub.CreateBillID_Prod("4602", ref DBUtility.ClsPub.sExeReturnInfo); + string HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("4602", ref DBUtility.ClsPub.sExeReturnInfo, true); + + ds= oCN.RunProcReturn($"exec h_p_JIT_ComplementGoods_Insert {HInterID},'{HBillNo}',{HOrgID},'{user}',0,0", "h_p_JIT_ComplementGoods_Insert"); + + objJsonResult.code = ds.Tables[0].Rows[0][0].ToString(); + objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString()); + objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString(); + objJsonResult.data = null; + return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!"; + objJsonResult.Message = "鏃犳暟鎹紝鏃犳硶鎷f枡!"; objJsonResult.data = null; return objJsonResult; } @@ -569,25 +884,77 @@ } #endregion - #region 鐢熶骇鍙枡骞冲彴 鍙枡鎷f枡淇℃伅鏌ヨ - //鏌ヨ鏉′欢 - public class HlpBill + #region 鐢熶骇鍙枡骞冲彴 閫�鏂欏崟鏂板 + [Route("Sc_ComplementGoodBill/Insert_TL_ICStockTuiBill")] + [HttpPost] + public object Insert_TL_ICStockTuiBill([FromBody] JObject msg) { - public int HSouceInterID = 0; - public int HSourceEntryID = 0; - public string user { get; set; } + var _value = msg["msg"].ToString(); + string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + string msg2 = sArray[0].ToString(); + string user = sArray[1].ToString(); + string HOrgID = sArray[2].ToString(); + + try + { + if (!DBUtility.ClsPub.Security_Log("Cj_CallGoodsBillBack_Edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犱繚瀛樻潈闄�"; + objJsonResult.data = null; + return objJsonResult; + } + msg2 = msg2.Replace("\\", ""); + msg2 = msg2.Replace("\n", ""); + + ds = oCN.RunProcReturn("select * from JIT_CallGoodsBackRequestBillMain where HISCheck=0 ", "JIT_CallGoodsBackRequestBillMain "); + + if (ds.Tables[0].Rows.Count > 0) + { + + long HInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo); + string HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true); + //long HOutOrgID = int.Parse(listCa[i].HOutOrgID.ToString()); + //long HWHID = int.Parse(listCa[i].HWHID.ToString()); + + ds= oCN.RunProcReturn($"exec h_p_JIT_GetCallGoodsBillCount_Back {HInterID},'{HBillNo}',{HOrgID},'{user}'", "h_p_JIT_GetCallGoodsBillCount_Back"); + + objJsonResult.code = ds.Tables[0].Rows[0][0].ToString(); + objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString()); + objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString(); + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳暟鎹紝鏃犳硶閫�鏂�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } } - [Route("Sc_ComplementGoodBill/HlpBillList")] + #endregion + + #region 鐢熶骇鍙枡骞冲彴 浠撳簱搴撳瓨鍒楄〃 + + [Route("Sc_ComplementGoodBill/GetWarehouseList_JIT")] [HttpGet] - public object HlpBillList(string sWhere) + public object GetWarehouseList_JIT(string sWhere) { try { - //鍙嶅簭鍒楀寲浼犻�掔殑鍊� - HlpBill com = JsonConvert.DeserializeObject<HlpBill>(sWhere.ToString()); - - ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_DownQuery 0,0,'',0,0,'{com.HSouceInterID}','{com.HSourceEntryID}'"+ - $"'{com.user}'", "h_p_JIT_CallGoodsPlatForm_DownQuery"); + ds = oCN.RunProcReturn("select * from h_v_JIT_WarehouseList where 1=1 "+ sWhere, "h_v_JIT_WarehouseList"); objJsonResult.code = "1"; objJsonResult.count = 1; @@ -606,5 +973,290 @@ } #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