#
zhou zhou
3 天以前 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,12 +551,31 @@
     * 出库 ====>> 同一时间一台穿梭车只能有一个出库任务
     */
    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;
        }
        for (Task task : tasks) {
            List<Task> list = taskService.list(new LambdaQueryWrapper<Task>().in(Task::getTaskSts, TaskStsType.ANALYZE_OUTBOUND.sts, TaskStsType.EXECUTE_OUTBOUND.sts));
            if (!list.isEmpty()) {
                continue;//存在正在解析,正在执行任务
            }
            BasConveyorSta originStaObj = basConveyorStaService.selectBySiteNo(task.getOriginSite());//获取源站
            if (originStaObj == null) {
                continue;
@@ -722,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);//获取小车楼层
            //搜索小车当前楼层充电桩