| | |
| | | * 7.11 出库通知单(传递有序无序规则)单条建单。 |
| | | */ |
| | | @Override |
| | | public R outOrder(OutTaskParam param,int count) { |
| | | return outOrder(param, count, 0); |
| | | public R outOrder(OutTaskParam param,int count,int i) { |
| | | return outOrder(param, count, 0 ,i); |
| | | } |
| | | |
| | | private R outOrder(OutTaskParam param, int count, int teu) { |
| | | private R outOrder(OutTaskParam param, int count, int teu , int i) { |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "F").eq("barcode", param.getPalletId())); |
| | | if (locMast == null) { |
| | | throw new CoolException("没有找到托盘码=" + param.getPalletId() + "对应的库位"); |
| | |
| | | // 7.11:entryWmsCode、outDoorNo 复用明细备用字段。 |
| | | wrkDetl.setStandby1(param.getEntryWmsCode()); |
| | | wrkDetl.setStandby2(param.getOutDoorNo()); |
| | | wrkDetl.setSupp(param.getSeq()+"/"+count); |
| | | wrkDetl.setSupp(i+"/"+count); |
| | | wrkDetl.setTeu(param.getTeu()); |
| | | |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R outOrderBatch(List<OutTaskParam> params) { |
| | | int n = params.size(); |
| | | Map<String, Integer> batchLineCounts = new HashMap<>(); |
| | | Map<String, Integer> batchTeuCounts = buildOutOrderBatchTeuCounts(params); |
| | | for (OutTaskParam outTaskParam : params) { |
| | | batchLineCounts.merge(buildOutOrderBatchKey(outTaskParam), 1, Integer::sum); |
| | | } |
| | | for (OutTaskParam outTaskParam : params) { |
| | | int count = batchLineCounts.getOrDefault(buildOutOrderBatchKey(outTaskParam), n); |
| | | int teu = batchTeuCounts.getOrDefault(outTaskParam.getBatchSeq(), 1); |
| | | R r = outOrder(outTaskParam, count, teu); |
| | | if (!Objects.equals(r.get("code"), 200)) { |
| | | throw new CoolException("出库建单失败"); |
| | | public R outOrderBatch(Map<String, List<OutTaskParam>> linesByBatchSeq,int count) { |
| | | int i = 0; |
| | | for (Map.Entry<String, List<OutTaskParam>> entry : linesByBatchSeq.entrySet()) { |
| | | for (OutTaskParam outTaskParam : entry.getValue()) { |
| | | if(outTaskParam.getSeq()!=0){ |
| | | i= outTaskParam.getSeq(); |
| | | }else{ |
| | | i++; |
| | | } |
| | | int teu = outTaskParam.getTeu(); |
| | | R r = outOrder(outTaskParam, count, teu ,i); |
| | | if (!Objects.equals(r.get("code"), 200)) { |
| | | throw new CoolException("出库建单失败"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return R.ok(); |
| | | } |