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 cb6d235fc..a17add4ce 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 @@ -4092,12 +4092,54 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); List paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据 + List exportDataList = new ArrayList<>(); + // 配置列多行数据处理 + for (ParamsCollectManifestEO collectManifestEO : dataList) { + String id = collectManifestEO.getId(); + + 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()); + } + }); + + // 获取出最多行的配置列。 + Map paramsConfigDataMaxCountMap = paramsConfigDataCountList.get(0); + String key = (String) paramsConfigDataMaxCountMap.get("key"); + List paramsConfigDataEOs = paramsConfigDataMap.get(key); + for (ParamsConfigDataEO paramsConfigDataEO : paramsConfigDataEOs) { + ParamsCollectManifestEO paramsCollectManifestEOTemp = new ParamsCollectManifestEO(); + BeanUtils.copyProperties(collectManifestEO,paramsCollectManifestEOTemp); + exportDataList.add(paramsCollectManifestEOTemp); + } + } + Map isMustMap = ParamsIsMustEnum.toMapForExport(cut); Map controlVerifyMap = ControlVerifyEnum.toMapForExport(cut); Map controlTypeMap = ControlTypeEnum.toMapForExport(cut); // 插入配置列和认证类别列数据 List> result = new ArrayList<>(); - for (ParamsCollectManifestEO collectManifestEO: dataList) { + /*for (ParamsCollectManifestEO collectManifestEO: exportDataList) { Map record1 = objectToMapDre(collectManifestEO); String controlType = (String) record1.get("control_type"); String controlVerify = (String) record1.get("control_verify"); @@ -4250,6 +4292,169 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl record1 = objectToMapDre(collectManifestEO); + String controlType = (String) record1.get("control_type"); + String controlVerify = (String) record1.get("control_verify"); + String isMust = (String) record1.get("is_must"); + String paramsCollectManifestId = (String) record1.get("id"); + String nioNumber = (String) record1.get("nio_number"); + + record1.put("is_must", isMustMap.get(isMust)); + record1.put("control_type", controlTypeMap.get(controlType)); + record1.put("control_verify", controlVerifyMap.get(controlVerify)); + + // 处理参考列,没引用过则不显示该列 + if (StringUtils.isNotEmpty(paramsManifestEO.getReferencesColName())) { + List referencesColList = Arrays.asList(collectManifestEO.getReferencesCol().split("#")); + StringBuilder referencesColBuilder = new StringBuilder(); + if (!" ".equals(referencesColList.get(0))) { + referencesColBuilder.append(referencesColList.get(0)).append("#"); + } + if (!" ".equals(referencesColList.get(1))) { + referencesColBuilder.append(referencesColList.get(1).replaceAll(",", "!")).append("#"); + } + if (!" ".equals(referencesColList.get(2))) { + List ossFileList = ossFileService.getFileInfosByConnectId(referencesColList.get(2)); + if (CollectionUtil.isNotEmpty(ossFileList)) { + referencesColBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()).append("#"); + } + } + + String referencesCol = referencesColBuilder.toString(); + if (referencesCol.endsWith("#")) { + referencesCol = referencesCol.substring(0, referencesCol.lastIndexOf("#")); + } + record1.put("references_col", referencesCol); + + } else { + record1.remove("references_col"); + } + // 配置列 + if (CollectionUtil.isNotEmpty(paramsConfigEOList)) { + List fileList = new ArrayList<>(); + + paramsConfigEOList.forEach(paramsConfigEO -> { // 参数配置 + + String paramsConfigId = paramsConfigEO.getId(); + // 参数配置数据 + List paramsConfigDataEOS = paramsConfigDataEOList.stream().filter(e-> { + boolean flag = false; + // && StringUtils.equals(e.getId(),paramsConfigDataId) + if(paramsConfigId.equals(e.getParamsConfigId()) && paramsCollectManifestId.equals(e.getParamsCollectManifestId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + StringBuilder configDataBuilder = new StringBuilder(); // 重新组合配置数据 + if (CollectionUtil.isNotEmpty(paramsConfigDataEOS)) { + ParamsConfigDataEO paramsConfigDataEO = paramsConfigDataEOS.get(0); + + if (ControlTypeEnum.TEXT.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { + configDataBuilder.append(paramsConfigDataEO.getTextData()); + } + + } else if (ControlTypeEnum.PULL_SINGLE.getValue().equals(controlType) + || ControlTypeEnum.PULL_MORE.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { + configDataBuilder.append(paramsConfigDataEO.getPullData().replaceAll(",", "!")); + } + + } else if (ControlTypeEnum.FILE.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { + List ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); + if (CollectionUtil.isNotEmpty(ossFileList)) { + configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()); + + fileList.addAll(ossFileList); + } + + } + + } else if (ControlTypeEnum.TEXT_PULL_SINGLE.getValue().equals(controlType) + || ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(controlType)) { + + if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { + configDataBuilder.append(paramsConfigDataEO.getTextData()); + } + + configDataBuilder.append("#"); + + if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { + configDataBuilder.append(paramsConfigDataEO.getPullData().replaceAll(",", "!")); + } + + } else if (ControlTypeEnum.TEXT_FILE.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { + configDataBuilder.append(paramsConfigDataEO.getTextData()); + } + + configDataBuilder.append("#"); + if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { + List ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); + if (CollectionUtil.isNotEmpty(ossFileList)) { + configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()); + + fileList.addAll(ossFileList); + } + + } + + } else if (ControlTypeEnum.PULL_SINGLE_FILE.getValue().equals(controlType) + || ControlTypeEnum.PULL_MORE_FILE.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { + configDataBuilder.append(paramsConfigDataEO.getPullData().replaceAll(",", "!")); + } + + configDataBuilder.append("#"); + if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { + List ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); + if (CollectionUtil.isNotEmpty(ossFileList)) { + configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()); + + fileList.addAll(ossFileList); + } + + } + + } else if (ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { + configDataBuilder.append(paramsConfigDataEO.getTextData()); + } + configDataBuilder.append("#"); + if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { + configDataBuilder.append(paramsConfigDataEO.getPullData().replaceAll(",", "!")); + } + configDataBuilder.append("#"); + if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { + List ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); + if (CollectionUtil.isNotEmpty(ossFileList)) { + configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()); + + fileList.addAll(ossFileList); + } + + } + + } + paramsConfigDataEOList.remove(paramsConfigDataEO); + } + + String configData = configDataBuilder.toString(); + if (StringUtils.isNotEmpty(configData) && "".equals(configData.replace("#", ""))) { + configData = configData.replace("#", ""); + } + + record1.put(paramsConfigEO.getId(), configData); + }); + + record1.put("fileList", fileList); + } + result.add(record1); } return result; @@ -4695,7 +4900,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl