| | |
| | | return R.ok(confirmedCount == 0 ? "任务已确认执行" : "ERP确认执行出库成功").add(result); |
| | | } |
| | | if (Objects.equals(param.getExecute(), 2)) { |
| | | // ERP请求取消任务:按 plt_type 从大到小先 WCS 再 WMS;失败或异常则停止后续,接口仍返回原成功结构。 |
| | | // ERP请求取消任务:直接收集任务号,按 taskList 格式发送给 WCS。 |
| | | Map<String, Object> result = new HashMap<>(); |
| | | result.put("orderNo", param.getOrderId()); |
| | | result.put("execute", param.getExecute()); |
| | |
| | | if (activeTasks.isEmpty()) { |
| | | return R.ok("无有效出库任务").add(result); |
| | | } |
| | | List<WrkMast> sorted = new ArrayList<>(activeTasks); |
| | | sorted.sort(Comparator.comparing(WrkMast::getPltType, Comparator.nullsLast(Comparator.reverseOrder()))); |
| | | for (WrkMast wrkMast : sorted) { |
| | | try { |
| | | if (!Cools.isEmpty(wrkMast) && wrkMast.getWrkSts() == 11L) { |
| | | workService.cancelWrkMast(wrkMast.getWrkNo() + "", 9955L); |
| | | }else{ |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("taskNo", wrkMast.getWrkNo()); |
| | | List<HashMap<String, Object>> one = new ArrayList<>(); |
| | | one.add(hashMap); |
| | | R wcsR = wcsApiService.pauseOutTasks(one); |
| | | requireWcsPauseOk(wcsR); |
| | | workService.cancelWrkMast(wrkMast.getWrkNo() + "", 9955L); |
| | | } |
| | | } catch (Exception e) { |
| | | log.warn("[pakoutOrderPause] execute=2 取消中止, orderNo={}, err={}", param.getOrderId(), e.getMessage()); |
| | | break; |
| | | List<HashMap<String,Object>> taskList = new ArrayList<>(); |
| | | for (WrkMast wrkMast : activeTasks) { |
| | | HashMap<String,Object> hashMap = new HashMap<>(); |
| | | hashMap.put("taskNo", wrkMast.getWrkNo()); |
| | | if (!Cools.isEmpty(wrkMast) && wrkMast.getWrkSts() ==11L) { |
| | | workService.cancelWrkMast(wrkMast.getWrkNo()+"", 9955L); |
| | | continue; |
| | | } |
| | | taskList.add(hashMap); |
| | | } |
| | | wcsApiService.pauseOutTasks(taskList); |
| | | return R.ok("取消任务已发送至WCS").add(result); |
| | | } |
| | | throw new CoolException("reason仅支持1或2"); |