李春阳 1 год назад
Родитель
Сommit
de7d5357de

+ 11 - 5
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/service/SceneAccidentService.java

@@ -234,7 +234,8 @@ public class SceneAccidentService {
         Map<String, SceneRiskPO> riskPOMap = sceneEvaluationOperatePO.getSceneRiskPOMap();
         // 筛选
         List<SceneAccidentPO> sceneAccidentPOS = list.stream()
-                .filter(sn -> complexityPOMap.get(sn.getAccidentId()) != null && riskPOMap.get(sn.getAccidentId()) != null)
+                .filter(sn -> sceneEvaluationRuleService.checkSelectReferenceComplexity(sn.getAccidentId(), sceneEvaluationForListParam, complexityPOMap) &&
+                        sceneEvaluationRuleService.checkSelectReferenceRisk(sn.getAccidentId(), sceneEvaluationForListParam, riskPOMap))
                 .collect(Collectors.toList());
 
      /*   if ((params.getXlk().equals("1") && params.getBq().equals(1)) || (params.getXlk().equals("0") && params.getBq().equals(0)) || (params.getXlk().equals("1") && params.getBq().equals(0))) {
@@ -303,10 +304,15 @@ public class SceneAccidentService {
 
         for (SceneAccidentPO po : sceneAccidentPOS) {
             // 赋值复杂度
-            po.setComplexity(String.valueOf(complexityPOMap.get(po.getAccidentId()).getComplexity()));
-            po.setComplexityLevel(String.valueOf(complexityPOMap.get(po.getAccidentId()).getComplexityLevel()));
-            po.setRisk(String.valueOf(riskPOMap.get(po.getAccidentId()).getRisk()));
-            po.setRiskLevel(String.valueOf(riskPOMap.get(po.getAccidentId()).getRiskLevel()));
+            // 赋值复杂度
+            if (complexityPOMap.get(po.getAccidentId()) != null) {
+                po.setComplexity(String.valueOf(complexityPOMap.get(po.getAccidentId()).getComplexity()));
+                po.setComplexityLevel(String.valueOf(complexityPOMap.get(po.getAccidentId()).getComplexityLevel()));
+            }
+            if (riskPOMap.get(po.getAccidentId()) != null) {
+                po.setRisk(String.valueOf(riskPOMap.get(po.getAccidentId()).getRisk()));
+                po.setRiskLevel(String.valueOf(riskPOMap.get(po.getAccidentId()).getRiskLevel()));
+            }
             if (po.getConflictBehavior().contains("追尾")) {
                 po.setLabel("追尾");
             }

+ 18 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/service/SceneEvaluationRuleService.java

@@ -446,4 +446,22 @@ public class SceneEvaluationRuleService {
             }
         }
     }
+
+    public boolean checkSelectReferenceComplexity(String sceneId, SceneEvaluationForListParam sceneEvaluationForListParam, Map<String, SceneComplexityPO> complexityPOMap) {
+        if (StringUtil.isEmpty(sceneEvaluationForListParam.getMinComplexity()) &&
+                StringUtil.isEmpty(sceneEvaluationForListParam.getMaxComplexity()) &&
+                StringUtil.isEmpty(sceneEvaluationForListParam.getComplexityLevel())) {
+            return true;
+        }
+        return complexityPOMap.get(sceneId) != null;
+    }
+
+    public boolean checkSelectReferenceRisk(String sceneId, SceneEvaluationForListParam sceneEvaluationForListParam, Map<String, SceneRiskPO> riskPOMap) {
+        if (StringUtil.isEmpty(sceneEvaluationForListParam.getMinRisk()) &&
+                StringUtil.isEmpty(sceneEvaluationForListParam.getMaxRisk()) &&
+                StringUtil.isEmpty(sceneEvaluationForListParam.getRiskLevel())) {
+            return true;
+        }
+        return riskPOMap.get(sceneId) != null;
+    }
 }

+ 11 - 5
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/service/SceneNaturalService.java

@@ -312,16 +312,22 @@ public class SceneNaturalService {
         Map<String, SceneRiskPO> riskPOMap = sceneEvaluationOperatePO.getSceneRiskPOMap();
         // 筛选
         List<SceneNaturalPO> finalSceneNaturalList = list.stream()
-                .filter(sn -> complexityPOMap.get(sn.getNaturalId()) != null && riskPOMap.get(sn.getNaturalId()) != null)
+                .filter(sn -> sceneEvaluationRuleService.checkSelectReferenceComplexity(sn.getNaturalId(), sceneEvaluationForListParam, complexityPOMap) &&
+                        sceneEvaluationRuleService.checkSelectReferenceRisk(sn.getNaturalId(), sceneEvaluationForListParam, riskPOMap))
                 .collect(Collectors.toList());
 
 
         for (SceneNaturalPO vo : finalSceneNaturalList) {
             // 赋值复杂度
-            vo.setComplexity(String.valueOf(complexityPOMap.get(vo.getNaturalId()).getComplexity()));
-            vo.setComplexityLevel(String.valueOf(complexityPOMap.get(vo.getNaturalId()).getComplexityLevel()));
-            vo.setRisk(String.valueOf(riskPOMap.get(vo.getNaturalId()).getRisk()));
-            vo.setRiskLevel(String.valueOf(riskPOMap.get(vo.getNaturalId()).getRiskLevel()));
+            // 赋值复杂度
+            if (complexityPOMap.get(vo.getNaturalId()) != null) {
+                vo.setComplexity(String.valueOf(complexityPOMap.get(vo.getNaturalId()).getComplexity()));
+                vo.setComplexityLevel(String.valueOf(complexityPOMap.get(vo.getNaturalId()).getComplexityLevel()));
+            }
+            if (riskPOMap.get(vo.getNaturalId()) != null) {
+                vo.setRisk(String.valueOf(riskPOMap.get(vo.getNaturalId()).getRisk()));
+                vo.setRiskLevel(String.valueOf(riskPOMap.get(vo.getNaturalId()).getRiskLevel()));
+            }
             if (vo.getRoadType().equals("高速")) {
                 if (ObjectUtil.isNull(vo.getLabel())) {
                     vo.setLabel("高速");

+ 10 - 5
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/service/SceneReferenceLibService.java

@@ -133,15 +133,20 @@ public class SceneReferenceLibService {
         Map<String, SceneRiskPO> riskPOMap = sceneEvaluationOperatePO.getSceneRiskPOMap();
         // 筛选
         List<SceneReferenceLibPO> finalSceneReferenceLibPOList = sceneReferenceLibPOS.stream()
-                .filter(srf -> complexityPOMap.get(srf.getSceneId()) != null && riskPOMap.get(srf.getSceneId()) != null)
+                .filter(srf -> sceneEvaluationRuleService.checkSelectReferenceComplexity(srf.getSceneId(), sceneEvaluationForListParam, complexityPOMap) &&
+                        sceneEvaluationRuleService.checkSelectReferenceRisk(srf.getSceneId(), sceneEvaluationForListParam, riskPOMap))
                 .collect(Collectors.toList());
 
         for (SceneReferenceLibPO po : finalSceneReferenceLibPOList) {
             // 赋值复杂度
-            po.setComplexity(String.valueOf(complexityPOMap.get(po.getSceneId()).getComplexity()));
-            po.setComplexityLevel(String.valueOf(complexityPOMap.get(po.getSceneId()).getComplexityLevel()));
-            po.setRisk(String.valueOf(riskPOMap.get(po.getSceneId()).getRisk()));
-            po.setRiskLevel(String.valueOf(riskPOMap.get(po.getSceneId()).getRiskLevel()));
+            if (complexityPOMap.get(po.getSceneId()) != null) {
+                po.setComplexity(String.valueOf(complexityPOMap.get(po.getSceneId()).getComplexity()));
+                po.setComplexityLevel(String.valueOf(complexityPOMap.get(po.getSceneId()).getComplexityLevel()));
+            }
+            if (riskPOMap.get(po.getSceneId()) != null) {
+                po.setRisk(String.valueOf(riskPOMap.get(po.getSceneId()).getRisk()));
+                po.setRiskLevel(String.valueOf(riskPOMap.get(po.getSceneId()).getRiskLevel()));
+            }
             if (po.getRoadType().equals("高速")) {
                 if (ObjectUtil.isNull(po.getLabel())) {
                     po.setLabel("高速");

+ 14 - 5
simulation-resource-server/src/main/java/com/css/simulation/resource/server/app/service/SceneStandardsService.java

@@ -154,13 +154,22 @@ public class SceneStandardsService {
         Map<String, SceneRiskPO> riskPOMap = sceneEvaluationOperatePO.getSceneRiskPOMap();
         // 筛选
         List<StandardsRegulationsPO> standardsRegulationsPOS = list.stream()
-                .filter(sn -> complexityPOMap.get(sn.getRegulationsId()) != null && riskPOMap.get(sn.getRegulationsId()) != null)
+                .filter(sn -> sceneEvaluationRuleService.checkSelectReferenceComplexity(sn.getRegulationsId(), sceneEvaluationForListParam, complexityPOMap) &&
+                        sceneEvaluationRuleService.checkSelectReferenceRisk(sn.getRegulationsId(), sceneEvaluationForListParam, riskPOMap))
                 .collect(Collectors.toList());
+
+
         standardsRegulationsPOS.stream().forEach(po -> {            // 赋值复杂度
-            po.setComplexity(String.valueOf(complexityPOMap.get(po.getRegulationsId()).getComplexity()));
-            po.setComplexityLevel(String.valueOf(complexityPOMap.get(po.getRegulationsId()).getComplexityLevel()));
-            po.setRisk(String.valueOf(riskPOMap.get(po.getRegulationsId()).getRisk()));
-            po.setRiskLevel(String.valueOf(riskPOMap.get(po.getRegulationsId()).getRiskLevel()));
+
+            // 赋值复杂度
+            if (complexityPOMap.get(po.getRegulationsId()) != null) {
+                po.setComplexity(String.valueOf(complexityPOMap.get(po.getRegulationsId()).getComplexity()));
+                po.setComplexityLevel(String.valueOf(complexityPOMap.get(po.getRegulationsId()).getComplexityLevel()));
+            }
+            if (riskPOMap.get(po.getRegulationsId()) != null) {
+                po.setRisk(String.valueOf(riskPOMap.get(po.getRegulationsId()).getRisk()));
+                po.setRiskLevel(String.valueOf(riskPOMap.get(po.getRegulationsId()).getRiskLevel()));
+            }
         });
 
        /* if(params.getLabel()!=null&&params.getLabel().size()>0){