*
L
2026-01-21 038f7af67400bf0cabafabce3d80aa6d0c6af3b2
*
1个文件已修改
58 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2465,10 +2465,63 @@
        ArrayList<Long[]> arrayListAll = new ArrayList<>();
        for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
            try{
                boolean itSmall = new TrackRangeUtils().IsItSmall(rgvSlave);
                String taskNoNow = rgvOtherTaskWrk(rgvSlave);
                if (taskNoNow.equals("无")){
                    continue;
                }
                if (!arrayListOld.contains(taskNoNow)){
                    arrayListOld.add(taskNoNow);
                }
                TaskWrk taskWrk = taskWrkMapper.selectByTaskNo(taskNoNow);
                if (taskWrk != null) {
                    if (!arrayListAllP.contains(taskWrk.getWrkNo())) {
                        arrayListAllP.add(taskWrk.getWrkNo());
                        long startP = 0;
                        if (!itSmall){
                            startP = System.currentTimeMillis();
                        }
                        BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
                        Long[] longList = {taskWrk.getWrkNo().longValue(),startP,basDevpPositionEnd.getPlcPosition()};
                        arrayListAll.add(longList);
                    }
                } else {
                    RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
                    TaskProtocolCache taskProtocolCache = rgvThread.getTaskProtocolCache();
                    try {
                        long startP = 0;
                        long endP = 0;
                        ConcurrentHashMap<String, TaskProtocol> allTaskProtocol = taskProtocolCache.getAllTaskProtocol();
                        for (TaskProtocol taskProtocol : allTaskProtocol.values()){
                            if (taskProtocol.getTaskStatus() == 2){//取
                                startP = taskProtocol.getTargetPosition();
                            } else if (taskProtocol.getTaskStatus() == 3){//放
                                endP = taskProtocol.getTargetPosition();
                            }
                        }
                        if (startP == 0 ){
                            if (!itSmall){
                                startP = System.currentTimeMillis();
                            }
                        }
                        if (endP == 0){
                            if (itSmall){
                                startP = System.currentTimeMillis();
                            }
                        }
//                        taskNoNow
                        long parseLong = Long.parseLong(taskNoNow);
                        Long[] longList = {parseLong,startP,endP};
                        arrayListAll.add(longList);
                    } catch (Exception e) {
                        log.error("任务过滤查询小车执行任务异常:"+e.getMessage());
                        return new ArrayList<>();
                    }
                }
            } catch (Exception e) {
            }
        }
@@ -2492,6 +2545,11 @@
        List<Long> wrkNoList = new ArrayList<>();
        List<Long> signWrk = new ArrayList<>();
        for (Long[] longList : crossingPathsW) {
            if (arrayListOld.contains(longList[0].toString()) || arrayListOld.contains(longList[1].toString())){
                signWrk.add(longList[0]);
                signWrk.add(longList[1]);
                continue;
            }
            if (!wrkNoList.contains(longList[0]) && !signWrk.contains(longList[0])) {
                if (!wrkNoList.contains(longList[1]) && !signWrk.contains(longList[1])) {
                    wrkNoList.add(longList[0]);