From d077c84b9a62a6c148198232154591f0cbd578f5 Mon Sep 17 00:00:00 2001 From: yusijie <ysj@hz-kingdee.com> Date: 星期三, 18 十月 2023 13:35:22 +0800 Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/SRM-WEBAPI --- WebAPI/Controllers/BarCodeController.cs | 1424 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 1,184 insertions(+), 240 deletions(-) diff --git a/WebAPI/Controllers/BarCodeController.cs b/WebAPI/Controllers/BarCodeController.cs index 6b3e18b..ae04a00 100644 --- a/WebAPI/Controllers/BarCodeController.cs +++ b/WebAPI/Controllers/BarCodeController.cs @@ -13,6 +13,8 @@ using System.Web.Script.Serialization; using WebAPI.Code; using WebAPI.Models; +using WebAPI.Utility; + namespace WebAPI.Controllers { @@ -20,8 +22,9 @@ { private JsonResult objJsonResult = new JsonResult(); private json objjson = new json(); - - + public new ClsCNSRM oCn = new ClsCNSRM(); + //鑾峰彇绯荤粺鍙傛暟 + Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); public T ScriptDeserialize<T>(string strJson) { JavaScriptSerializer js = new JavaScriptSerializer(); @@ -37,7 +40,7 @@ /// <returns></returns> [Route("UpdateBarcodePrintQty")] [HttpPost] - public object UpdateBarcodePrintQty([FromBody]JObject msg) + public object UpdateBarcodePrintQty([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); @@ -68,14 +71,14 @@ /// <param name="msg"></param> /// <param name="msg2"></param> /// <returns></returns> - public object GetBarcodeSaveBill_Varieties([FromBody]JObject msg) + public object GetBarcodeSaveBill_Varieties([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); - string UserName = ""; + string UserName = ""; ListModels oListModels = new ListModels(); try { @@ -134,7 +137,7 @@ if (ClsPub.isLong(oItemSub.HMaterID) != 0) { HNumber = oItemSub.HMaterID.ToString(); - HMTONO=ClsPub.isStrNull(oItemSub.HMTONO); + HMTONO = ClsPub.isStrNull(oItemSub.HMTONO); // HQty = ClsPub.isDoule(oItemSub.HQty); @@ -264,7 +267,7 @@ /// <param name="msg"></param> /// <param name="msg2"></param> /// <returns></returns> - public object GetBarcodeSaveBill_Only([FromBody]JObject msg) + public object GetBarcodeSaveBill_Only([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); @@ -316,7 +319,7 @@ } } //int i = 1; - long linterid = Pub_Class.ClsPub.CreateBillID_SRMProd("8888", ref DBUtility.ClsPub.sExeReturnInfo); + long linterid = Pub_Class.ClsPub.CreateBillID_SRMProd("8888", ref DBUtility.ClsPub.sExeReturnInfo); int LSHlen = 6; //娴佹按鍙烽暱搴� int SumLen = 10; //鎬婚暱搴� string TM = ""; //鏉$爜 @@ -345,8 +348,8 @@ HNumber = oItemSub.HMaterID.ToString(); // - HQty =ClsPub.isDoule(oItemSub.HQty); - HBQty = ClsPub.isInt(oItemSub.HBQty); + HQty = ClsPub.isDoule(oItemSub.HQty); + HBQty = ClsPub.isInt(oItemSub.HBQty); HMinQty = ClsPub.isDoule(oItemSub.HMinQty); HSumQty = ClsPub.isDoule(oItemSub.HQty); for (int i = 0; i < HBQty; i++) @@ -369,7 +372,7 @@ { TM = "0" + TM; } - TM = "SRM" + TM; + TM = "SRM" + TM; //TM = "B" + TM; if (HSumQty - HMinQty > 0) { @@ -408,7 +411,7 @@ bar.HSupID = oItemSub.HSupID; bar.HMinQty = oItemSub.HMinQty; bar.HMTONO = oItemSub.HMTONO; - + ls2.Add(bar); } } @@ -464,7 +467,7 @@ } //鏆傛椂鍙洖濉叧鑱旀暟閲� oCn.RunProc("exec H_p_SRM_BarCodeBill_Update_UpdateBillRelateData " + linterid.ToString()); - + oCn.Commit(); } catch (Exception e) @@ -476,13 +479,13 @@ return objJsonResult; } - objJsonResult.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = "鐢熸垚鏉$爜鎴愬姛锛�"; - WebAPIController.Add_Log("鏉$爜涓嬫帹", UserName, "鐢熸垚鏉$爜"); - objJsonResult.data = null; - return objJsonResult; - } + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鐢熸垚鏉$爜鎴愬姛锛�"; + WebAPIController.Add_Log("鏉$爜涓嬫帹", UserName, "鐢熸垚鏉$爜"); + objJsonResult.data = null; + return objJsonResult; + } [Route("GetBarcodeSaveBillBox")] [HttpPost] @@ -492,13 +495,15 @@ /// <param name="msg"></param> /// <param name="msg2"></param> /// <returns></returns> - public object GetBarcodeSaveBill_Box([FromBody]JObject msg) + public object GetBarcodeSaveBill_Box([FromBody] JObject msg) { + string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo); var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); + //LogService.Write(msg3); string UserName = ""; ListModels oListModels = new ListModels(); try @@ -524,91 +529,63 @@ foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) { - if (oBill.CheckBarCode(oItemSub.HSourceInterID, oItemSub.HSourceEntryID) == false) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "宸插瓨鍦ㄦ潯鐮侊紝涓嶅厑璁搁噸澶嶇敓鎴愶紒"; - objJsonResult.data = null; - return objJsonResult; - } - if (msg2 != string.Empty) - { - if (oItemSub.HBQty == 0 || oItemSub.HMinQty == 0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍐呯鍖呰鏁颁笉鑳戒负0锛�"; - objJsonResult.data = null; - return objJsonResult; - } - if (oItemSub.HWBQty == 0 || oItemSub.HWXQty == 0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "澶栫鍖呰鏁颁笉鑳戒负0锛�"; - objJsonResult.data = null; - return objJsonResult; - } - } + //鏁伴噺涓�0 璺宠繃 + if (oItemSub.HQty == 0 || oItemSub.HMinQty == 0 || oItemSub.HWXQty == 0) + continue; } long linterid = Pub_Class.ClsPub.CreateBillID_SRMProd("8888", ref DBUtility.ClsPub.sExeReturnInfo); - int LSHlen = 6; //娴佹按鍙烽暱搴� - int SumLen = 10; //鎬婚暱搴� - string TM = ""; //鏉$爜 - string HNumber = ""; //鐗╂枡浠g爜 - double HSumQty = 0; //浜у搧鏁伴噺 - double HMinQty = 0; //鏈�灏忓寘瑁呮暟 - int HBQty = 0; //绠辨暟 - double HQty = 0; //鏁伴噺 - int LSH = 0; //娴佹按鍙� - string LSH2 = ""; //娴佹按鍙疯浆鎹㈡垚瀛楃 - string sDate = ""; //鏃ユ湡 - string sYear = ""; //骞� - string sPeriod = ""; //鏈� - string sDay = ""; //鏃� - string WeiShu = ""; //灏炬暟 - DataSet Ds; - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); - Ds = oCn.RunProcReturn("exec GetLSH '" + DateTime.Today + "'", "GetLSH"); - LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]); - foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) - { - if (ClsPub.isLong(oItemSub.HMaterID) != 0) + int LSHlen = 6; //娴佹按鍙烽暱搴� + int SumLen = 10; //鎬婚暱搴� + string TM = ""; //鏉$爜 + string HNumber = ""; //鐗╂枡浠g爜 + double HSumQty = 0; //浜у搧鏁伴噺 + double HMinQty = 0; //鏈�灏忓寘瑁呮暟 + int HBQty = 0; //绠辨暟 + double HQty = 0; //鏁伴噺 + int LSH = 0; //娴佹按鍙� + string LSH2 = ""; //娴佹按鍙疯浆鎹㈡垚瀛楃 + string sDate = ""; //鏃ユ湡 + string sYear = ""; //骞� + string sPeriod = ""; //鏈� + string sDay = ""; //鏃� + string WeiShu = ""; //灏炬暟 + DataSet Ds; + SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + Ds = oCn.RunProcReturn("exec GetLSH '" + DateTime.Today + "'", "GetLSH"); + LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]); + foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) { - HNumber = oItemSub.HMaterID.ToString(); - //HNumber = HNumber.Replace(".", ""); - // - - //HQty = Math.Ceiling(HBQty + ClsPub.isDoule(oItemSub.HWBQty)); - - HQty = ClsPub.isDoule(oItemSub.HWBQty); - HBQty = ClsPub.isInt(oItemSub.HWBQty); - HMinQty = ClsPub.isDoule(oItemSub.HWXQty); - HSumQty = ClsPub.isDoule(oItemSub.HQty); //HWXQtyCol - for (int i = 0; i < HBQty; i++) + //澶栫 + if (ClsPub.isLong(oItemSub.HMaterID) != 0) { - LSH = LSH + 1; - LSH2 = LSH.ToString(); - while (LSH2.Length < LSHlen) //濡傛灉娴佹按鍙峰皬浜�6浣嶆暟鍓嶉潰琛�0 + HNumber = oItemSub.HMaterID.ToString(); + HQty = ClsPub.isDoule(oItemSub.HWBQty); + HBQty = ClsPub.isInt(oItemSub.HWBQty); + HMinQty = ClsPub.isDoule(oItemSub.HWXQty); + HSumQty = ClsPub.isDoule(oItemSub.HQty); //HWXQtyCol + for (int i = 0; i < HBQty; i++) { - LSH2 = "0" + LSH2; - } - sDate = ClsPub.GetServerDate(0); - sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2); - sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString(); - sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2); - sDay = "0" + ClsPub.isDate(sDate).Day.ToString(); - sDay = sDay.Substring(sDay.Length - 2, 2); - //================================== - TM = HNumber + sYear + sPeriod + sDay + LSH2; - while (TM.Length < SumLen) //濡傛灉鏉$爜灏忎簬12浣嶆暟鍓嶉潰琛�0 - { - TM = "0" + TM; - } + LSH = LSH + 1; + LSH2 = LSH.ToString(); + while (LSH2.Length < LSHlen) //濡傛灉娴佹按鍙峰皬浜�6浣嶆暟鍓嶉潰琛�0 + { + LSH2 = "0" + LSH2; + } + sDate = ClsPub.GetServerDate(0); + sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2); + sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString(); + sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2); + sDay = "0" + ClsPub.isDate(sDate).Day.ToString(); + sDay = sDay.Substring(sDay.Length - 2, 2); + //================================== + TM = HNumber + sYear + sPeriod + sDay + LSH2; + while (TM.Length < SumLen) //濡傛灉鏉$爜灏忎簬12浣嶆暟鍓嶉潰琛�0 + { + TM = "0" + TM; + } //TM = "B" + TM; TM = "SRM" + "B" + TM; - + if (HSumQty - HMinQty > 0) { WeiShu = ""; @@ -626,139 +603,150 @@ } HMinQty = HSumQty; } - - Model.ClsGy_BarCodeBill_WMS_Model bar = new Model.ClsGy_BarCodeBill_WMS_Model(); - bar.HBarCode = TM; - bar.HMaterID = oItemSub.HMaterID; - //bar.HMaterNumber = oItemSub.HMaterNumber; - //bar.HMaterName = oItemSub.HMaterName; - //bar.HMaterModel = oItemSub.HMaterModel; - // bar.HModel2 = oItemSub.HModel; + Model.ClsGy_BarCodeBill_WMS_Model bar = new Model.ClsGy_BarCodeBill_WMS_Model(); + bar.HBarCode = TM; + bar.HMaterID = oItemSub.HMaterID; + //bar.HMaterNumber = oItemSub.HMaterNumber; + //bar.HMaterName = oItemSub.HMaterName; + //bar.HMaterModel = oItemSub.HMaterModel; + // bar.HModel2 = oItemSub.HModel; - bar.HUnitID = oItemSub.HUnitID; - //bar.HUnitNumber2 = oItemSub.HUnitNumber; - //bar.HUnitName2 = oItemSub.HUnitName; + bar.HUnitID = oItemSub.HUnitID; + //bar.HUnitNumber2 = oItemSub.HUnitNumber; + //bar.HUnitName2 = oItemSub.HUnitName; - bar.HQty = HMinQty; - bar.HBatchNo = oItemSub.HBatchNo; - bar.HKFDate = oItemSub.HKFDate; - bar.HKFPeriod = oItemSub.HKFPeriod; - bar.HKFDQDate = oItemSub.HKFDQDate; - bar.HSourceInterID = oItemSub.HSourceInterID; - bar.HSourceEntryID = oItemSub.HSourceEntryID; - bar.HSourceBillNo = oItemSub.HSourceBillNo; - bar.HSourceBillType = oItemSub.HSourceBillType; - bar.HMinQty = oItemSub.HMinQty; - bar.HSupID = oItemSub.HSupID; - bar.HEndQty = WeiShu; - bar.HMTONO = oItemSub.HMTONO; - ls2.Add(bar); + bar.HQty = HMinQty; + bar.HBatchNo = oItemSub.HBatchNo; + bar.HKFDate = oItemSub.HKFDate; + bar.HKFPeriod = oItemSub.HKFPeriod; + bar.HKFDQDate = oItemSub.HKFDQDate; + bar.HSourceInterID = oItemSub.HSourceInterID; + bar.HSourceEntryID = oItemSub.HSourceEntryID; + bar.HSourceBillNo = oItemSub.HSourceBillNo; + bar.HSourceBillType = oItemSub.HSourceBillType; + bar.HMinQty = oItemSub.HMinQty; + bar.HSupID = oItemSub.HSupID; + bar.HEndQty = WeiShu; + bar.HMTONO = oItemSub.HMTONO; + bar.HSupBatchNo = oItemSub.HSupBatchNo; + bar.HSupMaterNumber = oItemSub.HSupMaterNumber; + ls2.Add(bar); + } } } - } - foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub2 in ls2) - { - if (ClsPub.isLong(oItemSub2.HMaterID) != 0) + foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub2 in ls2) { - long sMaterID = ClsPub.isLong(oItemSub2.HMaterID); - Ds = oCn.RunProcReturn("exec GetLSH " + sMaterID.ToString(), "GetLSH"); - string WeiShu1 = ""; //灏炬暟 - int SumLen2 = 4; - string TM2 = ""; - double HWXQty = 0; - - LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]) + 1; - // - HNumber = oItemSub2.HMaterID.ToString(); - //HMinQty = ClsPub.isDoule(oItemSub2.HMinQtyCol2].Value); - HWXQty = ClsPub.isDoule(oItemSub2.HMinQty); - HSumQty = ClsPub.isDoule(oItemSub2.HQty); - HBQty = ClsPub.isInt(Math.Ceiling(HSumQty / HWXQty)); - double NXTMQTY = 0; - for (int i = 0; i < HBQty; i++) + //鍐呯 + if (ClsPub.isLong(oItemSub2.HMaterID) != 0) { - if (HSumQty <= 0 || HWXQty <= 0) + long sMaterID = ClsPub.isLong(oItemSub2.HMaterID); + Ds = oCn.RunProcReturn("exec GetLSH " + sMaterID.ToString(), "GetLSH"); + string WeiShu1 = ""; //灏炬暟 + int SumLen2 = 4; + string TM2 = ""; + double HWXQty = 0; + + LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]) + 1; + // + HNumber = oItemSub2.HMaterID.ToString(); + //HMinQty = ClsPub.isDoule(oItemSub2.HMinQtyCol2].Value); + HWXQty = ClsPub.isDoule(oItemSub2.HMinQty); + HSumQty = ClsPub.isDoule(oItemSub2.HQty); + HBQty = ClsPub.isInt(Math.Ceiling(HSumQty / HWXQty)); + double NXTMQTY = 0; + for (int i = 0; i < HBQty; i++) { - break; - } - if (HSumQty - HWXQty > 0) - { - WeiShu1 = ""; - NXTMQTY = HWXQty; - HSumQty = HSumQty - HWXQty; - } - else - { - if (HSumQty == HWXQty) + if (HSumQty <= 0 || HWXQty <= 0) + { + break; + } + if (HSumQty - HWXQty > 0) { WeiShu1 = ""; + NXTMQTY = HWXQty; + HSumQty = HSumQty - HWXQty; } else { - WeiShu1 = "灏炬暟"; + if (HSumQty == HWXQty) + { + WeiShu1 = ""; + } + else + { + WeiShu1 = "灏炬暟"; + } + NXTMQTY = HSumQty; //HWXQty + HWXQty = HSumQty; + HSumQty = 0; } - NXTMQTY = HSumQty; //HWXQty - HWXQty = HSumQty; - HSumQty = 0; + sDate = ClsPub.GetServerDate(0); + sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2); + sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString(); + sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2); + sDay = "0" + ClsPub.isDate(sDate).Day.ToString(); + sDay = sDay.Substring(sDay.Length - 2, 2); + // + // TM = HNumber + sYear + sPeriod + sDay; //鏉$爜 + // + Model.ClsGy_BarCodeBill_WMS_Model bar2 = new Model.ClsGy_BarCodeBill_WMS_Model(); + TM2 = (i + 1).ToString(); + while (TM2.Length < SumLen2) //濡傛灉鏉$爜灏忎簬12浣嶆暟鍓嶉潰琛�0 + { + TM2 = "0" + TM2; + } + bar2.HMaterID = oItemSub2.HMaterID; + bar2.HBarCode = oItemSub2.HBarCode + "-" + TM2; + bar2.HUnitID = oItemSub2.HUnitID; + bar2.HQty = HWXQty; + bar2.HBatchNo = DBUtility.ClsPub.isStrNull(oItemSub2.HBatchNo); + bar2.HKFDate = DBUtility.ClsPub.isStrNull(oItemSub2.HKFDate); + bar2.HKFDQDate = DBUtility.ClsPub.isStrNull(oItemSub2.HKFDQDate); + bar2.HKFPeriod = DBUtility.ClsPub.isInt(oItemSub2.HKFPeriod); + bar2.HSourceInterID = oItemSub2.HSourceInterID; + bar2.HSourceEntryID = oItemSub2.HSourceEntryID; + bar2.HSourceBillNo = oItemSub2.HSourceBillNo; + bar2.HSourceBillType = oItemSub2.HSourceBillType; + bar2.HSupID = oItemSub2.HSupID; + bar2.HEndQty = WeiShu1; + bar2.HMTONO = oItemSub2.HMTONO; + bar2.HSupBatchNo = DBUtility.ClsPub.isStrNull(oItemSub2.HSupBatchNo); + bar2.HSupMaterNumber = DBUtility.ClsPub.isStrNull(oItemSub2.HSupMaterNumber); + ls3.Add(bar2); + //LogService.Write("娴嬭瘯鍔�+++" + oItemSub2.HSupID); } - sDate = ClsPub.GetServerDate(0); - sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2); - sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString(); - sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2); - sDay = "0" + ClsPub.isDate(sDate).Day.ToString(); - sDay = sDay.Substring(sDay.Length - 2, 2); - // - // TM = HNumber + sYear + sPeriod + sDay; //鏉$爜 - // - Model.ClsGy_BarCodeBill_WMS_Model bar2 = new Model.ClsGy_BarCodeBill_WMS_Model(); - TM2 = (i + 1).ToString(); - while (TM2.Length < SumLen2) //濡傛灉鏉$爜灏忎簬12浣嶆暟鍓嶉潰琛�0 - { - TM2 = "0" + TM2; - } - bar2.HMaterID = oItemSub2.HMaterID; - - - bar2.HBarCode = oItemSub2.HBarCode + "-" + TM2; - - bar2.HUnitID = oItemSub2.HUnitID; - bar2.HQty = HWXQty; - bar2.HBatchNo = DBUtility.ClsPub.isStrNull(oItemSub2.HBatchNo); - bar2.HKFDate = DBUtility.ClsPub.isStrNull(oItemSub2.HKFDate); - bar2.HKFDQDate = DBUtility.ClsPub.isStrNull(oItemSub2.HKFDQDate); - bar2.HKFPeriod = DBUtility.ClsPub.isInt(oItemSub2.HKFPeriod); - bar2.HSourceInterID = oItemSub2.HSourceInterID; - bar2.HSourceEntryID = oItemSub2.HSourceEntryID; - bar2.HSourceBillNo = oItemSub2.HSourceBillNo; - bar2.HSourceBillType = oItemSub2.HSourceBillType; - bar2.HSupID = oItemSub2.HSupID; - bar2.HEndQty = WeiShu1; - bar2.HMTONO = oItemSub2.HMTONO; - ls3.Add(bar2); } } - } - string HBarCode = ""; - string HBarCodeType = ""; - Int64 HMaterID = 0; - Int64 HUnitID = 0; - double HQty2 = 0; - string HBatchNo = ""; - Int64 HSupID = 0; - Int64 HGroupID = 0; - int HPrintQty = 0; - Int64 HSourceInterID = 0; - Int64 HSourceEntryID = 0; - string HSourceBillNo = ""; - string HSourceBillType = ""; - Int64 HKFPeriod = 0; - string HKFDate = ""; - string HKFDQDate = ""; - string HWei = ""; - string HMTONO = ""; + + string HBarCode = ""; + string HBarCodeType = ""; + Int64 HMaterID = 0; + Int64 HUnitID = 0; + double HQty2 = 0; + string HBatchNo = ""; + Int64 HSupID = 0; + Int64 HGroupID = 0; + int HPrintQty = 0; + Int64 HSourceInterID = 0; + Int64 HSourceEntryID = 0; + string HSourceBillNo = ""; + string HSourceBillType = ""; + Int64 HKFPeriod = 0; + string HKFDate = ""; + string HKFDQDate = ""; + string HWei = ""; + string HMTONO = ""; + string HSupBatchNo = ""; + string HSupMaterNumber = ""; oCn.BeginTran(); + foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) + { + //鏇存柊鏉$爜妗f 璇ユ簮鍗曞叾瀹冩潯鐮侀粯璁ゅ凡缁忔墦鍗拌繃涓�娆� + oCn.RunProc($"update Gy_BarCodeBill set HPrintQty += 1 where HPrintQty = 0 and HSourceInterID={oItemSub.HSourceInterID} and HSourceEntryID = {oItemSub.HSourceEntryID}"); + } foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub in ls2) { + //LogService.Write("寰幆绗簩娆�:" + oItemSub.HSupID); if (ClsPub.isLong(oItemSub.HMaterID) != 0) { HBarCode = oItemSub.HBarCode.ToString(); @@ -768,7 +756,8 @@ HUnitID = ClsPub.isLong(oItemSub.HUnitID); HQty2 = ClsPub.isDoule(oItemSub.HQty); HBatchNo = ClsPub.isStrNull(oItemSub.HBatchNo); - HSupID = ClsPub.isInt(oItemSub.HSupID); + HSupID = oItemSub.HSupID; + //LogService.Write("HSupID:" + oItemSub.HSupID); HKFPeriod = ClsPub.isInt(oItemSub.HKFPeriod); HKFDate = ClsPub.isStrNull(oItemSub.HKFDate); HKFDQDate = ClsPub.isStrNull(oItemSub.HKFDQDate); @@ -777,18 +766,31 @@ HSourceBillNo = ClsPub.isStrNull(oItemSub.HSourceBillNo); HSourceBillType = ClsPub.isStrNull(oItemSub.HSourceBillType); HWei = ClsPub.isStrNull(oItemSub.HEndQty); - oCn.RunProc("insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" + + HSupBatchNo = ClsPub.isStrNull(oItemSub.HSupBatchNo); + HSupMaterNumber = ClsPub.isStrNull(oItemSub.HSupMaterNumber); + if (FCusName.Contains("澶忓疂")) + { + HBarCode = $"{oItemSub.HMaterID}"; + HBarCodeType = "鍝佺鐮乢澶栫"; + } + string sql = "insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" + ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" + - ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " + + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO,HSupBatchNo,HSupMaterNumber " + ") values (" + linterid.ToString() + ",'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID + "," + HUnitID + "," + HQty2 + ",'" + HKFDate + "'," + HKFPeriod + ",'" + HKFDQDate + "','" + HBatchNo + "'," + HSupID + "," + HGroupID + ",'" + ClsPub.CurUserName + "','" + DateTime.Today + "'," + HPrintQty + ",'" + HWei + "',1" - + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "')"); - oCn.RunProc("exec setLSH '" + DateTime.Today + "'"); + + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "','" + HSupBatchNo+ "','" + HSupMaterNumber + "'" + + ")"; + oCn.RunProc(sql); + //LogService.Write(sql); + sql = "exec setLSH '" + DateTime.Today + "'"; + oCn.RunProc(sql); + //LogService.Write(sql); } } foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub in ls3) { + //LogService.Write("寰幆绗笁娆�:" + oItemSub.HSupID); if (ClsPub.isLong(oItemSub.HMaterID) != 0) { HBarCode = oItemSub.HBarCode.ToString(); @@ -798,7 +800,7 @@ HUnitID = ClsPub.isLong(oItemSub.HUnitID); HQty2 = ClsPub.isDoule(oItemSub.HQty); HBatchNo = ClsPub.isStrNull(oItemSub.HBatchNo); - HSupID = ClsPub.isInt(oItemSub.HSupID); + HSupID = oItemSub.HSupID; HKFPeriod = ClsPub.isInt(oItemSub.HKFPeriod); HKFDate = ClsPub.isStrNull(oItemSub.HKFDate); HKFDQDate = ClsPub.isStrNull(oItemSub.HKFDQDate); @@ -807,19 +809,254 @@ HSourceBillNo = ClsPub.isStrNull(oItemSub.HSourceBillNo); HSourceBillType = ClsPub.isStrNull(oItemSub.HSourceBillType); HWei = ClsPub.isStrNull(oItemSub.HEndQty); - oCn.RunProc("insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" + + HSupBatchNo = ClsPub.isStrNull(oItemSub.HSupBatchNo); + HSupMaterNumber = ClsPub.isStrNull(oItemSub.HSupMaterNumber); + if (FCusName.Contains("澶忓疂")) + { + HBarCode = $"{oItemSub.HMaterID}"; + HBarCodeType = "鍝佺鐮�"; + } + string sql = "insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" + + ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" + + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO ,HSupBatchNo,HSupMaterNumber" + + ") values (" + + linterid.ToString() + ",'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID + "," + HUnitID + "," + HQty2 + ",'" + HKFDate + "'," + HKFPeriod + ",'" + HKFDQDate + + "','" + HBatchNo + "'," + HSupID + "," + HGroupID + ",'" + ClsPub.CurUserName + "','" + DateTime.Today + "'," + HPrintQty + ",'" + HWei + "',1" + + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "','" + + HSupBatchNo + "','" + HSupMaterNumber + "'" + ")"; + oCn.RunProc(sql); + //LogService.Write(sql); + } + } + //鏆傛椂鍙洖濉叧鑱旀暟閲� + string _sql = "exec H_p_SRM_BarCodeBill_Update_UpdateBillRelateData " + linterid.ToString(); + //LogService.Write(_sql); + oCn.RunProc(_sql); + oCn.Commit(); + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "" + e.Message + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鐢熸垚鏉$爜鎴愬姛锛�"; + WebAPIController.Add_Log("鏉$爜涓嬫帹", UserName, "鐢熸垚鏉$爜"); + objJsonResult.data = null; + return objJsonResult; + } + + //妫�鏌ユ槸鍚﹀凡缁忕敓鎴愭潯鐮� + public bool CheckBarCode(Int64 HSourceInterID, Int64 HSourceEntryID) + { + DataSet Ds; + Ds = oCn.RunProcReturn("select * from Gy_BarCodeBill where HSourceInterID=" + HSourceInterID + " and HSourceEntryID=" + HSourceEntryID, "Gy_BarCodeBill"); + if (Ds == null) + { + return false; + } + if (Ds.Tables[0].Rows.Count == 0) + { + return true; + } + else + { + return false; + } + } + + [Route("GetBarcodeSaveBillOnlyInnerBox")] + [HttpPost] + /// <summary> + /// 鐢熸垚鏉$爜(浠呭唴绠�) + /// </summary> + /// <param name="msg"></param> + /// <param name="msg2"></param> + /// <returns></returns> + public object GetBarcodeSaveBillOnlyInnerBox([FromBody] JObject msg) + { + string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo); + var _value = msg["msg"].ToString(); + string msg1 = _value.ToString(); + string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + string msg2 = sArray[0].ToString(); + string msg3 = sArray[1].ToString(); + //LogService.Write(msg3); + string UserName = ""; + ListModels oListModels = new ListModels(); + try + { + List<Model.ClsCg_POInStockBillMain> lsmain = new List<Model.ClsCg_POInStockBillMain>(); + msg2 = msg2.Replace("\\", ""); + msg2 = msg2.Replace("\n", ""); //\n + lsmain = oListModels.getObjectByJson_POInStockMain(msg2); + foreach (Model.ClsCg_POInStockBillMain oItem in lsmain) + { + UserName = oItem.HMaker; + } + DAL.ClsWeb_BarCodeBill oBill = new DAL.ClsWeb_BarCodeBill(); + + msg3 = msg3.Substring(1, msg3.Length - 2); + msg3 = msg3.Replace("\\", ""); + msg3 = msg3.Replace("\n", ""); //\n + + List<Model.ClsGy_MaterialList_WMS_Model> ls = new List<Model.ClsGy_MaterialList_WMS_Model>(); + List<Model.ClsGy_BarCodeBill_WMS_Model> ls2 = new List<Model.ClsGy_BarCodeBill_WMS_Model>(); + ls = oListModels.getObjectByJson_MaterialList(msg3); + long linterid = Pub_Class.ClsPub.CreateBillID_SRMProd("8888", ref DBUtility.ClsPub.sExeReturnInfo); + int LSHlen = 6; //娴佹按鍙烽暱搴� + int SumLen = 10; //鎬婚暱搴� + string TM = ""; //鏉$爜 + int LSH = 0; //娴佹按鍙� + string LSH2 = ""; //娴佹按鍙疯浆鎹㈡垚瀛楃 + string sDate = ""; //鏃ユ湡 + string sYear = ""; //骞� + string sPeriod = ""; //鏈� + string sDay = ""; //鏃� + DataSet Ds; + SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + Ds = oCn.RunProcReturn("exec GetLSH '" + DateTime.Today + "'", "GetLSH"); + LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]); + foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) + { + //鏁伴噺涓�0 璺宠繃 + if (oItemSub.HQty == 0) + continue; + //妫�楠屾墦鍗版暟閲忥紙HQTY锛夊拰鏈墦鍗版暟閲� + string sql = $"select HQty -HBarcodeCount as HNotBarcodeCount ,* from Cg_POOrderBillSub where HEntryID = {oItemSub.HSourceEntryID}"; + DataSet ds = oCn.RunProcReturn(sql, "tables"); + if (ds.Tables[0].Rows.Count > 0 && Convert.ToInt32(ds.Tables[0].Rows[0][0]) < oItemSub.HQty) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"鐗╂枡缂栫爜{oItemSub.HMaterNumber}锛屾湰娆$敓鎴愭潯鐮佹暟閲忎笉鑳借秴鍑烘湭鐢熸垚鏉$爜鏁伴噺"; + objJsonResult.data = null; + return objJsonResult; + } + //鍐呯 + if (ClsPub.isLong(oItemSub.HMaterID) != 0) + { + var WeiShu = ""; + var HNumber = oItemSub.HMaterID.ToString(); + var HSumQty = ClsPub.isDoule(oItemSub.HQty);//浜у搧鏁伴噺 + var HMinQty = ClsPub.isDoule(oItemSub.HMinQty);//鍐呯鍖呰鏁伴噺 + var HBQty = ClsPub.isDoule(oItemSub.HBQty); //鍐呯鏁� + for (int i = 1; i <= HBQty; i++) + { + if ((double)i == HBQty) + { + WeiShu = "灏炬暟"; + HMinQty = HSumQty - (HBQty - 1) * HMinQty; + } + //TM = $"{oItemSub.HMaterID}#{HMinQty}"; + TM = $"{oItemSub.HMaterID}"; + Model.ClsGy_BarCodeBill_WMS_Model bar = new Model.ClsGy_BarCodeBill_WMS_Model(); + bar.HBarCode = TM; + bar.HMaterID = oItemSub.HMaterID; + bar.HUnitID = oItemSub.HUnitID; + bar.HQty = HMinQty; + bar.HBatchNo = oItemSub.HBatchNo; + bar.HKFDate = oItemSub.HKFDate; + bar.HKFPeriod = oItemSub.HKFPeriod; + bar.HKFDQDate = oItemSub.HKFDQDate; + bar.HSourceInterID = oItemSub.HSourceInterID; + bar.HSourceEntryID = oItemSub.HSourceEntryID; + bar.HSourceBillNo = oItemSub.HSourceBillNo; + bar.HSourceBillType = oItemSub.HSourceBillType; + bar.HMinQty = oItemSub.HMinQty; + bar.HSupID = oItemSub.HSupID; + bar.HEndQty = WeiShu; + bar.HMTONO = oItemSub.HMTONO; + ls2.Add(bar); + } + } + } + string HBarCode = ""; + string HBarCodeType = ""; + Int64 HMaterID = 0; + Int64 HUnitID = 0; + double HQty2 = 0; + string HBatchNo = ""; + Int64 HSupID = 0; + Int64 HGroupID = 0; + int HPrintQty = 0; + Int64 HSourceInterID = 0; + Int64 HSourceEntryID = 0; + string HSourceBillNo = ""; + string HSourceBillType = ""; + Int64 HKFPeriod = 0; + string HKFDate = ""; + string HKFDQDate = ""; + string HWei = ""; + string HMTONO = ""; + oCn.BeginTran(); + foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub in ls2) + { + //鏇存柊鏉$爜妗f 璇ユ簮鍗曞叾瀹冩潯鐮侀粯璁ゅ凡缁忔墦鍗拌繃涓�娆� + oCn.RunProc($"update Gy_BarCodeBill set HPrintQty += 1 where HPrintQty = 0 and HSourceInterID={oItemSub.HSourceInterID} and HSourceEntryID = {oItemSub.HSourceEntryID}"); + } + foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub in ls2) + { + if (ClsPub.isLong(oItemSub.HMaterID) != 0) + { + HBarCode = oItemSub.HBarCode.ToString(); + HMTONO = ClsPub.isStrNull(oItemSub.HMTONO); + HBarCodeType = "鍝佺鐮�"; + HMaterID = ClsPub.isLong(oItemSub.HMaterID); + HUnitID = ClsPub.isLong(oItemSub.HUnitID); + HQty2 = ClsPub.isDoule(oItemSub.HQty); + HBatchNo = ClsPub.isStrNull(oItemSub.HBatchNo); + HSupID = oItemSub.HSupID; + //LogService.Write("HSupID:" + oItemSub.HSupID); + HKFPeriod = ClsPub.isInt(oItemSub.HKFPeriod); + HKFDate = ClsPub.isStrNull(oItemSub.HKFDate); + HKFDQDate = ClsPub.isStrNull(oItemSub.HKFDQDate); + HSourceInterID = ClsPub.isLong(oItemSub.HSourceInterID); + HSourceEntryID = ClsPub.isLong(oItemSub.HSourceEntryID); + HSourceBillNo = ClsPub.isStrNull(oItemSub.HSourceBillNo); + HSourceBillType = ClsPub.isStrNull(oItemSub.HSourceBillType); + HWei = ClsPub.isStrNull(oItemSub.HEndQty); + string sql = "insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" + ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " + ") values (" + linterid.ToString() + ",'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID + "," + HUnitID + "," + HQty2 + ",'" + HKFDate + "'," + HKFPeriod + ",'" + HKFDQDate + "','" + HBatchNo + "'," + HSupID + "," + HGroupID + ",'" + ClsPub.CurUserName + "','" + DateTime.Today + "'," + HPrintQty + ",'" + HWei + "',1" - + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "')"); + + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "')"; + oCn.RunProc(sql); + sql = "exec setLSH '" + DateTime.Today + "'"; + oCn.RunProc(sql); } } //鏆傛椂鍙洖濉叧鑱旀暟閲� - oCn.RunProc("exec H_p_SRM_BarCodeBill_Update_UpdateBillRelateData " + linterid.ToString()); + foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) + { + if (oItemSub.HQty == 0) + continue; + //鏇存柊鏉$爜妗f 璇ユ簮鍗曞叾瀹冩潯鐮侀粯璁ゅ凡缁忔墦鍗拌繃涓�娆� + //鏇存柊 宸叉墦鍗版暟閲� + if (oItemSub.HSourceBillType == "1102") + { + string _HBarCodeType = "绠卞彿鏉$爜"; + if (FCusName.Contains("澶忓疂")) + _HBarCodeType = "鍝佺鐮�"; + string sql = string.Empty; + sql = string.Format(@" +update t1 set +t1.HBarcodeCount = +isnull((select sum(HQty)from Gy_BarCodeBill where HSourceInterID = t1.HInterID and HSourceEntryID = t1.HEntryID and HBarCodeType ='{2}'),0) +from Cg_POOrderBillSub t1 +where t1.HInterID = {0} and t1.HEntryID ={1}", oItemSub.HSourceInterID, oItemSub.HSourceEntryID, _HBarCodeType); + oCn.RunProc(sql); + } + } oCn.Commit(); - } catch (Exception e) { @@ -962,7 +1199,7 @@ return objjson; } DAL.ClsWeb_BarCodeBill oClsWeb_BarCodeBill = new DAL.ClsWeb_BarCodeBill(); - ds = oClsWeb_BarCodeBill.ShowBillSub6(DBUtility.ClsPub.isLong(sMsg), ShowItem, ref DBUtility.ClsPub.sExeReturnInfo); + ds = ShowBillSub6(DBUtility.ClsPub.isLong(sMsg), ShowItem, ref DBUtility.ClsPub.sExeReturnInfo); if (ds == null || ds.Tables[0].Rows.Count == 0) { objjson.code = "0"; @@ -988,6 +1225,28 @@ objjson.Message = "鑾峰彇鍗曟嵁琛ㄤ綋澶辫触:" + e.Message; objjson.data = null; return objjson; + } + } + public DataSet ShowBillSub6(long lngBillKey, string sShowItem, ref string sReturn) + { + string str = ""; + try + { + string MvarItemKeySubForWeb4 = "h_v_Web_BarCodeBill_ForWeb2"; + str = string.Concat(new object[] { "Select ", sShowItem, " from ", MvarItemKeySubForWeb4, " Where HInterID=", lngBillKey.ToString(), " order by HEntryID " }); + DataSet set = oCn.RunProcReturn(string.Concat(new object[] { "Select ", sShowItem, " from ", MvarItemKeySubForWeb4, " Where HInterID=", lngBillKey.ToString(), " order by HEntryID " }), MvarItemKeySubForWeb4); + if ((set == null) || (set.Tables[0].Rows.Count == 0)) + { + sReturn = "鍗曟嵁浣撴湭鎵惧埌锛�"; + return null; + } + sReturn = "鏄剧ず鍗曟嵁浣撴垚鍔燂紒"; + return set; + } + catch (Exception exception) + { + sReturn = exception.Message + str; + return null; } } [Route("GetHBarCodeShowBillMain")] @@ -1099,29 +1358,19 @@ /// <param name="OnePage"></param> /// <returns></returns> [Route("GetBarCodeShowList")] - [HttpGet] - public object GetBarCodeShowList(string HSupNo, string sqlWhere) + [HttpPost] + public object GetBarCodeShowList([FromBody] JObject msg) { - string msg = ""; + string HSupNo = msg["HSupNo"].ToString(); string sqlWhere = msg["sqlWhere"].ToString(); try { string VsWhere = ""; string PcWhere = ""; SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); DataSet ds; - //鍏朵粬杩囨护 - if (msg.Trim() == "") - { - msg = " Where hsupid in (select HItemID from h_v_IF_Supplier where hnumber=''" + HSupNo.Trim() + "'') " + sqlWhere; - // msg = " Where hsupid in (select hsupid from Gy_UserSupplierRelation where HUserID=^^" + System.Web.HttpContext.Current.Session["HUserName"].ToString() + "^^)"; - } - else - { - msg = msg + " and hsupid in (select HItemID from h_v_IF_Supplier where hnumber=''" + HSupNo.Trim() + "'') " + sqlWhere; - // msg = msg + " Where hsupid in (select hsupid from Gy_UserSupplierRelation where HUserID=^^" + System.Web.HttpContext.Current.Session["HUserName"].ToString() + "^^)"; - } - //杞崲鐗规畩瀛楃 - if (Common.SQLtoChange(msg, ref VsWhere, ref PcWhere) == false) + string sql = " Where hsupid in (select HSupID from h_v_Gy_UserSupplierList where 鐢ㄦ埛=''" + HSupNo.Trim() + "'') " + sqlWhere; + + if (Common.SQLtoChange(sql, ref VsWhere, ref PcWhere) == false) { objjson.code = "0"; objjson.count = 0; @@ -1163,5 +1412,700 @@ } + #region 閲囪喘璁㈠崟鏉$爜鐢熸垚鍔熻兘锛堝畨鐟烇級 + [Route("GetHBarCodeShowBillMainBycg")] + /// <summary> + /// 鏉$爜鐢熸垚琛ㄥご锛堥噰璐鍗曪級 + /// </summary> + /// <param name="sMsg"></param> + /// <returns></returns> + public object GetHBarCodeShowBillMainBycg(string sMsg) + { + try + { + DataSet ds; + string s = ""; + string ShowItem = " * ";//鏄剧ず鐨勫瓧娈� + if (DBUtility.ClsPub.isLong(sMsg) == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触"; + objjson.data = null; + return objjson; + } + DAL.ClsWeb_BarCodeBill oClsWeb_BarCodeBill = new DAL.ClsWeb_BarCodeBill(); + string sql = string.Format(@"select * from h_v_Cg_POOrderBillMain_ForWeb2 where HInterID = " + sMsg); + ds = oCn.RunProcReturn(sql, "h_v_Cg_POOrderBillMain_ForWeb2"); + //ds = oClsWeb_BarCodeBill.ShowBillMain1(DBUtility.ClsPub.isLong(sMsg), ShowItem, ref DBUtility.ClsPub.sExeReturnInfo); + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触"; + objjson.data = null; + return objjson; + } + else + { + + objjson.code = "0"; + objjson.count = 10000; + objjson.Message = "鑾峰彇鎴愬姛"; + objjson.data = ds.Tables[0]; + return objjson; + } + } + catch (Exception e) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触" + e.ToString(); + objjson.data = null; + return objjson; + } + } + [Route("GetHBarCodeShowBillSubBycg")] + [HttpGet] + /// <summary> + /// 鏉$爜鐢熸垚琛ㄤ綋锛堥噰璐鍗曪級 + /// </summary> + /// <param name="sMsg">閲囪喘璁㈠崟HinterID</param> + /// <returns></returns> + public object GetHBarCodeShowBillSubBycg(string sMsg) + { + try + { + if (DBUtility.ClsPub.isLong(sMsg) == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触"; + objjson.data = null; + return objjson; + } + //棰勫鐞� 淇敼閲囪喘璁㈠崟鐨勯��鏂欐暟閲� + var kdTbaleName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DataBaseName"); + string sql = $@"update t1 set + t1.HMrbQty = t2.FMRBQTY + from Cg_POOrderBillSub t1 + join {kdTbaleName}..T_PUR_POORDERENTRY_R t2 + on t1.HEntryID = t2.FENTRYID + where t1.HInterID = {sMsg} ";//sMsg 閲囪喘璁㈠崟hinterid + oCn.RunProc(sql); + DAL.ClsWeb_BarCodeBill oClsWeb_BarCodeBill = new DAL.ClsWeb_BarCodeBill(); + sql = string.Format(@"select * from h_v_Cg_POOrderBillSub_ForWeb2 where HInterID = " + sMsg); + DataSet ds = oCn.RunProcReturn(sql, "h_v_Cg_POOrderBillSub_ForWeb2"); + //ds = oClsWeb_BarCodeBill.ShowBillSub(DBUtility.ClsPub.isLong(sMsg), ShowItem, ref DBUtility.ClsPub.sExeReturnInfo); + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触"; + objjson.data = null; + return objjson; + } + else + { + objjson.code = "0"; + objjson.count = 10000; + objjson.Message = "鑾峰彇鎴愬姛"; + objjson.data = ds.Tables[0]; + return objjson; + } + } + catch (Exception e) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触" + e.ToString(); + objjson.data = null; + return objjson; + } + } + + [Route("GetBarcodeSaveBillBoxBycg")] + [HttpPost] + /// <summary> + /// 閲囪喘璁㈠崟 鐢熸垚鏉$爜 鍐呭绠� + /// </summary> + /// <param name="msg"></param> + /// <param name="msg2"></param> + /// <returns></returns> + public object GetBarcodeSaveBillBoxBycg([FromBody] JObject msg) + { + string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo); + var _value = msg["msg"].ToString(); + string msg1 = _value.ToString(); + string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + string msg2 = sArray[0].ToString();// + string msg3 = sArray[1].ToString();// + string UserName = ""; + ListModels oListModels = new ListModels(); + try + { + List<Model.ClsCg_POInStockBillMain> lsmain = new List<Model.ClsCg_POInStockBillMain>(); + msg2 = msg2.Replace("\\", ""); + msg2 = msg2.Replace("\n", ""); //\n + lsmain = oListModels.getObjectByJson_POInStockMain(msg2); + foreach (Model.ClsCg_POInStockBillMain oItem in lsmain) + { + UserName = oItem.HMaker; + } + DAL.ClsWeb_BarCodeBill oBill = new DAL.ClsWeb_BarCodeBill(); + msg3 = msg3.Substring(1, msg3.Length - 2); + msg3 = msg3.Replace("\\", ""); + msg3 = msg3.Replace("\n", ""); //\n + List<Model.ClsGy_MaterialList_WMS_Model> ls = new List<Model.ClsGy_MaterialList_WMS_Model>(); + List<Model.ClsGy_BarCodeBill_WMS_Model> ls2 = new List<Model.ClsGy_BarCodeBill_WMS_Model>();//澶栫model + List<Model.ClsGy_BarCodeBill_WMS_Model> ls3 = new List<Model.ClsGy_BarCodeBill_WMS_Model>();//鍐呯model + + ls = oListModels.getObjectByJson_MaterialList(msg3);//鍒楄〃鏁版嵁model + + long linterid = Pub_Class.ClsPub.CreateBillID_SRMProd("8888", ref DBUtility.ClsPub.sExeReturnInfo); + int LSHlen = 6; //娴佹按鍙烽暱搴� + int SumLen = 10; //鎬婚暱搴� + string TM = ""; //鏉$爜 + string HNumber = ""; //鐗╂枡浠g爜 + double HSumQty = 0; //浜у搧鏁伴噺 + double HMinQty = 0; //鏈�灏忓寘瑁呮暟 + int HBQty = 0; //绠辨暟 + double HQty = 0; //鏁伴噺 + int LSH = 0; //娴佹按鍙� + string LSH2 = ""; //娴佹按鍙疯浆鎹㈡垚瀛楃 + string sDate = ""; //鏃ユ湡 + string sYear = ""; //骞� + string sPeriod = ""; //鏈� + string sDay = ""; //鏃� + string WeiShu = ""; //灏炬暟 + DataSet Ds; + SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + oCn.BeginTran(); + Ds = oCn.RunProcReturn("exec GetLSH '" + DateTime.Today + "'", "GetLSH"); + LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]); + foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) + { + //鏁伴噺涓�0 璺宠繃 + if (oItemSub.HQty == 0 || oItemSub.HMinQty == 0 || oItemSub.HWXQty == 0) + continue; + //妫�楠屾墦鍗版暟閲忥紙HQTY锛夊拰鏈墦鍗版暟閲� + string sql = $"select HQty + isnull(HMrbQty,0) - HBarcodeCount as HNotBarcodeCount ,* from Cg_POOrderBillSub where HEntryID = {oItemSub.HSourceEntryID}"; + DataSet ds = oCn.RunProcReturn(sql, "tables"); + + if (ds.Tables[0].Rows.Count > 0 && Convert.ToDouble(ds.Tables[0].Rows[0][0]) < oItemSub.HQty) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"鐗╂枡缂栫爜{oItemSub.HMaterNumber}锛屾湰娆$敓鎴愭潯鐮佹暟閲忎笉鑳借秴鍑烘湭鐢熸垚鏉$爜鏁伴噺"; + objJsonResult.data = null; + return objJsonResult; + } + //鏍¢獙鎵瑰彿 鍜� 鐢熶骇鏃ユ湡 + sql = $"select top 1 HKFDate from Gy_BarCodeBill where HSupID = '{oItemSub.HSupID}' and HBatchNo = '{oItemSub.HBatchNo.TrimStart().TrimEnd()}' and HMaterID ={oItemSub.HMaterID} and isnull(HKFDate, '') <> ''"; + LogService.Write($"sql:{sql}"); + DataTable dt = oCn.RunProcReturn(sql, "tables").Tables[0]; + if (dt.Rows.Count > 0) + { + LogService.Write($"HKFDate:{dt.Rows[0][0]}"); + sql = $"select DATEDIFF(D,{dt.Rows[0][0]},{oItemSub.HKFDate})"; + ds = oCn.RunProcReturn(sql, "tables2"); + LogService.Write($"DATEDIFF:{Convert.ToInt32(ds.Tables[0].Rows[0][0])}"); + if (ds.Tables[0].Rows.Count > 0 && Convert.ToInt32(ds.Tables[0].Rows[0][0]) != 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"鐗╂枡缂栫爜{oItemSub.HMaterNumber}锛屾壒鍙穥oItemSub.HBatchNo.TrimStart().TrimEnd()},鐢熶骇鏃ユ湡涓簕dt.Rows[0][0]},璇锋牳瀵�"; + objJsonResult.data = null; + return objJsonResult; + } + } + if (ClsPub.isLong(oItemSub.HMaterID) != 0) + { + + HNumber = oItemSub.HMaterID.ToString(); + //HNumber = HNumber.Replace(".", ""); + //HQty = Math.Ceiling(HBQty + ClsPub.isDoule(oItemSub.HWBQty)); + HQty = ClsPub.isDoule(oItemSub.HWBQty);//鍐呯鏁� + HBQty = ClsPub.isInt(oItemSub.HWBQty);//鍐呯鏁� + HMinQty = ClsPub.isDoule(oItemSub.HWXQty);//澶栫鍖呰鏁� + HSumQty = ClsPub.isDoule(oItemSub.HQty); //浜у搧鏁伴噺 + for (int i = 0; i < HBQty; i++) + { + //// 瀹夌憺鏉$爜瑙勫垯锛氱墿鏂欑紪鐮侊紙绯荤粺浠e叆锛堾鐗╂枡鍚嶇О锛堢郴缁熶唬鍏ワ級@瑙勬牸鍨嬪彿锛堢郴缁熶唬鍏ワ級@鐢熶骇鏃ユ湡锛堟墜宸ヨ緭鍏ワ級@鏁伴噺锛堟墜宸ヨ緭鍏ワ級@澶辨晥鏃ユ湡锛堟墜宸ヨ緭鍏ワ級@鎵规鍙凤紙鎵嬪伐浠e叆锛堾渚涘簲鍟嗗悕绉帮紙绯荤粺浠e叆锛堾閲囪喘璁㈠崟鍙凤紙绯荤粺浠e叆锛� + //TM = $"{oItemSub.HMaterNumber}@{oItemSub.HMaterName}@{oItemSub.HMaterModel}@{oItemSub.HKFDate}@{oItemSub.HQty}@{oItemSub.HKFDQDate}@{oItemSub.HBatchNo}@{oItemSub.HSupName}@{oItemSub.HSourceBillNo}"; + + if (HSumQty - HMinQty > 0) + { + WeiShu = ""; + HSumQty = HSumQty - HMinQty; + } + else + { + if (HSumQty == HMinQty) + { + WeiShu = ""; + } + else + { + WeiShu = "灏炬暟"; + } + HMinQty = HSumQty; + } + + //瀹夌憺鏉$爜瑙勫垯锛氱墿鏂欑紪鐮侊紙绯荤粺浠e叆锛堾鐗╂枡鍚嶇О锛堢郴缁熶唬鍏ワ級@瑙勬牸鍨嬪彿锛堢郴缁熶唬鍏ワ級@鐢熶骇鏃ユ湡锛堟墜宸ヨ緭鍏ワ級@鏁伴噺锛堟墜宸ヨ緭鍏ワ級@澶辨晥鏃ユ湡锛堟墜宸ヨ緭鍏ワ級@鎵规鍙凤紙鎵嬪伐浠e叆锛堾渚涘簲鍟嗗悕绉帮紙绯荤粺浠e叆锛堾閲囪喘璁㈠崟鍙凤紙绯荤粺浠e叆锛� + TM = $"{oItemSub.HMaterNumber}@{oItemSub.HMaterName}@{oItemSub.HMaterModel}@{oItemSub.HKFDate}@{HMinQty}@{oItemSub.HKFDQDate}@{oItemSub.HBatchNo.TrimStart().TrimEnd()}@{oItemSub.HSupName}@{oItemSub.HSourceBillNo}"; + Model.ClsGy_BarCodeBill_WMS_Model bar = new Model.ClsGy_BarCodeBill_WMS_Model(); + + var HBarCode_verify = TM.Split('@'); //鏍¢獙鏉$爜淇℃伅 + var HMaterNumber_verify = HBarCode_verify[0]; //鏍¢獙鐗╂枡缂栫爜 + var HMaterName_verify = HBarCode_verify[1]; //鏍¢獙鐗╂枡鍚嶇О + var HMaterModel_verify = HBarCode_verify[2]; //鏍¢獙瑙勬牸鍨嬪彿 + var HSupName_verify = HBarCode_verify[7]; //鏍¢獙渚涘簲鍟� + var HSourceBillNo_verify = HBarCode_verify[8]; //鏍¢獙閲囪喘璁㈠崟鍙� + + sql = $"select * from Gy_Material where HNumber = '{HMaterNumber_verify}' and HName = '{HMaterName_verify}'"; + DataSet verifyMatInfo = oCn.RunProcReturn(sql, "tables"); + + sql = $"select * from Cg_POOrderBillMain where HBillNo = '{HSourceBillNo_verify}'"; + DataSet verifyBillInfo = oCn.RunProcReturn(sql, "tables"); + + sql = $"select * from Gy_Supplier where HName = '{HSupName_verify}'"; + DataSet verifySupInfo = oCn.RunProcReturn(sql, "tables"); + + if (verifyMatInfo.Tables[0].Rows.Count <= 0 || verifyBillInfo.Tables[0].Rows.Count <= 0 || verifySupInfo.Tables[0].Rows.Count <= 0) + { + oCn.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"鏉$爜淇℃伅鏍¢獙鍑洪敊锛岃閲嶆柊鐢熸垚鏉$爜"; + objJsonResult.data = null; + return objJsonResult; + } + + bar.HBarCode = TM; + bar.HMaterID = oItemSub.HMaterID; + //bar.HMaterNumber = oItemSub.HMaterNumber; + //bar.HMaterName = oItemSub.HMaterName; + //bar.HMaterModel = oItemSub.HMaterModel; + // bar.HModel2 = oItemSub.HModel; + bar.HUnitID = oItemSub.HUnitID; + //bar.HUnitNumber2 = oItemSub.HUnitNumber; + //bar.HUnitName2 = oItemSub.HUnitName; + bar.HQty = HMinQty; + bar.HBatchNo = oItemSub.HBatchNo; + bar.HKFDate = oItemSub.HKFDate; + bar.HKFPeriod = oItemSub.HKFPeriod; + bar.HKFDQDate = oItemSub.HKFDQDate; + bar.HSourceInterID = oItemSub.HSourceInterID; + bar.HSourceEntryID = oItemSub.HSourceEntryID; + bar.HSourceBillNo = oItemSub.HSourceBillNo; + bar.HSourceBillType = oItemSub.HSourceBillType; + bar.HMinQty = oItemSub.HMinQty; + bar.HSupID = oItemSub.HSupID; + bar.HEndQty = WeiShu; + bar.HMTONO = oItemSub.HMTONO; + ls2.Add(bar); + } + } + } + oCn.Commit(); + foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub2 in ls2) + { + if (ClsPub.isLong(oItemSub2.HMaterID) != 0) + { + long sMaterID = ClsPub.isLong(oItemSub2.HMaterID); + Ds = oCn.RunProcReturn("exec GetLSH " + sMaterID.ToString(), "GetLSH"); + string WeiShu1 = ""; //灏炬暟 + int SumLen2 = 4; + string TM2 = ""; + double HWXQty = 0; + double HBarcodeQty = ClsPub.isDoule(oItemSub2.HQty); + + LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]) + 1; + // + HNumber = oItemSub2.HMaterID.ToString(); + //HMinQty = ClsPub.isDoule(oItemSub2.HMinQtyCol2].Value); + HWXQty = ClsPub.isDoule(oItemSub2.HMinQty); + HSumQty = ClsPub.isDoule(oItemSub2.HQty); + HBQty = ClsPub.isInt(Math.Ceiling(HSumQty / HWXQty)); + double NXTMQTY = 0; + for (int i = 0; i < HBQty; i++) + { + if (HSumQty <= 0 || HWXQty <= 0) + { + break; + } + if (HSumQty - HWXQty > 0) + { + WeiShu1 = ""; + NXTMQTY = HWXQty; + HSumQty = HSumQty - HWXQty; + } + else + { + if (HSumQty == HWXQty) + { + WeiShu1 = ""; + } + else + { + WeiShu1 = "灏炬暟"; + } + NXTMQTY = HSumQty; //HWXQty + HWXQty = HSumQty; + HSumQty = 0; + } + sDate = ClsPub.GetServerDate(0); + sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2); + sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString(); + sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2); + sDay = "0" + ClsPub.isDate(sDate).Day.ToString(); + sDay = sDay.Substring(sDay.Length - 2, 2); + // + // TM = HNumber + sYear + sPeriod + sDay; //鏉$爜 + // + Model.ClsGy_BarCodeBill_WMS_Model bar2 = new Model.ClsGy_BarCodeBill_WMS_Model(); + TM2 = (i + 1).ToString(); + while (TM2.Length < SumLen2) //濡傛灉鏉$爜灏忎簬12浣嶆暟鍓嶉潰琛�0 + { + TM2 = "0" + TM2; + } + bar2.HMaterID = oItemSub2.HMaterID; + bar2.HBarCode = oItemSub2.HBarCode.Replace(HBarcodeQty.ToString(), HWXQty.ToString()); + bar2.HUnitID = oItemSub2.HUnitID; + bar2.HQty = HWXQty; + bar2.HBatchNo = DBUtility.ClsPub.isStrNull(oItemSub2.HBatchNo); + bar2.HKFDate = DBUtility.ClsPub.isStrNull(oItemSub2.HKFDate); + bar2.HKFDQDate = DBUtility.ClsPub.isStrNull(oItemSub2.HKFDQDate); + bar2.HKFPeriod = DBUtility.ClsPub.isInt(oItemSub2.HKFPeriod); + bar2.HSourceInterID = oItemSub2.HSourceInterID; + bar2.HSourceEntryID = oItemSub2.HSourceEntryID; + bar2.HSourceBillNo = oItemSub2.HSourceBillNo; + bar2.HSourceBillType = oItemSub2.HSourceBillType; + bar2.HSupID = oItemSub2.HSupID; + bar2.HEndQty = WeiShu1; + bar2.HMTONO = oItemSub2.HMTONO; + ls3.Add(bar2); + } + } + } + string HBarCode = ""; + string HBarCodeType = ""; + Int64 HMaterID = 0; + Int64 HUnitID = 0; + double HQty2 = 0; + string HBatchNo = ""; + Int64 HSupID = 0; + Int64 HGroupID = 0; + int HPrintQty = 0; + Int64 HSourceInterID = 0; + Int64 HSourceEntryID = 0; + string HSourceBillNo = ""; + string HSourceBillType = ""; + Int64 HKFPeriod = 0; + string HKFDate = ""; + string HKFDQDate = ""; + string HWei = ""; + string HMTONO = ""; + oCn.BeginTran(); + foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) + { + //鏇存柊鏉$爜妗f 璇ユ簮鍗曞叾瀹冩潯鐮侀粯璁ゅ凡缁忔墦鍗拌繃涓�娆� + oCn.RunProc($"update Gy_BarCodeBill set HPrintQty += 1 where HPrintQty = 0 and HSourceInterID={oItemSub.HSourceInterID} and HSourceEntryID = {oItemSub.HSourceEntryID}"); + } + //澶栫 + var oItemSubGroup = ls2.GroupBy(x => new { x.HSourceEntryID }).Select(y => new Model.ClsGy_BarCodeBill_WMS_Model { HSourceEntryID = y.Key.HSourceEntryID }); + foreach (var oitem in oItemSubGroup) + { + var SubModel = ls2.Where(x => x.HSourceEntryID == oitem.HSourceEntryID).ToList(); + int count = 1; + foreach (var oItemSub in SubModel) + { + if (ClsPub.isLong(oItemSub.HMaterID) != 0) + { + HBarCode = oItemSub.HBarCode.ToString(); + HMTONO = ClsPub.isStrNull(oItemSub.HMTONO); + HBarCodeType = "绠卞彿鏉$爜"; + HMaterID = ClsPub.isLong(oItemSub.HMaterID); + HUnitID = ClsPub.isLong(oItemSub.HUnitID); + HQty2 = ClsPub.isDoule(oItemSub.HQty); + HBatchNo = ClsPub.isStrNull(oItemSub.HBatchNo); + HSupID = oItemSub.HSupID; + HKFPeriod = ClsPub.isInt(oItemSub.HKFPeriod); + HKFDate = ClsPub.isStrNull(oItemSub.HKFDate); + HKFDQDate = ClsPub.isStrNull(oItemSub.HKFDQDate); + HSourceInterID = ClsPub.isLong(oItemSub.HSourceInterID); + HSourceEntryID = ClsPub.isLong(oItemSub.HSourceEntryID); + HSourceBillNo = ClsPub.isStrNull(oItemSub.HSourceBillNo); + HSourceBillType = ClsPub.isStrNull(oItemSub.HSourceBillType); + HWei = ClsPub.isStrNull(oItemSub.HEndQty); + if (FCusName.Contains("澶忓疂")) + { + HBarCode = $"{oItemSub.HMaterID}"; + HBarCodeType = "鍝佺鐮乢澶栫"; + } + string sql = "insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" + + ",HBatchNo,HBarcodeQtys,HBarcodeNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" + + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " + + ") values (" + + linterid.ToString() + ",'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID + "," + HUnitID + "," + HQty2 + ",'" + HKFDate + "'," + HKFPeriod + ",'" + HKFDQDate + + "','" + HBatchNo + "','" + SubModel.Count + "','" + count + "'," + HSupID + "," + HGroupID + ",'" + ClsPub.CurUserName + "','" + DateTime.Today + "'," + HPrintQty + ",'" + HWei + "',1" + + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "')"; + oCn.RunProc(sql); + oCn.RunProc("exec setLSH '" + DateTime.Today + "'"); + count++; + } + } + } + //鍐呯 + var _oItemSubGroup = ls3.GroupBy(x => new { x.HSourceEntryID }).Select(y => new Model.ClsGy_BarCodeBill_WMS_Model { HSourceEntryID = y.Key.HSourceEntryID }); + foreach (var oitem in _oItemSubGroup) + { + var SubModel = ls3.Where(x => x.HSourceEntryID == oitem.HSourceEntryID).ToList(); + int _count = 1; + foreach (var oItemSub in SubModel) + { + if (ClsPub.isLong(oItemSub.HMaterID) != 0) + { + HBarCode = oItemSub.HBarCode.ToString(); + HMTONO = ClsPub.isStrNull(oItemSub.HMTONO); + HBarCodeType = "绠卞彿鍐呮潯鐮�"; + HMaterID = ClsPub.isLong(oItemSub.HMaterID); + HUnitID = ClsPub.isLong(oItemSub.HUnitID); + HQty2 = ClsPub.isDoule(oItemSub.HQty); + HBatchNo = ClsPub.isStrNull(oItemSub.HBatchNo); + HSupID = oItemSub.HSupID; + HKFPeriod = ClsPub.isInt(oItemSub.HKFPeriod); + HKFDate = ClsPub.isStrNull(oItemSub.HKFDate); + HKFDQDate = ClsPub.isStrNull(oItemSub.HKFDQDate); + HSourceInterID = ClsPub.isLong(oItemSub.HSourceInterID); + HSourceEntryID = ClsPub.isLong(oItemSub.HSourceEntryID); + HSourceBillNo = ClsPub.isStrNull(oItemSub.HSourceBillNo); + HSourceBillType = ClsPub.isStrNull(oItemSub.HSourceBillType); + HWei = ClsPub.isStrNull(oItemSub.HEndQty); + if (FCusName.Contains("澶忓疂")) + { + HBarCode = $"{oItemSub.HMaterID}"; + HBarCodeType = "鍝佺鐮�"; + } + string sql = "insert into Gy_BarCodeBill (HInterID,HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HKFDate,HKFPeriod,HKFDQDate" + + ",HBatchNo,HBarcodeQtys,HBarcodeNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" + + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " + + ") values (" + + linterid.ToString() + ",'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID + "," + HUnitID + "," + HQty2 + ",'" + HKFDate + "'," + HKFPeriod + ",'" + HKFDQDate + + "','" + HBatchNo + "','" + SubModel.Count + "','" + _count + "'," + HSupID + "," + HGroupID + ",'" + ClsPub.CurUserName + "','" + DateTime.Today + "'," + HPrintQty + ",'" + HWei + "',1" + + "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HMTONO + "')"; + oCn.RunProc(sql); + _count++; + } + } + } + //鏆傛椂鍙洖濉叧鑱旀暟閲� + foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) + { + if (oItemSub.HQty == 0) + continue; + //鏇存柊鏉$爜妗f 璇ユ簮鍗曞叾瀹冩潯鐮侀粯璁ゅ凡缁忔墦鍗拌繃涓�娆� + //鏇存柊 宸叉墦鍗版暟閲� + if (oItemSub.HSourceBillType == "1102") + { + string _HBarCodeType = "绠卞彿鏉$爜"; + if (FCusName.Contains("澶忓疂")) + _HBarCodeType = "鍝佺鐮�"; + string sql = string.Empty; + sql = string.Format(@" +update t1 set +t1.HBarcodeCount = +isnull((select sum(HQty)from Gy_BarCodeBill where HSourceInterID = t1.HInterID and HSourceEntryID = t1.HEntryID and HBarCodeType ='{2}'),0) +from Cg_POOrderBillSub t1 +where t1.HInterID = {0} and t1.HEntryID ={1}", oItemSub.HSourceInterID, oItemSub.HSourceEntryID, _HBarCodeType); + oCn.RunProc(sql); + } + } + oCn.Commit(); + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "" + e.Message + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鐢熸垚鏉$爜鎴愬姛锛�"; + WebAPIController.Add_Log("鏉$爜涓嬫帹", UserName, "鐢熸垚鏉$爜"); + objJsonResult.data = null; + return objJsonResult; + } + #endregion + + #region 濮斿璁㈠崟鏉$爜鐢熸垚鍔熻兘锛堝畨鐟烇級 + [Route("GetHBarCodeShowBillMainBywy")] + /// <summary> + /// 鏉$爜鐢熸垚琛ㄥご锛堥噰璐鍗曪級 + /// </summary> + /// <param name="sMsg"></param> + /// <returns></returns> + public object GetHBarCodeShowBillMainBywy(string sMsg) + { + try + { + DataSet ds; + string s = ""; + string ShowItem = " * ";//鏄剧ず鐨勫瓧娈� + if (DBUtility.ClsPub.isLong(sMsg) == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触"; + objjson.data = null; + return objjson; + } + DAL.ClsWeb_BarCodeBill oClsWeb_BarCodeBill = new DAL.ClsWeb_BarCodeBill(); + string sql = string.Format(@"select * from h_v_SRM_EntrustOrderBillMain_ForWeb2 where HInterID = " + sMsg); + ds = oCn.RunProcReturn(sql, "h_v_SRM_EntrustOrderBillMain_ForWeb2"); + //ds = oClsWeb_BarCodeBill.ShowBillMain1(DBUtility.ClsPub.isLong(sMsg), ShowItem, ref DBUtility.ClsPub.sExeReturnInfo); + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触"; + objjson.data = null; + return objjson; + } + else + { + + objjson.code = "0"; + objjson.count = 10000; + objjson.Message = "鑾峰彇鎴愬姛"; + objjson.data = ds.Tables[0]; + return objjson; + } + } + catch (Exception e) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触" + e.ToString(); + objjson.data = null; + return objjson; + } + } + [Route("GetHBarCodeShowBillSubBywy")] + [HttpGet] + /// <summary> + /// 鏉$爜鐢熸垚琛ㄤ綋锛堥噰璐鍗曪級 + /// </summary> + /// <param name="sMsg"></param> + /// <returns></returns> + public object GetHBarCodeShowBillSubBywy(string sMsg) + { + try + { + DataSet ds; + string s = ""; + string ShowItem = " * ";//鏄剧ず鐨勫瓧娈� + if (DBUtility.ClsPub.isLong(sMsg) == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触"; + objjson.data = null; + return objjson; + } + DAL.ClsWeb_BarCodeBill oClsWeb_BarCodeBill = new DAL.ClsWeb_BarCodeBill(); + string sql = string.Format(@"select * from h_v_srm_EntrustOrderBillSub_ForWeb2 where HInterID = " + sMsg); + ds = oCn.RunProcReturn(sql, "h_v_srm_EntrustOrderBillSub_ForWeb2"); + //ds = oClsWeb_BarCodeBill.ShowBillSub(DBUtility.ClsPub.isLong(sMsg), ShowItem, ref DBUtility.ClsPub.sExeReturnInfo); + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触"; + objjson.data = null; + return objjson; + } + else + { + objjson.code = "0"; + objjson.count = 10000; + objjson.Message = "鑾峰彇鎴愬姛"; + objjson.data = ds.Tables[0]; + return objjson; + } + } + catch (Exception e) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触" + e.ToString(); + objjson.data = null; + return objjson; + } + } + + [Route("DeltetBarCodeBill")] + [HttpPost] + public object DeltetBarCodeBill([FromBody] JObject oData) + { + SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); + try + { + var _value = oData["oData"].ToString(); + string msg1 = _value.ToString(); + string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + string HInter = sArray[0].ToString(); + string HInterID = HInter.Replace("\"", ""); + string HUserName = sArray[1].ToString(); + + string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo); + string sql = "select HItemID,HBarCode,HSourceInterID,HSourceEntryID,HQty,HBarCodeType,HSourceBillType from Gy_BarCodeBill where HItemID in(" + HInterID + ") "; + //LogService.Write("鍒犻櫎sql:" + sql); + oCN.BeginTran(); + DataTable dt = oCN.RunProcReturn(sql, "deleteTable").Tables[0]; + if (dt.Rows.Count > 0) + { + foreach (DataRow dr in dt.Rows) + { + string _HBarCodeType = "绠卞彿鏉$爜"; + if (FCusName.Contains("澶忓疂")) + _HBarCodeType = "鍝佺鐮�"; + WebAPIController.Add_Log("鏉$爜妗f鍒犻櫎", HUserName, "鍗曞彿" + dr["HBarCode"].ToString()); + //鍙嶅啓鎵撳嵃鏁伴噺鍒伴噰璐鍗曞瓙琛� + if (dr["HBarCodeType"].ToString() == _HBarCodeType && dr["HSourceBillType"].ToString() == "1102") + oCN.RunProc($"update Cg_POOrderBillSub set HBarcodeCount -= {dr["HQty"]} where HInterID ={dr["HSourceInterID"]} and HEntryID ={dr["HSourceEntryID"]}"); + //鍙嶅啓鎵撳嵃鏁伴噺鍒板澶栬鍗� + if (dr["HBarCodeType"].ToString() == "绠卞彿鍐呮潯鐮�" && dr["HSourceBillType"].ToString() == "1601") + oCN.RunProc($"update WW_EntrustOrderBillSub set HBarcodeCount -= {dr["HQty"]} where HInterID ={dr["HSourceInterID"]} and HEntryID ={dr["HSourceEntryID"]}"); + //鍙嶅啓鎵撳嵃鏁伴噺鍒伴�佽揣鍗� 锛堜笉闇�瑕佸弽鍐� 閫佽揣鍗曠洿鎺ユ槸鍏宠仈鏌ヨ鍙栫殑鏁伴噺 娌℃湁鍦ㄦ簮鍗曚笂鍋氫繚瀛橈級 + if (dr["HSourceBillType"].ToString() == "1103") + oCN.RunProc("Delete From Gy_BarCodeBill where HItemID in(" + dr["HItemID"] + ") "); + //oCN.RunProc($"update WW_EntrustOrderBillSub set HBarcodeCount -= {dr["HQty"]} where HInterID ={dr["HSourceInterID"]} and HEntryID ={dr["HSourceEntryID"]}"); + } + } + oCN.RunProc("Delete From Gy_BarCodeBill where HItemID in(" + HInterID + ") "); + oCN.Commit(); + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍒犻櫎鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; + } + catch (Exception e) + { + oCN.RollBack(); + 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