pjb
7 天以前 651e2278129bd8e07628d310e9cce1d42743da64
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -365,9 +365,11 @@
                return;
            }
            List<BasCircularShuttle> basCircularShuttleList = basCircularShuttleService.selectList(new EntityWrapper<BasCircularShuttle>().eq("status", 0));
            LinkedList<RgvProtocol> rgvProtocolList = new LinkedList<>();
            for (int i = 1; i <= 5; i++) {
                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, i);
            for (BasCircularShuttle basCircularShuttle : basCircularShuttleList) {
                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basCircularShuttle.getRgvNo());
                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
                if (rgvProtocol == null) {
                    continue;
@@ -384,6 +386,7 @@
                }
                BasDevpPosition basDevpPositions = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", rgvSstaNo)); // 站点
                long position = basDevpPositions.getPlcPosition(); // 起始站位置
                position += 50; // 小车取货定位精度 +- 50,站点位置10000,小车在10050也是可以取的
                TreeMap<Long, RgvProtocol> map = new TreeMap<>();
                for (RgvProtocol rgvProtocol : rgvProtocolList) {
                    long distance;
@@ -566,15 +569,16 @@
                        && rgvProtocol.getModeType() == RgvModeType.AUTO
                        && rgvProtocol.getTaskNo1() != 0
                ) {
                    log.info("{}号小车小车取货越位,状态{},参数{}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol);
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", rgvProtocol.getTaskNo1().longValue()));
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", rgvProtocol.getTaskNo1().longValue())
                    .eq("rgv_no",rgvProtocol.getRgvNo()));
                    if (Cools.isEmpty(wrkMast)) {
                        log.error("未查到小车执行任务!" + rgvProtocol.getTaskNo1());
                        log.error(rgvProtocol.getRgvNo() + "小车取货越位未查到小车执行任务!" + rgvProtocol.getTaskNo1());
                        continue;
                    } else if(wrkMast.getWrkSts() != 10) {
                        log.warn("执行任务状态不符合!" + rgvProtocol.getTaskNo1());
                        log.warn(rgvProtocol.getRgvNo() + "小车取货越位执行任务状态不符合!" + rgvProtocol.getTaskNo1());
                        continue;
                    }
                    log.info("{}号小车小车取货越位,状态{},参数{}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol);
                    boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
                    if (!rgvComplete) {
                        log.error("小车取货越位,任务取消,复位失败,小车号{}!", rgvProtocol.getRgvNo());