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`;
@@ -29,7 +29,7 @@ import java.util.List;
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value="laws_monthly_report_write对象", description="月报填写") @ApiModel(value="laws_monthly_report_write对象", description="月报填写")
public class LawsMonthlyReportWriteEO implements Serializable { public class LawsMonthlyReportWriteEO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**主键*/ /**主键*/
@@ -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;
@@ -44,18 +44,18 @@ public class WordUtil {
/** /**
* 导出工具示例 * 导出工具示例
* *
* @param document POI文件类 * @param document POI文件类
* @param text 输出文本 * @param text 输出文本
* @param textColor 字体颜色 * @param textColor 字体颜色
* @param align 字体位置,默认居左 * @param align 字体位置,默认居左
* @param spaceNum 预留空格数,默认不留空格 * @param spaceNum 预留空格数,默认不留空格
* @param fontSize 字体大小,默认11 * @param fontSize 字体大小,默认11
* @param isNewline 是否换行,换行后文本失效 * @param isNewline 是否换行,换行后文本失效
* @param isBold 是否加粗,默认不加粗 * @param isBold 是否加粗,默认不加粗
* @param fontFamily 字体,默认宋体 * @param fontFamily 字体,默认宋体
* @param directoryLevel 目录级别 * @param directoryLevel 目录级别
* @param styleName 标题样式 * @param styleName 标题样式
* @param flag 封面标识(不做行间距处理) * @param flag 封面标识(不做行间距处理)
*/ */
public static void exportWord(XWPFDocument document, public static void exportWord(XWPFDocument document,
String text, String text,
@@ -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);
@@ -455,14 +455,14 @@ public class WordUtil {
* @param fontFamily 字体,默认宋体 * @param fontFamily 字体,默认宋体
*/ */
public static void exportWordMonth(XWPFDocument document, public static void exportWordMonth(XWPFDocument document,
String text, String text,
String textColor, String textColor,
ParagraphAlignment align, ParagraphAlignment align,
Integer spaceNum, Integer spaceNum,
Integer fontSize, Integer fontSize,
Boolean isNewline, Boolean isNewline,
Boolean isBold, Boolean isBold,
String fontFamily) { String fontFamily) {
//添加标题 //添加标题
XWPFParagraph titleParagraph = document.createParagraph(); XWPFParagraph titleParagraph = document.createParagraph();
@@ -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,13 +726,14 @@ public class WordUtil {
/** /**
* 行业资讯动态 * 行业资讯动态
*
* @param document * @param document
* @param lawsMonthlyReportWriteEO * @param lawsMonthlyReportWriteEO
* @param cut * @param cut
*/ */
public static void exportWordExcelIndustry(XWPFDocument document, public static void exportWordExcelIndustry(XWPFDocument document,
LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
String cut) { String cut) {
String relatedAreasCn = lawsMonthlyReportWriteEO.getRelatedAreasCn();//相关领域中文 String relatedAreasCn = lawsMonthlyReportWriteEO.getRelatedAreasCn();//相关领域中文
String relatedAreasEn = lawsMonthlyReportWriteEO.getRelatedAreasEn();//相关领域英文 String relatedAreasEn = lawsMonthlyReportWriteEO.getRelatedAreasEn();//相关领域英文
String sourceCn = lawsMonthlyReportWriteEO.getSourceCn();//来源 String sourceCn = lawsMonthlyReportWriteEO.getSourceCn();//来源
@@ -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);
//将错误的英文转为正确的 sb.append("■" + value1 + blank);
}
} else {
String value1 = scopeConvert(value); String value1 = scopeConvert(value);
sb.append("■"+value1+blank); sb.append("□" + value1 + blank);
}else{
String value1 = scopeConvert(value);
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',