luxiaotao1123
2024-04-07 32c168d5095a0391deb71e3a6b0223f4211a9182
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java
@@ -89,11 +89,11 @@
                continue;
            }
//            //检测是否存在充电任务
//            WrkCharge wrkCharge = wrkChargeService.selectWorking(shuttle.getId());
//            if (wrkCharge != null) {
//                continue;
//            }
            //检测是否存在充电任务
            Task taskCharge = taskService.selectChargeWorking(Integer.valueOf(device.getDeviceNo()));
            if (taskCharge != null) {
                continue;
            }
            // 有没有被其他任务调度
            int currentLev = Utils.getLev(shuttleProtocol.getCurrentLocNo());//小车当前层高
@@ -128,11 +128,11 @@
                currDistance += WEIGHT;
            }
//            // 挂载任务权重
//            List<Task> tasks = taskService.selectWorkingByShuttle(shuttle.getId());
//            if (!Cools.isEmpty(tasks)) {
//                currDistance += tasks.size() * WEIGHT;
//            }
            // 挂载任务权重
            List<Task> tasks = taskService.selectWorkingByShuttle(Integer.valueOf(device.getDeviceNo()));
            if (!Cools.isEmpty(tasks)) {
                currDistance += tasks.size() * WEIGHT;
            }
            if (currDistance < finalDistance) {
                finalDistance = currDistance;
@@ -142,39 +142,6 @@
        return resThread;
    }
//    /**
//     * 生成穿梭车迁移任务
//     */
//    public WrkCharge generateShuttleChargeWrkComplete(Integer shuttleNo, String locNo) {
//        WrkCharge wrkCharge = new WrkCharge();
//        wrkCharge.setShuttleNo(shuttleNo);
//        wrkCharge.setWrkNo(commonService.getChargeWorkNo(4));
//        wrkCharge.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
//        wrkCharge.setWrkSts(WrkMastStsType.NEW_MOVE.sts);   // 迁移任务
//        wrkCharge.setIoType(WrkIoTypeType.MOVE.sts);
//        wrkCharge.setIoPri((double) 10);
//        wrkCharge.setLocNo(locNo);
//        wrkCharge.setMemo("reset");
//        wrkCharge.setAppeTime(new Date());
//
//        // generate motion list
//        List<Motion> motionList = analyzeService.generateShuttleChargeWrkComplete(wrkCharge);
//        if (Cools.isEmpty(motionList)) {
//            News.error("保存{}号四向穿梭车迁移任务失败!!!", shuttleNo);
//            return null;
//        }
//        motionService.batchInsert(motionList, wrkCharge.getUuid(), wrkCharge.getWrkNo());
//
//        wrkCharge.setWrkSts(WrkMastStsType.ANALYZE_MOVE.sts);
//
//        if (!wrkChargeService.insert(wrkCharge)) {
//            News.error("保存{}号四向穿梭车迁移任务失败!!!", shuttleNo);
//            return null;
//        }
//
//        return wrkCharge;
//    }
    /**
     * 搜索避让库位,通过小车号和目标库位