#
luxiaotao1123
2024-12-05 4661519afdd8c30ffeafa38ba95358e97c1ba65d
#
3个文件已修改
59 ■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/FuncStaServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1250,6 +1250,29 @@
                        .orderByAsc(Segment::getSerial)
                );
                // settlement
                this.settleSegmentList(segmentList, serialNo);
                log.info("Agv [{}] {}作业完毕 ==========>> ", protocol.getAgvNo(), serialNo);
            }
        }
        // 料仓信息包
        if (msgBody instanceof AGV_70_UP) {
            AGV_70_UP agv_70_up = (AGV_70_UP) msgBody;
            log.info("Agv [{}] 料仓信息包 ===>> {}", protocol.getAgvNo(), JSON.toJSONString(agv_70_up));
        }
    }
    @Transactional
    public void settleSegmentList(List<Segment> segmentList, String serialNo) {
        if (Cools.isEmpty(segmentList)) {
            return;
        }
        Date now = new Date();
                // task
                for (Segment segment : segmentList) {
                    boolean taskComplete = false;
@@ -1296,7 +1319,8 @@
                    }
                }
                // action
        // action, follow by groupId
        if (!Cools.isEmpty(serialNo)) {
                List<Action> actionList = actionService.list(new LambdaQueryWrapper<Action>()
                        .eq(Action::getGroupId, serialNo)
                        .eq(Action::getActionSts, ActionStsType.ISSUED.val())
@@ -1307,6 +1331,7 @@
                    action.setUpdateTime(now);
                    if (!actionService.updateById(action)) {
                        log.error("Action [{}] 更新失败 !!!", action.getPriority() + " - " + action.getName());
                }
                    }
                }
@@ -1321,18 +1346,6 @@
                // segment call back
                segmentService.processNext(segmentList);
                log.info("Agv [{}] {}作业完毕 ==========>> ", protocol.getAgvNo(), serialNo);
            }
        }
        // 料仓信息包
        if (msgBody instanceof AGV_70_UP) {
            AGV_70_UP agv_70_up = (AGV_70_UP) msgBody;
            log.info("Agv [{}] 料仓信息包 ===>> {}", protocol.getAgvNo(), JSON.toJSONString(agv_70_up));
        }
    }
}
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -110,9 +110,8 @@
            // deprecate jam
            if (this.isJamBeDeprecatedByAvo(segment.getId())) {
                if (this.skipCurrSegment(segment)) {
                mainService.settleSegmentList(Utils.singletonList(segment), null);
                    return;
                }
            }
            // execute -----------------------------------------------
@@ -632,17 +631,6 @@
                .eq(Jam::getAvoSeg, avoSeg)
                .eq(Jam::getState, JamStateType.DEPRECATED.toString())
        );
    }
    private boolean skipCurrSegment(Segment currSegment) {
        currSegment.setState(SegmentStateType.FINISH.toString());
        currSegment.setUpdateTime(new Date());
        if (!segmentService.updateById(currSegment)) {
            log.error("Segment [{}] failed to update !!!", currSegment.getTravelId() + " - " + currSegment.getSerial());
            return false;
        }
        segmentService.processNext(Utils.singletonList(currSegment));
        return true;
    }
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/FuncStaServiceImpl.java
@@ -110,7 +110,11 @@
                if (null == agv) {
                    // if there is a running task whose destination is this funSta, then that means this funSta is occupied
                    if (0 < taskService.count(new LambdaQueryWrapper<Task>()
                            .in(Task::getTaskType, TaskTypeType.TO_STANDBY.val(), TaskTypeType.TO_CHARGE.val())
                            .in(Task::getTaskType
                                    , TaskTypeType.TO_STANDBY.val()
                                    , TaskTypeType.TO_CHARGE.val()
                                    , TaskTypeType.MOVE.val()
                            )
                            .in(Task::getTaskSts, TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val())
                            .eq(Task::getDestCode, code)
                    )) {