From 02b4f0d431d8e5f8d7a8f770fc25ea985911eaa6 Mon Sep 17 00:00:00 2001 From: zgq <519541279@qq.com> Date: 星期三, 24 二月 2021 10:12:17 +0800 Subject: [PATCH] 11 --- WebAPI/Controllers/MoveStockBillController.cs | 299 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 281 insertions(+), 18 deletions(-) diff --git a/WebAPI/Controllers/MoveStockBillController.cs b/WebAPI/Controllers/MoveStockBillController.cs index c63b643..f86d8e4 100644 --- a/WebAPI/Controllers/MoveStockBillController.cs +++ b/WebAPI/Controllers/MoveStockBillController.cs @@ -44,7 +44,7 @@ public DataSet ds = new DataSet(); public ClsGy_BarCodeBill_WMS_Model_View oView = new ClsGy_BarCodeBill_WMS_Model_View(); public ClsKF_PonderationBillMain_Temp model = new ClsKF_PonderationBillMain_Temp(); - private JsonResult objJsonResult = new JsonResult(); + public JsonResult objJsonResult = new JsonResult(); private json objjson = new json(); /// <summary> @@ -100,9 +100,184 @@ /// <param name="SCWhID"></param> /// <param name="SCSPID"></param> /// <returns></returns> + //[Route("MoveStockBill/get_InfoByBarCode_Source_Json")] + //[HttpGet] + //public object get_InfoByBarCode_Source_Json(string sCode, Int64 sInterID, string sBillNo, Double sQty, Int64 HWHID, Int64 HSPID, Int64 SCWhID, Int64 SCSPID) + //{ + // try + // { + // WebS.ClsKF_PonderationBillMain_Temp model = new WebS.ClsKF_PonderationBillMain_Temp(); + // string sErrMsg = ""; + // bool sBool = false; + // double sRelQty = 0; + // oView = webserver.get_InfoByBarCode_Source(sCode, sInterID, ref sBool, ref DBUtility.ClsPub.sErrInfo); + // if (oView == null) + // { + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "鍗曟嵁鍙凤細" + sBillNo + "锛屽崟鎹甀D锛�" + sInterID + "锛�" + DBUtility.ClsPub.sErrInfo; + // objJsonResult.data = null; + // return objJsonResult; + // } + // if (oView.HBarCodeType == "鍞竴鏉$爜" && sQty > 0 && oView.HQty < sQty) + // { + // sRelQty = oView.HQty; + // } + // else if (sQty > 0) + // { + // sRelQty = sQty; + // } + // else + // { + // sRelQty = oView.HQty; + // } + + // model.HInterID = DBUtility.ClsPub.isLong(sInterID); + // model.HBillNo = DBUtility.ClsPub.isStrNull(sBillNo); + // model.HBillType = this.HBillType; + // model.HMaker = DBUtility.ClsPub.CurUserName; + // // + // model.HMaterID = oView.HMaterID; + // model.HAuxPropID = oView.HAuxPropID; + // model.HErpClsID = oView.HErpClsID; + // model.HQty = oView.HQty; + // model.HQtyMust = oView.HinitQty; + // model.HBarCode = oView.HBarCode; + // model.HBatchNo = oView.HBatchNo; + // model.HMTONo = oView.HMTONo; + + // model.HWhID = DBUtility.ClsPub.isLong(HWHID); + // model.HStockPlaceID = DBUtility.ClsPub.isLong(HSPID); + // model.HSCWHID = SCWhID; + // model.HOutStockPlaceID = SCSPID; + // //model.HVDAPack = txtHVDAPack2.Text.Trim(); + // //model.HVDAMaterNum = txtHVDAMaterID.Text.Trim(); + // //model.HVDAQty = DBUtility.ClsPub.ObjToDouble(txtHVDAQty.Text.Trim()); + // // + // model.HSourceInterID = oView.HSourceInterID; + // model.HSourceEntryID = oView.HSourceEntryID; + // model.HSourceBillNo = oView.HSourceBillNo; + // model.HSourceBillType = oView.HSourceBillType; + // model.HRedBlueFlag = false; + // model.HPieceQty = 1; + // //model.HSTOCKORGID = DBUtility.ClsPub.HORGANIZATIONSID; + // //model.HOWNERID = DBUtility.ClsPub.HORGANIZATIONSID; + + // WebS.WebService1 oWebs = new WebS.WebService1(); + // //if (webserver.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo)) + // bool flag = oWebs.Get_CheckQtyByBarCode_GetWhAndSP(model.HInterID, model.HBillType, model.HBarCode, ref SCWhID, ref SCSPID, sRelQty, ref sRelQty); + // if (flag) + // { + // sQty = sRelQty; + // } + // else if(sRelQty == 0) + // { + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "鏃犲簱瀛橈紒"; + // objJsonResult.data = null; + // return objJsonResult; + // } + // else + // { + // sQty = sRelQty; + // } + + // if (oWebs.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo)) + // { + // objJsonResult.code = "0"; + // objJsonResult.count = 1; + // objJsonResult.Message = "鎵爜鎴愬姛锛�"; + // objJsonResult.data = null; + // return objJsonResult; + // } + // else + // { + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "鎵爜澶辫触锛�" + DBUtility.ClsPub.sErrInfo; + // objJsonResult.data = null; + // return objJsonResult; + // } + // } + // catch (Exception) + // { + + // throw; + // } + //} + + /// <summary> + /// 璋冩嫧鍗�/鎵潯鐮� + /// </summary> + /// <param name="sCode"></param> + /// <param name="sInterID"></param> + /// <param name="sBillNo"></param> + /// <param name="sQty"></param> + /// <param name="HWHID"></param> + /// <param name="HSPID"></param> + /// <param name="SCWhID"></param> + /// <param name="SCSPID"></param> + /// <returns></returns> [Route("MoveStockBill/get_InfoByBarCode_Source_Json")] [HttpGet] public object get_InfoByBarCode_Source_Json(string sCode, Int64 sInterID, string sBillNo, Double sQty, Int64 HWHID, Int64 HSPID, Int64 SCWhID, Int64 SCSPID) + { + try + { + DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + dal.GetInfoByNumber_View(sCode); + if (dal.omodel_View.HBarCodeType != "鎵樼洏鏉$爜") + { + return get_InfoByBarCode_Source_Json_s(sCode, sInterID, sBillNo, sQty, HWHID, HSPID, SCWhID, SCSPID); + } + else + { + //濡傛灉鏄泤鐞鍒欐墭鐩樻潯鐮佸垎瑙e苟妯℃嫙鎵爜 + + //鍒嗚В鎵樻潯鐮佸緱鍒版槑缁嗘潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛� + DataSet dsTBarCode; + string sBarCode_MX; + dsTBarCode = oCn.RunProcReturn("select b.HBarCode HBarCodeMX from Sc_PackUnionBillMain a " + + " inner join Sc_PackUnionBillSub b on a.HInterID = b.HInterID " + + " Where a.HBarCode_Pack = '" + sCode + "'", "Sc_PackUnionBillMain"); + if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0) + { + //sErrMsg = "娌℃湁鎵惧埌鎵樼洏鏉$爜锛�"; + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎵爜澶辫触锛佹病鏈夋壘鍒版墭鐩樻潯鐮侊紒"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++) + { + sBarCode_MX = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeMX"]); + objJsonResult= (JsonResult)get_InfoByBarCode_Source_Json_s(sBarCode_MX, sInterID, sBillNo, sQty, HWHID, HSPID, SCWhID, SCSPID); + if(objJsonResult.code == "0") + { + return objJsonResult; + } + } + return objJsonResult; + } + } + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎵爜澶辫触锛�" + DBUtility.ClsPub.isStrNull(e); + objJsonResult.data = null; + return objJsonResult; + } + } + + public object get_InfoByBarCode_Source_Json_s(string sCode, Int64 sInterID, string sBillNo, Double sQty, Int64 HWHID, Int64 HSPID, Int64 SCWhID, Int64 SCSPID) { try { @@ -110,26 +285,28 @@ string sErrMsg = ""; bool sBool = false; double sRelQty = 0; + double sRelQty2 = 0; oView = webserver.get_InfoByBarCode_Source(sCode, sInterID, ref sBool, ref DBUtility.ClsPub.sErrInfo); if (oView == null) { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鍗曟嵁鍙凤細" + sBillNo + "锛屽崟鎹甀D锛�" + sInterID + "锛�" + DBUtility.ClsPub.sErrInfo; + objJsonResult.Message = "1-鍗曟嵁鍙凤細" + sBillNo + "锛屽崟鎹甀D锛�" + sInterID + "锛�" + DBUtility.ClsPub.sErrInfo; objJsonResult.data = null; return objJsonResult; } + if (oView.HBarCodeType == "鍞竴鏉$爜" && sQty > 0 && oView.HQty < sQty) { - sRelQty = oView.HQty; + sRelQty2 = oView.HQty; } else if (sQty > 0) { - sRelQty = sQty; + sRelQty2 = sQty; } else { - sRelQty = oView.HQty; + sRelQty2 = oView.HQty; } model.HInterID = DBUtility.ClsPub.isLong(sInterID); @@ -145,6 +322,9 @@ model.HBarCode = oView.HBarCode; model.HBatchNo = oView.HBatchNo; model.HMTONo = oView.HMTONo; + + //model.HWhID = oView.HWHID; + //model.HStockPlaceID = oView.HSPID; model.HWhID = DBUtility.ClsPub.isLong(HWHID); model.HStockPlaceID = DBUtility.ClsPub.isLong(HSPID); @@ -165,29 +345,28 @@ WebS.WebService1 oWebs = new WebS.WebService1(); //if (webserver.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo)) - bool flag = oWebs.Get_CheckQtyByBarCode_GetWhAndSP(model.HInterID, model.HBillType, model.HBarCode, ref SCWhID, ref SCSPID, sRelQty, ref sRelQty); - if (flag) + objJsonResult = CheckQtyByBarCode_Json(model.HInterID, model.HBillType, model.HBarCode, ref SCWhID, ref SCSPID, sRelQty2, ref sRelQty); + + if (objJsonResult.count == 1) { sQty = sRelQty; + model.HSCWHID = SCWhID; + model.HOutStockPlaceID = SCSPID; } - else if(sRelQty == 0) + else if (objJsonResult.count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鏃犲簱瀛橈紒"; + objJsonResult.Message = "2-鏃犲簱瀛橈紒"; objJsonResult.data = null; return objJsonResult; - } - else - { - sQty = sRelQty; } if (oWebs.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo)) { - objJsonResult.code = "0"; + objJsonResult.code = "1"; objJsonResult.count = 1; - objJsonResult.Message = "鎵爜鎴愬姛锛�"; + objJsonResult.Message = "3-鎵爜鎴愬姛锛�"; objJsonResult.data = null; return objJsonResult; } @@ -195,18 +374,102 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鎵爜澶辫触锛�" + DBUtility.ClsPub.sErrInfo; - objJsonResult.data = null; + objJsonResult.Message = "4-鎵爜澶辫触锛�" + DBUtility.ClsPub.sErrInfo; + objJsonResult.data = model.HBarCode; return objJsonResult; } } catch (Exception) { - + throw; } } + //鏍规嵁鏉$爜 鏁伴噺 鍒ゆ柇鏉$爜搴撳瓨 鏄惁鍏呰冻 骞朵笖甯﹀嚭 浠撳簱浠撲綅 + public JsonResult CheckQtyByBarCode_Json(long InterID, string sBillType, string sBarCode, ref long HWHID, ref long HSPID, double sQty, ref double sRelQty) + { + DataSet DS; + DataSet DSErp; + try + { + //鍗曟潯鐮侊紝涓�寮犲崟鎹竴鏉℃潯鐮�(鍑尝) + //DS = oCn.RunProcReturn("exec h_p_KF_ICInventory_WMS_GetWHAndSP_Single " + InterID.ToString() + ",'" + sBillType + "','" + sBarCode + "'," + HWHID.ToString() + "," + HSPID.ToString(), "h_p_KF_ICInventory_WMS_GetWHAndSP_Single", ref DBUtility.ClsPub.sExeReturnInfo); + //鍒ゆ柇鏉$爜搴撳瓨 + DS = new SQLHelper.ClsCN().RunProcReturn("exec h_p_KF_ICInventory_WMS_GetWHAndSP " + InterID.ToString() + ",'" + sBillType + "','" + sBarCode + "'," + HWHID.ToString() + "," + HSPID.ToString(), "h_p_KF_ICInventory_WMS_GetWHAndSP", ref DBUtility.ClsPub.sExeReturnInfo); + if (DS.Tables[0].Rows.Count == 0) + { + sRelQty = 0; + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "4-鎵爜澶辫触锛�"; + objJsonResult.data = DS; + return objJsonResult; + } + else + { + double sKFQty = 0; + double sKFQtyErp = 0; + sKFQty = DBUtility.ClsPub.isDoule(DS.Tables[0].Rows[0]["HKFQty"]); + HWHID = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HWhID"]); + HSPID = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HSPID"]); + //鐩存帴杩斿洖999 + DSErp = new SQLHelper.ClsCN().RunProcReturn("exec h_p_IF_ICInventory_WMS_GetWHAndSP " + InterID.ToString() + ",'" + sBillType + "','" + sBarCode + "'," + HWHID.ToString() + "," + HSPID.ToString(), "h_p_IF_ICInventory_WMS_GetWHAndSP", ref DBUtility.ClsPub.sExeReturnInfo); + if (DSErp.Tables[0].Rows.Count == 0) + { + sRelQty = 0;//涓嶄細璧� + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "4-鎵爜澶辫触锛�"; + objJsonResult.data = DS; + return objJsonResult; + } + sKFQtyErp = DBUtility.ClsPub.isDoule(DSErp.Tables[0].Rows[0]["HKFQty"]);//9999 + if (sQty > sKFQty && sQty > sKFQtyErp) //褰撳簱瀛樺皬浜庢爣绛炬暟閲忔椂 鍙栧簱瀛樻暟閲� + { + sRelQty = sKFQtyErp; + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "4-鎵爜澶辫触锛�"; + objJsonResult.data = DS; + return objJsonResult; + } + else if (sQty > sKFQty && sQty < sKFQtyErp) //褰撳簱瀛樺皬浜庢爣绛炬暟閲忔椂 鍙栧簱瀛樻暟閲� + { + sRelQty = sKFQty; + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "4-鎵爜澶辫触锛�"; + objJsonResult.data = DS; + return objJsonResult; + } + else if (sQty < sKFQty && sQty > sKFQtyErp)//鏃犳晥 + { + sRelQty = sKFQtyErp; + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "4-鎵爜澶辫触锛�"; + objJsonResult.data = DS; + return objJsonResult; + } + else + { + sRelQty = sQty; + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "4-鎵爜澶辫触锛�"; + objJsonResult.data = DS; + return objJsonResult; + } + } + } + catch (Exception e) + { + sRelQty = 0; + throw (e); + } + } + /// <summary> /// 鐢熸垚璋冩嫧鍗� /// </summary> -- Gitblit v1.9.1