#
yxFwq
2024-07-21 b3a41c6e7161a3271856605a3940bc27534efbc1
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -5128,9 +5128,10 @@
                if (jarProtocol.isAutoing() && jarProtocol.jarErr==0){
                    if (jarWrkMastExecuteGenerate5(jarSlave,sign)){
                        signExecute[jarSlave.getId()-5] = true;
                        return signExecute;
                        //出硫化罐 ===》 入冷却槽
                    }
                    return signExecute;
                    continue;
                }
            } catch (Exception e){
                log.error("{}号硫化罐JarWrkMastExecute任务创建异常,异常原因={}",jarSlave.getId(),e.getMessage());
@@ -5278,6 +5279,10 @@
                            return false;
                        }
                        if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJar.getRegion())!=0){
                            return false;
                        }
                        //门作业  无
                        //自动、空闲、右门关闭、   Other左门关闭
                        if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
@@ -5331,6 +5336,10 @@
            BasJarMast basJarMastSign = basJarMastList.get(0);
            if (Cools.isEmpty(basJarMastSign)){
                return false;
            }
            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){
                return false;
            }
//            //判断小车状态
@@ -5413,6 +5422,10 @@
            if (Cools.isEmpty(basJarMastSign)){
                return false;
            }
            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){
                return false;
            }
//            //判断小车状态
//            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
//                return false;
@@ -5482,13 +5495,21 @@
            if (basJarMastList.isEmpty()){
                return false;
            }
            List<BasJarMast> basJarMastList10 = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
                add(10);
            }});
            if (basJarMastList10.size()==jarMaxLoc){
                return false;
            }
            if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0){
                return false;
            }
            BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMin(jarSlave.getId(),8,8);
            if (Cools.isEmpty(jarMastByJarIdMin)){
                return false;
            }
            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){
                return false;
            }
@@ -5577,6 +5598,10 @@
            if (Cools.isEmpty(jarMastByJarIdMin)){
                return false;
            }
            if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){
                return false;
            }
//
//            //判断小车状态
//            if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),3,SteStatusType.IDLE)){
@@ -5603,6 +5628,26 @@
                BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
                if (Cools.isEmpty(basJar)){
                    log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo());
                    return false;
                }
                // 获取硫化罐信息
                JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, SteAndJarUtil.getRgvJarNo(jarProtocol.getJarNo()));
                JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
                if (jarProtocolOther == null) {
                    return false;
                }
                if (jarProtocolOther.modeType != JarModeType.AUTO){
                    return false;
                }
                BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
                if (Cools.isEmpty(basJarOther)){
                    log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocolOther.getJarNo());
                    return false;
                }
                if (!jarProtocolOther.isRightDoor()){
                    return false;
                }
@@ -7761,6 +7806,8 @@
                        return true;
                    }
                    return true;
                } else {
                    log.error("{}号平衡车当前状态不满足入硫化罐条件,当前任务,平衡车从取货");
                }
            }
            return true;
@@ -8132,13 +8179,14 @@
    }
    public synchronized Integer jarGetStartStaNo(Integer staNo) {
        try {
            int[] jarNos=new int[]{4,2,3,1};//(607分配硫化罐)
            int[] jarNos=new int[]{3,1,4,2};//(607分配硫化罐)
            ArrayList<Integer> staNos = new ArrayList<Integer>() {{
                add(607);add(608);add(609);add(610);add(611);add(612);
                add(613);add(614);add(615);add(616);add(617);add(618);
                add(619);add(620);add(621);add(622);
            }};
            ArrayList<Integer> jarNoList = new ArrayList<>();
            ArrayList<Integer> jarNoList1 = new ArrayList<>();
            ArrayList<Integer> jarNoListNow = new ArrayList<>();
            for (int jarNo : jarNos) {
                List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
@@ -8155,10 +8203,38 @@
                    jarNoList.add(jarNo);
                }
            }
            jarNoList.add(4);
            jarNoList.add(2);
            jarNoList.add(3);
            jarNoList.add(1);
            for (int jarNo : jarNos) {
                if (!jarNoList.contains(jarNo)){
                    jarNoList1.add(jarNo);
                }
            }
            for (int jarNo : jarNoList1) {
                List<BasJarMast> jarMastByJarIdAndStatusList = basJarMastService.getJarMastByJarIdAndStatusList(8, jarNo);
                if (jarMastByJarIdAndStatusList.isEmpty()){
                    jarNoList.add(jarNo);
                }
            }
            jarNoList1 = new ArrayList<Integer>();
            for (int jarNo : jarNos) {
                if (!jarNoList.contains(jarNo)){
                    jarNoList1.add(jarNo);
                }
            }
            for (int jarNo : jarNoList1) {
                List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
                    add(5);
                    add(6);
                    add(7);
                    add(8);
                    add(9);
                    add(13);
                    add(14);
                    add(15);
                }});
                if (basJarMastList.isEmpty()){
                    jarNoList.add(jarNo);
                }
            }
            for (int jarNo : jarNoList) {
                if (jarNoListNow.contains(jarNo)){
                    continue;