From 86bc636d8c2c16247f9450a04fe2f46ca3286cb3 Mon Sep 17 00:00:00 2001 From: yangle <admin@YINMOU> Date: 星期四, 11 八月 2022 19:55:14 +0800 Subject: [PATCH] 维护 --- WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs | 109 ++++++++++++++++++++++----- WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs | 96 ++++++++++++++++++------ WebAPI/DLL/ClsSc_ICMOBillWorkQtyStatus_Tmp.cs | 4 3 files changed, 162 insertions(+), 47 deletions(-) diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs index 51bce5f..8eef032 100644 --- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs +++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs @@ -110,6 +110,7 @@ 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 +120,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 +140,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; @@ -194,6 +196,51 @@ return objJsonResult; } + if (listCa[i].搴撳瓨鏁伴噺 == 0 && listCa[i].鍙枡鏁伴噺 > 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "搴撳瓨鏁伴噺涓�0,鏃犳硶鍙枡!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].鍙枡鏁伴噺 > listCa[i].搴撳瓨鏁伴噺) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "搴撳瓨鏁伴噺灏忎簬鍙枡鏁伴噺,鏃犳硶鍙枡!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].鍙枡鏁伴噺 > 0 && listCa[i].璋冨叆浠撳簱id == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "璇烽�夋嫨璋冨叆浠撳簱!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].鍙枡鏁伴噺 > 0 && listCa[i].璋冨嚭浠撳簱id == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "璇烽�夋嫨璋冨嚭浠撳簱!"; + 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; var txtHBillNo = DBUtility.ClsPub.CreateBillCode_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿 @@ -218,28 +265,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; @@ -314,12 +344,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); //涓昏〃 @@ -406,6 +436,24 @@ 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); j = 1; } @@ -454,7 +502,7 @@ 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,7 +522,7 @@ " 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(); diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs index 96f2adb..5b9802d 100644 --- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs +++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs @@ -64,6 +64,8 @@ ds = oCN.RunProcReturn($"exec h_p_JIT_ComplementGoodsBillList_Query '{com.MaterialNumber}','{com.MaterialName}','{com.MaterialModel}','{com.HGD}'," + $"'{com.HWHName}','{com.HDeptName}','{com.Organization}','{com.user}','{com.HJLStatus}','{com.HBeginDate}','{com.HEndDate}'", "h_p_JIT_ComplementGoodsBillList_Query"); + //bool a = AddSendGoodsBillSynChronizAtion("PLD00000112", ref DBUtility.ClsPub.sExeReturnInfo); + objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess锛�"; @@ -211,6 +213,9 @@ public int? HMaterID = 0; public int? HWHID = 0; public int? HSPID = 0; + public int? HStockOutOrgID = 0; + public int? HStockInOrgID = 0; + public int? HSCWHID = 0; } [Route("Sc_ComplementGoods/JIT_SendGoodsBill")] @@ -295,36 +300,47 @@ ds = oCN.RunProcReturn($"select a.HMainSourceEntryID,b.HMaterID from JIT_SendGoodsBillMain a with(nolock) inner join JIT_SendGoodsBillSub b with(nolock) on a.HInterID = b.HInterID where a.HMainSourceInterID={SourceInterID} and a.HBillStatus=1", "JIT_SendGoodsBillMain"); + long InterID = 0; + string HBillNo = ""; for (int i = 0; i < listCa.Count; i++) { - int a = -1; - for (int j = 0; j < ds.Tables[0].Rows.Count; j++) + //int a = -1; + //for (int j = 0; j < ds.Tables[0].Rows.Count; j++) + //{ + // if (ds.Tables[0].Rows[j]["HMaterID"].ToString() == listCa[i].HMaterID.ToString() && ds.Tables[0].Rows[j]["HMainSourceEntryID"].ToString() == listCa[i].HEntryID.ToString()) + // { + // a = j; + // break; + // } + //} + + // 鍒欎唬琛ㄩ厤閫佸崟娌℃湁鏁版嵁 闇�瑕佹坊鍔犳暟鎹� + if (ds.Tables[0].Rows.Count == 0) { - if (ds.Tables[0].Rows[j]["HMaterID"].ToString() == listCa[i].HMaterID.ToString()&& ds.Tables[0].Rows[j]["HMainSourceEntryID"].ToString() == listCa[i].HEntryID.ToString()) + if (i == 0) { - a = j; - break; + InterID = DBUtility.ClsPub.CreateBillID_Prod("460201", ref DBUtility.ClsPub.sExeReturnInfo); + HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("460201", ref DBUtility.ClsPub.sExeReturnInfo, true); + + //娣诲姞涓昏〃鏁版嵁 + oCN.RunProc("insert into JIT_SendGoodsBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate" + + ",HBillNo,HBillStatus,HMaker,HMakeDate,HISCheck, HMainSourceInterID, HMainSourceEntryID" + + ", HMainSourceBillNo, HMainSourceBillType)" + + $"values({DateTime.Now.Year},{DateTime.Now.Month},'460201','460201',{InterID}, GETDATE(), '{HBillNo}'," + + $" 1,'{user}', GETDATE(), 0, {SourceInterID}, {listCa[i].HEntryID}, '{SourceBillNo}', '4602')"); } - } - - //a=0 鍒欎唬琛ㄩ厤閫佸崟娌℃湁鏁版嵁 闇�瑕佹坊鍔犳暟鎹� - if (a == -1 ) - { - long InterID = DBUtility.ClsPub.CreateBillID_Prod("460201", ref DBUtility.ClsPub.sExeReturnInfo); - string HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("460201", ref DBUtility.ClsPub.sExeReturnInfo, true); - - //娣诲姞涓昏〃鏁版嵁 - oCN.RunProc("insert into JIT_SendGoodsBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate" + - ",HBillNo,HBillStatus,HMaker,HMakeDate,HISCheck, HMainSourceInterID, HMainSourceEntryID" + - ", HMainSourceBillNo, HMainSourceBillType)" + - $"values({DateTime.Now.Year},{DateTime.Now.Month},'460201','460201',{InterID}, GETDATE(), '{HBillNo}'," + - $" 1,'{user}', GETDATE(), 0, {SourceInterID}, {listCa[i].HEntryID}, '{SourceBillNo}', '4602')"); //娣诲姞瀛愯〃鏁版嵁 oCN.RunProc("insert into JIT_SendGoodsBillSub(HInterID,HBillNo_bak,HEntryID" + - ",HMaterID,HQty,HWHID,HSPID,HISCheck,HCheckSubMan,HCheckSubDate)" + + ",HMaterID,HQty,HWHID,HSPID,HISCheck,HCheckSubMan,HCheckSubDate,HStockOutOrgID,HStockInOrgID,HSCWHID)" + $"values({InterID},'{HBillNo}',{i + 1}, {listCa[i].HMaterID},{listCa[i].鏈鎷f枡鏁伴噺}," + - $" {listCa[i].HWHID},{listCa[i].HSPID},0,'{user}', GETDATE())"); + $" {listCa[i].HWHID},{listCa[i].HSPID},0,'{user}', GETDATE(),{listCa[i].HStockOutOrgID},{listCa[i].HStockInOrgID},{listCa[i].HSCWHID})"); + + //鍚屾閲戣澏鐩存帴璋冩嫧鍗� + if (AddSendGoodsBillSynChronizAtion(HBillNo, ref DBUtility.ClsPub.sExeReturnInfo)) + { + + } } else { @@ -374,6 +390,57 @@ throw (e); } } + + //鍚屾閲戣澏鐩存帴璋冩嫧鍗� + public bool AddSendGoodsBillSynChronizAtion(string HBillNo, ref string sReturn) + { + ds = oCN.RunProcReturn("exec JIT_SendGoodsBillSynChronizAtion '" + HBillNo + "'", "JIT_SendGoodsBillSynChronizAtion"); + + foreach (DataRow dr in ds.Tables[0].Rows) + { + JObject model = new JObject(); + model.Add("FBillTypeID", new JObject() { ["Fnumber"] = dr["FBillTypeID"].ToString() }); //鍗曟嵁绫诲瀷 + model.Add("FDate", dr["FDate"].ToString()); + model.Add("FBILLNO", dr["FBILLNO"].ToString()); + model.Add("FStockOrgId", new JObject() { ["Fnumber"] = dr["FStockOrgId"].ToString() }); + model.Add("FOwnerTypeIdHead", dr["FOwnerTypeIdHead"].ToString()); + model.Add("FTransferBizType", dr["FTransferBizType"].ToString()); + model.Add("FOwnerTypeOutIdHead", dr["FOwnerTypeOutIdHead"].ToString()); + model.Add("FTransferDirect", dr["FTransferDirect"].ToString()); + model.Add("FStockOutOrgId", new JObject() { ["Fnumber"] = dr["FStockOutOrgId"].ToString() }); + + JArray Fentity = new JArray(); + JObject FentityModel = new JObject(); + FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = dr["FMaterialId"].ToString() }); + FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = dr["FUnitID"].ToString() }); + FentityModel.Add("FBaseUnitId", new JObject() { ["Fnumber"] = dr["FBaseUnitId"].ToString() }); + FentityModel.Add("FOwnerTypeId", dr["FOwnerTypeId"].ToString()); + FentityModel.Add("FOwnerId", new JObject() { ["Fnumber"] = dr["FOwnerId"].ToString() }); + FentityModel.Add("FOwnerTypeOutId", dr["FOwnerTypeOutId"].ToString()); + FentityModel.Add("FOwnerOutId", new JObject() { ["Fnumber"] = dr["FOwnerOutId"].ToString() }); + FentityModel.Add("FKeeperTypeId", dr["FKeeperTypeId"].ToString()); + FentityModel.Add("FKeeperId", new JObject() { ["Fnumber"] = dr["FKeeperId"].ToString() }); + FentityModel.Add("FKeeperTypeOutId", dr["FKeeperTypeOutId"].ToString()); + FentityModel.Add("FKeeperOutId", new JObject() { ["Fnumber"] = dr["FKeeperOutId"].ToString() }); + FentityModel.Add("FQty", dr["FQty"].ToString()); + + Fentity.Add(FentityModel); + model.Add("FBillEntry", Fentity); + + JObject jsonRoot = new JObject() + { + ["Creator"] = "", + ["NeedUpDateFields"] = new JArray(), + ["NeedReturnFields"] = new JArray(), + ["IsDeleteEntry"] = "false", + ["SubSystemId"] = "", + ["IsVerifyBaseDataField"] = "false", + ["Model"] = model + }; + + } + return true; + } #endregion #region 涓婃煡 diff --git a/WebAPI/DLL/ClsSc_ICMOBillWorkQtyStatus_Tmp.cs b/WebAPI/DLL/ClsSc_ICMOBillWorkQtyStatus_Tmp.cs index 18752d4..1878702 100644 --- a/WebAPI/DLL/ClsSc_ICMOBillWorkQtyStatus_Tmp.cs +++ b/WebAPI/DLL/ClsSc_ICMOBillWorkQtyStatus_Tmp.cs @@ -100,7 +100,7 @@ ") "); double sumqty = omodel.HQty + omodel.HBadQty + omodel.HWasterQty; //汇报数量+不良+报废 //回写生产状态临时表Sc_ICMOBillStatus_Tmp拆分汇报数量 HSplitRelationQty - oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HSplitRelationQty=HSplitRelationQty+" + sumqty + " where HICMOBillNo='" + omodel.HICMOBillNo + "' and HSourceID='" + omodel.HSourceID + "' and HICMOInterID='" + omodel.HICMOInterID + "' and HICMOEntryID='" + omodel.HICMOEntryID + "'"); + oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HSplitRelationQty=HSplitRelationQty+" + sumqty + " where HICMOBillNo='" + omodel.HICMOBillNo + "' and HSourceID='" + omodel.HSourceID + "' and HICMOInterID='" + omodel.HICMOInterID + "' and HICMOEntryID='" + omodel.HICMOEntryID + "' and HInterID="+ omodel.HSourceInterID.ToString()); //再次验证 保存是否 合理 DataSet ds = oCn.RunProcReturn("exec h_p_JIT_ICMOBillWorkQtyStatus_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_ICMOBillWorkQtyStatus_SaveCtrl"); @@ -200,7 +200,7 @@ //更新生产状态临时状态表数量 //oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToICMOReport_Qty " + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ""); //根据源单主内码 设置 生产状态表 完工状态(设置本单对应得源单 为完工状态) 更新生产状态临时状态表数量 - oCn.RunProc("exec h_p_JIT_ICMOBillWorkQtyStatus_AddRelation " + HSourceID.ToString() + "," + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo.ToString() + "',"+ HICMOInterID.ToString() + ","+ HICMOEntryID.ToString()+ ""); + oCn.RunProc("exec h_p_JIT_ICMOBillWorkQtyStatus_AddRelation " + HSourceID.ToString() + "," + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo.ToString() + "'," + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ""); sReturn = "审核单据成功!"; oCn.Commit(); //生成调拨单 -- Gitblit v1.9.1