Merge branch 'fix_2nd_period'

# Conflicts:
#	jero-boot/db/蔚来标准sql/dev_2nd_period.sql
This commit is contained in:
高嵩
2022-12-16 17:55:57 +08:00
7 changed files with 295 additions and 205 deletions
@@ -33,6 +33,12 @@ ALTER TABLE `laws_weilai`.`params_manifest`
ALTER TABLE `laws_weilai`.`params_manifest_history` ALTER TABLE `laws_weilai`.`params_manifest_history`
ADD COLUMN `project_version_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目相关版本对应的项目id' AFTER `explanation`; ADD COLUMN `project_version_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目相关版本对应的项目id' AFTER `explanation`;
-- 项目库添加字段(技术领域补充(中文),技术领域补充(英文))--------2022-12-05 未同步生产环境
ALTER TABLE `laws_weilai`.`laws_monthly_report_write`
ADD COLUMN `technology_territory_cn` varchar(500) NULL COMMENT '技术领域补充(中文)' AFTER `memories_chapter_one`,
ADD COLUMN `technology_territory_en` varchar(500) NULL COMMENT '技术领域补充(英文)' AFTER `technology_territory_cn`;
-- 认证参数 添加字段--------2022-12-01 已同步生产环境 -- 认证参数 添加字段--------2022-12-01 已同步生产环境
ALTER TABLE `laws_weilai`.`params_report_detail` ALTER TABLE `laws_weilai`.`params_report_detail`
ADD COLUMN `remarks` varchar(255) NULL COMMENT '备注' AFTER `title_default_value`; ADD COLUMN `remarks` varchar(255) NULL COMMENT '备注' AFTER `title_default_value`;
@@ -104,6 +104,14 @@ public class LawsMonthlyReportWriteEO implements Serializable {
@ApiModelProperty(value = "相关领域") @ApiModelProperty(value = "相关领域")
private java.lang.String technologyTerritory; private java.lang.String technologyTerritory;
@ApiModelProperty(value = "技术领域补充中文")
private java.lang.String technologyTerritoryCn;
@ApiModelProperty(value = "相关领域补充英文")
private java.lang.String technologyTerritoryEn;
@TableField(exist = false) @TableField(exist = false)
private java.lang.String technologyTerritoryName; private java.lang.String technologyTerritoryName;
@@ -71,8 +71,8 @@ public class WordUtil {
String flag) { String flag) {
//设置标题级别 //设置标题级别
if(StringUtils.isNotEmpty(directoryLevel)){ if (StringUtils.isNotEmpty(directoryLevel)) {
addCustomHeadingStyle(document,styleName,Integer.parseInt(directoryLevel)); addCustomHeadingStyle(document, styleName, Integer.parseInt(directoryLevel));
} }
XWPFParagraph titleParagraph = document.createParagraph(); XWPFParagraph titleParagraph = document.createParagraph();
@@ -80,10 +80,10 @@ public class WordUtil {
//设置行间距 //设置行间距
if(!"cover".equals(flag) && !"oneTitle".equals(flag)){ if (!"cover".equals(flag) && !"oneTitle".equals(flag)) {
CTP ctp = titleParagraph.getCTP(); CTP ctp = titleParagraph.getCTP();
CTPPr ppr = ctp.isSetPPr() ? ctp.getPPr() : ctp.addNewPPr(); CTPPr ppr = ctp.isSetPPr() ? ctp.getPPr() : ctp.addNewPPr();
CTSpacing spacing = ppr.isSetSpacing()? ppr.getSpacing() : ppr.addNewSpacing(); CTSpacing spacing = ppr.isSetSpacing() ? ppr.getSpacing() : ppr.addNewSpacing();
spacing.setAfter(BigInteger.valueOf(120));//行间距后段为6磅 spacing.setAfter(BigInteger.valueOf(120));//行间距后段为6磅
spacing.setBefore(BigInteger.valueOf(300));//行间距前段为15磅, 300是通过单位换算来的 spacing.setBefore(BigInteger.valueOf(300));//行间距前段为15磅, 300是通过单位换算来的
// //设置行距类型为 EXACT // //设置行距类型为 EXACT
@@ -101,7 +101,7 @@ public class WordUtil {
XWPFRun titleParagraphRun = titleParagraph.createRun(); XWPFRun titleParagraphRun = titleParagraph.createRun();
//封面中的换行 //封面中的换行
if("break".equals(flag)){ if ("break".equals(flag)) {
titleParagraphRun.addBreak(); titleParagraphRun.addBreak();
} }
if (isNewline) { if (isNewline) {
@@ -180,7 +180,7 @@ public class WordUtil {
//主要内容生成页眉页脚(office版本) //主要内容生成页眉页脚(office版本)
@SneakyThrows @SneakyThrows
public static void exportHeardAndFoot(XWPFDocument document,String month,String cut){ public static void exportHeardAndFoot(XWPFDocument document, String month, String cut) {
XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy(); XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy();
if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy(); if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy();
XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT); XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
@@ -198,18 +198,18 @@ public class WordUtil {
// InputStream is = new FileInputStream(imgFile); // InputStream is = new FileInputStream(imgFile);
XWPFPicture picture = run.addPicture(is, XWPFDocument.PICTURE_TYPE_PNG, imgFile, Units.toEMU(95), Units.toEMU(35)); XWPFPicture picture = run.addPicture(is, XWPFDocument.PICTURE_TYPE_PNG, imgFile, Units.toEMU(95), Units.toEMU(35));
String blipID = ""; String blipID = "";
for(XWPFPictureData picturedata : header.getAllPackagePictures()) { //这段必须有,不然打开的logo图片不显示 for (XWPFPictureData picturedata : header.getAllPackagePictures()) { //这段必须有,不然打开的logo图片不显示
blipID = header.getRelationId(picturedata); blipID = header.getRelationId(picturedata);
} }
picture.getCTPicture().getBlipFill().getBlip().setEmbed(blipID); picture.getCTPicture().getBlipFill().getBlip().setEmbed(blipID);
run.addTab(); run.addTab();
is.close(); is.close();
if(CutEnum.CN.getValue().equals(cut)){ if (CutEnum.CN.getValue().equals(cut)) {
run.setText(" "+month+" (总第 期)"); run.setText(" " + month + " (总第 期)");
}else{ } else {
String replace = month.replace("年", " ").replace("月", ""); String replace = month.replace("年", " ").replace("月", "");
String monthTemp = replace.split(" ")[1]+"/"+replace.split(" ")[0]; String monthTemp = replace.split(" ")[1] + "/" + replace.split(" ")[0];
run.setText(" "+monthTemp+" (Issue No. )"); run.setText(" " + monthTemp + " (Issue No. )");
} }
run.setFontSize(11); run.setFontSize(11);
@@ -255,7 +255,6 @@ public class WordUtil {
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
CTSectPr sectPr = document.getDocument().getBody().getSectPr(); CTSectPr sectPr = document.getDocument().getBody().getSectPr();
if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr(); if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr();
//设置页面大小(21*29.7) //设置页面大小(21*29.7)
@@ -362,11 +361,12 @@ public class WordUtil {
/** /**
* 主页面(只有页脚) * 主页面(只有页脚)
*
* @param document * @param document
* @param month * @param month
*/ */
@SneakyThrows @SneakyThrows
public static void exportHeardAndFootMain(XWPFDocument document,String month){ public static void exportHeardAndFootMain(XWPFDocument document, String month) {
XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy(); XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy();
if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy(); if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy();
// XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT); // XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
@@ -522,6 +522,8 @@ public class WordUtil {
String cut, String cut,
List<LoginUser> loginUserList) { List<LoginUser> loginUserList) {
String technologyTerritory = lawsMonthlyReportWriteEO.getTechnologyTerritory();//技术领域 String technologyTerritory = lawsMonthlyReportWriteEO.getTechnologyTerritory();//技术领域
String technologyTerritoryCn = lawsMonthlyReportWriteEO.getTechnologyTerritoryCn();//技术领域补充中文
String technologyTerritoryEn = lawsMonthlyReportWriteEO.getTechnologyTerritoryEn();//技术领域补充英文
String applyCar = lawsMonthlyReportWriteEO.getApplyCar();//适用车型 String applyCar = lawsMonthlyReportWriteEO.getApplyCar();//适用车型
String applyScope = lawsMonthlyReportWriteEO.getApplyScope();//适用范围 String applyScope = lawsMonthlyReportWriteEO.getApplyScope();//适用范围
String state = lawsMonthlyReportWriteEO.getState();//状态 String state = lawsMonthlyReportWriteEO.getState();//状态
@@ -557,7 +559,7 @@ public class WordUtil {
String link = lawsMonthlyReportWriteEO.getLink();//链接 String link = lawsMonthlyReportWriteEO.getLink();//链接
String technologyTerritoryName = ""; String technologyTerritoryName = "";
if(org.apache.commons.lang3.StringUtils.isNotBlank(technologyTerritory)){ if (org.apache.commons.lang3.StringUtils.isNotBlank(technologyTerritory)) {
List<String> technologyTerritoryList = Arrays.asList(technologyTerritory.split(",")); List<String> technologyTerritoryList = Arrays.asList(technologyTerritory.split(","));
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (String technologyTerritoryTemp : technologyTerritoryList) { for (String technologyTerritoryTemp : technologyTerritoryList) {
@@ -566,16 +568,27 @@ public class WordUtil {
sb.append(collect.get(0).getName() + ","); sb.append(collect.get(0).getName() + ",");
} }
} }
//拼接技术领域补充内容
if (cut.equals("cn")) {
if (StringUtils.isNotBlank(technologyTerritoryCn)) {
sb.append(" 补充:"+technologyTerritoryCn);
}
} else {
if (StringUtils.isNotBlank(technologyTerritoryEn)) {
sb.append(" replenish:"+technologyTerritoryEn);
}
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(sb)) { if (org.apache.commons.lang3.StringUtils.isNotBlank(sb)) {
technologyTerritoryName = sb.substring(0, sb.length() - 1); technologyTerritoryName = sb.substring(0, sb.length());
} }
} }
//适用车型中文名 //适用车型中文名
String applyCarName = dictItem(sysDictItems, applyCar,cut, DictCodeReportEnum.APPLYCAR.getValue()); String applyCarName = dictItem(sysDictItems, applyCar, cut, DictCodeReportEnum.APPLYCAR.getValue());
String applyScopeName = dictItem(sysDictItems, applyScope,cut, DictCodeReportEnum.APPLYSCOPE.getValue()); String applyScopeName = dictItem(sysDictItems, applyScope, cut, DictCodeReportEnum.APPLYSCOPE.getValue());
String stateName = dictItem(sysDictItems, state,cut, DictCodeReportEnum.STATE_REPORT.getValue()); String stateName = dictItem(sysDictItems, state, cut, DictCodeReportEnum.STATE_REPORT.getValue());
String useMethodName = dictItem(sysDictItems, useMethod,cut, DictCodeReportEnum.USEMETHOD.getValue()); String useMethodName = dictItem(sysDictItems, useMethod, cut, DictCodeReportEnum.USEMETHOD.getValue());
if(useMethodName.equals("安装即符合")){ if (useMethodName.equals("安装即符合")) {
useMethodName = "安装需符合"; useMethodName = "安装需符合";
} }
XWPFTable table = document.createTable(10, 2); XWPFTable table = document.createTable(10, 2);
@@ -596,56 +609,56 @@ public class WordUtil {
//第1行 //第1行
if(CutEnum.CN.getValue().equals(cut)){ if (CutEnum.CN.getValue().equals(cut)) {
//第1行 //第1行
setCell(table, 0, "相关领域",technologyTerritoryName); setCell(table, 0, "相关领域", technologyTerritoryName);
//第2行 //第2行
// setCell(table,1, "适用车型",applyCarName); // setCell(table,1, "适用车型",applyCarName);
//第3行 //第3行
setCellThree(table,1, "适用范围",applyScopeName,sysDictItems,DictCodeReportEnum.APPLYSCOPE.getValue()); setCellThree(table, 1, "适用范围", applyScopeName, sysDictItems, DictCodeReportEnum.APPLYSCOPE.getValue());
//第4行 //第4行
setCellThree(table,2, "状态",stateName,sysDictItems,DictCodeReportEnum.STATE.getValue()); setCellThree(table, 2, "状态", stateName, sysDictItems, DictCodeReportEnum.STATE.getValue());
//第5行 //第5行
setCellThree(table,3, "用法",useMethodName,sysDictItems,DictCodeReportEnum.USEMETHOD.getValue()); setCellThree(table, 3, "用法", useMethodName, sysDictItems, DictCodeReportEnum.USEMETHOD.getValue());
//第6行 //第6行
// setCell(table,4, "实施车型",implementCar); // setCell(table,4, "实施车型",implementCar);
//第7行 //第7行
setCell(table,4, "发布日期",newCarImplementTime); setCell(table, 4, "发布日期", newCarImplementTime);
//第8行 //第8行
setCell(table,5, "实施日期",productionCarImplementTime); setCell(table, 5, "实施日期", productionCarImplementTime);
//第9行 //第9行
setCell(table,6, "主要内容",contentCn); setCell(table, 6, "主要内容", contentCn);
//第10行 //第10行
setCell(table,7, "NIO工作进展",workProgressCn); setCell(table, 7, "NIO工作进展", workProgressCn);
//第11行 //第11行
setCell(table,8, "法规联系人",lawsContact); setCell(table, 8, "法规联系人", lawsContact);
//第12行 //第12行
setCell(table,9, "链接",link); setCell(table, 9, "链接", link);
}else{ } else {
//第1行 //第1行
setCell(table,0, "Related Areas",technologyTerritoryName); setCell(table, 0, "Relevant Area", technologyTerritoryName);
//第2行 //第2行
// setCell(table,1,"Vehicle Type",applyCarName); // setCell(table,1,"Vehicle Type",applyCarName);
//第3行 //第3行
setCellThree(table,1,"Scope",applyScopeName,sysDictItems,DictCodeReportEnum.APPLYSCOPE.getValue()); setCellThree(table, 1, "Scope", applyScopeName, sysDictItems, DictCodeReportEnum.APPLYSCOPE.getValue());
//第4行 //第4行
setCellThree(table,2,"Status",stateName,sysDictItems,DictCodeReportEnum.APPLYSCOPE.getValue()); setCellThree(table, 2, "Status", stateName, sysDictItems, DictCodeReportEnum.APPLYSCOPE.getValue());
//第5行 //第5行
setCellThree(table,3,"Usage",useMethodName,sysDictItems,DictCodeReportEnum.APPLYSCOPE.getValue()); setCellThree(table, 3, "Usage", useMethodName, sysDictItems, DictCodeReportEnum.APPLYSCOPE.getValue());
//第6行 //第6行
// setCell(table,4,"Implementation Model",implementCar); // setCell(table,4,"Implementation Model",implementCar);
//第7行 //第7行
setCell(table,4,"Release Date",newCarImplementTime); setCell(table, 4, "Release Date", newCarImplementTime);
//第8行 //第8行
setCell(table,5,"Execution Date",productionCarImplementTime); setCell(table, 5, "Effective Date", productionCarImplementTime);
//第9行 //第9行
setCell(table,6,"Main Content",contentEn); setCell(table, 6, "Description", contentEn);
//第10行 //第10行
setCell(table,7,"NIO Work Progress",workProgressEn); setCell(table, 7, "NIO Work Progress", workProgressEn);
//第11行 //第11行
setCell(table,8,"Regulatory Contact",lawsContact); setCell(table, 8, "Reg. Contact", lawsContact);
//第12行 //第12行
setCell(table, 9,"Link",link); setCell(table, 9, "Link", link);
} }
// ctTblLayoutType.setType(STTblLayoutType.FIXED); // ctTblLayoutType.setType(STTblLayoutType.FIXED);
@@ -653,10 +666,11 @@ public class WordUtil {
/** /**
* 已固定长度分隔字符串 * 已固定长度分隔字符串
*
* @param str * @param str
* @return * @return
*/ */
public List<String> splitStr(String str){ public List<String> splitStr(String str) {
//检查参数是否合法 //检查参数是否合法
if (null == str || str.equals("")) { if (null == str || str.equals("")) {
return new ArrayList<>(); return new ArrayList<>();
@@ -666,7 +680,7 @@ public class WordUtil {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) {
if (i < (n - 1)) { if (i < (n - 1)) {
list.add(str.substring(i * length, (i + 1) * length)) ; list.add(str.substring(i * length, (i + 1) * length));
} else { } else {
list.add(str.substring(i * length)); list.add(str.substring(i * length));
} }
@@ -676,30 +690,35 @@ public class WordUtil {
/** /**
* 判断字符串是否完全由数字组成 * 判断字符串是否完全由数字组成
*
* @param str * @param str
* @return * @return
*/ */
public boolean verifyFigure(String str){ public boolean verifyFigure(String str) {
Pattern p = Pattern.compile("[0-9]*"); Pattern p = Pattern.compile("[0-9]*");
Matcher m = p.matcher(str); Matcher m = p.matcher(str);
return m.matches(); return m.matches();
} }
/** /**
* 判断字符串是否完全由字母组成 * 判断字符串是否完全由字母组成
*
* @param str * @param str
* @return * @return
*/ */
public boolean verifyEn(String str){ public boolean verifyEn(String str) {
Pattern enPatten = Pattern.compile("^[a-zA-Z]*"); Pattern enPatten = Pattern.compile("^[a-zA-Z]*");
Matcher enMatch = enPatten.matcher(str); Matcher enMatch = enPatten.matcher(str);
return enMatch.matches(); return enMatch.matches();
} }
/** /**
* 判断字符串是否完全由数字和字母组成 * 判断字符串是否完全由数字和字母组成
*
* @param str * @param str
* @return * @return
*/ */
public boolean verifyFigureAndEn(String str){ public boolean verifyFigureAndEn(String str) {
Pattern figureAndEnPattern = Pattern.compile("[0-9a-zA-Z]{1,}"); Pattern figureAndEnPattern = Pattern.compile("[0-9a-zA-Z]{1,}");
Matcher figureAndEnMatcher = figureAndEnPattern.matcher(str); Matcher figureAndEnMatcher = figureAndEnPattern.matcher(str);
return figureAndEnMatcher.matches(); return figureAndEnMatcher.matches();
@@ -707,6 +726,7 @@ public class WordUtil {
/** /**
* 行业资讯动态 * 行业资讯动态
*
* @param document * @param document
* @param lawsMonthlyReportWriteEO * @param lawsMonthlyReportWriteEO
* @param cut * @param cut
@@ -742,36 +762,37 @@ public class WordUtil {
//第1行 //第1行
if(CutEnum.CN.getValue().equals(cut)){ if (CutEnum.CN.getValue().equals(cut)) {
//第1行 //第1行
setCell(table, 0, "相关领域",relatedAreasCn); setCell(table, 0, "相关领域", relatedAreasCn);
//第2行 //第2行
setCell(table,1, "来源",sourceCn); setCell(table, 1, "来源", sourceCn);
//第3行 //第3行
setCell(table,2, "日期",time); setCell(table, 2, "日期", time);
//第4行 //第4行
setCell(table,3, "主要内容",contentCn); setCell(table, 3, "主要内容", contentCn);
//第5行 //第5行
setCell(table,4, "链接",link); setCell(table, 4, "链接", link);
}else{ } else {
//第1行 //第1行
setCell(table,0, "Related Areas",relatedAreasEn); setCell(table, 0, "Relevant Area", relatedAreasEn);
//第2行 //第2行
setCell(table,1,"Source",sourceEn); setCell(table, 1, "Source", sourceEn);
//第3行 //第3行
setCell(table,2,"Date",time); setCell(table, 2, "Date", time);
//第4行 //第4行
setCell(table,3,"Main Content",contentEn); setCell(table, 3, "Description", contentEn);
//第5行 //第5行
setCell(table,4,"Link",link); setCell(table, 4, "Link", link);
} }
} }
public static void exportWordExcelAsk(XWPFDocument document, public static void exportWordExcelAsk(XWPFDocument document,
LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
String cut) { String cut) {
List<NewOpinionTemplateEO> newOpinionTemplateEOList = lawsMonthlyReportWriteEO.getNewOpinionTemplateEOList(); List<NewOpinionTemplateEO> newOpinionTemplateEOList = lawsMonthlyReportWriteEO.getNewOpinionTemplateEOList();
if(ObjectUtils.isNotEmpty(newOpinionTemplateEOList)){ if (ObjectUtils.isNotEmpty(newOpinionTemplateEOList)) {
XWPFTable table = document.createTable(newOpinionTemplateEOList.size()+1, 4); XWPFTable table = document.createTable(newOpinionTemplateEOList.size() + 1, 4);
//表格属性 //表格属性
CTTblPr tablePr = table.getCTTbl().addNewTblPr(); CTTblPr tablePr = table.getCTTbl().addNewTblPr();
//固定列宽(英文和数字的时候自动换行) //固定列宽(英文和数字的时候自动换行)
@@ -786,30 +807,31 @@ public class WordUtil {
//设置表格宽度 //设置表格宽度
tableWidth.setType(STTblWidth.DXA); tableWidth.setType(STTblWidth.DXA);
tableWidth.setW(BigInteger.valueOf(8311)); tableWidth.setW(BigInteger.valueOf(8311));
if(CutEnum.CN.getValue().equals(cut)){ if (CutEnum.CN.getValue().equals(cut)) {
setCellAskOne(table,"序号","计划号","标准名称","征求意见截止日期"); setCellAskOne(table, "序号", "计划号", "标准名称", "征求意见截止日期");
}else{ } else {
setCellAskOne(table,"Number","Plan Number","Standard Name","Deadline For Comments"); setCellAskOne(table, "Number", "Plan Number", "Standard Name", "Deadline For Comments");
} }
for (int i = 0; i < newOpinionTemplateEOList.size(); i++) { for (int i = 0; i < newOpinionTemplateEOList.size(); i++) {
String planNumberCn = newOpinionTemplateEOList.get(i).getPlanNumberCn();//计划号 String planNumberCn = newOpinionTemplateEOList.get(i).getPlanNumberCn();//计划号
String standardNameCn = newOpinionTemplateEOList.get(i).getStandardNameCn();//标准名称中文 String standardNameCn = newOpinionTemplateEOList.get(i).getStandardNameCn();//标准名称中文
String standardNameEn = newOpinionTemplateEOList.get(i).getStandardNameEn();//标准名称英文 String standardNameEn = newOpinionTemplateEOList.get(i).getStandardNameEn();//标准名称英文
String expirationDate = newOpinionTemplateEOList.get(i).getExpirationDate();//征求意见截止日期 String expirationDate = newOpinionTemplateEOList.get(i).getExpirationDate();//征求意见截止日期
if(CutEnum.CN.getValue().equals(cut)){ if (CutEnum.CN.getValue().equals(cut)) {
setCellAsk(table, i+1, planNumberCn, standardNameCn, expirationDate); setCellAsk(table, i + 1, planNumberCn, standardNameCn, expirationDate);
}else{ } else {
setCellAsk(table, i+1, planNumberCn, standardNameEn, expirationDate); setCellAsk(table, i + 1, planNumberCn, standardNameEn, expirationDate);
} }
} }
} }
} }
public static void exportWordExcelIssue(XWPFDocument document, public static void exportWordExcelIssue(XWPFDocument document,
LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
String cut) { String cut) {
List<NewStandardTemplateEO> newStandardTemplateEOList = lawsMonthlyReportWriteEO.getNewStandardTemplateEOList(); List<NewStandardTemplateEO> newStandardTemplateEOList = lawsMonthlyReportWriteEO.getNewStandardTemplateEOList();
if(ObjectUtils.isNotEmpty(newStandardTemplateEOList)){ if (ObjectUtils.isNotEmpty(newStandardTemplateEOList)) {
XWPFTable table = document.createTable(newStandardTemplateEOList.size()+1, 5); XWPFTable table = document.createTable(newStandardTemplateEOList.size() + 1, 5);
//表格属性 //表格属性
CTTblPr tablePr = table.getCTTbl().addNewTblPr(); CTTblPr tablePr = table.getCTTbl().addNewTblPr();
//固定列宽(英文和数字的时候自动换行) //固定列宽(英文和数字的时候自动换行)
@@ -824,21 +846,21 @@ public class WordUtil {
//设置表格宽度 //设置表格宽度
tableWidth.setType(STTblWidth.DXA); tableWidth.setType(STTblWidth.DXA);
tableWidth.setW(BigInteger.valueOf(8311)); tableWidth.setW(BigInteger.valueOf(8311));
if(CutEnum.CN.getValue().equals(cut)){ if (CutEnum.CN.getValue().equals(cut)) {
setCellIssueOne(table,"序号","标准编号","标准名称","发布日期","实施日期"); setCellIssueOne(table, "序号", "标准编号", "标准名称", "发布日期", "实施日期");
}else{ } else {
setCellIssueOne(table,"Number","Standard Number","Standard Name","Release Date","Implementation date"); setCellIssueOne(table, "Number", "Standard Number", "Standard Name", "Release Date", "Implementation date");
} }
for (int i = 0; i < newStandardTemplateEOList.size(); i++) { for (int i = 0; i < newStandardTemplateEOList.size(); i++) {
String standardNumber = newStandardTemplateEOList.get(i ).getStandardNumber();//标准编号 String standardNumber = newStandardTemplateEOList.get(i).getStandardNumber();//标准编号
String standardNameCn = newStandardTemplateEOList.get(i).getStandardNameCn();//标准名称中文 String standardNameCn = newStandardTemplateEOList.get(i).getStandardNameCn();//标准名称中文
String standardNameEn = newStandardTemplateEOList.get(i).getStandardNameEn();//标准名称英文 String standardNameEn = newStandardTemplateEOList.get(i).getStandardNameEn();//标准名称英文
String issueTime = newStandardTemplateEOList.get(i).getIssueTime();//发布日期 String issueTime = newStandardTemplateEOList.get(i).getIssueTime();//发布日期
String implementTime = newStandardTemplateEOList.get(i).getImplementTime();//实施日期 String implementTime = newStandardTemplateEOList.get(i).getImplementTime();//实施日期
if(CutEnum.CN.getValue().equals(cut)){ if (CutEnum.CN.getValue().equals(cut)) {
setCellIssue(table, i+1, standardNumber, standardNameCn, issueTime,implementTime); setCellIssue(table, i + 1, standardNumber, standardNameCn, issueTime, implementTime);
}else{ } else {
setCellIssue(table, i+1, standardNumber, standardNameEn, issueTime,implementTime); setCellIssue(table, i + 1, standardNumber, standardNameEn, issueTime, implementTime);
} }
} }
} }
@@ -854,35 +876,36 @@ public class WordUtil {
ctTblWidth0.setW(BigInteger.valueOf(703)); ctTblWidth0.setW(BigInteger.valueOf(703));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell0 = table.getRow(i).getCell(0); XWPFTableCell cell0 = table.getRow(i).getCell(0);
cellPadding(cell0,String.valueOf(i)); cellPadding(cell0, String.valueOf(i));
CTTblWidth ctTblWidth1 = table.getRow(i).getCell(1).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth1 = table.getRow(i).getCell(1).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth1.setType(STTblWidth.DXA); ctTblWidth1.setType(STTblWidth.DXA);
ctTblWidth1.setW(BigInteger.valueOf(1984)); ctTblWidth1.setW(BigInteger.valueOf(1984));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell1 = table.getRow(i).getCell(1); XWPFTableCell cell1 = table.getRow(i).getCell(1);
cellPadding(cell1,planNumber); cellPadding(cell1, planNumber);
CTTblWidth ctTblWidth2 = table.getRow(i).getCell(2).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth2 = table.getRow(i).getCell(2).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth2.setType(STTblWidth.DXA); ctTblWidth2.setType(STTblWidth.DXA);
ctTblWidth2.setW(BigInteger.valueOf(3543)); ctTblWidth2.setW(BigInteger.valueOf(3543));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell2 = table.getRow(i).getCell(2); XWPFTableCell cell2 = table.getRow(i).getCell(2);
cellPadding(cell2,standardName); cellPadding(cell2, standardName);
CTTblWidth ctTblWidth3 = table.getRow(i).getCell(3).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth3 = table.getRow(i).getCell(3).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth3.setType(STTblWidth.DXA); ctTblWidth3.setType(STTblWidth.DXA);
ctTblWidth3.setW(BigInteger.valueOf(2081)); ctTblWidth3.setW(BigInteger.valueOf(2081));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell3 = table.getRow(i).getCell(3); XWPFTableCell cell3 = table.getRow(i).getCell(3);
cellPadding(cell3,expirationDate); cellPadding(cell3, expirationDate);
// table.getRow(i).getCell(0).setText(String.valueOf(i)); // table.getRow(i).getCell(0).setText(String.valueOf(i));
// table.getRow(i).getCell(1).setText(planNumber); // table.getRow(i).getCell(1).setText(planNumber);
// table.getRow(i).getCell(2).setText(standardName); // table.getRow(i).getCell(2).setText(standardName);
// table.getRow(i).getCell(3).setText(expirationDate); // table.getRow(i).getCell(3).setText(expirationDate);
} }
private static void setCellIssue(XWPFTable table, int i, String planNumber, String standardName, String expirationDate,String implementTime) {
private static void setCellIssue(XWPFTable table, int i, String planNumber, String standardName, String expirationDate, String implementTime) {
//设置单元格高度 //设置单元格高度
table.getRow(i).setHeight(500); table.getRow(i).setHeight(500);
@@ -892,35 +915,35 @@ public class WordUtil {
ctTblWidth0.setW(BigInteger.valueOf(708)); ctTblWidth0.setW(BigInteger.valueOf(708));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell0 = table.getRow(i).getCell(0); XWPFTableCell cell0 = table.getRow(i).getCell(0);
cellPadding(cell0,String.valueOf(i)); cellPadding(cell0, String.valueOf(i));
CTTblWidth ctTblWidth1 = table.getRow(i).getCell(1).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth1 = table.getRow(i).getCell(1).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth1.setType(STTblWidth.DXA); ctTblWidth1.setType(STTblWidth.DXA);
ctTblWidth1.setW(BigInteger.valueOf(1990)); ctTblWidth1.setW(BigInteger.valueOf(1990));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell1 = table.getRow(i).getCell(1); XWPFTableCell cell1 = table.getRow(i).getCell(1);
cellPadding(cell1,planNumber); cellPadding(cell1, planNumber);
CTTblWidth ctTblWidth2 = table.getRow(i).getCell(2).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth2 = table.getRow(i).getCell(2).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth2.setType(STTblWidth.DXA); ctTblWidth2.setType(STTblWidth.DXA);
ctTblWidth2.setW(BigInteger.valueOf(3124)); ctTblWidth2.setW(BigInteger.valueOf(3124));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell2 = table.getRow(i).getCell(2); XWPFTableCell cell2 = table.getRow(i).getCell(2);
cellPadding(cell2,standardName); cellPadding(cell2, standardName);
CTTblWidth ctTblWidth3 = table.getRow(i).getCell(3).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth3 = table.getRow(i).getCell(3).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth3.setType(STTblWidth.DXA); ctTblWidth3.setType(STTblWidth.DXA);
ctTblWidth3.setW(BigInteger.valueOf(1247)); ctTblWidth3.setW(BigInteger.valueOf(1247));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell3 = table.getRow(i).getCell(3); XWPFTableCell cell3 = table.getRow(i).getCell(3);
cellPadding(cell3,expirationDate); cellPadding(cell3, expirationDate);
CTTblWidth ctTblWidth4 = table.getRow(i).getCell(4).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth4 = table.getRow(i).getCell(4).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth4.setType(STTblWidth.DXA); ctTblWidth4.setType(STTblWidth.DXA);
ctTblWidth4.setW(BigInteger.valueOf(1247)); ctTblWidth4.setW(BigInteger.valueOf(1247));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell4 = table.getRow(i).getCell(4); XWPFTableCell cell4 = table.getRow(i).getCell(4);
cellPadding(cell4,implementTime); cellPadding(cell4, implementTime);
// table.getRow(i).getCell(0).setText(String.valueOf(i)); // table.getRow(i).getCell(0).setText(String.valueOf(i));
// table.getRow(i).getCell(1).setText(planNumber); // table.getRow(i).getCell(1).setText(planNumber);
@@ -928,7 +951,8 @@ public class WordUtil {
// table.getRow(i).getCell(3).setText(expirationDate); // table.getRow(i).getCell(3).setText(expirationDate);
// table.getRow(i).getCell(4).setText(implementTime); // table.getRow(i).getCell(4).setText(implementTime);
} }
private static void setCellIssueOne(XWPFTable table, String number,String planNumber, String standardName, String expirationDate,String implementTime) {
private static void setCellIssueOne(XWPFTable table, String number, String planNumber, String standardName, String expirationDate, String implementTime) {
//设置单元格高度 //设置单元格高度
table.getRow(0).setHeight(500); table.getRow(0).setHeight(500);
@@ -938,35 +962,35 @@ public class WordUtil {
ctTblWidth0.setW(BigInteger.valueOf(708)); ctTblWidth0.setW(BigInteger.valueOf(708));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell0 = table.getRow(0).getCell(0); XWPFTableCell cell0 = table.getRow(0).getCell(0);
cellPadding(cell0,number); cellPadding(cell0, number);
CTTblWidth ctTblWidth1 = table.getRow(0).getCell(1).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth1 = table.getRow(0).getCell(1).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth1.setType(STTblWidth.DXA); ctTblWidth1.setType(STTblWidth.DXA);
ctTblWidth1.setW(BigInteger.valueOf(1990)); ctTblWidth1.setW(BigInteger.valueOf(1990));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell1 = table.getRow(0).getCell(1); XWPFTableCell cell1 = table.getRow(0).getCell(1);
cellPadding(cell1,planNumber); cellPadding(cell1, planNumber);
CTTblWidth ctTblWidth2 = table.getRow(0).getCell(2).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth2 = table.getRow(0).getCell(2).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth2.setType(STTblWidth.DXA); ctTblWidth2.setType(STTblWidth.DXA);
ctTblWidth2.setW(BigInteger.valueOf(3124)); ctTblWidth2.setW(BigInteger.valueOf(3124));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell2 = table.getRow(0).getCell(2); XWPFTableCell cell2 = table.getRow(0).getCell(2);
cellPadding(cell2,standardName); cellPadding(cell2, standardName);
CTTblWidth ctTblWidth3 = table.getRow(0).getCell(3).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth3 = table.getRow(0).getCell(3).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth3.setType(STTblWidth.DXA); ctTblWidth3.setType(STTblWidth.DXA);
ctTblWidth3.setW(BigInteger.valueOf(1247)); ctTblWidth3.setW(BigInteger.valueOf(1247));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell3 = table.getRow(0).getCell(3); XWPFTableCell cell3 = table.getRow(0).getCell(3);
cellPadding(cell3,expirationDate); cellPadding(cell3, expirationDate);
CTTblWidth ctTblWidth4 = table.getRow(0).getCell(4).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth4 = table.getRow(0).getCell(4).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth4.setType(STTblWidth.DXA); ctTblWidth4.setType(STTblWidth.DXA);
ctTblWidth4.setW(BigInteger.valueOf(1247)); ctTblWidth4.setW(BigInteger.valueOf(1247));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell4 = table.getRow(0).getCell(4); XWPFTableCell cell4 = table.getRow(0).getCell(4);
cellPadding(cell4,implementTime); cellPadding(cell4, implementTime);
// table.getRow(0).getCell(0).setText(number); // table.getRow(0).getCell(0).setText(number);
// table.getRow(0).getCell(1).setText(planNumber); // table.getRow(0).getCell(1).setText(planNumber);
@@ -974,7 +998,8 @@ public class WordUtil {
// table.getRow(0).getCell(3).setText(expirationDate); // table.getRow(0).getCell(3).setText(expirationDate);
// table.getRow(0).getCell(4).setText(implementTime); // table.getRow(0).getCell(4).setText(implementTime);
} }
private static void setCellAskOne(XWPFTable table, String number,String planNumber, String standardName, String expirationDate) {
private static void setCellAskOne(XWPFTable table, String number, String planNumber, String standardName, String expirationDate) {
//设置单元格高度 //设置单元格高度
table.getRow(0).setHeight(500); table.getRow(0).setHeight(500);
@@ -984,28 +1009,28 @@ public class WordUtil {
ctTblWidth0.setW(BigInteger.valueOf(703)); ctTblWidth0.setW(BigInteger.valueOf(703));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell0 = table.getRow(0).getCell(0); XWPFTableCell cell0 = table.getRow(0).getCell(0);
cellPadding(cell0,number); cellPadding(cell0, number);
CTTblWidth ctTblWidth1 = table.getRow(0).getCell(1).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth1 = table.getRow(0).getCell(1).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth1.setType(STTblWidth.DXA); ctTblWidth1.setType(STTblWidth.DXA);
ctTblWidth1.setW(BigInteger.valueOf(1984)); ctTblWidth1.setW(BigInteger.valueOf(1984));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell1 = table.getRow(0).getCell(1); XWPFTableCell cell1 = table.getRow(0).getCell(1);
cellPadding(cell1,planNumber); cellPadding(cell1, planNumber);
CTTblWidth ctTblWidth2 = table.getRow(0).getCell(2).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth2 = table.getRow(0).getCell(2).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth2.setType(STTblWidth.DXA); ctTblWidth2.setType(STTblWidth.DXA);
ctTblWidth2.setW(BigInteger.valueOf(3543)); ctTblWidth2.setW(BigInteger.valueOf(3543));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell2 = table.getRow(0).getCell(2); XWPFTableCell cell2 = table.getRow(0).getCell(2);
cellPadding(cell2,standardName); cellPadding(cell2, standardName);
CTTblWidth ctTblWidth3 = table.getRow(0).getCell(3).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth3 = table.getRow(0).getCell(3).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth3.setType(STTblWidth.DXA); ctTblWidth3.setType(STTblWidth.DXA);
ctTblWidth3.setW(BigInteger.valueOf(2081)); ctTblWidth3.setW(BigInteger.valueOf(2081));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell3 = table.getRow(0).getCell(3); XWPFTableCell cell3 = table.getRow(0).getCell(3);
cellPadding(cell3,expirationDate); cellPadding(cell3, expirationDate);
// table.getRow(0).getCell(0).setText(number); // table.getRow(0).getCell(0).setText(number);
// table.getRow(0).getCell(1).setText(planNumber); // table.getRow(0).getCell(1).setText(planNumber);
@@ -1014,51 +1039,51 @@ public class WordUtil {
} }
private static String dictItem(List<SysDictItem> sysDictItems, String fieldValue,String cut,String dictCode) { private static String dictItem(List<SysDictItem> sysDictItems, String fieldValue, String cut, String dictCode) {
String fieldValueName = ""; String fieldValueName = "";
if(StringUtils.isNotEmpty(fieldValue)){ if (StringUtils.isNotEmpty(fieldValue)) {
List<String> fieldValueList = Arrays.asList(fieldValue.split(",")); List<String> fieldValueList = Arrays.asList(fieldValue.split(","));
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (String fieldValueTemp : fieldValueList) { for (String fieldValueTemp : fieldValueList) {
List<SysDictItem> collect = sysDictItems.stream() List<SysDictItem> collect = sysDictItems.stream()
.filter(e -> fieldValueTemp.equals(e.getItemValue()) && dictCode.equals(e.getDictCode())) .filter(e -> fieldValueTemp.equals(e.getItemValue()) && dictCode.equals(e.getDictCode()))
.collect(Collectors.toList()); .collect(Collectors.toList());
if(collect.size() != 0){ if (collect.size() != 0) {
if(CutEnum.CN.getValue().equals(cut)){ if (CutEnum.CN.getValue().equals(cut)) {
sb.append(collect.get(0).getItemText() + ","); sb.append(collect.get(0).getItemText() + ",");
}else{ } else {
sb.append(collect.get(0).getEnName() + ","); sb.append(collect.get(0).getEnName() + ",");
} }
} }
} }
if(org.apache.commons.lang3.StringUtils.isNotBlank(sb)){ if (org.apache.commons.lang3.StringUtils.isNotBlank(sb)) {
fieldValueName = sb.substring(0, sb.length() - 1); fieldValueName = sb.substring(0, sb.length() - 1);
} }
} }
return fieldValueName; return fieldValueName;
} }
private static void setCell(XWPFTable table, int number, String fieldName,String technologyTerritory) { private static void setCell(XWPFTable table, int number, String fieldName, String technologyTerritory) {
table.getRow(number).setHeight(500); table.getRow(number).setHeight(500);
CTTblWidth ctTblWidth0 = table.getRow(number).getCell(0).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth0 = table.getRow(number).getCell(0).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth0.setType(STTblWidth.DXA); ctTblWidth0.setType(STTblWidth.DXA);
ctTblWidth0.setW(BigInteger.valueOf(2296));//宽度通过计算得来-->列表实际宽度除以2.54再乘以1440 ctTblWidth0.setW(BigInteger.valueOf(2296));//宽度通过计算得来-->列表实际宽度除以2.54再乘以1440
//设置单元格边距 //设置单元格边距
XWPFTableCell cell0 = table.getRow(number).getCell(0); XWPFTableCell cell0 = table.getRow(number).getCell(0);
cellPadding(cell0,fieldName); cellPadding(cell0, fieldName);
CTTblWidth ctTblWidth1 = table.getRow(number).getCell(1).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth1 = table.getRow(number).getCell(1).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth1.setType(STTblWidth.DXA); ctTblWidth1.setType(STTblWidth.DXA);
ctTblWidth1.setW(BigInteger.valueOf(6015)); ctTblWidth1.setW(BigInteger.valueOf(6015));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell1 = table.getRow(number).getCell(1); XWPFTableCell cell1 = table.getRow(number).getCell(1);
if("链接".equals(fieldName) || "Link".equals(fieldName)){ if ("链接".equals(fieldName) || "Link".equals(fieldName)) {
//设置超链接 //设置超链接
if(StringUtils.isNotEmpty(technologyTerritory)){ if (StringUtils.isNotEmpty(technologyTerritory)) {
cellLink(cell1,technologyTerritory); cellLink(cell1, technologyTerritory);
} }
}else{ } else {
cellPadding(cell1,technologyTerritory); cellPadding(cell1, technologyTerritory);
} }
// XWPFParagraph para = table.getRow(number).getCell(1).getParagraphs().get(0); // XWPFParagraph para = table.getRow(number).getCell(1).getParagraphs().get(0);
@@ -1069,32 +1094,33 @@ public class WordUtil {
// table.getRow(number).getCell(1).setText(technologyTerritory); // table.getRow(number).getCell(1).setText(technologyTerritory);
} }
private static void setCellThree(XWPFTable table, int number, String fieldName,String technologyTerritory,
List<SysDictItem> sysDictItems,String code) { private static void setCellThree(XWPFTable table, int number, String fieldName, String technologyTerritory,
List<SysDictItem> sysDictItems, String code) {
table.getRow(number).setHeight(500); table.getRow(number).setHeight(500);
CTTblWidth ctTblWidth0 = table.getRow(number).getCell(0).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth0 = table.getRow(number).getCell(0).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth0.setType(STTblWidth.DXA); ctTblWidth0.setType(STTblWidth.DXA);
ctTblWidth0.setW(BigInteger.valueOf(2296));//宽度通过计算得来-->列表实际宽度除以2.54再乘以1440 ctTblWidth0.setW(BigInteger.valueOf(2296));//宽度通过计算得来-->列表实际宽度除以2.54再乘以1440
//设置单元格边距 //设置单元格边距
XWPFTableCell cell0 = table.getRow(number).getCell(0); XWPFTableCell cell0 = table.getRow(number).getCell(0);
cellPadding(cell0,fieldName); cellPadding(cell0, fieldName);
CTTblWidth ctTblWidth1 = table.getRow(number).getCell(1).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth1 = table.getRow(number).getCell(1).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth1.setType(STTblWidth.DXA); ctTblWidth1.setType(STTblWidth.DXA);
ctTblWidth1.setW(BigInteger.valueOf(6015)); ctTblWidth1.setW(BigInteger.valueOf(6015));
//设置单元格边距 //设置单元格边距
XWPFTableCell cell1 = table.getRow(number).getCell(1); XWPFTableCell cell1 = table.getRow(number).getCell(1);
if("链接".equals(fieldName) || "Link".equals(fieldName)){ if ("链接".equals(fieldName) || "Link".equals(fieldName)) {
//设置超链接 //设置超链接
if(StringUtils.isNotEmpty(technologyTerritory)){ if (StringUtils.isNotEmpty(technologyTerritory)) {
cellLink(cell1,technologyTerritory); cellLink(cell1, technologyTerritory);
} }
}else{ } else {
if("适用范围".equals(fieldName) || "状态".equals(fieldName) || "用法".equals(fieldName) if ("适用范围".equals(fieldName) || "状态".equals(fieldName) || "用法".equals(fieldName)
|| "Scope".equals(fieldName) || "Status".equals(fieldName) || "Usage".equals(fieldName)){ || "Scope".equals(fieldName) || "Status".equals(fieldName) || "Usage".equals(fieldName)) {
threeSet(cell1,technologyTerritory,fieldName,sysDictItems,code); threeSet(cell1, technologyTerritory, fieldName, sysDictItems, code);
}else{ } else {
cellPadding(cell1,technologyTerritory); cellPadding(cell1, technologyTerritory);
} }
} }
@@ -1108,16 +1134,16 @@ public class WordUtil {
} }
private static String getLawsContact(List<LoginUser> userList, String lawsContact) { private static String getLawsContact(List<LoginUser> userList, String lawsContact) {
if(com.jero.modules.system.util.StringUtils.isNotBlank(lawsContact)){ if (com.jero.modules.system.util.StringUtils.isNotBlank(lawsContact)) {
List<LoginUser> collect = userList.stream().filter(e -> lawsContact.contains(e.getId())).collect(Collectors.toList()); List<LoginUser> collect = userList.stream().filter(e -> lawsContact.contains(e.getId())).collect(Collectors.toList());
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (String s : lawsContact.split(",")) { for (String s : lawsContact.split(",")) {
List<LoginUser> loginUserList = collect.stream().filter(e -> e.getId().equals(s)).collect(Collectors.toList()); List<LoginUser> loginUserList = collect.stream().filter(e -> e.getId().equals(s)).collect(Collectors.toList());
if(loginUserList.size() != 0){ if (loginUserList.size() != 0) {
sb.append(loginUserList.get(0).getRealname()+","); sb.append(loginUserList.get(0).getRealname() + ",");
} }
} }
if(com.jero.modules.system.util.StringUtils.isNotBlank(sb)){ if (com.jero.modules.system.util.StringUtils.isNotBlank(sb)) {
String substring = sb.substring(0, sb.length() - 1); String substring = sb.substring(0, sb.length() - 1);
return substring; return substring;
} }
@@ -1128,12 +1154,13 @@ public class WordUtil {
/** /**
* 设置单元格边距 * 设置单元格边距
*
* @param cell * @param cell
*/ */
public static void cellPadding(XWPFTableCell cell,String text){ public static void cellPadding(XWPFTableCell cell, String text) {
//1. 设置单元格页边距 //1. 设置单元格页边距
CTTc ctTc = cell.getCTTc(); CTTc ctTc = cell.getCTTc();
CTTcPr cttcpr =ctTc.isSetTcPr() ? ctTc.getTcPr() : ctTc.addNewTcPr(); CTTcPr cttcpr = ctTc.isSetTcPr() ? ctTc.getTcPr() : ctTc.addNewTcPr();
CTTcMar ctTcMar = cttcpr.isSetTcMar() ? cttcpr.getTcMar() : cttcpr.addNewTcMar(); CTTcMar ctTcMar = cttcpr.isSetTcMar() ? cttcpr.getTcMar() : cttcpr.addNewTcMar();
(ctTcMar.isSetLeft() ? ctTcMar.getLeft() : ctTcMar.addNewLeft()).setW(BigInteger.valueOf(119));//左边距 (ctTcMar.isSetLeft() ? ctTcMar.getLeft() : ctTcMar.addNewLeft()).setW(BigInteger.valueOf(119));//左边距
(ctTcMar.isSetTop() ? ctTcMar.getTop() : ctTcMar.addNewTop()).setW(BigInteger.valueOf(63));//上边距 (ctTcMar.isSetTop() ? ctTcMar.getTop() : ctTcMar.addNewTop()).setW(BigInteger.valueOf(63));//上边距
@@ -1150,15 +1177,15 @@ public class WordUtil {
//XWPFRun 设置格式 //XWPFRun 设置格式
XWPFRun run = par.createRun(); XWPFRun run = par.createRun();
//单元格内容换行 //单元格内容换行
if(StringUtils.isNotEmpty(text) && text.contains("\n")){ if (StringUtils.isNotEmpty(text) && text.contains("\n")) {
String[] split = text.split("\n"); String[] split = text.split("\n");
for (int i = 0; i < split.length; i++) { for (int i = 0; i < split.length; i++) {
run.setText(split[i]); run.setText(split[i]);
if(i<split.length-1){ if (i < split.length - 1) {
run.addBreak(); run.addBreak();
} }
} }
}else{ } else {
run.setText(text); run.setText(text);
} }
//设置字体样式,大小 //设置字体样式,大小
@@ -1168,11 +1195,11 @@ public class WordUtil {
} }
//适用范围,状态,用法三个字段单独处理 //适用范围,状态,用法三个字段单独处理
public static void threeSet(XWPFTableCell cell,String text,String fieldName,List<SysDictItem> sysDictItems,String code){ public static void threeSet(XWPFTableCell cell, String text, String fieldName, List<SysDictItem> sysDictItems, String code) {
List<SysDictItem> sysDictItemList = sysDictItems.stream().filter(e -> code.equals(e.getDictCode())).collect(Collectors.toList()); List<SysDictItem> sysDictItemList = sysDictItems.stream().filter(e -> code.equals(e.getDictCode())).collect(Collectors.toList());
//1. 设置单元格页边距 //1. 设置单元格页边距
CTTc ctTc = cell.getCTTc(); CTTc ctTc = cell.getCTTc();
CTTcPr cttcpr =ctTc.isSetTcPr() ? ctTc.getTcPr() : ctTc.addNewTcPr(); CTTcPr cttcpr = ctTc.isSetTcPr() ? ctTc.getTcPr() : ctTc.addNewTcPr();
CTTcMar ctTcMar = cttcpr.isSetTcMar() ? cttcpr.getTcMar() : cttcpr.addNewTcMar(); CTTcMar ctTcMar = cttcpr.isSetTcMar() ? cttcpr.getTcMar() : cttcpr.addNewTcMar();
(ctTcMar.isSetLeft() ? ctTcMar.getLeft() : ctTcMar.addNewLeft()).setW(BigInteger.valueOf(119));//左边距 (ctTcMar.isSetLeft() ? ctTcMar.getLeft() : ctTcMar.addNewLeft()).setW(BigInteger.valueOf(119));//左边距
(ctTcMar.isSetTop() ? ctTcMar.getTop() : ctTcMar.addNewTop()).setW(BigInteger.valueOf(63));//上边距 (ctTcMar.isSetTop() ? ctTcMar.getTop() : ctTcMar.addNewTop()).setW(BigInteger.valueOf(63));//上边距
@@ -1188,33 +1215,33 @@ public class WordUtil {
//XWPFRun 设置格式 //XWPFRun 设置格式
XWPFRun run = par.createRun(); XWPFRun run = par.createRun();
//单元格内容换行 □ ■ //单元格内容换行 □ ■
if(StringUtils.isNotEmpty(text)){ if (StringUtils.isNotEmpty(text)) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
if("适用范围".equals(fieldName)){ if ("适用范围".equals(fieldName)) {
String itemText = "M,N,企业,整车,系统/零部件,新车型,在产车型"; String itemText = "M,N,企业,整车,系统/零部件,新车型,在产车型";
setBlank(text, run, sb, itemText); setBlank(text, run, sb, itemText);
} }
if("Scope".equals(fieldName)){ if ("Scope".equals(fieldName)) {
// M,N,Enterprise,Vehicle,System/Parts,New Car Model,Models In Production // M,N,Enterprise,Vehicle,System/Parts,New Car Model,Models In Production
// M,N,Enterprise,Vehicle,System/Part ,New Type ,New Vehicle // M,N,Enterprise,Vehicle,System/Part ,New Type ,New Vehicle
String itemText = "M,N,Enterprise,Vehicle,System/Parts,New Car Model,Models In Production"; String itemText = "M,N,Enterprise,Vehicle,System/Parts,New Car Model,Models In Production";
setBlank(text, run, sb, itemText); setBlank(text, run, sb, itemText);
} }
if("状态".equals(fieldName)){ if ("状态".equals(fieldName)) {
String itemText = "草稿,公示稿,发布稿"; String itemText = "草稿,公示稿,发布稿";
setBlank(text, run, sb, itemText); setBlank(text, run, sb, itemText);
} }
if("Status".equals(fieldName)){ if ("Status".equals(fieldName)) {
// Draft,Public Notice,Release // Draft,Public Notice,Release
String itemText = "Draft,Publicity,Final"; String itemText = "Draft,Publicity,Final";
setBlank(text, run, sb, itemText); setBlank(text, run, sb, itemText);
} }
if("用法".equals(fieldName)){ if ("用法".equals(fieldName)) {
String itemText = "强制,推荐,安装需符合"; String itemText = "强制,推荐,安装需符合";
setBlank(text, run, sb, itemText); setBlank(text, run, sb, itemText);
} }
if("Usage".equals(fieldName)){ if ("Usage".equals(fieldName)) {
String itemText = "Mandatory,Voluntary,Mandatory if fitted"; String itemText = "Mandatory,Voluntary,if fitted";
setBlank(text, run, sb, itemText); setBlank(text, run, sb, itemText);
} }
} }
@@ -1227,67 +1254,67 @@ public class WordUtil {
private static void setBlank(String text, XWPFRun run, StringBuilder sb, String itemText) { private static void setBlank(String text, XWPFRun run, StringBuilder sb, String itemText) {
//用法的三个复选框 在后端get到的英文和导出的word对应不上,也就是和itemText中给定的内容对应不上 //用法的三个复选框 在后端get到的英文和导出的word对应不上,也就是和itemText中给定的内容对应不上
if(text.equals("constraint")){ if (text.equals("constraint")) {
text = "Mandatory"; text = "Mandatory";
} }
if(text.equals("recommend")){ if (text.equals("recommend")) {
text = "Voluntary"; text = "Voluntary";
} }
if(text.equals("installation is compliant")){ if (text.equals("installation is compliant")) {
text = "Mandatory if fitted"; text = "if fitted";
} }
if(text.equals("Public Notice")){ if (text.equals("Public Notice")) {
text = "Publicity"; text = "Publicity";
} }
if(text.equals("Release")){ if (text.equals("Release")) {
text = "Final"; text = "Final";
} }
for (String value : itemText.split(",")) { for (String value : itemText.split(",")) {
String blank = getBlank(value); String blank = getBlank(value);
//contains()方法 当选中的是Mandatory if fitted时,Mandatory也包含在其中结果会是true,也会被选中 if (text.contains(value)) {
if(text.equals("Mandatory if fitted") && value.equals("Mandatory if fitted")){ if (text.equals("if fitted") && value.equals("Mandatory")) {
sb.append("■"+value+blank); sb.append("□" + value + blank);
break; } else {
}
if(text.contains(value)){
//将错误的英文转为正确的 //将错误的英文转为正确的
String value1 = scopeConvert(value); String value1 = scopeConvert(value);
sb.append("■"+value1+blank); sb.append("■" + value1 + blank);
}else{ }
} else {
String value1 = scopeConvert(value); String value1 = scopeConvert(value);
sb.append("□"+value1+blank); sb.append("□" + value1 + blank);
} }
} }
String[] split = sb.toString().split("\r\n"); String[] split = sb.toString().split("\r\n");
for (int i = 0; i < split.length; i++) { for (int i = 0; i < split.length; i++) {
run.setText(split[i]); run.setText(split[i]);
if(i<split.length-1){ if (i < split.length - 1) {
run.addBreak(); run.addBreak();
} }
} }
} }
private static String scopeConvert(String text){ private static String scopeConvert(String text) {
if(text.equals("System/Parts")){ if (text.equals("System/Parts")) {
text = "System/Part "; text = "System/Part ";
return text; return text;
} }
if(text.equals("New Car Model")){ if (text.equals("New Car Model")) {
text = "New Type "; text = "New Type ";
return text; return text;
} }
if(text.equals("Models In Production")){ if (text.equals("Models In Production")) {
text = "New Vehicle "; text = "New Vehicle ";
return text; return text;
} }
return text; return text;
} }
public static String getBlank(String value){ public static String getBlank(String value) {
String blank = ""; String blank = "";
switch (value) { switch (value) {
case "M": case "M":
@@ -1359,7 +1386,7 @@ public class WordUtil {
case "Voluntary": case "Voluntary":
blank = "\r\n"; blank = "\r\n";
break; break;
case "Mandatory if fitted": case "if fitted":
blank = ""; blank = "";
break; break;
default: default:
@@ -1370,13 +1397,14 @@ public class WordUtil {
/** /**
* 设置页边距,字体样式,超链接 * 设置页边距,字体样式,超链接
*
* @param cell * @param cell
* @param text * @param text
*/ */
public static void cellLink(XWPFTableCell cell,String text){ public static void cellLink(XWPFTableCell cell, String text) {
//1. 单元格页边距 //1. 单元格页边距
CTTc ctTc = cell.getCTTc(); CTTc ctTc = cell.getCTTc();
CTTcPr cttcpr =ctTc.isSetTcPr() ? ctTc.getTcPr() : ctTc.addNewTcPr(); CTTcPr cttcpr = ctTc.isSetTcPr() ? ctTc.getTcPr() : ctTc.addNewTcPr();
CTTcMar ctTcMar = cttcpr.isSetTcMar() ? cttcpr.getTcMar() : cttcpr.addNewTcMar(); CTTcMar ctTcMar = cttcpr.isSetTcMar() ? cttcpr.getTcMar() : cttcpr.addNewTcMar();
(ctTcMar.isSetLeft() ? ctTcMar.getLeft() : ctTcMar.addNewLeft()).setW(BigInteger.valueOf(119));//左边距 (ctTcMar.isSetLeft() ? ctTcMar.getLeft() : ctTcMar.addNewLeft()).setW(BigInteger.valueOf(119));//左边距
(ctTcMar.isSetTop() ? ctTcMar.getTop() : ctTcMar.addNewTop()).setW(BigInteger.valueOf(63));//上边距 (ctTcMar.isSetTop() ? ctTcMar.getTop() : ctTcMar.addNewTop()).setW(BigInteger.valueOf(63));//上边距
@@ -1427,11 +1455,9 @@ public class WordUtil {
fonts.setHAnsi("Blue Sky Noto Regular"); fonts.setHAnsi("Blue Sky Noto Regular");
ctr.setTArray(new CTText[]{ctText});
ctr.setTArray(new CTText[] { ctText });
// Insert the linked text into the link // Insert the linked text into the link
cLink.setRArray(new CTR[] { ctr }); cLink.setRArray(new CTR[]{ctr});
} }
} }
+2
View File
@@ -541,6 +541,8 @@ module.exports = {
technicalField: 'Tech Field', technicalField: 'Tech Field',
informationCategory: 'Info Type', informationCategory: 'Info Type',
contentValidity: 'Content Validity', contentValidity: 'Content Validity',
TechnicalfieldSupplementCn:'Tech Field Supplement (Cn)',
TechnicalfieldSupplementEn:'Tech Field Supplement (En)',
content: 'Content', content: 'Content',
Add: 'Add', Add: 'Add',
subscriptionTime: 'Subscription Time', subscriptionTime: 'Subscription Time',
+2
View File
@@ -548,6 +548,8 @@ module.exports = {
technicalField: '技术领域', technicalField: '技术领域',
informationCategory: '信息类别', informationCategory: '信息类别',
contentValidity: '内容简介', contentValidity: '内容简介',
TechnicalfieldSupplementCn:'技术领域补充(中文)',
TechnicalfieldSupplementEn:'技术领域补充(英文)',
content: '内容', content: '内容',
Add: '增加', Add: '增加',
subscriptionTime: '订阅时间', subscriptionTime: '订阅时间',
@@ -94,6 +94,38 @@
<!-- </div>--> <!-- </div>-->
<!-- </a-col>--> <!-- </a-col>-->
</a-row> </a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('TechnicalfieldSupplementCn')">{{$t('TechnicalfieldSupplementCn')}}</span>
</div>
<a-form-model-item class="itemModel" prop="technologyTerritoryCn">
<a-textarea
:disabled="disabled"
:placeholder="$t('PleaseEnter')+$t('TechnicalfieldSupplementCn')"
v-model.trim="formInline.technologyTerritoryCn"
/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('TechnicalfieldSupplementEn')">{{$t('TechnicalfieldSupplementEn')}}</span>
</div>
<a-form-model-item class="itemModel" prop="technologyTerritoryEn">
<a-textarea
:disabled="disabled"
:placeholder="$t('PleaseEnter')+$t('TechnicalfieldSupplementEn')"
v-model.trim="formInline.technologyTerritoryEn"
/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="24"> <a-col :span="24">
<div class="box-title-text"> <div class="box-title-text">
@@ -416,6 +448,20 @@
message: this.$t('technicalField') + this.$t('cannotEmpty'), message: this.$t('technicalField') + this.$t('cannotEmpty'),
trigger: 'change' trigger: 'change'
} }
],
technologyTerritoryCn: [
{
max: 5000,
message: this.$t('technologyTerritoryCn') + this.$t('cannotExceed') + 5000 + this.$t('Characters'),
trigger: 'blur'
}
],
technologyTerritoryEn:[
{
max: 5000,
message: this.$t('technologyTerritoryEn') + this.$t('cannotExceed') + 5000 + this.$t('Characters'),
trigger: 'blur'
}
] ]
}, },
formInline: {}, formInline: {},
@@ -186,7 +186,7 @@
}) })
let _this = this let _this = this
item.type = '1' item.type = '1'
item.userType = _this.flag == undefined ? valueList[0] : 'dre' item.userType = flag == undefined ? valueList[0] : 'dre'
this.loading = false this.loading = false
let newUrl = _this.$router.resolve({ let newUrl = _this.$router.resolve({
path: '/ParameterItemCollection', path: '/ParameterItemCollection',
@@ -220,7 +220,7 @@
}) })
let _this = this let _this = this
item.type = '1' item.type = '1'
item.userType = _this.flag == undefined ? valueList[0] : 'sdt' item.userType = flag == undefined ? valueList[0] : 'sdt'
this.loading = false this.loading = false
let newUrl = _this.$router.resolve({ let newUrl = _this.$router.resolve({
path: '/ParameterItemCollection', path: '/ParameterItemCollection',
@@ -255,7 +255,7 @@
}) })
let _this = this let _this = this
item.type = '1' item.type = '1'
item.userType = _this.flag == undefined ? valueList[0] : 'homo' item.userType = flag == undefined ? valueList[0] : 'homo'
this.loading = false this.loading = false
let newUrl = _this.$router.resolve({ let newUrl = _this.$router.resolve({
path: '/ParameterItemCollection', path: '/ParameterItemCollection',