自动化立体仓库 - WMS系统
#
Administrator
15 小时以前 4f45f8f3ec334a73ba24fc5d16017b5c044168aa
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -377,53 +377,35 @@
        if (param == null || Cools.isEmpty(param.getOrderId())) {
            throw new CoolException("orderNo is empty");
        }
        Order order = orderService.selectByNo(param.getOrderId());
        if (order == null) {
            order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, param.getOrderId());
        }
        if (order == null) {
            throw new CoolException("order not found: " + param.getOrderId());
        }
        List<WrkMast> activeTasks = findActiveOutboundTasks(param.getOrderId());
        Map<String, Object> result = new HashMap<>();
        result.put("orderNo", param.getOrderId());
        result.put("taskCount", activeTasks.size());
        if (activeTasks.isEmpty()) {
            return R.ok("no active out tasks");
            result.put("confirmedCount", 0);
            return R.ok("no active out tasks").add(result);
        }
        Date now = new Date();
        int pausedCount = 0;
        List<WrkMast> issuedTasks = new ArrayList<>();
        int confirmedCount = 0;
        for (WrkMast wrkMast : activeTasks) {
            if (wrkMast == null || "Y".equalsIgnoreCase(wrkMast.getPauseMk())) {
            if (wrkMast == null || "Y".equalsIgnoreCase(wrkMast.getPdcType())) {
                continue;
            }
            wrkMast.setPauseMk("Y");
            wrkMast.setUpdMk(needNotifyWcsStop(wrkMast) ? "WCS_STOP_REQUESTED" : "WMS_PAUSED");
            wrkMast.setManuType("ERP_PAUSE");
            wrkMast.setPdcType("Y");
//            wrkMast.setUpdMk("ERP_CONFIRMED");
//            wrkMast.setManuType("ERP_CONFIRM_OUT");
            wrkMast.setModiTime(now);
            wrkMast.setModiUser(9527L);
            if (!wrkMastService.updateById(wrkMast)) {
                throw new CoolException("pause out task failed: " + wrkMast.getWrkNo());
                throw new CoolException("confirm out task failed: " + wrkMast.getWrkNo());
            }
            pausedCount++;
            if (needNotifyWcsStop(wrkMast)) {
                issuedTasks.add(wrkMast);
            }
            confirmedCount++;
        }
        if (pausedCount == 0) {
            return R.ok("tasks already paused");
        }
        if (!issuedTasks.isEmpty()) {
            wcsApiService.pauseOutTasks(buildStopOutTaskParams(param, issuedTasks));
        }
        Map<String, Object> result = new HashMap<>();
        result.put("orderNo", param.getOrderId());
        result.put("pausedCount", pausedCount);
        result.put("wcsStopCount", issuedTasks.size());
        return R.ok("pause out success").add(result);
        result.put("confirmedCount", confirmedCount);
        return R.ok(confirmedCount == 0 ? "tasks already confirmed" : "erp confirm out success").add(result);
    }
    @Override
@@ -440,8 +422,8 @@
        }
        if (Objects.equals(param.getExecute(), 2)) {
            OpenOrderPakoutPauseParam pauseParam = new OpenOrderPakoutPauseParam();
//            pauseParam.getOrderId(param.getOrderId());
//            pauseParam.setReason("OPEN_API_PAUSE");
            pauseParam.setOrderId(param.getOrderId());
//            pauseParam.setReason("OPEN_API_CONFIRM_OUT");
            return pakoutOrderPause(pauseParam);
        }
        throw new CoolException("execute only supports 1 or 2");
@@ -461,8 +443,8 @@
        }
        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                .in("wrk_no", wrkNos)
                .in("io_type", Arrays.asList(101, 103, 107, 108, 110))
                .lt("wrk_sts", 14L));
                .in("io_type", Arrays.asList(101, 103, 104, 107, 108, 110))
                .eq("wrk_sts", 11L));
        if (wrkMasts == null || wrkMasts.isEmpty()) {
            return Collections.emptyList();
        }
@@ -1336,6 +1318,7 @@
        wrkMast.setExitMk("N"); // 退出
        wrkMast.setEmptyMk("N"); // 空板
        wrkMast.setLinkMis("N");
        wrkMast.setPdcType("N");
        wrkMast.setUserNo(param.getOrderId());//订单号
        wrkMast.setPltType(param.getSeq());//出库顺序,从1开始
        wrkMast.setTakeNone("0");  //0非自动