From 176f7bcaef6ea8ca5f0a35b09cb7f024b9b1a4c7 Mon Sep 17 00:00:00 2001 From: wangguangyuan Date: Fri, 29 Aug 2025 11:08:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E7=81=B5=E5=B7=9E=E7=AB=99=E5=BD=92?= =?UTF-8?q?=E6=A1=A3=E6=89=80=E6=9C=89=E7=82=B9=E4=BD=8D=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PatrolResultServiceImpl.java | 45 +++++++++++-------- .../PatrolTaskResultMainController.java | 43 +++++------------- .../task/controller/PatrolTaskController.java | 9 ++-- .../mapper/task/ResultAnalysisMapper.xml | 2 +- 4 files changed, 45 insertions(+), 54 deletions(-) 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 528f2c3..cbf56d0 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 @@ -358,7 +358,7 @@ public class PatrolResultServiceImpl implements IPatrolResultService { reportIds.addAll(saveReportDataLingzhou(resultList, resultMain, lineIds, aiQxNum, csQxNum)); } - PrintUtil.useTime("AMENDING DATA", startTime); + PrintUtil.useTime("获取所有报告id", startTime); return reportIds; // resultMain.setLineId(currentLineId); // return saveReportData(resultList, resultMain, lineIds); @@ -464,7 +464,7 @@ public class PatrolResultServiceImpl implements IPatrolResultService { String mainId = String.valueOf(resultMain.getLineId()); // String analyseNum = statisticsAnalyseNum(lineIds, resultList.size()); // String filterNum = statisticsAnalyseNumLingZhou(lineIds, "1"); - String AiNum = statisticsAnalyseNumLingZhou(lineIds, "0"); + String AiNum = statisticsAnalyseNumLingZhou(lineIds); // String[] nums = new String[]{AiNum, filterNum}; String[] nums = new String[]{AiNum}; startTime = PrintUtil.useTime("STATISTICS ANALYZE DATA", startTime); @@ -519,13 +519,19 @@ public class PatrolResultServiceImpl implements IPatrolResultService { envoList.add(typeName + ":" + valueUnit); } for (int i = 0; i < nums.length; i++) { - if ("0".equals(exportReportFlag) && i == 0 && aiQxNum == 0) { + if ("0".equals(exportReportFlag) && aiQxNum == 0 && csQxNum == 0) { continue; } - if ("0".equals(exportReportFlag) && i == 1 && csQxNum == 0) { - continue; + Map keyPatrolResultRef = new HashMap<>(); + List patrolResultRefs = patrolResultMapper.selectResultRefByLineIds(lineIds, "0"); + List patrolResultRefsFilter = patrolResultMapper.selectResultRefByLineIds(lineIds, "1"); + for (PatrolResultRef AIRef : patrolResultRefs) { + keyPatrolResultRef.put(AIRef.getDeviceId() + "_" + AIRef.getAlgType(), AIRef); } - List patrolResultRefs = patrolResultMapper.selectResultRefByLineIds(lineIds, String.valueOf(i)); + for (PatrolResultRef filterRef : patrolResultRefsFilter) { + keyPatrolResultRef.putIfAbsent(filterRef.getDeviceId() + "_" + filterRef.getAlgType(), filterRef); + } + patrolResultRefs = new ArrayList<>(keyPatrolResultRef.values()); if (patrolResultRefs.isEmpty()) { continue; } @@ -992,14 +998,24 @@ public class PatrolResultServiceImpl implements IPatrolResultService { } - public String statisticsAnalyseNumLingZhou(List lineIds, String filter) { + public String statisticsAnalyseNumLingZhou(List lineIds) { int okNum = 0; int failNum = 0; int confirmNum = 0; - List analyses = resultAnalysisMapper.selectResultAnalysisListByMainIdsNew(lineIds, filter); - int totalNum = analyses.size(); - log.info("lineIds:{},statisticsAnalyseNum analyses:{}", lineIds, analyses); - for (ResultAnalysis analyse : analyses) { + List analysesAI = resultAnalysisMapper.selectResultAnalysisListByMainIdsNew(lineIds, "0"); + List analyseFilter = resultAnalysisMapper.selectResultAnalysisListByMainIdsNew(lineIds, "1"); + Map keyToAnalysisMap = new HashMap<>(); + for (ResultAnalysis resultAnalysis : analysesAI) { + keyToAnalysisMap.put(resultAnalysis.getAlgType() + "_" + resultAnalysis.getObjectId(), resultAnalysis); + } + for (ResultAnalysis analyse : analyseFilter) { + keyToAnalysisMap.putIfAbsent(analyse.getAlgType() + "_" + analyse.getObjectId(), analyse); + } + + + int totalNum = keyToAnalysisMap.size(); + log.info("lineIds:{},statisticsAnalyseNum analyses:{}", lineIds, analysesAI); + for (ResultAnalysis analyse : keyToAnalysisMap.values()) { String resultType = analyse.getResultType(); if (resultType.equals("0")) { ++confirmNum; @@ -1009,15 +1025,8 @@ public class PatrolResultServiceImpl implements IPatrolResultService { ++failNum; } } -// -// int lastNum = totalNum - failNum - confirmNum; -// if (lastNum != okNum) { -// okNum = lastNum; -// } -// return String.format("总点位:%d个,已检点位:%d个,未检点位:0个,正常点位:%d个,异常点位:%d个,待人工确认点位:%d个。", totalNum, totalNum, okNum, failNum, confirmNum); return String.format(messageUtils.get("本次任务巡视总点位:%d个,已检点位:%d个,未检点位:0个,正常点位:%d个,异常点位:%d个,缺陷点位:%d个。"), totalNum, totalNum, okNum, failNum, confirmNum); -// return String.format(messageUtils.get("缺陷总数:%d个"), totalNum); } public String statisticsAnalyseNumV2(String mainId, String filter) { diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/resultmain/controller/PatrolTaskResultMainController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/resultmain/controller/PatrolTaskResultMainController.java index 2905545..1d4fec7 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/resultmain/controller/PatrolTaskResultMainController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/resultmain/controller/PatrolTaskResultMainController.java @@ -67,9 +67,11 @@ import org.apache.poi.xwpf.usermodel.*; import org.openxmlformats.schemas.wordprocessingml.x2006.main.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.*; @RestController +@RefreshScope @RequestMapping({"/resultmain"}) public class PatrolTaskResultMainController extends BaseController { @@ -271,30 +273,23 @@ public class PatrolTaskResultMainController extends BaseController { @PostMapping({"/updateInfo"}) public AjaxResult updateInfo_lingzhou( @RequestBody PatrolTaskResultMain resultMain) { + long startTime = System.currentTimeMillis(); List lineIds = resultMain.getLineIds(); Long lineId = resultMain.getLineIds().get(0); resultMain.setLineId(lineId); -// resultMain.setLineIds(lineIds); -// resultMain.setCheckPerson(checkPerson); -// resultMain.setTaskResult(taskResult); - String mainId = String.valueOf(lineId); - long startTime = System.currentTimeMillis(); -// logger.info("[ARCHIVE] Starting, Id: {}", mainId); List longs = patrolTaskResultMainService.selectLineIdsByList(lineIds); if (longs != null && longs.size() > 0) { lineIds.addAll(longs); } lineIds = lineIds.stream().distinct().collect(Collectors.toList()); - + PrintUtil.useTime("收集需归档的lineIds", startTime); logger.info("---归档--lineIds size: {},lineIds:{}", lineIds.size(), lineIds); -// int analyseNum, collectNum; -// AtomicInteger modifyNum = new AtomicInteger(0); -// List resultList = patrolResultService.selectPatrolResultList(new PatrolResult(mainId)); List resultList = patrolResultService.selectPatrolResultListByMainIds(lineIds); if (resultList.isEmpty()) { logger.error("[归档]失败, 数据采集中..."); return AjaxResult.error("数据采集中请稍后...."); } + startTime = System.currentTimeMillis(); ResultAnalysis resultAnalysis = new ResultAnalysis(); int csQxNum = 0, aiQxNum = 0; List taskPatrolledIds = resultList.stream().map(PatrolResult::getTaskPatrolledId).distinct().collect(Collectors.toList()); @@ -305,30 +300,13 @@ public class PatrolTaskResultMainController extends BaseController { aiQxNum += ras.getAiQxNum(); } - if("0".equals(exportReportFlag) && 0 == aiQxNum) { + if("0".equals(exportReportFlag) && 0 == aiQxNum && 0 == csQxNum) { logger.error("[归档]没有缺陷数据, 无需归档!"); return AjaxResult.error("没有缺陷数据, 无需归档!"); } -// List patrolResultAuxList = iPatrolResultAuxService.selectPatrolResultAuxListByMainId(new PatrolResultAux(mainId)); -// List patrolResultAuxList = iPatrolResultAuxService.selectPatrolResultAuxListByMainIds(lineIds); -// for (PatrolResultAux aux : patrolResultAuxList) { -// resultList.forEach((item) -> { -// if (aux.getResultId().equals(String.valueOf(item.getLineId()))) { -// item.setValue(aux.getValue()); -// if (!"1".equals(item.getDataType())) { -// modifyNum.addAndGet(1); -// } -// } -// }); -// } - -// startTime = PrintUtil.useTime("INQUIRY MEND DATA", startTime); -// collectNum = resultList.size(); -// analyseNum = resultAnalysisService.selectResultAnalysisByMainId(lineId); -// analyseNum = resultAnalysisService.selectResultAnalysisByMainIds(lineIds); -// startTime = PrintUtil.useTime("INQUIRY ANALYZE DATA", startTime); -// logger.info("[ARCHIVE] Id: {}, collectNum: {}, analyseNum: {}, modifyNum:{}", mainId, collectNum, analyseNum, modifyNum.get()); + PrintUtil.useTime("查询统计缺陷数据", startTime); + startTime = System.currentTimeMillis(); // 使用CompletableFuture异步执行saveReport int finalAiQxNum = aiQxNum; int finalCsQxNum = csQxNum; @@ -340,7 +318,8 @@ public class PatrolTaskResultMainController extends BaseController { logger.error("Report saving failed", ex); return Collections.emptyList(); }); - + PrintUtil.useTime("保存报告数据", startTime); + startTime = System.currentTimeMillis(); // 当saveReport完成后,再异步处理所有导出任务 saveReportFuture.thenAcceptAsync(reportIds -> { logger.info("-----------[ARCHIVE] Saved export reportIds: {}", reportIds); @@ -360,7 +339,7 @@ public class PatrolTaskResultMainController extends BaseController { logger.error("Error occurred during saveReport: ", ex); return null; }); -// logger.info("-----------[ARCHIVE] EndTime: {}, reportIds: {}", DateUtil.now(), reportIds); + PrintUtil.useTime("导出报告数据", startTime); return toAjax(1); } 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 3054074..d20f8ce 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 @@ -262,7 +262,8 @@ public class PatrolTaskController extends BaseController { if (!filterDatas.isEmpty()) { item.setImg((filterDatas.get(0)).getImgAnalyse()); item.setFilterDesc((filterDatas.get(0)).getDesc()); - filterList.remove(filterDatas.get(0)); +// filterList.remove(filterDatas.get(0)); + filterList.removeAll(filterDatas); } // 光明大模型数据 List brightDatas = brightNewList.stream().filter((bright) -> { @@ -272,7 +273,8 @@ public class PatrolTaskController extends BaseController { item.setBrightDesc(brightDatas.get(0).getDesc()); item.setBrightResStatus(brightDatas.get(0).getResStatus()); item.setBrightImgAnalyse(brightDatas.get(0).getImgAnalyse()); - brightNewList.remove(brightDatas.get(0)); +// brightNewList.remove(brightDatas.get(0)); + brightNewList.removeAll(brightDatas); } } @@ -295,7 +297,8 @@ public class PatrolTaskController extends BaseController { item.setBrightDesc(brightDatas.get(0).getDesc()); item.setBrightResStatus(brightDatas.get(0).getResStatus()); item.setBrightImgAnalyse(brightDatas.get(0).getImgAnalyse()); - brightNewList.remove(brightDatas.get(0)); +// brightNewList.remove(brightDatas.get(0)); + brightNewList.removeAll(brightDatas); } item.setAlgName( algInfos.stream().anyMatch((alg) -> { 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 37306d4..972548f 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 @@ -142,7 +142,7 @@