From 3579f62b4c25b1fdc107d2a667a5459df5ad0630 Mon Sep 17 00:00:00 2001 From: wangzhijiang <1358525938@qq.com> Date: Mon, 19 Jun 2023 17:57:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=82=E6=95=B0=E9=A1=B9=E6=94=B6=E9=9B=86?= =?UTF-8?q?=E6=B8=85=E5=8D=95-=E8=AE=A4=E8=AF=81=E5=B7=A5=E7=A8=8B?= =?UTF-8?q?=E5=B8=88=E5=AF=BC=E5=87=BA=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=A4=84=E7=90=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsCollectManifestEOServiceImpl.java | 60 +++++++++++++++++-- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 37c66f4c9..78b8fd3a7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -4462,6 +4462,52 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); List paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据 + List> exportDataList = new ArrayList<>(); + // 配置列多行数据处理 + for (Map data : dataList) { + String id = (String) data.get("id"); + + Map> paramsConfigDataMap = paramsConfigDataEOList.stream().filter(configDataEO -> { + boolean flag = false; + if (StringUtils.equals(configDataEO.getParamsCollectManifestId(), id)) { + flag = true; + } + return flag; + }).collect(Collectors.groupingBy(configDataEO -> configDataEO.getParamsConfigId())); + + List> paramsConfigDataCountList = new ArrayList<>(); + + for (Map.Entry> map : paramsConfigDataMap.entrySet()) { + Map paramsConfigDataCountMap = new HashMap<>(); + paramsConfigDataCountMap.put("key", map.getKey()); + paramsConfigDataCountMap.put("paramsConfigDataCount", map.getValue().size()); + paramsConfigDataCountMap.put("value", map.getValue()); + paramsConfigDataCountList.add(paramsConfigDataCountMap); + } + + // 排序 配置数据总数倒序排序 + Collections.sort(paramsConfigDataCountList, new Comparator>() { + @Override + public int compare(Map o1, Map o2) { + return o2.get("paramsConfigDataCount").toString().compareTo(o1.get("paramsConfigDataCount").toString()); + } + }); + + // 获取出最多行的配置列。 + if (!paramsConfigDataCountList.isEmpty()) { + Map paramsConfigDataMaxCountMap = paramsConfigDataCountList.get(0); + String key = (String) paramsConfigDataMaxCountMap.get("key"); + List paramsConfigDataEOs = paramsConfigDataMap.get(key); + for (ParamsConfigDataEO paramsConfigDataEO : paramsConfigDataEOs) { + Map dataTemp = new HashMap<>(); + data.entrySet().forEach(o -> dataTemp.put(o.getKey(), o.getValue())); + exportDataList.add(dataTemp); + } + } else { + exportDataList.add(data); + } + } + List nioNumberList = dataList.stream().map(m -> (String) m.get("nio_number")).collect(Collectors.toList()); List certCategoryParamsInfoPublishEOList = certCategoryParamsInfoPublishEOService.queryListByVersionAndNio(paramsTemplateId, paramsTemplatePublishVersion, nioNumberList); //查询所有认证类别参数项 @@ -4477,7 +4523,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl stateMap = CollectManifestStateEnum.toMap(cut); // 插入配置列和认证类别列数据 - for (Map record1 : dataList) { + for (Map record1 : exportDataList) { String paramsCollectManifestId = (String) record1.get("id"); String nioNumber = (String) record1.get("nio_number"); @@ -4547,7 +4593,13 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl { // 参数配置 String paramsConfigId = paramsConfigEO.getId(); - List paramsConfigDataEOS = paramsConfigDataEOList.stream().filter(e -> paramsConfigId.equals(e.getParamsConfigId()) && paramsCollectManifestId.equals(e.getParamsCollectManifestId())).collect(Collectors.toList()); // 参数配置数据 + List paramsConfigDataEOS = paramsConfigDataEOList.stream().filter(e -> { + boolean flag = false; + if(StringUtils.equals(paramsConfigId,e.getParamsConfigId()) && StringUtils.equals(paramsCollectManifestId,e.getParamsCollectManifestId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); // 参数配置数据 StringBuilder configDataBuilder = new StringBuilder(); // 重新组合配置数据 if (CollectionUtil.isNotEmpty(paramsConfigDataEOS)) { ParamsConfigDataEO paramsConfigDataEO = paramsConfigDataEOS.get(0); @@ -4565,7 +4617,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl