|
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.type.TypeReference;
|
|
import com.global.base.log.LogLevelFlag;
|
|
import com.global.base.log.LogLevelFlag;
|
|
import com.global.base.log.LogPrintMgr;
|
|
import com.global.base.log.LogPrintMgr;
|
|
import com.shkpr.service.alambizplugin.apiparam.GisSurveyCheckParams;
|
|
import com.shkpr.service.alambizplugin.apiparam.GisSurveyCheckParams;
|
|
|
|
+import com.shkpr.service.alambizplugin.components.checker.CrossLinesFinder;
|
|
import com.shkpr.service.alambizplugin.components.checker.DuplicatePointsFinder;
|
|
import com.shkpr.service.alambizplugin.components.checker.DuplicatePointsFinder;
|
|
import com.shkpr.service.alambizplugin.components.checker.ElevationDiffFinder;
|
|
import com.shkpr.service.alambizplugin.components.checker.ElevationDiffFinder;
|
|
import com.shkpr.service.alambizplugin.components.checker.InvalidLinesFinder;
|
|
import com.shkpr.service.alambizplugin.components.checker.InvalidLinesFinder;
|
|
@@ -59,13 +60,15 @@ public class GisSurveySystemChecker {
|
|
private final DuplicatePointsFinder duplicatePointsFinder;
|
|
private final DuplicatePointsFinder duplicatePointsFinder;
|
|
private final InvalidLinesFinder invalidLinesFinder;
|
|
private final InvalidLinesFinder invalidLinesFinder;
|
|
private final OverlapLinesFinder overlapLinesFinder;
|
|
private final OverlapLinesFinder overlapLinesFinder;
|
|
|
|
+ private final CrossLinesFinder crossLinesFinder;
|
|
private final ElevationDiffFinder elevationDiffFinder;
|
|
private final ElevationDiffFinder elevationDiffFinder;
|
|
|
|
|
|
public GisSurveySystemChecker(AsyncResultManager asyncResultManager
|
|
public GisSurveySystemChecker(AsyncResultManager asyncResultManager
|
|
, GisSurveyLayerApplyService gisSurveyLayerApplyService, TypeDefineService typeDefineService
|
|
, GisSurveyLayerApplyService gisSurveyLayerApplyService, TypeDefineService typeDefineService
|
|
, IsolatedPointsFinder isolatedPointsFinder, IsolatedLinesFinder isolatedLinesFinder
|
|
, IsolatedPointsFinder isolatedPointsFinder, IsolatedLinesFinder isolatedLinesFinder
|
|
, DuplicatePointsFinder duplicatePointsFinder, InvalidLinesFinder invalidLinesFinder
|
|
, DuplicatePointsFinder duplicatePointsFinder, InvalidLinesFinder invalidLinesFinder
|
|
- , OverlapLinesFinder overlapLinesFinder, ElevationDiffFinder elevationDiffFinder) {
|
|
|
|
|
|
+ , OverlapLinesFinder overlapLinesFinder, CrossLinesFinder crossLinesFinder
|
|
|
|
+ , ElevationDiffFinder elevationDiffFinder) {
|
|
mStrClassName = "GisSurveySystemChecker";
|
|
mStrClassName = "GisSurveySystemChecker";
|
|
mBizType = LogFlagBusiType.BUSI_GIS_SURVEY.toStrValue();
|
|
mBizType = LogFlagBusiType.BUSI_GIS_SURVEY.toStrValue();
|
|
this.asyncResultManager = asyncResultManager;
|
|
this.asyncResultManager = asyncResultManager;
|
|
@@ -76,6 +79,7 @@ public class GisSurveySystemChecker {
|
|
this.duplicatePointsFinder = duplicatePointsFinder;
|
|
this.duplicatePointsFinder = duplicatePointsFinder;
|
|
this.invalidLinesFinder = invalidLinesFinder;
|
|
this.invalidLinesFinder = invalidLinesFinder;
|
|
this.overlapLinesFinder = overlapLinesFinder;
|
|
this.overlapLinesFinder = overlapLinesFinder;
|
|
|
|
+ this.crossLinesFinder = crossLinesFinder;
|
|
this.elevationDiffFinder = elevationDiffFinder;
|
|
this.elevationDiffFinder = elevationDiffFinder;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -110,6 +114,8 @@ public class GisSurveySystemChecker {
|
|
ListenableFuture<GisSurveySystemCheckResultDetail> invalidLinesFuture = null;
|
|
ListenableFuture<GisSurveySystemCheckResultDetail> invalidLinesFuture = null;
|
|
//重叠线任务
|
|
//重叠线任务
|
|
ListenableFuture<GisSurveySystemCheckResultDetail> overlapLinesFuture = null;
|
|
ListenableFuture<GisSurveySystemCheckResultDetail> overlapLinesFuture = null;
|
|
|
|
+ //交叉线任务
|
|
|
|
+ ListenableFuture<GisSurveySystemCheckResultDetail> crossLinesFuture = null;
|
|
//高程差任务
|
|
//高程差任务
|
|
ListenableFuture<GisSurveySystemCheckResultDetail> elevationDiffFuture = null;
|
|
ListenableFuture<GisSurveySystemCheckResultDetail> elevationDiffFuture = null;
|
|
|
|
|
|
@@ -171,16 +177,23 @@ public class GisSurveySystemChecker {
|
|
subtask.put(GisSurveySystemCheckKeys.DUPLICATE_POINTS, duplicatePointsFuture);
|
|
subtask.put(GisSurveySystemCheckKeys.DUPLICATE_POINTS, duplicatePointsFuture);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- //孤立线\重叠线\高程差异常检查
|
|
|
|
if (lines != null) {
|
|
if (lines != null) {
|
|
|
|
+ //孤立线检查
|
|
if (params.getStartSubitemKeys().contains(GisSurveySystemCheckKeys.ISOLATED_LINES)) {
|
|
if (params.getStartSubitemKeys().contains(GisSurveySystemCheckKeys.ISOLATED_LINES)) {
|
|
isolatedLinesFuture = isolatedLinesFinder.findIsolatedLines(lines, systemCheckId);
|
|
isolatedLinesFuture = isolatedLinesFinder.findIsolatedLines(lines, systemCheckId);
|
|
subtask.put(GisSurveySystemCheckKeys.ISOLATED_LINES, isolatedLinesFuture);
|
|
subtask.put(GisSurveySystemCheckKeys.ISOLATED_LINES, isolatedLinesFuture);
|
|
}
|
|
}
|
|
|
|
+ //重叠线检查
|
|
if (params.getStartSubitemKeys().contains(GisSurveySystemCheckKeys.OVERLAP_LINES)) {
|
|
if (params.getStartSubitemKeys().contains(GisSurveySystemCheckKeys.OVERLAP_LINES)) {
|
|
overlapLinesFuture = overlapLinesFinder.findOverlapLines(lines, systemCheckId);
|
|
overlapLinesFuture = overlapLinesFinder.findOverlapLines(lines, systemCheckId);
|
|
subtask.put(GisSurveySystemCheckKeys.OVERLAP_LINES, overlapLinesFuture);
|
|
subtask.put(GisSurveySystemCheckKeys.OVERLAP_LINES, overlapLinesFuture);
|
|
}
|
|
}
|
|
|
|
+ //交叉线检查
|
|
|
|
+ if (params.getStartSubitemKeys().contains(GisSurveySystemCheckKeys.CROSS_LINES)) {
|
|
|
|
+ crossLinesFuture = crossLinesFinder.findCrossLines(lines, systemCheckId);
|
|
|
|
+ subtask.put(GisSurveySystemCheckKeys.CROSS_LINES, crossLinesFuture);
|
|
|
|
+ }
|
|
|
|
+ //高程差异常检查
|
|
if (params.getStartSubitemKeys().contains(GisSurveySystemCheckKeys.ELEVATION_DIFF)) {
|
|
if (params.getStartSubitemKeys().contains(GisSurveySystemCheckKeys.ELEVATION_DIFF)) {
|
|
elevationDiffFuture = elevationDiffFinder.findElevationDiff(lines, systemCheckId);
|
|
elevationDiffFuture = elevationDiffFinder.findElevationDiff(lines, systemCheckId);
|
|
subtask.put(GisSurveySystemCheckKeys.ELEVATION_DIFF, elevationDiffFuture);
|
|
subtask.put(GisSurveySystemCheckKeys.ELEVATION_DIFF, elevationDiffFuture);
|
|
@@ -237,6 +250,12 @@ public class GisSurveySystemChecker {
|
|
data.put(GisSurveySystemCheckKeys.OVERLAP_LINES, overlapLinesResult);
|
|
data.put(GisSurveySystemCheckKeys.OVERLAP_LINES, overlapLinesResult);
|
|
refreshTimes.put(GisSurveySystemCheckKeys.OVERLAP_LINES, params.getRefreshTime());
|
|
refreshTimes.put(GisSurveySystemCheckKeys.OVERLAP_LINES, params.getRefreshTime());
|
|
}
|
|
}
|
|
|
|
+ if (crossLinesFuture != null) {
|
|
|
|
+ //监听交叉线
|
|
|
|
+ final GisSurveySystemCheckResultDetail crossLinesResult = crossLinesFuture.get();
|
|
|
|
+ data.put(GisSurveySystemCheckKeys.CROSS_LINES, crossLinesResult);
|
|
|
|
+ refreshTimes.put(GisSurveySystemCheckKeys.CROSS_LINES, params.getRefreshTime());
|
|
|
|
+ }
|
|
if (elevationDiffFuture != null) {
|
|
if (elevationDiffFuture != null) {
|
|
//监听高程差异常
|
|
//监听高程差异常
|
|
final GisSurveySystemCheckResultDetail elevationDiffResult = elevationDiffFuture.get();
|
|
final GisSurveySystemCheckResultDetail elevationDiffResult = elevationDiffFuture.get();
|
|
@@ -297,6 +316,7 @@ public class GisSurveySystemChecker {
|
|
if (duplicatePointsFuture != null) duplicatePointsFuture.cancel(true);
|
|
if (duplicatePointsFuture != null) duplicatePointsFuture.cancel(true);
|
|
if (invalidLinesFuture != null) invalidLinesFuture.cancel(true);
|
|
if (invalidLinesFuture != null) invalidLinesFuture.cancel(true);
|
|
if (overlapLinesFuture != null) overlapLinesFuture.cancel(true);
|
|
if (overlapLinesFuture != null) overlapLinesFuture.cancel(true);
|
|
|
|
+ if (crossLinesFuture != null) crossLinesFuture.cancel(true);
|
|
if (elevationDiffFuture != null) elevationDiffFuture.cancel(true);
|
|
if (elevationDiffFuture != null) elevationDiffFuture.cancel(true);
|
|
|
|
|
|
//失败信息
|
|
//失败信息
|