| | |
| | | { |
| | | throw new Exception("储位损坏不能出库"); |
| | | } |
| | | if (locate.WareHouseNo != "W02") |
| | | if (locate.WareHouseNo != "W02" && locate.WareHouseNo != "W04") |
| | | { |
| | | throw new Exception("托盘不在货架库上"); |
| | | throw new Exception("托盘不在货架库上也不在平库"); |
| | | } |
| | | var locateEnd = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == outModeLocate && m.IsDel == "0");//当前出库的目标储位信息 |
| | | if (locateEnd == null) |
| | |
| | | if (logEnd != null && logEnd.PalletNo != palletNo) |
| | | { |
| | | throw new Exception("目标储位状态不是空储位"); |
| | | } |
| | | } |
| | | var detailEnd = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == locateEnd.LocatNo); |
| | | if (detailEnd != null && detailEnd.PalletNo != palletNo) |
| | | { |
| | | throw new Exception("目标储位状态不是空储位"); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | if (locate.Status == "1") //有物品 |
| | | if (locate.WareHouseNo == "W02" && locate.Status == "1") //有物品 |
| | | { |
| | | #region 添加出库任务 |
| | | |
| | |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | |
| | | } |
| | | else if (locate.Status == "3") //出库中 |
| | | else if (locate.Status == "3" || locate.WareHouseNo == "W04") //出库中或已在平库 |
| | | { |
| | | #region 改变数据 |
| | | //判断是否是已经出过库又回库(状态为待拣货的 1) |
| | |
| | | } |
| | | } |
| | | } |
| | | var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "1" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo); |
| | | if (taskNo == null) |
| | | if (locate.WareHouseNo == "W04") |
| | | { |
| | | taskNo = logTaskList.FirstOrDefault(m => m.PalletNo == item.PalletNo);//当前有同托盘不同物料出库 |
| | | item.TaskNo = ""; |
| | | item.Status = "2"; // 出库分配信息状态改为正在执行 |
| | | item.OutMode = item.OutMode;//出库口 |
| | | //item.UnstackingMode = unstackingMode2;//拆垛模式 |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | } |
| | | if (taskNo == null) |
| | | else |
| | | { |
| | | throw new Exception($"托盘号:{item.PalletNo},出库异常"); |
| | | } |
| | | item.TaskNo = taskNo.TaskNo; |
| | | item.Status = "1"; // 出库分配信息状态改为正在执行 |
| | | item.OutMode = item.OutMode;//出库口 |
| | | //item.UnstackingMode = unstackingMode2;//拆垛模式 |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | |
| | | var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "1" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo); |
| | | if (taskNo == null) |
| | | { |
| | | taskNo = logTaskList.FirstOrDefault(m => m.PalletNo == item.PalletNo);//当前有同托盘不同物料出库 |
| | | } |
| | | if (taskNo == null) |
| | | { |
| | | throw new Exception($"托盘号:{item.PalletNo},出库异常"); |
| | | } |
| | | item.TaskNo = taskNo.TaskNo; |
| | | item.Status = "1"; // 出库分配信息状态改为正在执行 |
| | | item.OutMode = item.OutMode;//出库口 |
| | | //item.UnstackingMode = unstackingMode2;//拆垛模式 |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | } |
| | | #endregion |
| | | } |
| | | else if (locate.Status == "5") //移出中 |