| | |
| | | { |
| | | throw new Exception("托盘码为空,请输入托盘码"); |
| | | } |
| | | var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo); |
| | | if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1") |
| | | { |
| | | throw new Exception("该托盘还未出库"); |
| | | } |
| | | //var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo); |
| | | //if (string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1") |
| | | //{ |
| | | // throw new Exception("该托盘还未出库"); |
| | | //} |
| | | if (type == "1")//平库出库获取单据 |
| | | { |
| | | var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); |
| | |
| | | } |
| | | //获取状态为待拣货或者部分拣货的出库单 |
| | | var allotList2 = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); |
| | | |
| | | if (allotList2.Count == 0) |
| | | { |
| | | throw new Exception("此托盘已拣货或无拣货任务"); |
| | | } |
| | | |
| | | //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); |
| | | //获取出库单据不为待拣货 执行完毕 订单关闭 等待执行的单据 |
| | |
| | | { |
| | | throw new Exception("未在托盘表中查询到托盘信息"); |
| | | } |
| | | //修改储位状态 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); |
| | | if (locate != null) |
| | | { |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | pallet.Status = "0"; |
| | | Db.Updateable(pallet).ExecuteCommand(); |
| | | //修改出库单明细拣货数量 |
| | |
| | | } |
| | | pallet.Status = "0"; |
| | | Db.Updateable(pallet).ExecuteCommand(); |
| | | //修改储位状态 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); |
| | | if (locate != null) |
| | | { |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | } |
| | | //修改出库单明细拣货数量 |
| | | noticeDetail.CompleteQty += pickQty; |
| | |
| | | { |
| | | throw new Exception("未在托盘表中查询到托盘信息"); |
| | | } |
| | | |
| | | |
| | | //判断托盘上物料是否拣货完毕 |
| | | if (isDel == 0) |
| | | { |
| | | pallet.Status = "0"; |
| | | Db.Updateable(pallet).ExecuteCommand(); |
| | | } |
| | | //修改储位状态 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); |
| | | if (locate != null) |
| | | { |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | |
| | | //修改出库单明细拣货数量 |
| | |
| | | throw new Exception("没有可用的空托盘"); |
| | | } |
| | | StartLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13010101" || w.LocatNo == "B13020101" || w.LocatNo == "B13030101")).LocatNo; |
| | | EndLocate = "B15010101"; |
| | | |
| | | //校验是否为第2层拣货托盘位 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.Row == 2 && w.LocatNo == model.OutCode); |
| | | if (locate == null) |
| | | { |
| | | throw new Exception("请选择正确的拣货位"); |
| | | } |
| | | //校验目的货位是否可用 |
| | | var isuse = Db.Queryable<SysStorageLocat>().First(w => w.Status == "0" && w.LocatNo == model.OutCode); |
| | | if (locate == null) |
| | | { |
| | | throw new Exception("此拣货位状态不为空货位"); |
| | | } |
| | | EndLocate = model.OutCode; |
| | | } |
| | | else//东侧拣货位叫空托盘 |
| | | { |
| | |
| | | throw new Exception("没有可用的空托盘"); |
| | | } |
| | | StartLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13030101" || w.LocatNo == "B13040101" || w.LocatNo == "B13050101")).LocatNo; |
| | | EndLocate = "B15020101"; |
| | | |
| | | //校验是否为第2层拣货托盘位 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.Row == 4 && w.LocatNo == model.OutCode); |
| | | if (locate == null) |
| | | { |
| | | throw new Exception("请选择正确的拣货位"); |
| | | } |
| | | //校验目的货位是否可用 |
| | | var isuse = Db.Queryable<SysStorageLocat>().First(w => w.Status == "0" && w.LocatNo == model.OutCode); |
| | | if (locate == null) |
| | | { |
| | | throw new Exception("此拣货位状态不为空货位"); |
| | | } |
| | | EndLocate = model.OutCode; |
| | | } |
| | | |
| | | //添加出库任务 |
| | |
| | | } |
| | | pallet.Status = "0"; |
| | | Db.Updateable(pallet).ExecuteCommand(); |
| | | //修改储位状态 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); |
| | | if (locate != null) |
| | | { |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | } |
| | | //修改出库单明细拣货数量 |
| | | noticeDetail.Qty += pickQty; |
| | |
| | | } |
| | | pallet.Status = "0"; |
| | | Db.Updateable(pallet).ExecuteCommand(); |
| | | //修改储位状态 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); |
| | | if (locate != null) |
| | | { |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | } |
| | | //修改出库单明细拣货数量 |
| | | noticeDetail.CompleteQty += pickQty; |
| | |
| | | pallet.Status = "0"; |
| | | Db.Updateable(pallet).ExecuteCommand(); |
| | | } |
| | | //修改储位状态 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); |
| | | if (locate != null) |
| | | { |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | |
| | | //修改出库单明细拣货数量 |
| | | noticeDetail.Qty += decimal.Parse(PickQty); |
| | |
| | | { |
| | | pallet.Status = "0"; |
| | | Db.Updateable(pallet).ExecuteCommand(); |
| | | } |
| | | //修改储位状态 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); |
| | | if (locate != null) |
| | | { |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | |
| | | //修改出库单明细拣货数量 |
| | |
| | | LotNo = allot.LotNo, |
| | | LotText = allot.LotText, |
| | | SupplierLot = allot.SupplierLot, |
| | | |
| | | SkuNo = allot.SkuNo, |
| | | SkuName = allot.SkuName, |
| | | Standard = allot.Standard, |
| | |
| | | throw new Exception("该托盘与箱码没有绑定关系"); |
| | | } |
| | | var boxQty = boxInfos.First().Qty; |
| | | if (boxQty > needQty) |
| | | { |
| | | throw new Exception("拣货数量不能大于剩余待拣数量"); |
| | | } |
| | | //if (boxQty > needQty) |
| | | //{ |
| | | // throw new Exception("拣货数量不能大于剩余待拣数量"); |
| | | //} |
| | | |
| | | foreach (var item in boxInfos) |
| | | { |
| | |
| | | { |
| | | throw new Exception("拣货数量不能大于箱内数量"); |
| | | } |
| | | if (decimal.Parse(pickQty1) > needQty) |
| | | { |
| | | throw new Exception("拣货数量不能大于剩余待拣数量"); |
| | | } |
| | | //if (decimal.Parse(pickQty1) > needQty) |
| | | //{ |
| | | // throw new Exception("拣货数量不能大于剩余待拣数量"); |
| | | //} |
| | | |
| | | biaoShi = "2"; |
| | | } |
| | |
| | | throw new Exception("该托盘与箱码没有绑定关系"); |
| | | } |
| | | var boxQty = boxInfo.GroupBy(m => m.BoxNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToList(); |
| | | if (boxQty[0] > needQty) |
| | | { |
| | | throw new Exception("拣货数量不能大于箱内剩余待拣数量"); |
| | | } |
| | | //if (boxQty[0] > needQty) |
| | | //{ |
| | | // throw new Exception("拣货数量不能大于箱内剩余待拣数量"); |
| | | //} |
| | | |
| | | foreach (var item in boxInfos) |
| | | { |
| | |
| | | SkuName = item.SkuName, |
| | | Standard = item.Standard, |
| | | ProductionTime = item.ProductionTime, |
| | | ExpirationTime = item.ExpirationTime, |
| | | SupplierLot = item.SupplierLot, |
| | | InspectMark = item.InspectMark, |
| | | BitBoxMark = "1", |
| | |
| | | } |
| | | pallet.Status = "0"; |
| | | Db.Updateable(pallet).ExecuteCommand(); |
| | | //修改储位状态 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); |
| | | if (locate != null) |
| | | { |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | |
| | | } |
| | | //修改出库单明细拣货数量 |
| | | noticeDetail.CompleteQty += pickQty; |
| | |
| | | } |
| | | //剩余拣货数量(待拣减去已拣) |
| | | var needQty = allot.Qty - allot.CompleteQty; |
| | | if (decimal.Parse(PickQty) > needQty) |
| | | { |
| | | throw new Exception("拣货数量不能大于托内剩余待拣数量"); |
| | | } |
| | | //if (decimal.Parse(PickQty) > needQty) |
| | | //{ |
| | | // throw new Exception("拣货数量不能大于托内剩余待拣数量"); |
| | | //} |
| | | |
| | | //库存明细 |
| | | var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.Id == allot.StockId); |
| | |
| | | |
| | | pallet.Status = "0"; |
| | | Db.Updateable(pallet).ExecuteCommand(); |
| | | //修改储位状态 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); |
| | | if (locate != null) |
| | | { |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | } |
| | | |
| | | //修改出库单明细拣货数量 |