文档库--数据导出处理对应标准,代替标准,被代替标准

This commit is contained in:
zhn
2022-03-02 14:28:21 +08:00
parent b4627a9a31
commit 41ef060a89
2 changed files with 55 additions and 2 deletions
@@ -123,7 +123,7 @@
<select id="getFieldList" resultType="com.jero.generater.modules.online.cgform.entity.OnlCgformField">
select * from onl_cgform_field ocf
left join onl_cgform_head och on ocf.cgform_head_id = och.id
where table_name =#{tableName} and is_delete = 0
where table_name =#{tableName} and ocf.is_delete = 0
order by order_num asc
</select>
@@ -994,7 +994,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
String fieldStr = fieldSb.substring(0, fieldSb.length() - 1);
String field = " bdl.id,bdl.serial_number,bdl.title,bdl.state,of.file_name,of.connect_id," + fieldStr
String field = " of.id,bdl.serial_number,bdl.title,bdl.state,of.file_name,of.connect_id," + fieldStr
+ " from oss_file of join buss_document_library bdl" + join.toString();
//查询条件
@@ -1386,6 +1386,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
String condition = getConditionStr(map);
//导出数据(全部导出的数据)
List<Map<String, Object>> datas = bussDocumentLibraryEOMapper.getInfoList(" " + StringUtils.join(conditionFieldList, ","), condition);
//处理对应标准,代替标准,被代替标准(由id转中文)
getStandard(datas);
//部分导出
String partId = (String) map.get("id");
if (StringUtils.isNotBlank(partId)) {
@@ -1471,6 +1473,57 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
}
/**
* 处理对应标准,代替标准,被代替标准(由id转中文)
* @param datas
*/
private void getStandard(List<Map<String, Object>> datas) {
List<Map<String, Object>> datasTemp = new ArrayList<>();
for (Map<String, Object> data : datas) {
Map<String,Object> mapTemp = new HashMap<>();
mapCopy(data,mapTemp);
datasTemp.add(mapTemp);
}
for (Map<String, Object> data : datas) {
String idTemp = (String) data.get("id");
String correspondingStandard = (String) data.get("corresponding_standard");
String replaceStandard = (String) data.get("replace_standard");
StringBuilder correspondingStandardSb = new StringBuilder();
StringBuilder replaceStandardSb = new StringBuilder();
StringBuilder replacedStandardSb = new StringBuilder();
datasTemp.forEach(entry->{
String id = (String) entry.get("id");
String replaceStandardTemp = (String) entry.get("replace_standard");
//对应标准
if(StringUtils.isNotBlank(correspondingStandard) && correspondingStandard.contains(id)){
correspondingStandardSb.append((String) entry.get("serial_number")+",");
}
//代替标准
if(StringUtils.isNotBlank(replaceStandard) && replaceStandard.contains(id)){
replaceStandardSb.append((String) entry.get("serial_number")+",");
}
//被代替标准
if(StringUtils.isNotBlank(replaceStandardTemp) && replaceStandardTemp.contains(idTemp)){
replacedStandardSb.append((String) entry.get("serial_number")+",");
}
});
//对应标准
if(StringUtils.isNotBlank(correspondingStandardSb)){
String correspondingStandardStr = correspondingStandardSb.substring(0, correspondingStandardSb.length() - 1);
data.put("corresponding_standard",correspondingStandardStr);
}
//代替标准
if(StringUtils.isNotBlank(replaceStandardSb)){
String replaceStandardStr = replaceStandardSb.substring(0, replaceStandardSb.length() - 1);
data.put("replace_standard",replaceStandardStr);
}
if(StringUtils.isNotBlank(replacedStandardSb)){
String replacedStandardStr = replacedStandardSb.substring(0, replacedStandardSb.length() - 1);
data.put("replaced_standard",replacedStandardStr);
}
}
}
public void createDatas(Workbook workbook, Sheet sheet, List<Map<String, Object>> datas, String header, List<OnlCgformField> fieldList,String cut) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象