feat: There is no way the, bug #52285

This commit is contained in:
super_liu
2022-04-06 01:01:33 +08:00
parent 57f550c0bf
commit 9540bb3192
7 changed files with 148 additions and 58 deletions
@@ -47,8 +47,8 @@ public class FieldConvertUtil {
"EOP实施日期(文本),责任部门,相关部门,SVPPS,FO,项目评估角色,法规维护人,代替标准编号," +
"对应其他标准,文字描述,等效标准,引用标准,被引用标准,覆盖关系";
public static String exportBaseFieldNamesLaws = "政策分类,政策编号,中文名称,英文名称,政策文号,发文日期,发文单位,征集意见周期-起始时间,征集意见周期-结束时间,文本状态," +
"适用区域,适用车型,是否纳入认证清单,年度,福田转发通知文号,信息简报,标签,备注";
public static String exportBaseFieldNamesLaws = "政策分类,政策编号,政策名称,英文名称,政策文号,发文日期,发文单位,征集意见周期-起始时间,征集意见周期-结束时间,文本状态," +
"适用区域,适用车型,是否纳入认证清单,年度,福田转发通知文号,信息简报,标签,备注(最终政策发布)";
public static String exportAttrFieldNamesLaws = "适用车辆类型,要求类型," +
"个性化标签,政策文本,过程稿件,新车型实施日期(文本),在产车实施日期(文本),EOP实施日期(文本),SVPPS," +
@@ -2,6 +2,7 @@ package com.adc.da.utils.util;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoExport;
import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.usermodel.*;
@@ -10,10 +11,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 标准导出工具
@@ -24,11 +23,11 @@ public class LawsStandExportUtil {
private static final Logger logger = LoggerFactory.getLogger(LawsStandExportUtil.class);
public static Workbook exportDatas (List<SarLawsStandInfo> datas) {
public static Workbook exportDatas (List<SarLawsStandInfoExport> datas) {
Workbook workbook = new XSSFWorkbook();
try {
StringBuilder attrBud = new StringBuilder();
List<SarStandAttrDetails> detailsEOList = InitStandAttrUtil.lawsStandAttrFieldList;
List<SarStandAttrDetails> detailsEOList = InitStandAttrUtil.lawsForeignAttrFieldList;
Map<String,String> attrInfoMap = new HashMap<>();
for (SarStandAttrDetails detailsEO : detailsEOList) {
if (!InitStandAttrUtil.fileFieldListLaws.contains(detailsEO.getAttrField())) {
@@ -62,13 +61,13 @@ public class LawsStandExportUtil {
}
}
public static void createDatas(Workbook workbook,Sheet sheet,List<SarLawsStandInfo> datas,
public static void createDatas(Workbook workbook,Sheet sheet,List<SarLawsStandInfoExport> datas,
String header,Map<String,String> attrInfoMap) throws Exception{
CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象
cellStyle.setAlignment(HorizontalAlignment.CENTER);
if (datas != null && !datas.isEmpty()) {
for (int i=0;i < datas.size(); i++) {
SarLawsStandInfo sarStandardsInfoEO = datas.get(i);
SarLawsStandInfoExport sarStandardsInfoEO = datas.get(i);
Row row = sheet.createRow(i+1);
String[] headerArr = header.split(",");
int sheetNum = 0;
@@ -85,7 +84,7 @@ public class LawsStandExportUtil {
}
// 根据表头返回相应值
public static String getValueByName (String name,SarLawsStandInfo sarStandardsInfoEO,Map<String,String> attrInfoMap) throws Exception{
public static String getValueByName (String name,SarLawsStandInfoExport sarStandardsInfoEO,Map<String,String> attrInfoMap) throws Exception{
String value = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Map<String,Object> attrValueMap = sarStandardsInfoEO.getAttrInfoMap();
@@ -96,7 +95,7 @@ public class LawsStandExportUtil {
case "政策编号":
value = verifyBean(sarStandardsInfoEO.getLawsNumber());
break;
case "中文名称":
case "政策名称":
value = verifyBean(sarStandardsInfoEO.getLawsName());
break;
case "英文名称":
@@ -114,6 +113,11 @@ public class LawsStandExportUtil {
issueTime=sarStandardsInfoEO.getIssueTime();
}
value = issueTime;
if(StringUtils.isNotBlank(value)){
if (value.length()>10){
value = value.substring(0,10);
}
}
break;
case "发文单位":
value = verifyBean(sarStandardsInfoEO.getIssueCompany());
@@ -126,6 +130,11 @@ public class LawsStandExportUtil {
commentCycleStart=sarStandardsInfoEO.getCommentCycleStart();
}
value = commentCycleStart;
if(StringUtils.isNotBlank(value)){
if (value.length()>10){
value = value.substring(0,10);
}
}
break;
case "征集意见周期-结束时间":
String commentCycleEnd="";
@@ -135,6 +144,11 @@ public class LawsStandExportUtil {
commentCycleEnd=sarStandardsInfoEO.getCommentCycleEnd();
}
value = commentCycleEnd;
if(StringUtils.isNotBlank(value)){
if (value.length()>10){
value = value.substring(0,10);
}
}
break;
case "文本状态":
value = verifyBean(sarStandardsInfoEO.getStandStatusShow());
@@ -160,14 +174,25 @@ public class LawsStandExportUtil {
case "标签":
value = verifyBean(sarStandardsInfoEO.getLawsLabel());
break;
case "备注":
case "备注(最终政策发布)":
value = verifyBean(sarStandardsInfoEO.getLawsRemark());
break;
default:
List<String> list = new ArrayList<>();
List<String > dateList = InitStandAttrUtil.timeFieldListLaws;
List<String > dateList2 = InitStandAttrUtil.multiTimeFieldListLaws;
list.addAll(dateList);
list.addAll(dateList2);
String field = attrInfoMap.get(name);
if (attrValueMap != null) {
List<String> finalData = list.stream().filter(field::contains).collect(Collectors.toList());
value = String.valueOf(attrValueMap.get(field));
}
if (!finalData.isEmpty()) {
if (value.length()>10){
value = value.substring(0,10);
}
}
}
break;
}
return value;