#
zzgtfwq
3 天以前 405ebbaa5488fef901a354c162c738e81c58e563
src/main/java/com/zy/core/thread/RgvThread.java
@@ -290,8 +290,14 @@
                continue;
            }
            RgvRunProtocol rgvRun = RgvRunCache.getRgvRun();
            if (!rgvRun.getRgvNo().equals(slave.getId())){
                continue;
            if (slave.getId()>2){
                if (!rgvRun.getRgvNo2().equals(slave.getId())){
                    continue;
                }
            } else {
                if (!rgvRun.getRgvNo().equals(slave.getId())){
                    continue;
                }
            }
            try {
                Thread.sleep(100);
@@ -299,14 +305,27 @@
//                System.out.println(JSON.toJSON(rgvRun));
                // 休眠 1 秒
                if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 500L) {
                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                } else {
                    continue;
                if (slave.getId()>2){
                    if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld2 > 500L) {
                        rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
                    } else {
                        continue;
                    }
                }else {
                    if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 500L) {
                        rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                    } else {
                        continue;
                    }
                }
                if (!deviceDetection()) {
                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                    rgvRun.setRgvNo(slave.getOtherId());
                    if (slave.getId()>2){
                        rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
                        rgvRun.setRgvNo2(slave.getOtherId());
                    } else {
                        rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                        rgvRun.setRgvNo(slave.getOtherId());
                    }
                    RgvRunCache.updateRgvStatus(rgvRun);
                    if (!errorRgv.equals("无")){
                        RgvErrCache.updateRgvErr(slave.getId(),errorRgv);
@@ -324,21 +343,36 @@
                    rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId());
                }
                if (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) || (Math.abs(rgvProtocol.getRgvPos() - rgvProtocol.getRgvPosDestination())>100)){
                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                    rgvRun.setRgvNo(slave.getOtherId());
                    if (slave.getId()>2){
                        rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
                        rgvRun.setRgvNo2(slave.getOtherId());
                    } else {
                        rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                        rgvRun.setRgvNo(slave.getOtherId());
                    }
                    RgvRunCache.updateRgvStatus(rgvRun);
                    continue;
                }
                if (rgvProtocol.getLoaded() == -1){
                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                    rgvRun.setRgvNo(slave.getOtherId());
                    if (slave.getId()>2){
                        rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
                        rgvRun.setRgvNo2(slave.getOtherId());
                    } else {
                        rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                        rgvRun.setRgvNo(slave.getOtherId());
                    }
                    RgvRunCache.updateRgvStatus(rgvRun);
                    RgvErrCache.updateRgvErr(slave.getId(),"小车探物物状态异常");
                    continue;
                }
                if (rgvTaskProtocol.getAvoid() != 0) {
                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                    rgvRun.setRgvNo(slave.getOtherId());
                    if (slave.getId()>2){
                        rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
                        rgvRun.setRgvNo2(slave.getOtherId());
                    } else {
                        rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                        rgvRun.setRgvNo(slave.getOtherId());
                    }
                    RgvRunCache.updateRgvStatus(rgvRun);
                    continue;
                }
@@ -425,8 +459,13 @@
                        }
                    }
                }
                rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                rgvRun.setRgvNo(slave.getOtherId());
                if (slave.getId()>2){
                    rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
                    rgvRun.setRgvNo2(slave.getOtherId());
                } else {
                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                    rgvRun.setRgvNo(slave.getOtherId());
                }
                RgvRunCache.updateRgvStatus(rgvRun);
            } catch (Exception e) {
                log.error("RGV任务下发线程异常!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
@@ -437,8 +476,13 @@
//                    log.error("e2:"+e2.getMessage());
                }
                rgvRun = RgvRunCache.getRgvRun();
                rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                rgvRun.setRgvNo(slave.getOtherId());
                if (slave.getId()>2){
                    rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
                    rgvRun.setRgvNo2(slave.getOtherId());
                } else {
                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
                    rgvRun.setRgvNo(slave.getOtherId());
                }
                RgvRunCache.updateRgvStatus(rgvRun);
                continue;
//                e.printStackTrace();