| | |
| | | // 更改当前任务中的储位状态(改为0空储位) |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | |
| | | //目标储位信息 |
| | | var endLocate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat); |
| | | if (endLocate != null) |
| | | { |
| | | if (endLocate.Status != "0") |
| | | { |
| | | throw new Exception("目标储位状态非空储位"); |
| | | } |
| | | } |
| | | //更改库存明细 |
| | | foreach (var item in stockDetail) |
| | | { |
| | | item.Status = "0";//待分配 |
| | | item.LockQty = 0;//锁定数量改为0 |
| | | item.LocatNo = "";//储位更改(改为空) |
| | | item.WareHouseNo = "";//所属仓库更改(改为空) |
| | | item.RoadwayNo = "";//所属巷道更改(改为空) |
| | | item.AreaNo = "";//所属区域更改(改为空) |
| | | if (endLocate != null)//有目标储位说明移到其他区域储位 |
| | | { |
| | | item.LocatNo = endLocate.LocatNo;//储位更改 |
| | | item.WareHouseNo = endLocate.WareHouseNo;//所属仓库更改 |
| | | item.RoadwayNo = endLocate.RoadwayNo;//所属巷道更改 |
| | | item.AreaNo = endLocate.AreaNo;//所属区域更改 |
| | | } |
| | | else//没有目标储位说明移到入库口 |
| | | { |
| | | item.LocatNo = "";//储位更改(改为空) |
| | | item.WareHouseNo = "";//所属仓库更改(改为空) |
| | | item.RoadwayNo = "";//所属巷道更改(改为空) |
| | | item.AreaNo = "";//所属区域更改(改为空) |
| | | } |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | |
| | | //更改库存总表 |
| | | var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo); |
| | | stock.LockQty -= (decimal)item.Qty; |
| | | Db.Updateable(stock).ExecuteCommand(); |
| | | } |
| | | if (endLocate != null) |
| | | { |
| | | //更改目标储位状态 |
| | | endLocate.Status = "1";//有物品 |
| | | Db.Updateable(endLocate).ExecuteCommand(); |
| | | } |
| | | |
| | | if (userId != 0) |
| | |
| | | task.CancelDate = DateTime.Now; |
| | | Db.Updateable(task).ExecuteCommand(); |
| | | |
| | | //修改储位信息 |
| | | //修改起始储位信息 |
| | | var locat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W02" && a.LocatNo == task.StartLocat); |
| | | if (locat == null) |
| | | { |
| | |
| | | locat.Status = "1"; //有物品 |
| | | Db.Updateable(locat).ExecuteCommand(); |
| | | |
| | | //修改目标储位信息 |
| | | var locatEnd = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W02" && a.LocatNo == task.EndLocat); |
| | | if (locatEnd != null) |
| | | { |
| | | locatEnd.Status = "0"; //空储位 |
| | | Db.Updateable(locatEnd).ExecuteCommand(); |
| | | } |
| | | |
| | | //修改库存明细 |
| | | var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == task.PalletNo); |
| | | if (stockDetail == null) |