From 9b2e97ed6a3ba9ba86b3cd2961e1766c711af907 Mon Sep 17 00:00:00 2001 From: yxj <yxj@hz-kingdee.com> Date: 星期五, 12 七月 2024 16:58:30 +0800 Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API --- WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs | 272 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 264 insertions(+), 8 deletions(-) diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs index dad1384..ee29387 100644 --- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs +++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs @@ -99,6 +99,7 @@ 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;//閫�鏂欐暟閲� @@ -220,7 +221,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鍙枡鏁伴噺澶т簬璁″垝鍙戞枡鏁伴噺!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛屽彨鏂欐暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!"; objJsonResult.data = null; return objJsonResult; } @@ -229,7 +230,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鍙枡鎬绘暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛屽彨鏂欐�绘暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!"; objJsonResult.data = null; return objJsonResult; } @@ -242,7 +243,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "搴撳瓨鏁伴噺涓�0,鏃犳硶鍙枡!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛屽簱瀛樻暟閲忎负0,鏃犳硶鍙枡!"; objJsonResult.data = null; return objJsonResult; } @@ -251,7 +252,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "搴撳瓨鏁伴噺灏忎簬鍙枡鏁伴噺,鏃犳硶鍙枡!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛屽簱瀛樻暟閲忓皬浜庡彨鏂欐暟閲�,鏃犳硶鍙枡!"; objJsonResult.data = null; return objJsonResult; } @@ -260,7 +261,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "璇烽�夋嫨璋冨叆浠撳簱!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨叆浠撳簱!"; objJsonResult.data = null; return objJsonResult; } @@ -269,7 +270,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "璇烽�夋嫨璋冨嚭浠撳簱!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨嚭浠撳簱!"; objJsonResult.data = null; return objJsonResult; } @@ -278,7 +279,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "璋冨嚭浠撳簱鍜岃皟鍏ヤ粨搴撲笉鑳戒竴鏍�!"; + objJsonResult.Message = $"绗瑊(i + 1)}琛岃皟鍑轰粨搴撳拰璋冨叆浠撳簱涓嶈兘涓�鏍�!"; objJsonResult.data = null; return objJsonResult; } @@ -336,7 +337,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡锛屽叾浠栬鏁板彨鏂欐垚鍔�"; + objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡"; objJsonResult.data = null; return objJsonResult; } @@ -418,6 +419,7 @@ catch (Exception e) { sReturn = e.Message; + oCN.RollBack(); throw (e); } } @@ -772,6 +774,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"); + } //娣诲姞鍒楀悕 foreach (DataColumn col in ds.Tables[0].Columns) @@ -1007,5 +1014,254 @@ } #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