*
lsh
2025-01-09 fe3046d5707dfcfced679f63de8541541e581ba4
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3608,17 +3608,6 @@
    public synchronized boolean rgvIoExecute(Integer sign) {
        boolean rgvIoExecuteSign = false;
        try{
            int rgvPoi = 101;
            for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
                if (rgvProtocol == null) {
                    continue;
                }
                if (rgvProtocol.getRgvNo()==1){
                    rgvPoi = rgvProtocol.getRgvPosI();
                }
            }
            for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
                // 获取小车信息
                boolean signWork = false;
@@ -4262,21 +4251,26 @@
                        && rgvProtocol.getStatusType2() == RgvStatusType.IDLE
                ) {
                    if (rgvProtocol.getRgvNo()!=1){
                        if (!rgvProtocol.getRgvPosI().equals(120) && !rgvProtocol.getRgvPosI().equals(110)){
                            continue;
                        }
                        rgvAvoidanceXY(rgvProtocol.getRgvNo());
//                        return;
                        continue;
                    }
                    if (!rgvProtocol.getRgvPosI().equals(108)){
                    if (!rgvProtocol.getRgvPosI().equals(110) && !rgvProtocol.getRgvPosI().equals(108) &&  !rgvProtocol.getRgvPosI().equals(119)){
                        continue;
                    }
                    Integer count108Y = wrkMastStaMapper.selectAllWrkCount108Y();
                    if (count108Y==0){
                        return;
                    if (count108Y!=0){
                        continue;
                    }
                    Integer count108 = wrkMastStaMapper.selectAllWrkCount108();
                    if (count108==0){
                        return;
                    }
//                    Integer count108 = wrkMastStaMapper.selectAllWrkCount108();
//                    if (count108!=0){
//                        continue;
//                    }
                    rgvAvoidanceXY(rgvProtocol.getRgvNo());
                    return;
                    continue;
//                    BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
//                    Integer fallMerge = RouteUtils.RouteIndexFarMas(basRgvMap.getRgvNo(), basRgvMap.getEndRoute()); //获取合并干涉项
//                    List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(),fallMerge);
@@ -4390,7 +4384,7 @@
                rgvCommand.setTaskNo1((short)32222); // 工位1工作号
                rgvCommand.setTaskMode1(RgvTaskModeType.X_MOVE); // 工位1任务模式:  回原点
                //basRgvMap.getLockStartRoute().shortValue()
                rgvCommand.setSourceStaNo1( (short)107);
                rgvCommand.setSourceStaNo1( (short)104);
                rgvCommand.setCommand((short) 1);   //工位1任务确认
                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) {
                    //step=2,工位1、2写任务;   step=4,工位1写任务;     step=5,工位2写任务   step=9,回原点 9999任务号
@@ -4412,7 +4406,7 @@
                rgvCommand.setAckFinish2((short) 0);  // 工位2任务完成确认位
                rgvCommand.setTaskNo2((short)32222); // 工位2工作号
                rgvCommand.setTaskMode2(RgvTaskModeType.X_MOVE); // 工位2任务模式:  回原点
                rgvCommand.setSourceStaNo2((short)117);
                rgvCommand.setSourceStaNo2((short)114);
                rgvCommand.setCommand((short) 2);   //工位2任务确认
                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) {
                    //step=2,工位1、2写任务;   step=4,工位1写任务;     step=5,工位2写任务   step=9,回原点 9999任务号
@@ -4647,7 +4641,8 @@
            BasRgvMap basRgvMapOther = basRgvMapMapper.selectById(rgvNoOther);
            List<Integer> integers = RouteUtils.RouteMapCurrentFar(fallMerge, basRgvMapCurrent.getLockStartRoute());
            Integer lockEndRoute = RouteUtils.RouteMapOtherFarStnNo(integers, basRgvMapCurrent.getLockStartRoute());//另一台小车可活动最远位置
            basRgvMapOther.setEndRoute(lockEndRoute);
            Integer lockEndRouteL = RouteUtils.RouteIndexFarMasL(rgvNoOther, lockEndRoute);//另一台小车可活动最远位置
            basRgvMapOther.setEndRoute(lockEndRouteL);
            basRgvMapMapper.updateById(basRgvMapOther);
            return true;
        }catch (Exception e){