| | |
| | | { |
| | | throw new Exception("拣货数量不能大于箱内剩余待拣数量"); |
| | | } |
| | | var pickQty = 0;//拣货的数量 |
| | | decimal pickQty = 0;//拣货的数量 |
| | | var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList(); |
| | | var comList = new List<BllCompleteDetail>(); |
| | | foreach (var item in boxInfos) |
| | |
| | | { |
| | | throw new Exception("该箱码内存在支码不能进行数量拣货"); |
| | | } |
| | | int boxQty = boxInfo.First().Qty; |
| | | decimal boxQty = boxInfo.First().Qty; |
| | | if (Convert.ToInt32(pickQty1) > boxQty) |
| | | { |
| | | throw new Exception("拣货数量不能大于箱内数量"); |
| | |
| | | } |
| | | } |
| | | } |
| | | var pickQty = 0;//拣货的数量 |
| | | decimal pickQty = 0;//拣货的数量 |
| | | |
| | | var comList = new List<BllCompleteDetail>(); |
| | | foreach (var item in boxInfos) |
| | |
| | | SkuName = allot.SkuName, |
| | | Standard = allot.Standard, |
| | | PalletNo = palletNo, |
| | | CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty, |
| | | CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty, |
| | | |
| | | CreateUser = userId |
| | | }; |
| | |
| | | } |
| | | else//数量拣货 |
| | | { |
| | | if (int.Parse(pickQty1) == item.Qty) |
| | | if (decimal.Parse(pickQty1) == item.Qty) |
| | | { |
| | | //删除库存箱码明细 |
| | | Db.Deleteable(item).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | item.Qty -= int.Parse(pickQty1); |
| | | item.Qty -= decimal.Parse(pickQty1); |
| | | item.BitBoxMark = "1";//零箱标识 |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | } |
| | |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = locat.RoadwayNo, //所属巷道 |
| | | EndLocate = "", // 目标位置 |
| | | EndLocate = model.OutMode, // 目标位置 |
| | | TaskNo = exTask.TaskNo, // 任务号 |
| | | TaskType = "1",// 任务类型 (出库) |
| | | OutMode = model.OutMode, //目标地址 |
| | |
| | | |
| | | if (result.WareHouseNo != "W02")//W02:零箱库 |
| | | { |
| | | throw new Exception("该托盘未在零箱库,请检查!"); |
| | | throw new Exception("该托盘未在平库内,请检查!"); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 验证储位状态是否正常 |
| | | |
| | | var locat = Db.Queryable<SysStorageLocat>().First(a=>a.IsDel == "0" && a.LocatNo == result.LocatNo); |
| | | if (locat == null) |
| | | { |
| | | throw new Exception("未获取到对应储位信息,请检查!"); |
| | | } |
| | | if (locat.Status != "3") |
| | | { |
| | | throw new Exception("当前储位不是出库中,请检查!"); |
| | | } |
| | | |
| | | #endregion |
| | |
| | | item.AreaNo = "";//所属区域更改(改为空) |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | } |
| | | //变更储位状态 |
| | | locat.Status = "0";//储位更改(改为空储位) |
| | | Db.Updateable(locat).ExecuteCommand(); |
| | | |
| | | //出库流水(更改状态) |
| | | var allot = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo && m.SONo == soNo).ToList(); |
| | | |
| | |
| | | { |
| | | throw new Exception("该箱码内存在支码不能进行数量拣货"); |
| | | } |
| | | int boxQty = boxInfo.First().Qty; |
| | | decimal boxQty = boxInfo.First().Qty; |
| | | if (Convert.ToInt32(pickQty1) > boxQty) |
| | | { |
| | | throw new Exception("拣货数量不能大于箱内数量"); |
| | |
| | | } |
| | | } |
| | | } |
| | | var pickQty = 0;//拣货的数量 |
| | | decimal pickQty = 0;//拣货的数量 |
| | | |
| | | var comList = new List<BllCompleteDetail>(); |
| | | foreach (var item in boxInfos) |
| | |
| | | SkuName = allot2.SkuName, |
| | | Standard = allot2.Standard, |
| | | PalletNo = palletNo, |
| | | CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty, |
| | | CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty, |
| | | InspectMark = "1", |
| | | |
| | | CreateUser = userId |
| | |
| | | } |
| | | else//数量拣货 |
| | | { |
| | | if (int.Parse(pickQty1) == item.Qty) |
| | | if (decimal.Parse(pickQty1) == item.Qty) |
| | | { |
| | | //删除库存箱码明细 |
| | | Db.Deleteable(item).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | item.Qty -= int.Parse(pickQty1); |
| | | item.Qty -= decimal.Parse(pickQty1); |
| | | item.BitBoxMark = "1";//零箱标识 |
| | | item.InspectMark = "1";//抽检箱标识 |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | } |
| | | } |
| | | pickQty += biaoShi == "2" ? int.Parse(pickQty1) : item.Qty; |
| | | pickQty += biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty; |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | throw new Exception("该箱码内存在支码不能进行数量拣货"); |
| | | } |
| | | int boxQty = boxInfo.First().Qty; |
| | | decimal boxQty = boxInfo.First().Qty; |
| | | if (Convert.ToInt32(pickQty1) > boxQty) |
| | | { |
| | | throw new Exception("拣货数量不能大于箱内数量"); |
| | |
| | | } |
| | | } |
| | | } |
| | | var pickQty = 0;//拣货的数量 |
| | | decimal pickQty = 0;//拣货的数量 |
| | | |
| | | var comList = new List<BllCompleteDetail>(); |
| | | foreach (var item in boxInfos) |
| | |
| | | SkuName = allot.SkuName, |
| | | Standard = allot.Standard, |
| | | PalletNo = palletNo, |
| | | CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty, |
| | | CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty, |
| | | |
| | | CreateUser = userId |
| | | }; |
| | |
| | | } |
| | | else//数量拣货 |
| | | { |
| | | if (int.Parse(pickQty1) == item.Qty) |
| | | if (decimal.Parse(pickQty1) == item.Qty) |
| | | { |
| | | //删除库存箱码明细 |
| | | Db.Deleteable(item).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | item.Qty -= int.Parse(pickQty1); |
| | | item.Qty -= decimal.Parse(pickQty1); |
| | | item.BitBoxMark = "1";//零箱标识 |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | } |
| | |
| | | #region 拼托信息 |
| | | var sdId = 0; |
| | | bool isNew = false; |
| | | var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew); |
| | | var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == allot.SkuNo && m.LotNo == allot.LotNo); |
| | | if (pinStockDetail != null) |
| | | { |
| | | if (palletNo != palletNoNew)//非整托拣货 |
| | |
| | | } |
| | | #endregion |
| | | |
| | | var pickQty = 0;//拣货的数量 |
| | | decimal pickQty = 0;//拣货的数量 |
| | | if (string.IsNullOrWhiteSpace(boxNo))//整托拣货 |
| | | { |
| | | List<DataBoxInfo> boxInfos; |
| | |
| | | { |
| | | throw new Exception("该箱码内存在支码不能进行数量拣货"); |
| | | } |
| | | int boxQty = boxInfo.First().Qty; |
| | | decimal boxQty = boxInfo.First().Qty; |
| | | if (Convert.ToInt32(pickQty1) > boxQty) |
| | | { |
| | | throw new Exception("拣货数量不能大于箱内数量"); |
| | |
| | | SkuName = allot.SkuName, |
| | | Standard = allot.Standard, |
| | | PalletNo = palletNo, |
| | | CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty, |
| | | CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty, |
| | | |
| | | CreateUser = userId |
| | | }; |
| | |
| | | } |
| | | else//数量拣货 |
| | | { |
| | | if (int.Parse(pickQty1) == item.Qty) |
| | | if (decimal.Parse(pickQty1) == item.Qty) |
| | | { |
| | | //修改库存箱码明细 |
| | | item.StockDetailId = sdId; |
| | |
| | | } |
| | | else |
| | | { |
| | | item.Qty -= int.Parse(pickQty1); |
| | | item.Qty -= decimal.Parse(pickQty1); |
| | | item.BitBoxMark = "1";//零箱标识 |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | } |
| | |
| | | { |
| | | sd.Qty = pickQty; |
| | | sd.LockQty = pickQty; |
| | | |
| | | Db.Updateable(sd).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |