| | |
| | | #region 添加移库任务信息 |
| | | var stkModel = Db.Queryable<DataStockDetail>().First(m => m.LocatNo == slotBefore.LocatNo); |
| | | string PalletNo = "LN000000"; // 默认演示托盘 |
| | | string SkuNo = ""; |
| | | if (stkModel != null) |
| | | { |
| | | PalletNo = stkModel.PalletNo; |
| | | SkuNo = stkModel.SkuNo; |
| | | } |
| | | //获取移库的库位 |
| | | var newSlot = MoveAddress(slotBefore.LocatNo, slotBefore.RoadwayNo, stkModel.SkuNo); |
| | | var newSlot = MoveAddress(slotBefore.LocatNo, slotBefore.RoadwayNo, SkuNo, slotBefore.AreaNo); |
| | | |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | var exTask = new LogTask //出库任务 |
| | |
| | | Receiver = "PDA", |
| | | IsSuccess = 1, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = stkModel.LocatNo,//起始位置 |
| | | StartLocat = slotBefore.LocatNo,//起始位置 |
| | | EndLocat = newSlot,//目标位置 |
| | | PalletNo = PalletNo,//托盘码 |
| | | IsSend = 1,//是否可再次下发 |
| | |
| | | #region 添加移库任务信息 |
| | | var stkModel = Db.Queryable<DataStockDetail>().First(m=>m.LocatNo == slotBefore.LocatNo); |
| | | string PalletNo = "LN000000"; // 默认演示托盘 |
| | | string SkuNo = ""; |
| | | if (stkModel != null) |
| | | { |
| | | PalletNo = stkModel.PalletNo; |
| | | SkuNo= stkModel.SkuNo; |
| | | } |
| | | //获取移库的库位 |
| | | var newSlot = MoveAddress(slotBefore.LocatNo, slotBefore.RoadwayNo, stkModel.SkuNo); |
| | | var newSlot = MoveAddress(slotBefore.LocatNo, slotBefore.RoadwayNo, SkuNo, slotBefore.AreaNo); |
| | | |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | var exTask = new LogTask // 移库任务 |
| | |
| | | Receiver = "WCS", |
| | | IsSuccess = 1, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = stkModel.LocatNo,//起始位置 |
| | | StartLocat = slotBefore.LocatNo,//起始位置 |
| | | EndLocat = newSlot,//目标位置 |
| | | PalletNo = PalletNo,//托盘码 |
| | | IsSend = 1,//是否可再次下发 |
| | |
| | | } |
| | | |
| | | |
| | | public string MoveAddress(string oldAddress, string roadWay, string skuNo)//01020201 排-列-层-深度 |
| | | public string MoveAddress(string oldAddress, string roadWay, string skuNo,string areaNo="")//01020201 排-列-层-深度 |
| | | { |
| | | string nowAddress = ""; |
| | | |
| | | var category = new SysMaterialCategory(); |
| | | if (!string.IsNullOrEmpty(skuNo)) |
| | | { |
| | | //根据物料编码获取对应区域 |
| | | var skuCategoryNo = Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.SkuNo == skuNo).Select(a => a.CategoryNo).First(); |
| | | var category = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == skuCategoryNo); |
| | | category = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == skuCategoryNo); |
| | | |
| | | areaNo = category.AreaNo; |
| | | } |
| | | else |
| | | { |
| | | //todo 待验证 |
| | | category = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.AreaNo == areaNo); |
| | | } |
| | | |
| | | // 获取移库目标储位 |
| | | var row = int.Parse(oldAddress.Substring(0, 2)); |
| | | var lie = int.Parse(oldAddress.Substring(2, 2)); |
| | | var ceng = int.Parse(oldAddress.Substring(4, 2)); |
| | | |
| | | var sqlString = $@"select LocatNo,[Row],[Column],Layer, (ABS(Row-{row}) + ABS([Column]-{lie}) + ABS(Layer-{ceng})) as distNum from SysStorageLocat where Flag = '0' and Status = '0' and Depth = '02' and RoadwayNo = '{roadWay}' and AreaNo in ('{category.AreaNo}') order by distNum;"; |
| | | var sqlString = $@"select LocatNo,[Row],[Column],Layer, (ABS(Row-{row}) + ABS([Column]-{lie}) + ABS(Layer-{ceng})) as distNum from SysStorageLocat where Flag = '0' and Status = '0' and Depth = '02' and RoadwayNo = '{roadWay}' and AreaNo in ('{areaNo}') order by distNum;"; |
| | | |
| | | var addressModels = Db.Ado.SqlQuery<AddressCls>(sqlString).ToList(); |
| | | if (addressModels.Count > 0) // 判断同巷道内排空库位 |