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 825e3b3..2c4306c 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 @@ -56,6 +56,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.checkerframework.checker.nullness.qual.NonNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -250,10 +251,26 @@ public class PatrolTaskController extends BaseController { if (taskStatus == null) { return getDataTable(2, new ArrayList<>(), new ArrayList<>()); } + List newList = getNewList(patrolTaskStatus, taskStatus.getTaskPatrolledId()); + + // 10. 分页(仍为内存分页,详见下方说明) + PageDomain pageDomain = TableSupport.buildPageRequest(); + int pageNum = pageDomain.getPageNum(); + int pageSize = pageDomain.getPageSize(); + int fromIndex = (pageNum - 1) * pageSize; + int toIndex = Math.min(newList.size(), pageNum * pageSize); + List pageList = (fromIndex < newList.size()) + ? newList.subList(fromIndex, toIndex) + : new ArrayList<>(); + + return getDataTable(0, pageList, newList); + } + + private List getNewList(PatrolTaskStatus patrolTaskStatus, String taskPatrolledId) { // 查询算法列表 List algInfos = patrolResultService.selectAlgInfo(new PatrolResult()); ResultAnalysis resultAnalysis = new ResultAnalysis(); - resultAnalysis.setTaskPatrolId(taskStatus.getTaskPatrolledId()); + resultAnalysis.setTaskPatrolId(taskPatrolledId); resultAnalysis.setPosType(patrolTaskStatus.getPosType()); resultAnalysis.setFilter("1"); // 初筛数据(filter=1) @@ -291,7 +308,10 @@ public class PatrolTaskController extends BaseController { (a, b) -> a, LinkedHashMap::new )); - + /** + * 初筛,大模型 大模型结果为最终缺陷 + * 初筛,光明大模型 初筛结果为最终缺陷 + */ for (PatrolData item : newList) { String key = item.getObjectId() + "_" + item.getAlgType(); @@ -410,18 +430,7 @@ public class PatrolTaskController extends BaseController { } })); } - - // 10. 分页(仍为内存分页,详见下方说明) - PageDomain pageDomain = TableSupport.buildPageRequest(); - int pageNum = pageDomain.getPageNum(); - int pageSize = pageDomain.getPageSize(); - int fromIndex = (pageNum - 1) * pageSize; - int toIndex = Math.min(newList.size(), pageNum * pageSize); - List pageList = (fromIndex < newList.size()) - ? newList.subList(fromIndex, toIndex) - : new ArrayList<>(); - - return getDataTable(0, pageList, newList); + return newList; } @Log( @@ -3100,184 +3109,7 @@ public class PatrolTaskController extends BaseController { public ResponseEntity taskInfoExport(HttpServletResponse response, PatrolTaskStatus patrolTaskStatus) throws Exception { long start = System.currentTimeMillis(); PatrolTaskStatus patro = this.patrolTaskStatusService.selectPatrolTaskStatusByLineId(patrolTaskStatus.getLineId()); - ResultAnalysis resultAnalysis = new ResultAnalysis(); - resultAnalysis.setTaskPatrolId(patro.getTaskPatrolledId()); - resultAnalysis.setFilter("1"); - resultAnalysis.setPosType(patrolTaskStatus.getPosType()); - List filterList = patrolResultService.selectPatrolDataResultByTaskCodeV2(resultAnalysis); - List algInfos = patrolResultService.selectAlgInfo(new PatrolResult()); - resultAnalysis.setFilter("0"); - List newList = patrolResultService.selectPatrolDataResultByTaskCodeV2(resultAnalysis); - // 光明大模型数据 - resultAnalysis.setFilter("2"); - List brightNewList = patrolResultService.selectPatrolDataResultByTaskCodeV2(resultAnalysis); - int maxNum = Integer.parseInt(patrolTaskService.selectConfigByKey("MAX_NUM")); - for (PatrolData item : newList) { - item.setAlgName( - algInfos.stream().anyMatch((alg) -> { - return alg.getAlgSubtypeCode().equals(item.getAlgType()); - }) ? - algInfos.stream().filter((alg) -> { - return alg.getAlgSubtypeCode().equals(item.getAlgType()); - }).findFirst().get().getAlgSubtypeName() : "" - ); - if ("0".equals(item.getFilter())) { - List filterDatas = filterList.stream().filter((data) -> { - return data.getObjectId().equals(item.getObjectId()) && data.getAlgType().equals(item.getAlgType()); - }).collect(Collectors.toList()); - if (!filterDatas.isEmpty()) { - item.setImg((filterDatas.get(0)).getImgAnalyse()); - item.setFilterDesc((filterDatas.get(0)).getDesc()); - if (StringUtils.isEmpty(item.getImageNormalUrlPath())) { - item.setImageNormalUrlPath((filterDatas.get(0)).getImageNormalUrlPath()); - } -// filterList.remove(filterDatas.get(0)); - filterList.removeAll(filterDatas); - } - // 光明大模型数据 - List brightDatas = brightNewList.stream().filter((bright) -> { - return bright.getObjectId().equals(item.getObjectId()) && bright.getAlgType().equals(item.getAlgType()); - }).collect(Collectors.toList()); - if (!brightDatas.isEmpty()) { - item.setBrightDesc(brightDatas.get(0).getDesc()); - item.setBrightResStatus(brightDatas.get(0).getResStatus()); - item.setBrightImgAnalyse(brightDatas.get(0).getImgAnalyse()); -// brightNewList.remove(brightDatas.get(0)); - brightNewList.removeAll(brightDatas); - } - } - - AlgValue algValue = new AlgValue(); - if (item.getResValue() != null) { - String str = algValue.formatValue(item.getResValue()); - if ("meter".equals(item.getAlgType())) { - if (str.equals("-1")) { - item.setResValue(MessageUtils.get("空值")); - } - } - } - } - for (PatrolData item : filterList) { - // 光明大模型数据 - List brightDatas = brightNewList.stream().filter((bright) -> { - return bright.getObjectId().equals(item.getObjectId()) && bright.getAlgType().equals(item.getAlgType()); - }).collect(Collectors.toList()); - if (!brightDatas.isEmpty()) { - item.setBrightDesc(brightDatas.get(0).getDesc()); - item.setBrightResStatus(brightDatas.get(0).getResStatus()); - item.setBrightImgAnalyse(brightDatas.get(0).getImgAnalyse()); -// brightNewList.remove(brightDatas.get(0)); - brightNewList.removeAll(brightDatas); - } - item.setAlgName( - algInfos.stream().anyMatch((alg) -> { - return alg.getAlgSubtypeCode().equals(item.getAlgType()); - }) ? - algInfos.stream().filter((alg) -> { - return alg.getAlgSubtypeCode().equals(item.getAlgType()); - }).findFirst().get().getAlgSubtypeName() : "" - ); - AlgValue algValue = new AlgValue(); - if (item.getResValue() != null) { - String str = algValue.formatValue(item.getResValue()); - if ("meter".equals(item.getAlgType())) { - if (str.equals("-1")) { - item.setResValue(MessageUtils.get("空值")); - } - } - } - item.setFilterDesc(item.getDesc()); - item.setDesc(""); - } - for (PatrolData item : brightNewList) { - item.setAlgName( - algInfos.stream().anyMatch((alg) -> { - return alg.getAlgSubtypeCode().equals(item.getAlgType()); - }) ? - algInfos.stream().filter((alg) -> { - return alg.getAlgSubtypeCode().equals(item.getAlgType()); - }).findFirst().get().getAlgSubtypeName() : "" - ); - AlgValue algValue = new AlgValue(); - if (item.getResValue() != null) { - String str = algValue.formatValue(item.getResValue()); - if ("meter".equals(item.getAlgType())) { - if (str.equals("-1")) { - item.setResValue("空值"); - } - } - } - item.setBrightDesc(item.getDesc()); - item.setBrightResStatus(item.getResStatus()); - item.setBrightImgAnalyse(item.getImgAnalyse()); - item.setDesc(""); - } - newList.addAll(filterList); - newList.addAll(brightNewList); - Map keyPatrolData = new LinkedHashMap<>(); - for (PatrolData patrolData : newList) { - keyPatrolData.putIfAbsent(patrolData.getObjectId() + "_" + patrolData.getAlgType(), patrolData); - } - newList = new ArrayList<>(keyPatrolData.values()); - if (StringUtils.isNotEmpty(patrolTaskStatus.getAlgName())) { - newList = newList.stream().filter((element) -> patrolTaskStatus.getAlgName().equals(element.getAlgName())).collect(Collectors.toList()); - } - - if (StringUtils.isNotEmpty(patrolTaskStatus.getFilterDesc())) { - newList = newList.stream().filter((element) -> patrolTaskStatus.getFilterDesc().equals(element.getFilterDesc())).collect(Collectors.toList()); - } - - - if (StringUtils.isNotEmpty(patrolTaskStatus.getDeviceName())) { - newList = newList.stream().filter((element) -> { - return patrolTaskStatus.getDeviceName().equals(element.getDeviceName()); - }).collect(Collectors.toList()); - } - - if (StringUtils.isNotEmpty(patrolTaskStatus.getPointName())) { - newList = newList.stream().filter((element) -> { - return patrolTaskStatus.getPointName().equals(element.getPointName()); - }).collect(Collectors.toList()); - } - - if (StringUtils.isNotEmpty(patrolTaskStatus.getChannelName())) { - newList = newList.stream().filter((element) -> { - return patrolTaskStatus.getChannelName().equals(element.getChannelName()); - }).collect(Collectors.toList()); - } - - if (StringUtils.isNotEmpty(patrolTaskStatus.getDeviceSource())) { - newList = newList.stream().filter((element) -> { - return patrolTaskStatus.getDeviceSource().equals(element.getDeviceSource()); - }).collect(Collectors.toList()); - } - - if (StringUtils.isNotEmpty(patrolTaskStatus.getPointStatus())) { - newList = newList.stream().filter((element) -> { - return patrolTaskStatus.getPointStatus().equals(element.getPointStatus()); - }).collect(Collectors.toList()); - } - - if (StringUtils.isNotEmpty(patrolTaskStatus.getDesc())) { - newList = newList.stream().filter((element) -> { - return patrolTaskStatus.getDesc().equals(element.getDesc()); - }).collect(Collectors.toList()); - } - - if (StringUtils.isNotEmpty(patrolTaskStatus.getResultType())) { - newList = newList.stream().filter((element) -> { - return patrolTaskStatus.getResultType().equals(element.getWarnStatus()); - }).collect(Collectors.toList()); - } - - if ("1".equals(patrolTaskStatus.getAbnormal())) { - // 异常置顶 - newList.sort(Comparator.comparing(PatrolData::getPointStatus)); - } - -// if (newList.size() > maxNum) { -// return ResponseEntity.ok("超过最大导出数量:" + maxNum + "条,请结合查询条件减少导出的数量!"); -// } + List newList = getNewList(patrolTaskStatus, patro.getTaskPatrolledId()); logger.info("数据处理耗时: {} ms", (System.currentTimeMillis() - start)); long startExport = System.currentTimeMillis(); exportExcelV2(response, newList); @@ -3544,9 +3376,37 @@ public class PatrolTaskController extends BaseController { row.createCell(col++).setCellValue(item.getPointId()); row.createCell(col++).setCellValue(item.getPointName()); // 状态 - String status = "1".equals(item.getPointStatus()) ? MessageUtils.get("正常") : - "0".equals(item.getPointStatus()) ? MessageUtils.get("异常") : - MessageUtils.get("待人工确认"); + String status; + if (StringUtils.isNotEmpty(item.getPointStatus())) { + switch (item.getPointStatus()) { + case "1": + status = MessageUtils.get("正常"); + break; + case "0": + status = MessageUtils.get("异常"); + break; + case "2": + status = MessageUtils.get("待人工确认"); + break; + case "3": + status = MessageUtils.get("忽略"); + break; + case "4": + status = MessageUtils.get("跟踪"); + break; + case "5": + status = MessageUtils.get("确认"); + break; + case "6": + status = MessageUtils.get("缺陷"); + break; + default: + status = item.getPointStatus(); // 或默认值 + break; + } + } else { + status = ""; // 或默认值 + } row.createCell(col++).setCellValue(status); // 算法信息 row.createCell(col++).setCellValue(item.getAlgName()); diff --git a/inspect-metadata/src/main/resources/mapper/area/BaseDataAreaMapper.xml b/inspect-metadata/src/main/resources/mapper/area/BaseDataAreaMapper.xml index e7d2f4f..255b985 100644 --- a/inspect-metadata/src/main/resources/mapper/area/BaseDataAreaMapper.xml +++ b/inspect-metadata/src/main/resources/mapper/area/BaseDataAreaMapper.xml @@ -175,9 +175,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into basedata_area( area_id, parent_id, + relation_parent_id, area_name, area_type, ancestors, + relation_ancestors, order_num, status, create_by, @@ -191,9 +193,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" )values( #{areaId}, #{parentId}, + #{parentId}, #{areaName}, #{areaType}, #{ancestors}, + #{ancestors}, #{orderNum}, #{status}, #{createBy}, @@ -211,10 +215,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update basedata_area parent_id = #{parentId}, + relation_parent_id = #{parentId}, area_name = #{areaName}, area_code = #{areaCode}, area_type = #{areaType}, ancestors = #{ancestors}, + relation_ancestors = #{ancestors}, order_num = #{orderNum}, status = #{status}, update_by = #{updateBy}, diff --git a/inspect-metadata/src/main/resources/mapper/prodevmnt/BasedataDeviceMapper.xml b/inspect-metadata/src/main/resources/mapper/prodevmnt/BasedataDeviceMapper.xml index 12aaf6f..a15878a 100644 --- a/inspect-metadata/src/main/resources/mapper/prodevmnt/BasedataDeviceMapper.xml +++ b/inspect-metadata/src/main/resources/mapper/prodevmnt/BasedataDeviceMapper.xml @@ -514,6 +514,7 @@ parent_id, ancestors, area_id, + relation_area_id, area_name, device_type_id, device_type_name, @@ -550,6 +551,7 @@ #{parentId}, #{ancestors}, #{areaId}, + #{areaId}, #{areaName}, #{deviceTypeId}, #{deviceTypeName}, @@ -590,6 +592,7 @@ parent_id = #{parentId}, ancestors = #{ancestors}, area_id = #{areaId}, + relation_area_id = #{areaId}, area_name = #{areaName}, device_type_id = #{deviceTypeId}, device_type_name = #{deviceTypeName},