فهرست منبع

移动点目标条带计算

wurui 3 هفته پیش
والد
کامیت
33f010c303
1فایلهای تغییر یافته به همراه19 افزوده شده و 5 حذف شده
  1. 19 5
      orbit-base-plan/base-plan-service/src/main/java/com/base/plan/service/StripService.java

+ 19 - 5
orbit-base-plan/base-plan-service/src/main/java/com/base/plan/service/StripService.java

@@ -834,11 +834,22 @@ public class StripService extends ServiceImpl<StripMapper, StripInfo> {
                 if (targetRelationDTO.getType()==1){
                     //移动点目标
                     //根据 航向 航速 时间进行轨迹推算 取得所需时刻后的目标点位
-                    String startlon=value.get(0).getLongitude() ;
+
+                    //先满足点选
+/*                    String startlon=value.get(0).getLongitude() ;
                     String startlat=value.get(0).getLatitude();
                     PointRpcDTO pointRpcDTO=LaLonUtil.deadReckoning(startlon,startlat,"10","1","90");
                     value.get(0).setLatitude(pointRpcDTO.getLatitude());
-                    value.get(0).setLongitude(pointRpcDTO.getLongitude());
+                    value.get(0).setLongitude(pointRpcDTO.getLongitude());*/
+
+                    for (PointRpcDTO p:value){
+                        //移动目标计算每个点位
+                        List<PointRpcDTO> valuenew=new ArrayList<>();
+                        valuenew.add(p);
+                        targetRelationDTO.setPointDTOList(valuenew);
+                        count( targetRelationDTO, payloadRpcDTOList, stripCalcResults, primaryKeyGenerator
+                        );
+                    }
                 }
 
                 Map<Integer, List<PointRpcDTO>> PointRpcDTOmapNew=new HashMap<>();
@@ -877,9 +888,12 @@ public class StripService extends ServiceImpl<StripMapper, StripInfo> {
                     });
 
                 }else {
-                    targetRelationDTO.setPointDTOList(value);
-                    count( targetRelationDTO, payloadRpcDTOList, stripCalcResults, primaryKeyGenerator
-                    );
+                    if (targetRelationDTO.getType()!=1){
+                        //排除移动目标 移动目标再上面单独循环调用
+                        targetRelationDTO.setPointDTOList(value);
+                        count( targetRelationDTO, payloadRpcDTOList, stripCalcResults, primaryKeyGenerator
+                        );
+                    }
                 }
             });
             log.info("结束计算:{}", System.currentTimeMillis());