|
|
@ -647,7 +647,7 @@ public class ResultAnalysisController extends BaseController { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 缺陷记录(将确认缺陷的数据展示在这) |
|
|
* 缺陷记录(将确认缺陷的数据展示在这) |
|
|
* @param query 查询条件:点位名称、采集时间范围 |
|
|
|
|
|
|
|
|
* @param query 查询条件:点位名称、缺陷描述(下拉,选项见 /defect/descOptions)、采集时间范围 |
|
|
* @return |
|
|
* @return |
|
|
*/ |
|
|
*/ |
|
|
@GetMapping({"/defect/list"}) |
|
|
@GetMapping({"/defect/list"}) |
|
|
@ -752,6 +752,15 @@ public class ResultAnalysisController extends BaseController { |
|
|
|
|
|
|
|
|
resultList.add(patrolData); |
|
|
resultList.add(patrolData); |
|
|
}); |
|
|
}); |
|
|
|
|
|
// 缺陷描述筛选:按明细行的 desc 精确匹配确定命中的分组,命中分组整条保留(一条记录聚合的多条缺陷描述不会丢失) |
|
|
|
|
|
if (query != null && StringUtils.isNotEmpty(query.getDesc())) { |
|
|
|
|
|
String selectedDesc = query.getDesc(); |
|
|
|
|
|
Set<String> matchedKeys = filterList.stream() |
|
|
|
|
|
.filter(data -> selectedDesc.equals(data.getDesc())) |
|
|
|
|
|
.map(data -> data.getTaskPatrolId() + "|" + data.getObjectId() + "|" + data.getAlgType()) |
|
|
|
|
|
.collect(Collectors.toSet()); |
|
|
|
|
|
resultList.removeIf(item -> !matchedKeys.contains(item.getTaskPatrolId() + "|" + item.getObjectId() + "|" + item.getAlgType())); |
|
|
|
|
|
} |
|
|
// 非 null 的值按降序排列(最新的时间在前),null的在最后面排列 |
|
|
// 非 null 的值按降序排列(最新的时间在前),null的在最后面排列 |
|
|
resultList.sort(Comparator.comparing(PatrolData::getPatrolTime, |
|
|
resultList.sort(Comparator.comparing(PatrolData::getPatrolTime, |
|
|
Comparator.nullsLast(Comparator.reverseOrder()))); |
|
|
Comparator.nullsLast(Comparator.reverseOrder()))); |
|
|
@ -771,6 +780,32 @@ public class ResultAnalysisController extends BaseController { |
|
|
return rspData; |
|
|
return rspData; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 缺陷记录-缺陷描述下拉选项(返回去重后的 desc 值,供 /defect/list 的缺陷描述下拉筛选使用) |
|
|
|
|
|
* @param query 查询条件:点位名称、采集时间范围(不含缺陷描述,避免选项被自身过滤) |
|
|
|
|
|
* @return |
|
|
|
|
|
*/ |
|
|
|
|
|
@GetMapping({"/defect/descOptions"}) |
|
|
|
|
|
public AjaxResult defectDescOptions(DefectRecordQuery query) { |
|
|
|
|
|
ResultAnalysis resultAnalysis = new ResultAnalysis(); |
|
|
|
|
|
resultAnalysis.setPointStatusList(Arrays.asList(PointStatusEnum.CONFIRMED.getCode(), PointStatusEnum.TRACKING.getCode())); |
|
|
|
|
|
if (query != null) { |
|
|
|
|
|
resultAnalysis.setPointName(query.getPointName()); |
|
|
|
|
|
resultAnalysis.setBeginTime(query.getPatrolTimeBegin()); |
|
|
|
|
|
resultAnalysis.setEndTime(query.getPatrolTimeEnd()); |
|
|
|
|
|
} |
|
|
|
|
|
List<PatrolData> allList = patrolResultService.selectPatrolDataResultByTaskCodeV2(resultAnalysis); |
|
|
|
|
|
// 仅取缺陷数据(与 /defect/list 口径一致)的非空 desc,去重后按字典序返回 |
|
|
|
|
|
List<String> descOptions = allList.stream() |
|
|
|
|
|
.filter(data -> "0".equals(data.getWarnStatus())) |
|
|
|
|
|
.map(PatrolData::getDesc) |
|
|
|
|
|
.filter(StringUtils::isNotEmpty) |
|
|
|
|
|
.distinct() |
|
|
|
|
|
.sorted() |
|
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
return AjaxResult.success(descOptions); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 新的关系树 |
|
|
* 新的关系树 |
|
|
* @param areaIdS |
|
|
* @param areaIdS |
|
|
|