| | |
| | | throw new Exception("未查询到托盘信息,请核实!"); |
| | | } |
| | | //验证入库单明细是否存在 |
| | | var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo)); |
| | | var detail = new BllArrivalNoticeDetail(); |
| | | if (string.IsNullOrEmpty(model.LotNo)) |
| | | { |
| | | detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo); |
| | | } |
| | | else |
| | | { |
| | | detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo)); |
| | | } |
| | | if (detail == null) |
| | | { |
| | | throw new Exception("当前物料及批次与单据无关联,请核实!"); |
| | |
| | | #region 包装 |
| | | |
| | | var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == detail.SkuNo); |
| | | var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == detail.PackagNo); |
| | | |
| | | if (sku == null) |
| | | { |
| | | throw new Exception("当前物料信息不存在,请核实!"); |
| | | } |
| | | var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo); |
| | | if (pack == null) |
| | | { |
| | | throw new Exception("当前物料包装信息不存在,请核实!"); |
| | | } |
| | | var pNum = 0;//托盘物品数量 |
| | | var bNum = 0;//箱码物品数量 |
| | | |
| | | //公共方法获取包装数量 |
| | | new Common().GetPackQtyInfo(detail.PackagNo, ref pNum, ref bNum); |
| | | new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); |
| | | |
| | | #endregion |
| | | |
| | |
| | | //绑定箱总数量 |
| | | //model.SkuQty = boxInfoList.Sum(s => s.Qty); |
| | | //和选择的批次同批次的箱码信息 |
| | | var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo && w.Status == "0").ToList(); |
| | | var sameBoxInfoList = boxInfoList.Where(w => (w.LotNo ?? "") == model.LotNo && w.Status == "0").ToList(); |
| | | //和选择的批次不同批次的箱码信息(拼箱批次) |
| | | var notBoxInfoList = boxInfoList.Where(w => w.LotNo != model.LotNo).ToList(); |
| | | var notBoxInfoList = boxInfoList.Where(w => (w.LotNo ?? "") != model.LotNo).ToList(); |
| | | #endregion |
| | | |
| | | if (sameBoxInfoList.Count <= 0) |
| | |
| | | InspectMark = bind.InspectMark, |
| | | InspectStatus = sku.IsInspect, |
| | | BitPalletMark = bind.BitPalletMark, |
| | | PackagNo = detail.PackagNo, //liudl 由sku的包装编号变为入库单明细的包装编码 |
| | | PackagNo = sku.PackagNo, |
| | | IsBale = bind.IsBale, |
| | | IsBelt = bind.IsBelt, |
| | | |
| | |
| | | continue; |
| | | } |
| | | //箱内物料批次与单据明细不符合 |
| | | if (box.SkuNo != detail.SkuNo || box.LotNo != model.LotNo) |
| | | if (box.SkuNo != detail.SkuNo || (box.LotNo ?? "") != model.LotNo) |
| | | { |
| | | throw new Exception($"-1:{box.BoxNo}箱内物料及批次与单据不一致,请核实!"); |
| | | } |
| | |
| | | #region 包装 |
| | | |
| | | var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == detail.SkuNo); |
| | | //var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == detail.PackagNo); // liudl 由Sku包装编号变更为入库单明细包装编号 |
| | | if (sku == null) |
| | | { |
| | | throw new Exception("未查询到该物料信息,请核实!"); |
| | | } |
| | | var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo); |
| | | if (pack == null) |
| | | { |
| | | throw new Exception("未查询到该物料包装信息,请核实!"); |
| | | } |
| | | |
| | | var pNum = 0;//托盘物品数量 |
| | | var bNum = 0;//箱码物品数量 |
| | | //公共方法获取包装数量 |
| | | new Common().GetPackQtyInfo(detail.PackagNo, ref pNum, ref bNum); |
| | | new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); |
| | | |
| | | |
| | | #endregion |
| | |
| | | InspectMark = bind.InspectMark, |
| | | InspectStatus = inspectStatusStr, |
| | | BitPalletMark = bind.BitPalletMark, |
| | | PackagNo = detail.PackagNo, //liudl 由sku的包装编号变为入库单明细的包装编码 |
| | | PackagNo = sku.PackagNo, //liudl 由sku的包装编号变为入库单明细的包装编码 |
| | | IsBale = bind.IsBale, |
| | | IsBelt = bind.IsBelt, |
| | | |