| | |
| | | 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("当前物料及批次与单据无关联,请核实!"); |
| | |
| | | //绑定箱总数量 |
| | | //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) |
| | |
| | | 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}箱内物料及批次与单据不一致,请核实!"); |
| | | } |
| | |
| | | } |
| | | //判断托盘是否在库外 |
| | | var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo); |
| | | if (stockDetail != null && !string.IsNullOrEmpty(stockDetail.WareHouseNo)) |
| | | if (stockDetail != null && !string.IsNullOrEmpty(stockDetail.WareHouseNo) && stockDetail.WareHouseNo != "W04") |
| | | { |
| | | throw new Exception("该托盘已有储位信息,请核实!"); |
| | | } |
| | |
| | | CreateUser = 0, |
| | | CreateTime = comTime |
| | | }; |
| | | if (stockDetail != null) |
| | | { |
| | | sd1.WareHouseNo = stockDetail.WareHouseNo; |
| | | sd1.AreaNo = stockDetail.AreaNo; |
| | | sd1.RoadwayNo = stockDetail.RoadwayNo; |
| | | sd1.LocatNo = stockDetail.LocatNo; |
| | | } |
| | | |
| | | //维护库存明细货主/供应商信息 //0:成品入库,2:中间品入库,4:车间余料入库,6:代储入库,7:寄存入库 |
| | | if (notice.Type == "0" || notice.Type == "2" || notice.Type == "4" || notice.Type == "6" || notice.Type == "7") |
| | |
| | | try |
| | | { |
| | | string strMsg = ""; |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.Status == "0" && w.WareHouseNo == "W04"); |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.WareHouseNo == "W04"); |
| | | if (storageLocat == null) |
| | | { |
| | | throw new Exception("-1:地码(储位信息)不存在或非空闲状态,请核查!"); |
| | | throw new Exception("-1:地码(储位信息)不存在,请核查!"); |
| | | } |
| | | if (storageLocat.Status != "0") |
| | | { |
| | | var detailInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo); |
| | | if (detailInfo != null) |
| | | { |
| | | throw new Exception("-1:地码(储位信息)非空闲,请核查!"); |
| | | } |
| | | } |
| | | |
| | | return strMsg; |
| | |
| | | #endregion |
| | | |
| | | #region 地码信息(储位信息) |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0"); |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo); |
| | | if (storageLocat == null) |
| | | { |
| | | throw new Exception("储位信息不存在或非空闲状态,请核查!"); |
| | | throw new Exception("储位信息不存,请核查!"); |
| | | } |
| | | if (storageLocat.Status != "0") |
| | | { |
| | | var detailInfo=Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo); |
| | | if (detailInfo != null) |
| | | { |
| | | throw new Exception("储位不是空闲状态,请核查!"); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | |
| | | |
| | | foreach (var item in stockDetailList) |
| | | { |
| | | if (item.AreaNo != "B06" && item.AreaNo != "B07" && item.AreaNo != "B09") |
| | | { |
| | | throw new Exception("该托盘非线边回库托盘!"); |
| | | } |
| | | //if (item.AreaNo != "B06" && item.AreaNo != "B07" && item.AreaNo != "B09") |
| | | //{ |
| | | // throw new Exception("该托盘非线边回库托盘!"); |
| | | //} |
| | | //库存总表 |
| | | var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo); |
| | | if (stock == null) |