| | |
| | | using System.Web.Script.Serialization; |
| | | using WebAPI.Code; |
| | | using WebAPI.Models; |
| | | using WebAPI.Utility; |
| | | |
| | | namespace WebAPI.Controllers |
| | | { |
| | | |
| | |
| | | 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(); |
| | |
| | | /// <returns></returns> |
| | | 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); |
| | |
| | | |
| | | 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; //流水号长度 |
| | |
| | | } |
| | | //TM = "B" + TM; |
| | | TM = "SRM" + "B" + TM; |
| | | |
| | | |
| | | if (HSumQty - HMinQty > 0) |
| | | { |
| | | WeiShu = ""; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | string HBarCode = ""; |
| | | string HBarCodeType = ""; |
| | | Int64 HMaterID = 0; |
| | |
| | | string HWei = ""; |
| | | string HMTONO = ""; |
| | | oCn.BeginTran(); |
| | | foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) |
| | | { |
| | | //更新条码档案 该源单其它条码默认已经打印过一次 |
| | | 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); |
| | |
| | | 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,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" + |
| | | ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " + |
| | |
| | | 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,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HEndQty,HSupflag" + |
| | | ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMTONO " + |
| | |
| | | /// <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); |
| | |
| | | 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); |
| | | |
| | | foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) |
| | | { |
| | | if (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; |
| | | } |
| | | |
| | | } |
| | | } |
| | | long linterid = Pub_Class.ClsPub.CreateBillID_SRMProd("8888", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | int LSHlen = 6; //流水号长度 |
| | | int SumLen = 10; //总长度 |
| | |
| | | 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) |
| | | { |
| | |
| | | WeiShu = "尾数"; |
| | | HMinQty = HSumQty - (HBQty - 1) * HMinQty; |
| | | } |
| | | TM = $"{oItemSub.HMaterID}#{HMinQty}"; |
| | | //TM = $"{oItemSub.HMaterID}"; |
| | | //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; |
| | |
| | | oCn.BeginTran(); |
| | | foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub in ls2) |
| | | { |
| | | //更新条码档案 该源单其它条码默认已经打印过一次 |
| | | 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(); |
| | |
| | | } |
| | | } |
| | | //暂时只回填关联数量 |
| | | string _sql = "exec H_p_SRM_BarCodeBill_Update_UpdateBillRelateData " + linterid.ToString(); |
| | | oCn.RunProc(_sql); |
| | | foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) |
| | | { |
| | | if (oItemSub.HQty == 0) |
| | | continue; |
| | | //更新条码档案 该源单其它条码默认已经打印过一次 |
| | | //更新 已打印数量 |
| | | 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) |
| | |
| | | /// <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 HSupID from h_v_Gy_UserSupplierList where 用户=''" + 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 HSupID from h_v_Gy_UserSupplierList where 用户=''" + 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; |
| | |
| | | /// <summary> |
| | | /// 条码生成表体(采购订单) |
| | | /// </summary> |
| | | /// <param name="sMsg"></param> |
| | | /// <param name="sMsg">采购订单HinterID</param> |
| | | /// <returns></returns> |
| | | public object GetHBarCodeShowBillSubBycg(string sMsg) |
| | | { |
| | | try |
| | | { |
| | | DataSet ds; |
| | | string s = ""; |
| | | string ShowItem = " * ";//显示的字段 |
| | | if (DBUtility.ClsPub.isLong(sMsg) == 0) |
| | | { |
| | | objjson.code = "0"; |
| | |
| | | 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(); |
| | | string sql = string.Format(@"select * from h_v_Cg_POOrderBillSub_ForWeb2 where HInterID = " + sMsg); |
| | | ds = oCn.RunProcReturn(sql, "h_v_Cg_POOrderBillSub_ForWeb2"); |
| | | 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) |
| | | { |
| | |
| | | /// <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 msg2 = sArray[0].ToString();// |
| | | string msg3 = sArray[1].ToString();// |
| | | string UserName = ""; |
| | | ListModels oListModels = new ListModels(); |
| | | try |
| | |
| | | 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>(); |
| | | List<Model.ClsGy_BarCodeBill_WMS_Model> ls3 = new List<Model.ClsGy_BarCodeBill_WMS_Model>(); |
| | | ls = oListModels.getObjectByJson_MaterialList(msg3); |
| | | 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 |
| | | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | 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 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)); |
| | |
| | | HSumQty = ClsPub.isDoule(oItemSub.HQty); //产品数量 |
| | | for (int i = 0; i < HBQty; i++) |
| | | { |
| | | // 安瑞条码规则:物料编码(系统代入)@物料名称(系统代入)@规格型号(系统代入)@生产日期(手工输入)@数量(手工输入)@失效日期(手工输入)@批次号(手工代入)@供应商名称(系统代入)@采购订单号(系统代入) |
| | | TM = $"{oItemSub.HMaterNumber}@{oItemSub.HMaterName}@{oItemSub.HMaterModel}@{oItemSub.HKFDate}@{oItemSub.HQty}@{oItemSub.HKFDQDate}@{oItemSub.HBatchNo}@{oItemSub.HSupName}@{oItemSub.HSourceBillNo}"; |
| | | //// 安瑞条码规则:物料编码(系统代入)@物料名称(系统代入)@规格型号(系统代入)@生产日期(手工输入)@数量(手工输入)@失效日期(手工输入)@批次号(手工代入)@供应商名称(系统代入)@采购订单号(系统代入) |
| | | //TM = $"{oItemSub.HMaterNumber}@{oItemSub.HMaterName}@{oItemSub.HMaterModel}@{oItemSub.HKFDate}@{oItemSub.HQty}@{oItemSub.HKFDQDate}@{oItemSub.HBatchNo}@{oItemSub.HSupName}@{oItemSub.HSourceBillNo}"; |
| | | |
| | | if (HSumQty - HMinQty > 0) |
| | | { |
| | |
| | | HMinQty = HSumQty; |
| | | } |
| | | |
| | | //安瑞条码规则:物料编码(系统代入)@物料名称(系统代入)@规格型号(系统代入)@生产日期(手工输入)@数量(手工输入)@失效日期(手工输入)@批次号(手工代入)@供应商名称(系统代入)@采购订单号(系统代入) |
| | | 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; |
| | |
| | | } |
| | | } |
| | | } |
| | | oCn.Commit(); |
| | | foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub2 in ls2) |
| | | { |
| | | if (ClsPub.isLong(oItemSub2.HMaterID) != 0) |
| | |
| | | int SumLen2 = 4; |
| | | string TM2 = ""; |
| | | double HWXQty = 0; |
| | | double HBarcodeQty = ClsPub.isDoule(oItemSub2.HQty); |
| | | |
| | | LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]) + 1; |
| | | // |
| | |
| | | TM2 = "0" + TM2; |
| | | } |
| | | bar2.HMaterID = oItemSub2.HMaterID; |
| | | |
| | | |
| | | bar2.HBarCode = oItemSub2.HBarCode + "-" + TM2; |
| | | |
| | | bar2.HBarCode = oItemSub2.HBarCode.Replace(HBarcodeQty.ToString(), HWXQty.ToString()); |
| | | bar2.HUnitID = oItemSub2.HUnitID; |
| | | bar2.HQty = HWXQty; |
| | | bar2.HBatchNo = DBUtility.ClsPub.isStrNull(oItemSub2.HBatchNo); |
| | |
| | | string HWei = ""; |
| | | string HMTONO = ""; |
| | | oCn.BeginTran(); |
| | | foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub in ls2) |
| | | foreach (Model.ClsGy_MaterialList_WMS_Model oItemSub in ls) |
| | | { |
| | | if (ClsPub.isLong(oItemSub.HMaterID) != 0) |
| | | //更新条码档案 该源单其它条码默认已经打印过一次 |
| | | 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) |
| | | { |
| | | 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); |
| | | oCn.RunProc("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 + "')"); |
| | | oCn.RunProc("exec setLSH '" + DateTime.Today + "'"); |
| | | 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++; |
| | | } |
| | | } |
| | | } |
| | | foreach (Model.ClsGy_BarCodeBill_WMS_Model oItemSub in ls3) |
| | | //内箱 |
| | | 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) |
| | | { |
| | | if (ClsPub.isLong(oItemSub.HMaterID) != 0) |
| | | var SubModel = ls3.Where(x => x.HSourceEntryID == oitem.HSourceEntryID).ToList(); |
| | | int _count = 1; |
| | | foreach (var oItemSub in SubModel) |
| | | { |
| | | 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); |
| | | oCn.RunProc("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 + "')"); |
| | | 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++; |
| | | } |
| | | } |
| | | } |
| | | //暂时只回填关联数量 |
| | | 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; |
| | | //更新条码档案 该源单其它条码默认已经打印过一次 |
| | | //更新 已打印数量 |
| | | 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) |
| | | { |
| | |
| | | } |
| | | |
| | | [Route("DeltetBarCodeBill")] |
| | | [HttpGet] |
| | | public object DeltetBarCodeBill(string HInterID, string HUserName) |
| | | [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(); |
| | |
| | | { |
| | | foreach (DataRow dr in dt.Rows) |
| | | { |
| | | string _HBarCodeType = "箱号条码"; |
| | | if (FCusName.Contains("夏宝")) |
| | | _HBarCodeType = "品种码"; |
| | | WebAPIController.Add_Log("条码档案删除", HUserName, "单号" + dr["HBarCode"].ToString()); |
| | | //反写打印数量到采购订单子表 |
| | | if (dr["HBarCodeType"].ToString() == "箱号内条码" && dr["HSourceBillType"].ToString() == "1102") |
| | | 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"]}"); |
| | | } |
| | | } |
| | | //oCN.RunProc("Delete From Gy_BarCodeBill where HItemID in(" + HInterID + ") "); |
| | | oCN.RunProc("Delete From Gy_BarCodeBill where HItemID in(" + HInterID + ") "); |
| | | oCN.Commit(); |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |