#
zhou zhou
2026-01-08 071edbee0491256ac379d826bfdfe9c3f4e3094b
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
@@ -419,6 +419,18 @@
    // 解析入库工作档
    public synchronized void analyzeInBoundTask() {
        List<Task> chargetaskList = taskService.list(new LambdaQueryWrapper<Task>()
                .in(Task::getTaskSts
                        , TaskStsType.NEW_CHARGE.sts
                        , TaskStsType.ANALYZE_CHARGE.sts
                        , TaskStsType.EXECUTE_CHARGE.sts
                        , TaskStsType.COMPLETE_CHARGE.sts
                )
        );
        if (!chargetaskList.isEmpty()) {
            return;
        }
        for (Task task : taskService.selectWaitAnalyzeInBoundTask()) {
            BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>().eq(BasConveyorSta::getSiteNo, task.getDestSite()));
            if (basConveyorSta == null) {
@@ -539,6 +551,20 @@
     * 出库 ====>> 同一时间一台穿梭车只能有一个出库任务
     */
    public synchronized void analyzeOutBoundTask() {
        List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>()
                .in(Task::getTaskSts
                        , TaskStsType.NEW_CHARGE.sts
                        , TaskStsType.ANALYZE_CHARGE.sts
                        , TaskStsType.EXECUTE_CHARGE.sts
                        , TaskStsType.COMPLETE_CHARGE.sts
                )
        );
        if (!taskList.isEmpty()) {
            return;
        }
        List<Task> tasks = taskService.selectPakOut();
        if (tasks.isEmpty()) {
            return;
@@ -727,6 +753,32 @@
                continue;
            }
            List<Task> chargetaskList = taskService.list(new LambdaQueryWrapper<Task>()
                    .in(Task::getTaskSts
                            , TaskStsType.NEW_CHARGE.sts
                            , TaskStsType.ANALYZE_CHARGE.sts
                            , TaskStsType.EXECUTE_CHARGE.sts
                            , TaskStsType.COMPLETE_CHARGE.sts
                    )
            );
            if (!chargetaskList.isEmpty()) {
                return;
            }
            List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>()
                    .in(Task::getTaskSts
                            , TaskStsType.NEW_INBOUND.sts
                            , TaskStsType.ANALYZE_INBOUND.sts
                            , TaskStsType.EXECUTE_INBOUND.sts
                            , TaskStsType.NEW_OUTBOUND.sts
                            , TaskStsType.ANALYZE_OUTBOUND.sts
                            , TaskStsType.EXECUTE_OUTBOUND.sts)
            );
            if (!taskList.isEmpty()) {
                News.info("{}号小车,系统存在正在执行任务,暂停充电任务", shuttleProtocol.getShuttleNo());
                continue;//正在执行任务,不执行充电
            }
            String currentLocNo = shuttleProtocol.getCurrentLocNo();
            int lev = Utils.getLev(currentLocNo);//获取小车楼层
            //搜索小车当前楼层充电桩