自动化立体仓库 - WMS系统
ZY
2024-12-18 184a0722e53f64f40ddb2c88f11f26941f565a8c
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -336,15 +336,22 @@
//                }
//                agvWrkMastService.updateById(agvWrkMast);
//            }
            Integer pltType = agvWrkMast.getPltType();
            if (Cools.isEmpty(pltType) && !Cools.isEmpty(agvWrkMast.getLocNo())) {
                AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getLocNo());
                if (agvLocMast != null) {
                    pltType = agvLocMast.getPltType();
                }
            }
            if (!isJSON(orderNo)) {
                //检查订单是否已完成
                orderService.checkComplete(orderNo, agvWrkMast.getPltType());
                orderService.checkComplete(orderNo, pltType);
            } else {
                List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
                Integer finalPltType = pltType;
                maps.forEach(map -> {
                    String o = map.get("orderNo").toString();
                    orderService.checkComplete(o, agvWrkMast.getPltType());
                    orderService.checkComplete(o, finalPltType);
                });
            }
@@ -706,24 +713,29 @@
        if (Cools.isEmpty(agvWrkDetls)) {
            return;
        }
        List<AgvWrkDetl> data = new ArrayList<>();
        //区分不同任务类型的上报方式
        if (IN_TYPE_LIST.contains(agvWrkMast.getIoType())) {
            String barcode = agvWrkMast.getBarcode();
            if (barcode.startsWith("20") || barcode.startsWith("21") || barcode.startsWith("40")) {
                reportMesPakinOrder(agvWrkMast, agvWrkDetls);
        for (AgvWrkDetl agvWrkDetl : agvWrkDetls) {
            if (agvWrkDetl.getMatnr().compareTo("39") <= 0) {
                data.add(agvWrkDetl);
            }
        }
        if (OUT_TYPE_List.contains(agvWrkMast.getIoType())) {
            reportMesPakoutOrder(agvWrkMast, agvWrkDetls);
        if (!data.isEmpty()) {
            if (IN_TYPE_LIST.contains(agvWrkMast.getIoType())) {
                reportMesPakinOrder(agvWrkMast, data);
            }
            if (OUT_TYPE_List.contains(agvWrkMast.getIoType())) {
                reportMesPakoutOrder(agvWrkMast, data);
            }
            if (MOVE_TYPE_List.contains(agvWrkMast.getIoType())) {
                generateMesParam(agvWrkMast, data);
            }
        }
        if (MOVE_TYPE_List.contains(agvWrkMast.getIoType())) {
            generateMesParam(agvWrkMast, agvWrkDetls);
        }
    }
    private void reportMesPakinOrder(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls) {
        for (AgvWrkDetl agvWrkDetl : agvWrkDetls) {