#
lsh
5 天以前 1d2d03dbbcc8ba01029514ec5b2e39646c180c15
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1770,6 +1770,8 @@
                            }
                        }
                        if (!sign && staList.size()>1) {
                            for (Integer staNoNow : rangeList) {
                                for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
@@ -1791,7 +1793,34 @@
                                    break;
                                }
                            }
                        }else if (!sign && staList.size()==1){
                            BasDevpPosition basDevpPosition1 = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", staList.get(0)));
                            if (Math.abs(basDevpPosition1.getPlcPosition()- rgvProtocol.getRgvPos())<rgvProtocol.getCarBodyJiaoMing()+rgvProtocol.getCarBodyKunPeng() + avoidDistance*2){
                                for (Integer staNoNow : rangeList) {
                                    for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
                                        if (rgvStn.getStaNo().equals(staNoNow)) {
                                            TaskWrk taskWrk = deviceDetection(rgvStn);
                                            if (taskWrk != null) {
                                                BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
                                                if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
                                                    System.out.println("筛选半边范围内任务==="+rgvSlave.getId()+"==="+taskWrk);
                                                    System.out.println("筛选半边范围内任务==="+rgvSlave.getId()+"==="+JSON.toJSONString(belongToRange));
                                                    sign = taskGenerate(rgvSlave, rgvStn, 0);
                                                }
                                            }
                                            break;
                                        }
                                    }
                                    if (sign) {
                                        break;
                                    }
                                }
                            }
                        }
                        if (!sign && staList.size()>1) {
                            //  半边区域内取货任务
                            for (Integer staNoNow : rangeList) {
@@ -1818,26 +1847,37 @@
                                }
                            }
                        }
//                        if (!sign) {
//                            //  半边区域内放货任务
//                            for (Integer staNoNow : rangeListOther) {
//                                for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
//                                    if (rgvStn.getStaNo().equals(staNoNow)) {
//                                        TaskWrk taskWrk = deviceDetection(rgvStn);
//                                        if (taskWrk != null) {
//                                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
//                                            if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
//                                                sign = taskGenerate(rgvSlave, rgvStn, 0);
//                                            }
//                                        }
//                                        break;
//                                    }
//                                }
//                                if (sign) {
//                                    break;
//                                }
//                            }
//                        }
                        if (!sign) {
                            //  半边区域内放货任务
                            for (Integer staNoNow : rangeListOther) {
                                for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {
                                    if (rgvStn.getStaNo().equals(staNoNow)) {
                                        TaskWrk taskWrk = deviceDetection(rgvStn);
                                        if (taskWrk != null) {
                                            Integer outStaNo = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
                                            for (RgvSlave.RgvStn rgvSuper : rgvSlave.getRgvSuperSta()){
                                                if (rgvSuper.getStaNo().equals(outStaNo)){
                                                    System.out.println("因最远执行半边区域内放货任务==="+rgvSlave.getId()+"===");
                                                    BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint())));
                                                    if (RouteUtils.CheckIfItIsWithinTheRange(rangeList, basDevpPosition.getPlcPosition(), basDevpPositions, itSmall)) {
                                                        sign = taskGenerate(rgvSlave, rgvStn, 0);
                                                    }
                                                    break;
                                                }
                                            }
                                        }
                                        break;
                                    }
                                    if (sign) {
                                        break;
                                    }
                                }
                                if (sign) {
                                    break;
                                }
                            }
                        }
                    } else {
                        //可用区域就近取货
                        //就近排序