自动化立体仓库 - WCS系统
#
lsh
2024-01-21 558ca5bfdaead20402a53f681773ed4fb1d20bd5
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3148,17 +3148,14 @@
                            log.error("未查到小车执行任务或者执行任务状态不符合!"+wrkMastSta);
                            continue;
                        }
                        boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
                        if (!rgvComplete){
                            log.error("小车复位失败,小车号{}!",rgvProtocol.getRgvNo());
                            break;
                        }
                        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                        StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
                        WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
                        if (!Cools.isEmpty(wrkMast)){
                            Thread.sleep(200);
                            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                            StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
                            if (!staProtocol.isAutoing() || !staProtocol.isLoading()){
                                continue;
                            }
                            // 下发站点信息
                            staProtocol.setWorkNo(wrkMast.getWrkNo());
                            staProtocol.setStaNo(wrkMast.getStaNo());
@@ -3183,6 +3180,11 @@
//
//                            }
                        }
                        boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
                        if (!rgvComplete){
                            log.error("小车复位失败,小车号{}!",rgvProtocol.getRgvNo());
                            break;
                        }
                        wrkMastSta.setWrkSts(3);
                        wrkMastStaMapper.updateById(wrkMastSta);
                        BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
@@ -3204,16 +3206,14 @@
                            log.error("未查到小车执行任务或者执行任务状态不符合!"+wrkMastSta);
                            continue;
                        }
                        boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
                        if (!rgvComplete){
                            log.error("小车复位失败,小车号{}!",rgvProtocol.getRgvNo());
                            break;
                        }
                        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                        StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
                        WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue());
                        if (!Cools.isEmpty(wrkMast)){
                            Thread.sleep(200);
                            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                            StaProtocol staProtocol = devpThread.getStation().get(wrkMastSta.getStaEnd());
                            if (!staProtocol.isAutoing() || !staProtocol.isLoading()){
                                continue;
                            }
                            // 下发站点信息
                            staProtocol.setWorkNo(wrkMast.getWrkNo());
                            staProtocol.setStaNo(wrkMast.getStaNo());
@@ -3221,22 +3221,27 @@
                                continue;
                            }
                            log.error("小车任务完成下发输送线任务:"+staProtocol);
                            try{
                                Thread.sleep(1000);
                                DevpThread devpThreadEnd = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                                StaProtocol staProtocolEnd = devpThreadEnd.getStation().get(wrkMastSta.getStaEnd());
                                log.error("小车任务完成读取输送线任务:"+staProtocolEnd);
                                if (staProtocolEnd.getWorkNo()==0 ){ //|| !staProtocolEnd.getWorkNo().equals(wrkMast.getWrkNo())
                                    staProtocolEnd.setWorkNo(wrkMast.getWrkNo());
                                    staProtocolEnd.setStaNo(wrkMast.getStaNo());
                                    if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocolEnd))) {
                                        continue;
                                    }
                                    log.error("小车任务完成下发输送线任务第二次:"+staProtocolEnd);
                                }
                            }catch (Exception e){
                            }
//                            try{
//                                Thread.sleep(1000);
//                                DevpThread devpThreadEnd = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
//                                StaProtocol staProtocolEnd = devpThreadEnd.getStation().get(wrkMastSta.getStaEnd());
//                                log.error("小车任务完成读取输送线任务:"+staProtocolEnd);
//                                if (staProtocolEnd.getWorkNo()==0 ){ //|| !staProtocolEnd.getWorkNo().equals(wrkMast.getWrkNo())
//                                    staProtocolEnd.setWorkNo(wrkMast.getWrkNo());
//                                    staProtocolEnd.setStaNo(wrkMast.getStaNo());
//                                    if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocolEnd))) {
//                                        continue;
//                                    }
//                                    log.error("小车任务完成下发输送线任务第二次:"+staProtocolEnd);
//                                }
//                            }catch (Exception e){
//
//                            }
                        }
                        boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
                        if (!rgvComplete){
                            log.error("小车复位失败,小车号{}!",rgvProtocol.getRgvNo());
                            break;
                        }
                        wrkMastSta.setWrkSts(3);
                        wrkMastStaMapper.updateById(wrkMastSta);