diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/controller/ResultAnalysisController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/controller/ResultAnalysisController.java index b4bdf79..113d5f8 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/controller/ResultAnalysisController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/controller/ResultAnalysisController.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.inspect.analysis.domain.*; import com.inspect.analysis.service.IResultAnalysisService; +import com.inspect.base.core.constant.AlgConstants; import com.inspect.base.core.domain.Response; import com.inspect.base.core.enums.PointStatusEnum; import com.inspect.base.core.utils.StringUtils; @@ -814,10 +815,15 @@ public class ResultAnalysisController extends BaseController { item -> new GroupKey(item.getObjectId(), item.getAlgType()) )); List resultList = new ArrayList<>(); - groupedFilterList.forEach((key, value) -> { + for (Map.Entry> groupKeyListEntry : groupedFilterList.entrySet()) { + GroupKey key = groupKeyListEntry.getKey(); + List value = groupKeyListEntry.getValue(); PatrolData patrolData = new PatrolData(); patrolData.setObjectId(key.objectId); patrolData.setAlgType(key.algType); + if (AlgConstants.CORRECTION.equals(key.algType)) { + continue; + } patrolData.setDesc(value.stream().map(PatrolData::getDesc).distinct().collect(Collectors.joining(","))); for (PatrolData data : value) { // 初筛有缺陷 展示初筛结果图片 @@ -857,7 +863,7 @@ public class ResultAnalysisController extends BaseController { patrolData.setWarnStatus(value.stream().map(item -> item.getWarnStatus() != null ? item.getWarnStatus() : "").distinct().findFirst().orElse("")); resultList.add(patrolData); - }); + } Collections.sort(resultList); diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java index e8ce09d..a83fc9c 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java @@ -441,6 +441,7 @@ public class ResultAnalysisUtils { } if (StringUtils.isNotEmpty(defaultDesc) && defaultDesc.contains(messageUtils.get("分析失败"))) { resultAnalysis.setResultType("2"); + resultAnalysis.setPointStatus(PointStatusEnum.ABNORMAL.getCode()); } } resultAnalysis.setDescription(defaultDesc); diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/insreport/controller/InspectionReportController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/insreport/controller/InspectionReportController.java index 0f01a9f..85eb8fa 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/insreport/controller/InspectionReportController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/insreport/controller/InspectionReportController.java @@ -260,18 +260,21 @@ public class InspectionReportController extends BaseController { if (StringUtils.isEmpty(reportData.getTaskPatrolledId())) { reportData.setTaskPatrolledId(inspectionReport.getTaskPatrolledId()); } + if (StringUtils.isEmpty(reportData.getTaskResultId())) { + reportData.setTaskResultId(inspectionReport.getTaskResultId()); + } } // inspectionReport.setInfo(inspectionReportDataList); Map>>> resultTaskInfoMap = new HashMap<>(); - // 按 pointStatus 分组,再按 taskPatrolledId_taskName 分组 - // key: pointStatus,value: {taskPatrolledId_taskName -> List} + // 按 pointStatus 分组,再按 taskResultId_taskName 分组 + // key: pointStatus,value: {taskResultId_taskName -> List} Map>> detailGrouped = inspectionReportDataList.stream() .collect(Collectors.groupingBy( item -> item.getPointStatus() == null ? "unknown" : item.getPointStatus(), - Collectors.groupingBy(item -> item.getTaskPatrolledId() + "_" + item.getTaskName()) + Collectors.groupingBy(item -> item.getTaskResultId() + "_" + item.getTaskName()) )); // 将分组结果转换为所需的格式 for (Map.Entry>> stringMapEntry : detailGrouped.entrySet()) { diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/insreportdata/domain/InspectionReportData.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/insreportdata/domain/InspectionReportData.java index 94f6b22..3a40037 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/insreportdata/domain/InspectionReportData.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/insreportdata/domain/InspectionReportData.java @@ -74,6 +74,8 @@ public class InspectionReportData extends BaseEntity { private String taskPatrolledId; + private String taskResultId; + @Override public boolean equals(Object object) { if (this == object) return true; @@ -107,6 +109,7 @@ public class InspectionReportData extends BaseEntity { ", algName='" + algName + '\'' + ", taskName='" + taskName + '\'' + ", taskPatrolledId='" + taskPatrolledId + '\'' + + ", taskResultId='" + taskResultId + '\'' + '}'; } } diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/domain/PatrolResultRef.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/domain/PatrolResultRef.java index 4c69913..73018bd 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/domain/PatrolResultRef.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/domain/PatrolResultRef.java @@ -9,6 +9,7 @@ import java.util.Objects; @Getter public class PatrolResultRef { private String lineId; + private Long mainId; private String deviceId; private String devType; private String deviceSource; @@ -55,6 +56,7 @@ public class PatrolResultRef { public String toString() { return "PatrolResultRef{" + "lineId='" + lineId + '\'' + + ", mainId=" + mainId + '\'' + ", deviceId='" + deviceId + '\'' + ", devType='" + devType + '\'' + ", deviceSource='" + deviceSource + '\'' + diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/impl/PatrolResultServiceImpl.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/impl/PatrolResultServiceImpl.java index 165084e..a70742e 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/impl/PatrolResultServiceImpl.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/service/impl/PatrolResultServiceImpl.java @@ -771,7 +771,8 @@ public class PatrolResultServiceImpl implements IPatrolResultService { report.setFilter("0"); report.setStationType(stationType); inspectionReportMapper.insertInspectionReport(report); - batchInsertReportData_shaoxing(String.valueOf(report.getLineId()), patrolResultRefs, basePointAreaInfoList, taskPatrolledIds); + // 为每个报告生成数据 + batchInsertReportData_shaoxing(String.valueOf(report.getLineId()), patrolResultRefs, basePointAreaInfoList, lineIds); reportIds.add(report.getLineId()); } } @@ -1264,11 +1265,11 @@ public class PatrolResultServiceImpl implements IPatrolResultService { } } - public void batchInsertReportData_shaoxing(String reportId, List patrolResultRefs, List basePointAreaInfoList, List taskPatrolledIds) { - Map> taskCounterMap = new HashMap<>(); + public void batchInsertReportData_shaoxing(String reportId, List patrolResultRefs, List basePointAreaInfoList, List lineIds) { + Map> taskCounterMap = new HashMap<>(); // 为每个任务初始化计数器 - for (String item : taskPatrolledIds) { + for (Long item : lineIds) { Map counter = new HashMap<>(); counter.put("defect", 0L); counter.put("ok", 0L); @@ -1290,6 +1291,7 @@ public class PatrolResultServiceImpl implements IPatrolResultService { // 获取该结果所属的任务名 String resultTaskName = patrolResultRef.getTaskName(); String taskPatrolledId = patrolResultRef.getTaskPatrolledId(); + Long mainId = patrolResultRef.getMainId(); BasePointAreaInfo basePointAreaInfo; try { basePointAreaInfo = basePointAreaInfoList.stream().filter((item) -> item != null && patrolResultRef.getDeviceId().equals(item.getDeviceId())).findFirst().get(); @@ -1309,6 +1311,7 @@ public class PatrolResultServiceImpl implements IPatrolResultService { reportData.setAcquisitionTime(DateUtils.parse(DateUtils.yyyyMMddHHmmss2, patrolResultRef.getTime())); reportData.setTaskName(resultTaskName); reportData.setTaskPatrolledId(taskPatrolledId); + reportData.setTaskResultId(String.valueOf(mainId)); if ("1".equals(patrolResultRef.getResultType()) && validAlgTypes.contains(patrolResultRef.getAlgType())) { reportData.setInspectionResults(patrolResultRef.getValue()); } else { @@ -1339,7 +1342,7 @@ public class PatrolResultServiceImpl implements IPatrolResultService { } else if (resultType.equals("0")) { reportData.setPointStatus(messageUtils.get("缺陷")); // 按任务统计异常编号 - Map counter = taskCounterMap.get(taskPatrolledId); + Map counter = taskCounterMap.get(mainId); if (counter != null) { counter.put("defect", counter.get("defect") + 1); reportData.setCode(counter.get("defect")); @@ -1350,7 +1353,7 @@ public class PatrolResultServiceImpl implements IPatrolResultService { } else if (resultType.equals("1")) { reportData.setPointStatus(messageUtils.get("正常")); // 按任务统计异常编号 - Map counter = taskCounterMap.get(taskPatrolledId); + Map counter = taskCounterMap.get(mainId); if (counter != null) { counter.put("ok", counter.get("ok") + 1); reportData.setCode(counter.get("ok")); @@ -1361,7 +1364,7 @@ public class PatrolResultServiceImpl implements IPatrolResultService { } else { reportData.setPointStatus(messageUtils.get("异常")); // 按任务统计异常编号 - Map counter = taskCounterMap.get(taskPatrolledId); + Map counter = taskCounterMap.get(mainId); if (counter != null) { counter.put("fail", counter.get("fail") + 1); reportData.setCode(counter.get("fail")); @@ -2220,6 +2223,15 @@ public class PatrolResultServiceImpl implements IPatrolResultService { public int hashCode() { return Objects.hash(objectId, algType, taskPatrolled); } + + @Override + public String toString() { + return "GroupKey{" + + "objectId='" + objectId + '\'' + + ", algType='" + algType + '\'' + + ", taskPatrolled='" + taskPatrolled + '\'' + + '}'; + } } public static void main(String[] args) { diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java index 82b1a5d..477f2ee 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java @@ -1074,8 +1074,8 @@ public class PatrolTaskController extends BaseController { Long majorId = patrolTask.getTaskId(); + patrolTask.setTaskCode(patrolTask.getTaskId() + ""); patrolTaskInfoService.deletePatrolTaskInfoByMajorId(majorId); - // 点位信息 List patrolPointIds = new ArrayList<>(); if (parseObject.get("patrolPointIds") != null) { diff --git a/inspect-main/inspect-main-task/src/main/resources/mapper/task/InspectionReportDataMapper.xml b/inspect-main/inspect-main-task/src/main/resources/mapper/task/InspectionReportDataMapper.xml index 91259ad..34cd8b7 100644 --- a/inspect-main/inspect-main-task/src/main/resources/mapper/task/InspectionReportDataMapper.xml +++ b/inspect-main/inspect-main-task/src/main/resources/mapper/task/InspectionReportDataMapper.xml @@ -21,6 +21,7 @@ + @@ -39,7 +40,8 @@ inspection_img, alg_name, task_name, - task_patrolled_id + task_patrolled_id, + task_result_id from inspection_report_data @@ -162,11 +164,11 @@ insert into inspection_report_data - (line_id,code,report_id,area,time_interval,eq_name,parts,point_name,data_sources,acquisition_time,inspection_results,point_status,inspection_img,alg_name,task_name,task_patrolled_id) + (line_id,code,report_id,area,time_interval,eq_name,parts,point_name,data_sources,acquisition_time,inspection_results,point_status,inspection_img,alg_name,task_name,task_patrolled_id,task_result_id) values (#{t.lineId}, #{t.code}, #{t.reportId}, #{t.area}, #{t.timeInterval}, #{t.eqName}, #{t.parts}, - #{t.pointName},#{t.dataSources},#{t.acquisitionTime},#{t.inspectionResults},#{t.pointStatus},#{t.inspectionImg},#{t.algName},#{t.taskName},#{t.taskPatrolledId}) + #{t.pointName},#{t.dataSources},#{t.acquisitionTime},#{t.inspectionResults},#{t.pointStatus},#{t.inspectionImg},#{t.algName},#{t.taskName},#{t.taskPatrolledId},#{t.taskResultId}) diff --git a/inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolResultMapper.xml b/inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolResultMapper.xml index bf8030d..cfc5617 100644 --- a/inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolResultMapper.xml +++ b/inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolResultMapper.xml @@ -615,6 +615,7 @@ + @@ -655,6 +656,7 @@