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 a67d5f414..a905e169a 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 @@ -2474,13 +2474,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl fieldList = Arrays.asList(field.split(",")); // list形式 // 查询导出数据 - List> allParamsInfoList = queryForExportDre(paramsCollectManifestVO); // id记得去掉 + List> allParamsInfoList = queryForExportDre(paramsCollectManifestVO, request); // id记得去掉 // 在excel表中添加表头 XSSFRow row = sheetItems.createRow(0); @@ -2536,7 +2533,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> queryForExportDre(ParamsCollectManifestVO paramsCollectManifestVO) { + private List> queryForExportDre(ParamsCollectManifestVO paramsCollectManifestVO, HttpServletRequest req) { String paramsManifestId = paramsCollectManifestVO.getParamsManifestId(); -// String paramsTemplateId = paramsCollectManifestVO.getParamsTemplateId(); -// Integer paramsTemplatePublishVersion = paramsCollectManifestVO.getParamsTemplatePublishVersion(); String cut = paramsCollectManifestVO.getCut(); - String ids = paramsCollectManifestVO.getIds(); + List idList = new ArrayList<>(); + if (StringUtils.isNotBlank(paramsCollectManifestVO.getIds())) { + idList = Arrays.asList(paramsCollectManifestVO.getIds().split(",")); + } + List stateList = new ArrayList(){{ + add(CollectManifestStateEnum.WAIT_FILL.getValue()); + add(CollectManifestStateEnum.CERT_BACK.getValue()); + }}; LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - ParamsCollectManifestEO queryEO = new ParamsCollectManifestEO(); - queryEO.setParamsManifestId(paramsManifestId); + ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(paramsCollectManifestEO, req.getParameterMap()); + queryWrapper.lambda().eq(ParamsCollectManifestEO::getParamsManifestId, paramsManifestId) + .eq(ParamsCollectManifestEO::getDre, loginUser.getUsername()) + .in(ParamsCollectManifestEO::getState, stateList) + .notIn(ParamsCollectManifestEO::getControlType, ControlTypeEnum.Title.getValue()) + .orderByDesc(ParamsCollectManifestEO::getDelFlag) + .orderByDesc(ParamsCollectManifestEO::getAddFlag) + .orderByDesc(ParamsCollectManifestEO::getChangeFlag) + .orderByAsc(ParamsCollectManifestEO::getNioNumber) + .in(CollectionUtil.isNotEmpty(idList), ParamsCollectManifestEO::getId, idList); -// String userTypes = paramsCollectManifestVO.getUserTypes(); - queryEO.setUserTypes(CollectManifestUserTypeEnum.DRE.getValue()); - queryEO.setDreForAuth(loginUser.getUsername()); - queryEO.setState(CollectManifestStateEnum.WAIT_FILL.getValue() + "," + CollectManifestStateEnum.CERT_BACK.getValue()); - - List> dataList = paramsCollectManifestEOMapper.listInfoForExport(queryEO, ids); // 查询导出数据 + List dataList = list(queryWrapper); // 查询导出数据 if (dataList == null || dataList.isEmpty()){ // 没有查到数据,进行提示 if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) { @@ -3177,7 +3184,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl controlVerifyMap = ControlVerifyEnum.toMapForExport(cut); Map controlTypeMap = ControlTypeEnum.toMapForExport(cut); // 插入配置列和认证类别列数据 - for (Map record1 : dataList) { + List> result = new ArrayList<>(); + for (ParamsCollectManifestEO collectManifestEO: dataList) { + Map record1 = objectToMapDre(collectManifestEO); String controlType = (String) record1.get("control_type"); String controlVerify = (String) record1.get("control_verify"); String isMust = (String) record1.get("is_must"); @@ -3186,8 +3195,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl fileTemplateList,Map fileNowPathMap) { @@ -3305,6 +3315,80 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl objectToMapDre(Object obj) { + + Map map = new HashMap<>(); + // 获取f对象对应类中的所有属性域 + List list = findAllFieldsOfSelfAndSuperClass(obj.getClass()); + for (Field field : list) { + + String varName = field.getName(); + try { + // 获取原来的访问控制权限 + boolean accessFlag = field.isAccessible(); + // 修改访问控制权限 + field.setAccessible(true); + // 获取在对象f中属性fields[i]对应的对象中的变量 + Object o = field.get(obj); + if (o != null) { + if (Date.class.equals(field.getType())) { + Date date = (Date) o; + String pattern = ""; + if ("deadline".equals(varName) || "reportTime".equals(varName)) { + pattern = "yyyy-MM-dd"; + } else { + pattern = "yyyy-MM-dd HH:mm:ss"; + } + SimpleDateFormat formatter=new SimpleDateFormat(pattern); + String time=formatter.format(date); + map.put(toUnderlineCase(varName), time); + } else { + map.put(toUnderlineCase(varName), o); + } + } + // 恢复访问控制权限 + field.setAccessible(accessFlag); + } catch (IllegalArgumentException ex) { + ex.printStackTrace(); + } catch (IllegalAccessException ex) { + ex.printStackTrace(); + } + } + return map; + + } + + /** + * 驼峰转 转 下划线 + * userName ----> user_name + * user_name ----> user_name + * + * @param camelCaseStr 驼峰字符串 + * @return 带下滑线的String + */ + private String toUnderlineCase(String camelCaseStr) { + if (camelCaseStr == null) { + return null; + } + // 将驼峰字符串转换成数组 + char[] charArray = camelCaseStr.toCharArray(); + StringBuffer buffer = new StringBuffer(); + //处理字符串 + for (int i = 0, l = charArray.length; i < l; i++) { + if (charArray[i] >= 65 && charArray[i] <= 90) { + buffer.append("_").append(charArray[i] += 32); + } else { + buffer.append(charArray[i]); + } + } + return buffer.toString(); + } + /** * 通过实体类获取 URL Params *