认证-参数收集清单-填写人导出bug修改

This commit is contained in:
liyawei
2022-11-01 15:53:40 +08:00
parent adf6801f67
commit 9aecd42e05
@@ -2474,13 +2474,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
cellStyle.setWrapText(true);
// cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER);
cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
XSSFCellStyle cellStyle1 =workbook.createCellStyle();
cellStyle1.setAlignment(XSSFCellStyle.ALIGN_CENTER);
XSSFCellStyle cellStyleLink =workbook.createCellStyle();
XSSFFont font = workbook.createFont();
font.setColor(HSSFColor.LIGHT_BLUE.index);
cellStyleLink.setFont(font);
cellStyleLink.setWrapText(true);
//合并单元格
CellRangeAddress region1 =
new CellRangeAddress(1, 1, 0, headers.length - 1); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
@@ -2491,7 +2488,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
List<String> fieldList = Arrays.asList(field.split(",")); // list形式
// 查询导出数据
List<Map<String, Object>> allParamsInfoList = queryForExportDre(paramsCollectManifestVO); // id记得去掉
List<Map<String, Object>> allParamsInfoList = queryForExportDre(paramsCollectManifestVO, request); // id记得去掉
// 在excel表中添加表头
XSSFRow row = sheetItems.createRow(0);
@@ -2536,7 +2533,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
XSSFCell cell3 = row3.createCell(i);
XSSFRichTextString text = new XSSFRichTextString(exampleRow[i]);
cell3.setCellValue(text);
cell3.setCellStyle(cellStyle1);
cell3.setCellStyle(cellStyle);
sheetItems.setColumnWidth(i, 20 * 256); // 设置单元格宽度
}
@@ -2589,7 +2586,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
}
} finally {
// IOUtils.closeQuietly(os);
IOUtils.closeQuietly(os);
IOUtils.closeQuietly(excelOS);
File tempZipFile = new File(uploadpath + "/tempZip");
FileUtil.deleteContents(tempZipFile);
@@ -2982,7 +2979,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
dbFieldExampleList.add("是/否");
} else {
dbFieldExampleList.add("下拉多选#文本");
dbFieldExampleList.add("下拉多选+文本");
}
}else{
dbFieldNameList.add(onlCgformField.getDbFieldEnName()); // 字段英文名
@@ -3017,6 +3014,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
if (ConfigLockEnum.NO.getValue().equals(paramsConfigEO.getIsLock())) { // 只导出未冻结的配置列
dbFieldListConfig.add(paramsConfigEO.getId());
dbFieldNameListConfig.add(paramsConfigEO.getConfigName());
dbFieldExampleList.add("XXXXXX#XXXXX");
}
}
@@ -3146,24 +3144,33 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
}
// 导出待填写数据,可以勾选导出
private List<Map<String, Object>> queryForExportDre(ParamsCollectManifestVO paramsCollectManifestVO) {
private List<Map<String, Object>> 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<String> idList = new ArrayList<>();
if (StringUtils.isNotBlank(paramsCollectManifestVO.getIds())) {
idList = Arrays.asList(paramsCollectManifestVO.getIds().split(","));
}
List<String> stateList = new ArrayList<String>(){{
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<ParamsCollectManifestEO> 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<Map<String, Object>> dataList = paramsCollectManifestEOMapper.listInfoForExport(queryEO, ids); // 查询导出数据
List<ParamsCollectManifestEO> dataList = list(queryWrapper); // 查询导出数据
if (dataList == null || dataList.isEmpty()){
// 没有查到数据,进行提示
if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) {
@@ -3177,7 +3184,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
Map<String,String> controlVerifyMap = ControlVerifyEnum.toMapForExport(cut);
Map<String,String> controlTypeMap = ControlTypeEnum.toMapForExport(cut);
// 插入配置列和认证类别列数据
for (Map<String, Object> record1 : dataList) {
List<Map<String, Object>> result = new ArrayList<>();
for (ParamsCollectManifestEO collectManifestEO: dataList) {
Map<String, Object> 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<ParamsCollec
record1.put("control_type", controlTypeMap.get(controlType));
record1.put("control_verify", controlVerifyMap.get(controlVerify));
result.add(record1);
}
return dataList;
return result;
}
private void downLoadFileList(List<OSSFile> fileTemplateList,Map<String ,String> fileNowPathMap) {
@@ -3305,6 +3315,80 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
}
/**
* 将对象转Map
* @param obj 待转对象
* @return
*/
private Map<String, Object> objectToMapDre(Object obj) {
Map<String, Object> map = new HashMap<>();
// 获取f对象对应类中的所有属性域
List<Field> 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
*