#
Junjie
2024-04-07 428ca4bbc6513fe07454e4223f1db76c358a1341
#
5个文件已修改
59 ■■■■■ 已修改文件
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/resources/mapper/core/TaskMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java
@@ -26,6 +26,8 @@
    Task selectMoveWorking(Integer shuttleNo);
    List<Task> selectWorkingByShuttle(Integer shuttleNo);
    Task selectChargeWorking(Integer shuttleNo);
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java
@@ -24,6 +24,8 @@
    Task selectMoveWorking(Integer shuttleNo);
    List<Task> selectWorkingByShuttle(Integer shuttleNo);
    Task selectChargeWorking(Integer shuttleNo);
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java
@@ -86,6 +86,11 @@
    }
    @Override
    public List<Task> selectWorkingByShuttle(Integer shuttleNo) {
        return this.baseMapper.selectWorkingByShuttle(shuttleNo);
    }
    @Override
    public Task selectChargeWorking(Integer shuttleNo) {
        return this.baseMapper.selectChargeWorking(shuttleNo);
    }
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java
@@ -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;
//    }
    /**
     * 搜索避让库位,通过小车号和目标库位
zy-asrs-wcs/src/main/resources/mapper/core/TaskMapper.xml
@@ -49,6 +49,13 @@
        order by priority desc,start_time,task_no asc
    </select>
    <select id="selectWorkingByShuttle" resultType="com.zy.asrs.wcs.core.entity.Task">
        select * from wcs_task
        where task_sts in (1,2,3,101,102,103,201,202,203,204,301,302,303,401,402,403)
          and shuttle_no = #{shuttleNo}
        order by priority desc,start_time,task_no asc
    </select>
    <select id="selectChargeWorking" resultType="com.zy.asrs.wcs.core.entity.Task">
        select * from wcs_task
        where task_sts in (201,202,203,204)