| | |
| | | throw new Exception("当前托盘未在库存中"); |
| | | } |
| | | //怎么判断当前托盘是库外要取样的托盘,正常出库剩余托盘目前这种情况也能拣货啊,也没有分配信息 |
| | | var allot = Db.Queryable<BllExportAllot>().First(m => |
| | | m.IsDel == "0" && m.PalletNo == palletNo && m.Status != "5" && m.Status != "6"); |
| | | if (allot != null) |
| | | //先获取单据分配信息,再获取托盘分配信息 |
| | | var allotnotice = Db.Queryable<BllExportNotice>().Where(m => |
| | | m.IsDel == "0" && m.Type == "3").ToList(); |
| | | if (allotnotice.Count == 0) |
| | | { |
| | | var soNo = Db.Queryable<BllExportNotice>() |
| | | .First(m => m.IsDel == "0" && m.SONo == allot.SONo); |
| | | if (soNo == null) |
| | | throw new Exception("未找到取样单据信息"); |
| | | } |
| | | int pano = 0; |
| | | var sono = ""; |
| | | foreach (var item in allotnotice) |
| | | { |
| | | var allot = Db.Queryable<BllExportAllot>().First(m => |
| | | m.IsDel == "0" && m.PalletNo == palletNo && m.Status != "5" && m.Status != "6" && m.SONo == item.SONo); |
| | | if (allot != null) |
| | | { |
| | | throw new Exception("未找到托盘上出库单据信息"); |
| | | pano++; |
| | | sono = item.SONo; |
| | | } |
| | | if (soNo.Type != "3") |
| | | } |
| | | if (pano > 0) |
| | | { |
| | | var locate = Db.Queryable<DataStockDetail>().First(w => w.PalletNo == palletNo); |
| | | if (locate != null) |
| | | { |
| | | throw new Exception("该托盘不是取样托盘"); |
| | | if (locate.WareHouseNo == "w01") |
| | | { |
| | | type = "0";//库内取样 |
| | | } |
| | | else |
| | | { |
| | | type = "1"; |
| | | } |
| | | |
| | | } |
| | | type = "0";//库内取样 |
| | | } |
| | | else |
| | | { |
| | | //判断当前托盘是否是在平库或库外 |
| | | type = "1";//库前取样 |
| | | throw new Exception("未找到取样托盘信息"); |
| | | } |
| | | return type; |
| | | } |