| | |
| | | // } |
| | | // } |
| | | |
| | | List<OutTaskParam> errorOutOrders = Lists.newArrayList(); |
| | | List<OutTaskParam> validOutOrders = Lists.newArrayList(); |
| | | List<OutTaskParam> missingStock = Lists.newArrayList(); |
| | | List<OutTaskParam> missingLoc = Lists.newArrayList(); |
| | | for (OutTaskParam outTaskParam : params) { |
| | | // TODO:待測試,校驗庫存信息,不存在則返回 |
| | | int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", outTaskParam.getPalletId())); |
| | | if (countLoc == 0){ |
| | | errorOutOrders.add(outTaskParam); |
| | | if (countLoc == 0) { |
| | | missingStock.add(outTaskParam); |
| | | continue; |
| | | } |
| | | validOutOrders.add(outTaskParam); |
| | | } |
| | | for (OutTaskParam outTaskParam : validOutOrders) { |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "F").eq("barcode", outTaskParam.getPalletId())); |
| | | if (locMast == null) { |
| | | throw new CoolException("没有找到托盘码=" + outTaskParam.getPalletId() + "对应的库位"); |
| | | missingLoc.add(outTaskParam); |
| | | } |
| | | } |
| | | |
| | | for (OutTaskParam outTaskParam : validOutOrders) { |
| | | R r = openService.outOrder(outTaskParam,validOutOrders.size()); |
| | | if (!r.get("code").equals(200)){ |
| | | return r; |
| | | } |
| | | } |
| | | if (errorOutOrders.size() > 0) { |
| | | List<String> missingPalletIds = new ArrayList<>(errorOutOrders.size()); |
| | | for (OutTaskParam p : errorOutOrders) { |
| | | if (!missingStock.isEmpty()) { |
| | | List<String> missingPalletIds = new ArrayList<>(missingStock.size()); |
| | | for (OutTaskParam p : missingStock) { |
| | | String pid = p.getPalletId(); |
| | | missingPalletIds.add(Cools.isEmpty(pid) ? "(空)" : pid); |
| | | } |
| | | return R.error("库存中不存在该托盘:" + String.join(",", missingPalletIds)).add(errorOutOrders); |
| | | return R.error("库存中不存在该托盘:" + String.join(",", missingPalletIds)).add(missingStock); |
| | | } |
| | | if (!missingLoc.isEmpty()) { |
| | | List<String> badPalletIds = new ArrayList<>(missingLoc.size()); |
| | | for (OutTaskParam p : missingLoc) { |
| | | String pid = p.getPalletId(); |
| | | badPalletIds.add(Cools.isEmpty(pid) ? "(空)" : pid); |
| | | } |
| | | return R.error("没有找到托盘码对应库位:" + String.join(",", badPalletIds)).add(missingLoc); |
| | | } |
| | | |
| | | return R.ok(); |
| | | return openService.outOrderBatch(params); |
| | | } |
| | | |
| | | /** |