浏览代码

修改第三方导入,图层无效时不检查坐标,无效图层去重

欧阳劲驰 1 月之前
父节点
当前提交
d3df6ce151

+ 24 - 13
src/main/java/com/shkpr/service/alambizplugin/components/checker/InvalidPropertiesFinder.java

@@ -109,21 +109,22 @@ public class InvalidPropertiesFinder {
                         null,
                         null,
                         GisSurveyExcelDefine.MESSAGE.INVALID_LAYERS
                         GisSurveyExcelDefine.MESSAGE.INVALID_LAYERS
                 ));
                 ));
-            else
+            else {
                 //图层存在则检查图层
                 //图层存在则检查图层
                 checkLayer(point, layerTemplate, checkConstraint, projectConstraints, missingRequirementsResult, invalidTypesResult, outConstraintResult);
                 checkLayer(point, layerTemplate, checkConstraint, projectConstraints, missingRequirementsResult, invalidTypesResult, outConstraintResult);
-            //检查坐标超出范围
-            Boolean outRanged = checkOutRanges(point, layerTemplate);
-            if (outRanged == null || outRanged)
-                outRangesResult.add(
-                        new GisSurveyThirdImportElement(
-                                GisMetadataDefine.TYPE_KINE.POINT,
-                                ThirdImportTemplateUtils.getValue(point, layerTemplate, GisSurveyExcelDefine.TEMPLATE.NO),
-                                point.get(GisSurveyExcelDefine.FILE.POINT_LAYER),
-                                null,
-                                outRanged == null ? GisSurveyExcelDefine.MESSAGE.OUT_RANGES_NULL : GisSurveyExcelDefine.MESSAGE.OUT_RANGES
-                        )
-                );
+                //检查坐标超出范围
+                Boolean outRanged = checkOutRanges(point, layerTemplate);
+                if (outRanged == null || outRanged)
+                    outRangesResult.add(
+                            new GisSurveyThirdImportElement(
+                                    GisMetadataDefine.TYPE_KINE.POINT,
+                                    ThirdImportTemplateUtils.getValue(point, layerTemplate, GisSurveyExcelDefine.TEMPLATE.NO),
+                                    point.get(GisSurveyExcelDefine.FILE.POINT_LAYER),
+                                    null,
+                                    outRanged == null ? GisSurveyExcelDefine.MESSAGE.OUT_RANGES_NULL : GisSurveyExcelDefine.MESSAGE.OUT_RANGES
+                            )
+                    );
+            }
         }
         }
         //检查线属性
         //检查线属性
         for (Map<String, String> line : lines) {
         for (Map<String, String> line : lines) {
@@ -147,6 +148,16 @@ public class InvalidPropertiesFinder {
                 checkLayer(line, layerTemplate, checkConstraint, projectConstraints, missingRequirementsResult, invalidTypesResult, outConstraintResult);
                 checkLayer(line, layerTemplate, checkConstraint, projectConstraints, missingRequirementsResult, invalidTypesResult, outConstraintResult);
         }
         }
 
 
+        //无效图层去重
+        invalidLayersResult = new ArrayList<>(invalidLayersResult.stream()
+                .filter(e -> Objects.nonNull(e.getLayerName()))
+                .collect(Collectors.toMap(
+                        GisSurveyThirdImportElement::getLayerName,
+                        it -> it,
+                        (it1, it2) -> it1
+                ))
+                .values());
+
         long end = System.currentTimeMillis();
         long end = System.currentTimeMillis();
         LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName
         LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName
                 , String.format(
                 , String.format(