| | |
| | | bool isNew = false; |
| | | |
| | | var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo); |
| | | //var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew); |
| | | |
| | | if (pinStockDetail != null) |
| | | { |
| | | //修改托盘表状态让托盘表和库存明细表保持一致 |
| | | string uptPalletStatusSql = $@"update SysPallets set Status='1' where PalletNo='{palletNoNew}'"; |
| | | int uptPalletStatus = Db.Ado.ExecuteCommand(uptPalletStatusSql); |
| | | Db.CommitTran(); |
| | | |
| | | 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) |
| | | //{ |
| | | // throw Oops.Bah("拼托托盘上只能放同一个出库单下的物料!"); |
| | | //} |
| | | //var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id != pinStockDetail.Id).ToList(); |
| | | var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew).ToList(); |
| | | //只允许绑定同一个出库单下的物料 |
| | | if (pinStockDetails.GroupBy(e => e.SONo).Count() > 0 && pinStockDetails.Count(m => m.SONo != notice.SONo) > 0) |
| | | if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0) |
| | | { |
| | | throw Oops.Bah("拼托托盘上只能放同一个出库单下的物料!"); |
| | | } |
| | |
| | | if (newPalletInfo.Status == "0") |
| | | { |
| | | 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("一个托盘只能接受一个出库单拼托!"); |
| | | //} |
| | | //只允许绑定同一个出库单下的物料 |
| | | if (pinStockDetails.GroupBy(e => e.SONo).Count() > 0 && pinStockDetails.Count(m => m.SONo != notice.SONo) > 0) |
| | | if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0) |
| | | { |
| | | throw Oops.Bah("拼托托盘上只能放同一个出库单下的物料!"); |
| | | throw Oops.Bah("一个托盘只能接受一个出库单拼托!"); |
| | | } |
| | | } |
| | | else |
| | |
| | | sd.UDF5 = "1"; |
| | | //新增拼托库存明细信息 |
| | | sdId = await Db.Insertable(sd).ExecuteReturnIdentityAsync(); |
| | | |
| | | //修改托盘表状态让托盘表和库存明细表保持一致 |
| | | string uptPalletStatusSql = $@"update SysPallets set Status='1' where PalletNo='{palletNoNew}'"; |
| | | int uptPalletStatus = Db.Ado.ExecuteCommand(uptPalletStatusSql); |
| | | } |
| | | #endregion |
| | | |
| | |
| | | #region 拼托信息 |
| | | bool isNew = false; |
| | | var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo); |
| | | //var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew); |
| | | if (pinStockDetail != null) |
| | | { |
| | | //修改托盘表状态让托盘表和库存明细表保持一致 |
| | | string uptPalletStatusSql = $@"update SysPallets set Status='1' where PalletNo='{palletNoNew}'"; |
| | | int uptPalletStatus = Db.Ado.ExecuteCommand(uptPalletStatusSql); |
| | | Db.CommitTran(); |
| | | |
| | | if (palletNo != palletNoNew)//非整托拣货 |
| | | { |
| | | var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id != pinStockDetail.Id).ToList(); |
| | | //var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id != pinStockDetail.Id).ToList(); |
| | | var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew).ToList(); |
| | | if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0) |
| | | { |
| | | throw Oops.Bah("拼托托盘上只能放同一个出库单下的物料!"); |
| | |
| | | { |
| | | isNew = true; |
| | | |
| | | var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0"); |
| | | //var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0"); |
| | | var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew); |
| | | if (newPalletInfo == null) |
| | | { |
| | | throw Oops.Bah("新托盘信息不存在!"); |
| | | } |
| | | if (newPalletInfo.Status == "0") |
| | | { |
| | | 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) |
| | |
| | | CreateTime = nowDate, |
| | | UDF5 = "1" |
| | | }; |
| | | |
| | | //新增拼托库存明细信息 |
| | | await Db.Insertable(sd).ExecuteReturnIdentityAsync(); |
| | | |
| | | //修改托盘表状态让托盘表和库存明细表保持一致 |
| | | string uptPalletStatusSql = $@"update SysPallets set Status='1' where PalletNo='{palletNoNew}'"; |
| | | int uptPalletStatus = Db.Ado.ExecuteCommand(uptPalletStatusSql); |
| | | } |
| | | else |
| | | { |
| | |
| | | boxNo, "出库", $"在PDA上对箱号为:{boxNo}的托盘码为:{palletNo}的拣货操作", userId); |
| | | Db.CommitTran(); |
| | | } |
| | | catch (AppFriendlyException e) |
| | | { |
| | | Db.RollbackTran(); |
| | | } |
| | | //catch (AppFriendlyException e) |
| | | //{ |
| | | // Db.RollbackTran(); |
| | | //} |
| | | catch (Exception e) |
| | | { |
| | | Db.RollbackTran(); |