diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/ResultAnalysisServiceImpl.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/ResultAnalysisServiceImpl.java index dfff707..75089f6 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/ResultAnalysisServiceImpl.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/service/impl/ResultAnalysisServiceImpl.java @@ -5,18 +5,22 @@ import com.inspect.analysis.domain.AnalyseSummaryAlarmModel; import com.inspect.analysis.domain.ResultAnalysis; import com.inspect.analysis.mapper.ResultAnalysisMapper; import com.inspect.analysis.service.IResultAnalysisService; +import com.inspect.base.core.utils.StringUtils; import com.inspect.partrolresult.domain.PatrolResult; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import com.inspect.task.domain.PatrolData; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service +@Slf4j public class ResultAnalysisServiceImpl implements IResultAnalysisService { private final ResultAnalysisMapper resultAnalysisMapper; @@ -137,7 +141,46 @@ public class ResultAnalysisServiceImpl implements IResultAnalysisService { } public List selectResultAnalysisListForAlarm(AnalyseSummaryAlarmModel alarmModel) { - return this.resultAnalysisMapper.selectResultAnalysisListForAlarm(alarmModel); + List patrolDataList = this.resultAnalysisMapper.selectResultAnalysisListForAlarm(alarmModel); + if (patrolDataList == null || patrolDataList.isEmpty()) { + return patrolDataList; + } + Map> collect = patrolDataList.stream().collect(Collectors.groupingBy(item -> item.getAlgType() + "_" + item.getObjectId())); + List resultList = new ArrayList<>(); + collect.forEach((key, value) -> { + PatrolData patrolData = new PatrolData(); + String algType = key.split("_")[0]; + String objectId = key.split("_")[1]; + patrolData.setAlgType(algType); + patrolData.setObjectId(objectId); + for (PatrolData data : value) { + // 初筛有缺陷 展示初筛结果图片 + if ("1".equals(data.getFilter()) && StringUtils.isEmpty(patrolData.getImgAnalyse())) { + patrolData.setImgAnalyse(data.getImgAnalyse()); + } + if ("1".equals(data.getFilter()) && StringUtils.isEmpty(patrolData.getImg())) { + patrolData.setImg(data.getImg()); + } + // 大模型有缺陷 展示大模型结果图片 + if ("0".equals(data.getFilter())) { + patrolData.setImgAnalyse(data.getImgAnalyse()); + patrolData.setImg(data.getImg()); + } + } + patrolData.setPointName(value.stream().map(item -> item.getPointName() != null ? item.getPointName() : "").distinct().findFirst().orElse("")); + patrolData.setPatrolTime(value.stream().map(item -> item.getPatrolTime() != null ? item.getPatrolTime() : "").distinct().findFirst().orElse("")); + patrolData.setPointStatus(value.stream().map(item -> item.getPointStatus() != null ? item.getPointStatus() : "").distinct().findFirst().orElse("")); + patrolData.setWarnStatus(value.stream().map(item -> item.getWarnStatus() != null ? item.getWarnStatus() : "").distinct().findFirst().orElse("")); + patrolData.setDesc(value.stream().map(PatrolData::getDesc).distinct().collect(Collectors.joining(","))); + patrolData.setImgType(value.stream().map(item -> item.getImgType() != null ? item.getImgType() : "").distinct().findFirst().orElse("")); + patrolData.setLineId(value.stream().map(item -> item.getLineId() != null ? item.getLineId() : "").distinct().findFirst().orElse("")); + patrolData.setDataType(value.stream().map(item -> item.getDataType() != null ? item.getDataType() : "").distinct().findFirst().orElse("")); + patrolData.setResStatus(value.stream().map(item -> item.getResStatus() != null ? item.getResStatus() : "").distinct().findFirst().orElse("")); + patrolData.setSuggestion(value.stream().map(item -> item.getSuggestion() != null ? item.getSuggestion() : "").distinct().findFirst().orElse("")); + resultList.add(patrolData); + + }); + return resultList; } } diff --git a/inspect-main/inspect-main-task/src/main/resources/mapper/task/ResultAnalysisMapper.xml b/inspect-main/inspect-main-task/src/main/resources/mapper/task/ResultAnalysisMapper.xml index 5061e64..032e80e 100644 --- a/inspect-main/inspect-main-task/src/main/resources/mapper/task/ResultAnalysisMapper.xml +++ b/inspect-main/inspect-main-task/src/main/resources/mapper/task/ResultAnalysisMapper.xml @@ -649,6 +649,8 @@ + + @@ -668,6 +670,8 @@ resultMap="PatrolDataResult"> select b.line_id , + b.objectId as objectId, + b.alg_type as alg_type, a.device_name as point_name, a.create_time as patrol_time, b.point_status ,