| | |
| | | #region 拼托信息 |
| | | var sdId = 0; |
| | | bool isNew = false; |
| | | |
| | | |
| | | var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo); |
| | | |
| | | if (pinStockDetail != null) |
| | | if (pinStockDetail != null) |
| | | { |
| | | if (palletNo != palletNoNew)//非整托拣货 |
| | | if (palletNo != palletNoNew)//非整托拣货 |
| | | { |
| | | var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id!= pinStockDetail.Id).ToList(); |
| | | if (pinStockDetails.Count(m=>m.SONo != notice.SONo) > 0) |
| | |
| | | var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0"); |
| | | if (newPalletInfo == null) |
| | | { |
| | | throw Oops.Bah("新托盘信息不存在或已被使用!"); |
| | | var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew &&(m.SkuNo != stockDetail.SkuNo || m.LotNo != stockDetail.LotNo)).ToList(); |
| | | if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0) |
| | | { |
| | | throw Oops.Bah("新托盘信息不存在或已被使用!"); |
| | | } |
| | | } |
| | | //修改新托盘状态 |
| | | newPalletInfo.Status = "1"; |
| | | await Db.Updateable(newPalletInfo).ExecuteCommandAsync(); |
| | | else |
| | | { |
| | | //修改新托盘状态 |
| | | newPalletInfo.Status = "1"; |
| | | await Db.Updateable(newPalletInfo).ExecuteCommandAsync(); |
| | | } |
| | | |
| | | } |
| | | |
| | | var sd = new DataStockDetail(); |
| | |
| | | |
| | | if (isNew) |
| | | { |
| | | sd.Qty = pickQty; |
| | | sd.LockQty = pickQty; |
| | | await Db.Updateable(sd).ExecuteCommandAsync(); |
| | | var sdnew = Db.Queryable<DataStockDetail>().First(m => m.Id == sdId); |
| | | sdnew.Qty = pickQty; |
| | | sdnew.LockQty = pickQty; |
| | | await Db.Updateable(sdnew).ExecuteCommandAsync(); |
| | | } |
| | | else |
| | | { |
| | |
| | | var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0"); |
| | | if (newPalletInfo == null) |
| | | { |
| | | throw Oops.Bah("新托盘信息不存在或已被使用!"); |
| | | var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && (m.SkuNo != stockDetail.SkuNo && m.LotNo != stockDetail.LotNo)).ToList(); |
| | | if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0) |
| | | { |
| | | throw Oops.Bah("新托盘信息不存在或已被使用!"); |
| | | } |
| | | } |
| | | //修改新托盘状态 |
| | | newPalletInfo.Status = "1"; |
| | | await Db.Updateable(newPalletInfo).ExecuteCommandAsync(); |
| | | else |
| | | { |
| | | //修改新托盘状态 |
| | | newPalletInfo.Status = "1"; |
| | | await Db.Updateable(newPalletInfo).ExecuteCommandAsync(); |
| | | } |
| | | } |
| | | |
| | | if (isNew) |
| | |
| | | return allotList2; |
| | | } |
| | | |
| | | |
| | | //获取托盘中含有的执行中的单据 |
| | | public async Task<List<string>> GetPalletListBySo(string soNo, string soDetailId) |
| | | { |
| | | if (string.IsNullOrWhiteSpace(soNo))//判断托盘是否为空 |
| | | { |
| | | throw Oops.Bah("出库单为空,请选择出库单"); |
| | | } |
| | | if (string.IsNullOrWhiteSpace(soDetailId)) |
| | | { |
| | | throw Oops.Bah("出库明细为空,请选择物料-批次"); |
| | | } |
| | | |
| | | var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "0" && m.SONo == soNo && m.SODetailNo == int.Parse(soDetailId)).Select(m => m.PalletNo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync(); |
| | | return allotList; |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | //获取托盘中含有的执行中的单据 |
| | | public async Task<List<string>> GetRunNoticeList(string type) |
| | | { |