| | |
| | | } |
| | | else if (model.Type == "0")//物料托 |
| | | { |
| | | if (model.Detail.Count(m=>m.OrderCode != detail.OrderDetailCode)>0) |
| | | { |
| | | throw new Exception($"托盘绑定明细中,含有箱码生产工单不一致"); |
| | | } |
| | | // 使用场景不明确 |
| | | //if (model.Detail.Count(m => m.OrderCode != detail.OrderDetailCode) > 0) |
| | | //{ |
| | | // throw new Exception($"托盘绑定明细中,含有箱码生产工单不一致"); |
| | | //} |
| | | if (model.Detail.Count(m => m.SkuNo != model.SkuNo || m.LotNo != model.LotNo) > 0) |
| | | { |
| | | throw new Exception($"托盘绑定明细中,含有箱码物料或批次不一致"); |
| | |
| | | .AndIF(!string.IsNullOrWhiteSpace(layer), m => m.Layer == int.Parse(layer)) |
| | | .AndIF(!string.IsNullOrWhiteSpace(locateNo), m => m.LocatNo.Contains(locateNo)) |
| | | .And(m => m.IsDel == "0" && m.Status == "0" && m.Flag == "0" && m.WareHouseNo == houseNo) |
| | | .And(m => m.AreaNo.Contains(categoryAreaNo)) |
| | | .And(m => m.AreaNo == categoryAreaNo) |
| | | .ToExpression();//注意 这一句 不能少 |
| | | var total = 0; |
| | | var list = Db.Queryable<SysStorageLocat>().Where(item).OrderByDescending(a => a.Depth).OrderBy(a => a.Column) |
| | |
| | | } |
| | | //如果跳巷道并且未找到合适空储位,则跳到最后一次使用的巷道查询 |
| | | |
| | | if (roadNo == "") |
| | | if (string.IsNullOrWhiteSpace(roadNo)) |
| | | { |
| | | if (useLog != null) |
| | | { |
| | |
| | | roadNo = item; |
| | | } |
| | | //当前巷有位置则退出 |
| | | if (roadNo != null) |
| | | if (!string.IsNullOrWhiteSpace(roadNo)) |
| | | { |
| | | break; |
| | | } |
| | |
| | | }; |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | |
| | | var asnNo = ""; |
| | | // 添加托盘绑定表托盘入库任务号 liudl |
| | | if (palletBindList.Count < 1) |
| | | { |
| | |
| | | bindModel.WareHouseNo = houseNo; |
| | | bindModel.RoadwayNo = roadNo; |
| | | Db.Updateable(bindModel).ExecuteCommand(); |
| | | asnNo = stockModel.ASNNo; |
| | | } |
| | | } |
| | | } |
| | | foreach (DataStockDetail stockModel in stockDetail) |
| | | { |
| | | //添加托盘上架记录 |
| | | var upShelf = new BllPalletUpShelf() |
| | | { |
| | | TaskNo = exTask.TaskNo, |
| | | TraceNo = asnNo, |
| | | PalletNo = palletNo, |
| | | SkuNo = stockModel.SkuNo, |
| | | SkuName = stockModel.SkuName, |
| | | LotNo = stockModel.LotNo, |
| | | Status = "1", |
| | | |
| | | WareHouseNo = houseNo, |
| | | RoadwayNo = roadNo, |
| | | AreaNo = "", |
| | | LocatNo = "", |
| | | |
| | | CreateUser = 0, |
| | | }; |
| | | Db.Insertable(upShelf).ExecuteCommand(); |
| | | } |
| | | |
| | | |
| | | if (palletBindList.Count >= 1) |
| | | { |
| | |
| | | |
| | | }; |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | |
| | | var asnNo = ""; |
| | | // 添加托盘绑定表托盘入库任务号 liudl |
| | | foreach (DataStockDetail stockModel in stockDetail) |
| | | { |
| | |
| | | bindModel.RoadwayNo = locate.RoadwayNo; |
| | | bindModel.LocatNo = locate.LocatNo; |
| | | Db.Updateable(bindModel).ExecuteCommand(); |
| | | asnNo = stockModel.ASNNo; |
| | | } |
| | | } |
| | | foreach (DataStockDetail stockModel in stockDetail) |
| | | { |
| | | //添加托盘上架记录 |
| | | var upShelf = new BllPalletUpShelf() |
| | | { |
| | | TaskNo = exTask.TaskNo, |
| | | TraceNo = asnNo, |
| | | PalletNo = palletNo, |
| | | SkuNo = stockModel.SkuNo, |
| | | SkuName = stockModel.SkuName, |
| | | LotNo = stockModel.LotNo, |
| | | Status = "1", |
| | | |
| | | WareHouseNo = houseNo, |
| | | RoadwayNo = locate.RoadwayNo, |
| | | AreaNo = locate.AreaNo, |
| | | LocatNo = locate.LocatNo, |
| | | |
| | | CreateUser = 0, |
| | | }; |
| | | Db.Insertable(upShelf).ExecuteCommand(); |
| | | } |
| | | |
| | | oldTaskNo = taskNo; |
| | |
| | | } |
| | | Db.Updateable(oldTask).ExecuteCommand(); |
| | | |
| | | var bindModel = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.Status == "2" |
| | | && m.PalletNo == oldTask.PalletNo && m.TaskNo == oldTaskNo ); |
| | | if (bindModel != null && string.IsNullOrWhiteSpace(bindModel.LocatNo)) |
| | | |
| | | var bindModelList = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.Status == "2" |
| | | && m.PalletNo == oldTask.PalletNo && m.TaskNo == oldTaskNo).ToList(); |
| | | foreach (var bindModel in bindModelList) |
| | | { |
| | | if (string.IsNullOrWhiteSpace(bindModel.LocatNo)) |
| | | { |
| | | bindModel.TaskNo = oldTask.TaskNo; |
| | | bindModel.WareHouseNo = locate.WareHouseNo; |
| | | bindModel.RoadwayNo = locate.RoadwayNo; |
| | | bindModel.LocatNo = locate.LocatNo; |
| | | Db.Updateable(bindModel).ExecuteCommand(); |
| | | |
| | | } |
| | | } |
| | | //更改上架信息 |
| | | var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == oldTask.TaskNo && m.PalletNo == palletNo).ToList(); |
| | | foreach (var upShelf in upShelfList) |
| | | { |
| | | upShelf.WareHouseNo = locate.WareHouseNo; |
| | | upShelf.RoadwayNo = locate.RoadwayNo; |
| | | upShelf.LocatNo = locate.LocatNo; |
| | | upShelf.Status = "1"; |
| | | Db.Updateable(upShelf).ExecuteCommand(); |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | locate.Status = "2"; |
| | |
| | | //添加操作日志记录 |
| | | var k = new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", taskNo, "完成", $"点击完成按钮、完成任务号为:{taskNo}的任务", userId); |
| | | } |
| | | |
| | | //判断是否是回流入库完成 |
| | | if (stockDetail.Any()) |
| | | { |
| | |
| | | task.FinishDate = comTime;//完成时间 |
| | | //更新任务信息 |
| | | Db.Updateable(task).ExecuteCommand(); |
| | | |
| | | //更改托盘上架记录信息 |
| | | var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == taskNo && m.PalletNo == task.PalletNo).ToList(); |
| | | foreach (var upShelf in upShelfList) |
| | | { |
| | | upShelf.Status = "2"; |
| | | Db.Updateable(upShelf).ExecuteCommand(); |
| | | } |
| | | //判断是否是回流入库完成 |
| | | if (stockDetail.Any()) |
| | | { |
| | |
| | | Db.Updateable(dataBoxInfoList).ExecuteCommand(); |
| | | #endregion |
| | | |
| | | #region 采购计划 |
| | | //var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.ASNDetailNo); |
| | | //if (noticeDetail == null) |
| | | //{ |
| | | // throw new Exception("未查询到托盘绑定的入库单明细信息"); |
| | | //} |
| | | //var notice = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == noticeDetail.ASNNo); |
| | | //if (notice == null) |
| | | //{ |
| | | // throw new Exception("未查询到托盘绑定的入库单信息"); |
| | | //} |
| | | //if (notice.Type == "1" && !string.IsNullOrEmpty(noticeDetail.OrderDetailCode)) |
| | | //{ |
| | | // //采购单明细 |
| | | // var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>().First(it => it.OrderDetailCode == noticeDetail.OrderDetailCode && it.IsDel == "0"); |
| | | // planDetail.CompleteQty += item.Qty; |
| | | // if (planDetail.CompleteQty >= planDetail.Qty) |
| | | // { |
| | | // planDetail.Status = "2"; |
| | | // planDetail.CompleteTime = comTime; |
| | | // } |
| | | // Db.Updateable(planDetail).ExecuteCommand(); |
| | | |
| | | // //采购单 |
| | | // var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.Id == planDetail.ParentId && it.IsDel == "0"); |
| | | // var planDetailNum = Db.Queryable<BllProcurePlanNoticeDetail>() |
| | | // .Count(m => m.IsDel == "0" && m.ParentId == planDetail.ParentId && m.Status != "2"); |
| | | // if (planDetailNum == 0) |
| | | // { |
| | | // planOrd.Status = "2"; |
| | | // planOrd.CompleteTime = comTime; |
| | | // Db.Updateable(planOrd).ExecuteCommand(); |
| | | // } |
| | | // else |
| | | // { |
| | | // if (planOrd.Status == "0") |
| | | // { |
| | | // planOrd.Status = "1"; |
| | | // Db.Updateable(planOrd).ExecuteCommand(); |
| | | // } |
| | | // } |
| | | //} |
| | | #endregion |
| | | item.Status = "3"; |
| | | item.CompleteTime = comTime; |
| | | } |
| | |
| | | } |
| | | Db.Updateable(bind).ExecuteCommand(); |
| | | } |
| | | //更改托盘上架记录信息 |
| | | var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == taskNo && m.PalletNo == task.PalletNo).ToList(); |
| | | foreach (var upShelf in upShelfList) |
| | | { |
| | | upShelf.IsDel = "1"; |
| | | Db.Updateable(upShelf).ExecuteCommand(); |
| | | } |
| | | |
| | | //储位信息 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat); |
| | | if (locate != null) |
| | | { |