Browse Source

feat: 缺陷记录添加下拉筛选,按缺陷描述精确匹配

yanyuan
wangguangyuan 3 days ago
parent
commit
ff5dbf20b0
3 changed files with 40 additions and 15 deletions
  1. +36
    -1
      inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/controller/ResultAnalysisController.java
  2. +2
    -0
      inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/DefectRecordQuery.java
  3. +2
    -14
      inspect-main/inspect-main-task/src/main/java/com/inspect/insreport/controller/InspectionReportController.java

+ 36
- 1
inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/controller/ResultAnalysisController.java View File

@ -647,7 +647,7 @@ public class ResultAnalysisController extends BaseController {
/**
* 缺陷记录将确认缺陷的数据展示在这
* @param query 查询条件点位名称采集时间范围
* @param query 查询条件点位名称缺陷描述下拉选项见 /defect/descOptions采集时间范围
* @return
*/
@GetMapping({"/defect/list"})
@ -752,6 +752,15 @@ public class ResultAnalysisController extends BaseController {
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的在最后面排列
resultList.sort(Comparator.comparing(PatrolData::getPatrolTime,
Comparator.nullsLast(Comparator.reverseOrder())));
@ -771,6 +780,32 @@ public class ResultAnalysisController extends BaseController {
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


+ 2
- 0
inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/DefectRecordQuery.java View File

@ -17,4 +17,6 @@ public class DefectRecordQuery {
private String patrolTimeBegin;
/** 采集结束时间(patrol_time 截止日期),格式 yyyy-MM-dd。 */
private String patrolTimeEnd;
/** 缺陷描述(result_analysis.description),下拉筛选按缺陷描述精确匹配(选项见 /defect/descOptions),聚合记录整条保留。 */
private String desc;
}

+ 2
- 14
inspect-main/inspect-main-task/src/main/java/com/inspect/insreport/controller/InspectionReportController.java View File

@ -73,23 +73,11 @@ public class InspectionReportController extends BaseController {
@GetMapping({"/list"})
public TableDataInfo list(InspectionReport inspectionReport) {
// startPage();
startPage();
List<InspectionReport> inspectionReportList = inspectionReportService.selectByAllList(inspectionReport);
logger.info("[REPORT] inspectionReportList size: {}", inspectionReportList.size());
// 归档已改为一次归档单个任务/多个任务合并只生成一条 inspection_report
// 报告列表即每条报告一行无需再按任务名+日期去重
PageDomain pageDomain = TableSupport.buildPageRequest();
int pageNum = pageDomain.getPageNum();
int pageSize = pageDomain.getPageSize();
int toNum = Math.min(inspectionReportList.size(), pageNum * pageSize);
List<InspectionReport> pageList = inspectionReportList.subList((pageNum - 1) * pageSize, toNum);
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(200);
rspData.setRows(pageList);
rspData.setMsg("查询成功");
rspData.setTotal((new PageInfo<>(inspectionReportList)).getTotal());
return rspData;
return getDataTable(inspectionReportList);
}
public Map<String, String> getImgMap() {


Loading…
Cancel
Save