*
L
2025-07-13 d2a6ee475f0c354b5fedfd0698889cca057f5280
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3563,13 +3563,13 @@
                            continue;
                        }
                        if (wrkMastSta.getWrkSts()!=1){
                            if (wrkMastSta.getWrkType()==1 && wrkMastSta.getWrkSts()==2 && rgvProtocol.getLoaded1()==1){
                                boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
                                if (!rgvComplete){
                                    log.error("小车复位失败,小车号{}!",rgvProtocol.getRgvNo());
                                    break;
                                }
                                rgvAvoidanceXYWrkMast(rgvProtocol.getRgvNo());
                            if (wrkMastSta.getWrkType()==3 && wrkMastSta.getWrkSts()==2 && rgvProtocol.getLoaded1()==1){
//                                boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1());
//                                if (!rgvComplete){
//                                    log.error("小车复位失败,小车号{}!",rgvProtocol.getRgvNo());
//                                    break;
//                                }
                                rgvAvoidanceXYWrkMast(rgvProtocol.getRgvNo(),wrkMastSta.getWrkNo().shortValue());
                                continue;
                            }
                            if (wrkMastSta.getWrkType()==6){
@@ -4671,7 +4671,7 @@
                                log.info(date+"满取任务下发:未查询到站点信息:"+wrkMastSta);
                                continue;
                            }
                            if (!staProtocol.isAutoing() || staProtocol.isLoading()){
                            if (!staProtocol.isAutoing() || !staProtocol.isLoading()){
                                continue;
                            }
@@ -4991,19 +4991,24 @@
    /*
     * 小车XY移动  避让
     * */
    public synchronized boolean rgvAvoidanceXYWrkMast(Integer rgvId){
    public synchronized boolean rgvAvoidanceXYWrkMast(Integer rgvId,short wrkNo1){
        if (rgvId==2){
            try{
                BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvId);
                //  命令下发区 --------------------------------------------------------------------------
                RgvCommand rgvCommand = new RgvCommand();
                rgvCommand.setRgvNo(rgvId); // RGV编号
                rgvCommand.setTaskNo1(wrkNo1); // 工作号
                rgvCommand.setAckFinish1((short) 1);  // 任务完成确认位
                rgvCommand.setTaskMode1(RgvTaskModeType.NONE); // 任务模式
                rgvCommand.setSourceStaNo1((short)0);     // 源站
                rgvCommand.setDestinationStaNo1((short)0);     // 目标站
                rgvCommand.setAckFinish2((short) 0);  // 工位2任务完成确认位
                rgvCommand.setTaskNo2((short)32222); // 工位2工作号
                rgvCommand.setTaskMode2(RgvTaskModeType.X_MOVE); // 工位2任务模式:  回原点
                rgvCommand.setSourceStaNo2((short)121);
                rgvCommand.setCommand((short) 2);   //工位2任务确认
                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) {
                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(10, rgvCommand))) {
                    //step=2,工位1、2写任务;   step=4,工位1写任务;     step=5,工位2写任务   step=9,回原点 9999任务号
                    log.error("RGV命令下发失败,RGV号={},任务数据={}", rgvId, JSON.toJSON(rgvCommand));
                    return false;
@@ -5020,12 +5025,17 @@
                //  命令下发区 --------------------------------------------------------------------------
                RgvCommand rgvCommand = new RgvCommand();
                rgvCommand.setRgvNo(rgvId); // RGV编号
                rgvCommand.setTaskNo1(wrkNo1); // 工作号
                rgvCommand.setAckFinish1((short) 1);  // 任务完成确认位
                rgvCommand.setTaskMode1(RgvTaskModeType.NONE); // 任务模式
                rgvCommand.setSourceStaNo1((short)0);     // 源站
                rgvCommand.setDestinationStaNo1((short)0);     // 目标站
                rgvCommand.setAckFinish2((short) 0);  // 工位2任务完成确认位
                rgvCommand.setTaskNo2((short)32222); // 工位2工作号
                rgvCommand.setTaskMode2(RgvTaskModeType.X_MOVE); // 工位2任务模式:  回原点
                rgvCommand.setSourceStaNo2((short)118);
                rgvCommand.setCommand((short) 2);   //工位2任务确认
                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) {
                if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(10, rgvCommand))) {
                    //step=2,工位1、2写任务;   step=4,工位1写任务;     step=5,工位2写任务   step=9,回原点 9999任务号
                    log.error("RGV命令下发失败,RGV号={},任务数据={}", rgvId, JSON.toJSON(rgvCommand));
                    return false;