自动化立体仓库 - WCS系统
Junjie
2023-10-24 42cc083dd05f6c90137fc239482625492965a2e8
src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java
@@ -70,11 +70,15 @@
     */
    public boolean dispatchShuttle(Integer wrkNo, String locNo) {
        //检测目标库位组是否存在小车,如存在小车则直接指定该车
        List<String> groupLoc = Utils.getGroupLoc(locNo);
        Integer groupShuttleNo = Utils.checkGroupLocHasShuttle(groupLoc);
        if (groupShuttleNo != null) {
            //存在小车,直接调度该车
            return shuttleMoveGenerate(wrkNo, locNo, groupShuttleNo);
        WrkMast wrkMast = wrkMastMapper.selectByWorkNo(wrkNo);
        if (wrkMast != null) {
            String targetLocNo = wrkMast.getIoType() < 100 ? wrkMast.getLocNo() : wrkMast.getSourceLocNo();
            List<String> groupLoc = Utils.getGroupLoc(targetLocNo);
            Integer groupShuttleNo = Utils.checkGroupLocHasShuttle(groupLoc);
            if (groupShuttleNo != null) {
                //存在小车,直接调度该车
                return shuttleMoveGenerate(wrkNo, locNo, groupShuttleNo);
            }
        }
        ArrayList<NyShuttleThread> sameLev = new ArrayList<>();//相同楼层的穿梭车
@@ -145,8 +149,8 @@
            WrkMast wrkMast1 = wrkMastMapper.selectByWorkNo(wrkNo);
            if (wrkMast1 != null) {
                String locNO=wrkMast1.getIoType()<100?wrkMast1.getLocNo():wrkMast1.getSourceLocNo();
                int lev = Utils.getLev(locNO);//目标楼层
                String targetLoc = wrkMast1.getIoType() < 100 ? wrkMast1.getLocNo() : wrkMast1.getSourceLocNo();
                int lev = Utils.getLev(targetLoc);//目标楼层
                //检测目标楼层车数量是否小于允许的最大数量
                boolean checkDispatchMaxNum = checkDispatchMaxNum(lev);