| | |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: auto;">一级包装</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="number" name="OnelevelNum" lay-verify="required" placeholder="请输入数量" autocomplete="off" class="layui-input" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"> |
| | | <input type="number" name="OnelevelNum" lay-verify="required" placeholder="请输入数量" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | <div class="layui-input-inline" style="float: left;left: 40px;"> |
| | | <input type="text" name="OnelevelUnit" lay-verify="required" placeholder="请输入单位描述" autocomplete="off" class="layui-input"> |
| | |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: auto;">二级包装</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="number" name="TwolevelNum" placeholder="请输入数量" autocomplete="off" class="layui-input" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"> |
| | | <input type="number" name="TwolevelNum" placeholder="请输入数量" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | <div class="layui-input-inline" style="float: left;left: 40px;"> |
| | | <input type="text" name="TwolevelUnit" placeholder="请输入单位描述" autocomplete="off" class="layui-input"> |
| | |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label" style="width: auto;">三级包装</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="number" name="ThreelevelNum" placeholder="请输入数量" autocomplete="off" class="layui-input" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"> |
| | | <input type="number" name="ThreelevelNum" placeholder="请输入数量" autocomplete="off" class="layui-input"> |
| | | </div> |
| | | <div class="layui-input-inline" style="float: left;left: 40px;"> |
| | | <input type="text" name="ThreelevelUnit" placeholder="请输入单位描述" autocomplete="off" class="layui-input"> |
| | |
| | | |
| | | #region 包装查询 |
| | | |
| | | var bNum = 0;//箱物品数量 |
| | | var zNum = 0;//支物品数量 |
| | | var bNum = 0m;//箱物品数量 |
| | | var zNum = 0m;//支物品数量 |
| | | var packLevel = 0; |
| | | |
| | | if (pack.L2Num.HasValue) |
| | |
| | | if (pack.L2Name != "托") |
| | | { |
| | | packLevel = 1;//JC34项目只有一级标签 |
| | | bNum = Convert.ToInt32(pack.L2Num); |
| | | bNum = Convert.ToDecimal(pack.L2Num); |
| | | } |
| | | } |
| | | if (pack.L1Num.HasValue) |
| | |
| | | if (packLevel == 0) |
| | | { |
| | | packLevel = 1; |
| | | bNum = Convert.ToInt32(pack.L1Num); |
| | | bNum = Convert.ToDecimal(pack.L1Num); |
| | | } |
| | | zNum = Convert.ToInt32(pack.L1Num); |
| | | zNum = Convert.ToDecimal(pack.L1Num); |
| | | } |
| | | |
| | | if (packLevel < 1)//包装等级小于1,按照1级标签打印 |
| | |
| | | { |
| | | throw new Exception("当前物料包装信息不存在,请核实!"); |
| | | } |
| | | var pNum = 0;//托盘物品数量 |
| | | var bNum = 0;//箱码物品数量 |
| | | var pNum = 0m;//托盘物品数量 |
| | | var bNum = 0m;//箱码物品数量 |
| | | |
| | | //公共方法获取包装数量 |
| | | new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); |
| | |
| | | throw new Exception("未查询到该物料包装信息,请核实!"); |
| | | } |
| | | |
| | | var pNum = 0;//托盘物品数量 |
| | | var bNum = 0;//箱码物品数量 |
| | | var pNum = 0m;//托盘物品数量 |
| | | var bNum = 0m;//箱码物品数量 |
| | | //公共方法获取包装数量 |
| | | new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); |
| | | |
| | |
| | | var addComBox = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotId).ToList(); |
| | | var addComList = addComBox.GroupBy(m => m.BoxNo).ToList(); |
| | | var sku = Db.Queryable<SysMaterials>().First(m => m.SkuNo == addComBox.First().SkuNo); |
| | | var pNum = 0; |
| | | var bNum = 0; |
| | | var pNum = 0m; |
| | | var bNum = 0m; |
| | | new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); |
| | | var boxList = new List<BllBoxInfo>(); |
| | | foreach (var com in addComList) |
| | |
| | | throw new Exception($"未查询到物料{obj.Data.SkuNo}信息"); |
| | | } |
| | | |
| | | var pNum = 0;//托盘物品数量 |
| | | var bNum = 0;//箱码物品数量 |
| | | var pNum = 0m;//托盘物品数量 |
| | | var bNum = 0m;//箱码物品数量 |
| | | //获取包装信息 |
| | | new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); |
| | | if (pNum == 0 || bNum == 0) |
| | |
| | | var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == boxInfoOne.SkuNo); |
| | | var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo); |
| | | |
| | | var pNum = 0;//托盘物品数量 |
| | | var bNum = 0;//箱码物品数量 |
| | | var pNum = 0m;//托盘物品数量 |
| | | var bNum = 0m;//箱码物品数量 |
| | | |
| | | //公共方法获取包装数量 |
| | | new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum); |
| | |
| | | |
| | | var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo); |
| | | |
| | | var pNum = 0;//托盘物品数量 |
| | | var bNum = 0;//箱码物品数量 |
| | | var pNum = 0m;//托盘物品数量 |
| | | var bNum = 0m;//箱码物品数量 |
| | | |
| | | //公共方法获取包装数量 |
| | | new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum); |
| | |
| | | } |
| | | //获取托盘信息 |
| | | var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == "100099"); |
| | | var pNum = 0; |
| | | var bNum = 0; |
| | | var pNum = 0m; |
| | | var bNum = 0m; |
| | | |
| | | new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); |
| | | |
| | |
| | | } |
| | | #region 包装信息 |
| | | |
| | | var pNum = 0;//托盘物品数量 |
| | | var bNum = 0;//箱物品数量 |
| | | var pNum = 0m;//托盘物品数量 |
| | | var bNum = 0m;//箱物品数量 |
| | | //公共方法获取包装数量 |
| | | new Common().GetPackQtyInfo(detail.PackagNo, ref pNum, ref bNum); |
| | | |
| | |
| | | { |
| | | throw new Exception("物料信息中未查询到空托盘的物料信息,不可入库"); |
| | | } |
| | | var pNum = 0; |
| | | var bNum = 0; |
| | | var pNum = 0m; |
| | | var bNum = 0m; |
| | | |
| | | new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); |
| | | |
| | |
| | | /// <param name="lotNo">批次</param> |
| | | /// <param name="isMixBox">是否接受拼箱 0:否 1:是</param> |
| | | /// <returns></returns> |
| | | public decimal AllotPallets(List<DataStockDetail> palletList, decimal needQty, int fullPalletQty, int fullBoxQty, Dictionary<int, decimal> stockQtyDic,string house) |
| | | public decimal AllotPallets(List<DataStockDetail> palletList, decimal needQty, decimal fullPalletQty, decimal fullBoxQty, Dictionary<int, decimal> stockQtyDic,string house) |
| | | { |
| | | //优先先进先出(快过期的先出) |
| | | //优先零箱、零托(出完零箱出整箱) |
| | |
| | | //判断五级包装是否为空 |
| | | if (!string.IsNullOrEmpty(model.L5Num) && !string.IsNullOrEmpty(model.L5Name)) |
| | | { |
| | | packagItems.L5Num = int.Parse(model.L5Num); |
| | | packagItems.L5Num = decimal.Parse(model.L5Num); |
| | | packagItems.L5Name = model.L5Name; |
| | | packagItems.Level += 1; |
| | | //判断四级包装是否为空 |
| | |
| | | //判断四级包装是否为空 |
| | | if (!string.IsNullOrEmpty(model.L4Num) && !string.IsNullOrEmpty(model.L4Name)) |
| | | { |
| | | packagItems.L4Num = int.Parse(model.L4Num); |
| | | packagItems.L4Num = decimal.Parse(model.L4Num); |
| | | packagItems.L4Name = model.L4Name; |
| | | packagItems.Level += 1; |
| | | //判断三级包装是否为空 |
| | |
| | | //判断三级包装是否为空 |
| | | if (!string.IsNullOrEmpty(model.L3Num) && !string.IsNullOrEmpty(model.L3Name)) |
| | | { |
| | | packagItems.L3Num = int.Parse(model.L3Num); |
| | | packagItems.L3Num = decimal.Parse(model.L3Num); |
| | | packagItems.L3Name = model.L3Name; |
| | | packagItems.Level += 1; |
| | | //判断二级包装是否为空 |
| | |
| | | //判断二级包装是否为空 |
| | | if (!string.IsNullOrEmpty(model.L2Num) && !string.IsNullOrEmpty(model.L2Name)) |
| | | { |
| | | packagItems.L2Num = int.Parse(model.L2Num); |
| | | packagItems.L2Num = decimal.Parse(model.L2Num); |
| | | packagItems.L2Name = model.L2Name; |
| | | packagItems.Level += 1; |
| | | //判断一级包装是否为空 |
| | |
| | | //判断一级包装是否为空 |
| | | if (!string.IsNullOrEmpty(model.L1Num) && !string.IsNullOrEmpty(model.L1Name)) |
| | | { |
| | | packagItems.L1Num = int.Parse(model.L1Num); |
| | | packagItems.L1Num = decimal.Parse(model.L1Num); |
| | | packagItems.L1Name = model.L1Name; |
| | | packagItems.Level += 1; |
| | | } |
| | |
| | | /// <param name="packNo"></param> |
| | | /// <param name="pNum">托盘包装数</param> |
| | | /// <param name="bNum">箱包装数</param> |
| | | public void GetPackQtyInfo(string packNo, ref int pNum, ref int bNum) |
| | | public void GetPackQtyInfo(string packNo, ref decimal pNum, ref decimal bNum) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | if (pack.L5Num.HasValue) |
| | | { |
| | | pNum = Convert.ToInt32(pack.L5Num); |
| | | bNum = Convert.ToInt32(pack.L4Num); |
| | | pNum = Convert.ToDecimal(pack.L5Num); |
| | | bNum = Convert.ToDecimal(pack.L4Num); |
| | | } |
| | | else if (pack.L4Num.HasValue) |
| | | { |
| | | pNum = Convert.ToInt32(pack.L4Num); |
| | | bNum = Convert.ToInt32(pack.L3Num); |
| | | pNum = Convert.ToDecimal(pack.L4Num); |
| | | bNum = Convert.ToDecimal(pack.L3Num); |
| | | } |
| | | else if (pack.L3Num.HasValue) |
| | | { |
| | | pNum = Convert.ToInt32(pack.L3Num); |
| | | bNum = Convert.ToInt32(pack.L2Num); |
| | | pNum = Convert.ToDecimal(pack.L3Num); |
| | | bNum = Convert.ToDecimal(pack.L2Num); |
| | | } |
| | | else if (pack.L2Num.HasValue) |
| | | { |
| | | pNum = Convert.ToInt32(pack.L2Num); |
| | | bNum = Convert.ToInt32(pack.L1Num); |
| | | pNum = Convert.ToDecimal(pack.L2Num); |
| | | bNum = Convert.ToDecimal(pack.L1Num); |
| | | } |
| | | else if (pack.L1Num.HasValue) |
| | | { |
| | | pNum = Convert.ToInt32(pack.L1Num); |
| | | bNum = Convert.ToInt32(pack.L1Num); |
| | | pNum = Convert.ToDecimal(pack.L1Num); |
| | | bNum = Convert.ToDecimal(pack.L1Num); |
| | | } |
| | | } |
| | | } |
| | |
| | | /// 一级包装-数量 |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public int? L1Num { get; set; } |
| | | public decimal? L1Num { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 一级包装-描述 |
| | |
| | | /// 二级包装-数量 |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public int? L2Num { get; set; } |
| | | public decimal? L2Num { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 二级包装-描述 |
| | |
| | | /// 三级包装-数量 |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public int? L3Num { get; set; } |
| | | public decimal? L3Num { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 三级包装-描述 |
| | |
| | | /// 四级包装-数量 |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public int? L4Num { get; set; } |
| | | public decimal? L4Num { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 四级包装-描述 |
| | |
| | | /// 其他包装-数量 |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public int? L5Num { get; set; } |
| | | public decimal? L5Num { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 其他包装-描述 |