diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index 39efd8f13..f0d6c667d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -36,10 +36,14 @@ import com.jero.modules.system.service.impl.SysBaseApiImpl; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.util.StringUtils; +import org.apache.poi.hssf.usermodel.HeaderFooter; import org.apache.poi.xwpf.usermodel.ParagraphAlignment; +import org.apache.poi.xwpf.usermodel.TOC; import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.shiro.SecurityUtils; import org.aspectj.util.FileUtil; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSdtBlock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; @@ -55,6 +59,7 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -617,13 +622,24 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS, List lawsMonthlyReportTitleTemplateEOS, List reportTitleOneList, @@ -711,24 +776,18 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS, + private void catalogue(List lawsMonthlyReportWriteEOS, List lawsMonthlyReportTitleTemplateEOS, List reportTitleOneList, - String titleCN, + String catalogue, XWPFDocument document, - String cut, - List loginUserList) { - //数据字典 - List sysDictItems = sysDictItemServiceImpl.selectItemsAll(); + String cut) { - //树形数据字典 - List categoryList = sysCategoryService.list(); String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月"; - //生成页眉页脚 - WordUtil.exportHeardAndFoot(document,moth); - //生成标题 - WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18, - false, true, "Blue Sky Noto Regular",null); + //单独设置每页右侧的时间 + WordUtil.exportWord(document, catalogue, null, ParagraphAlignment.LEFT, 0, 18, + false, false, "Blue Sky Noto Regular",null); + int oneCount = 1; for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) { @@ -743,7 +802,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS, + String titleCN, + XWPFDocument document) { + String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月"; + + titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"; + WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18, + false, false, "Blue Sky Noto Regular",null); + WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12, + false, true, "Blue Sky Noto Regular",null); + } + private void wordContent(List lawsMonthlyReportWriteEOS, + List lawsMonthlyReportTitleTemplateEOS, + List reportTitleOneList, + String titleCN, + XWPFDocument document, + String cut, + List loginUserList) { + //数据字典 + List sysDictItems = sysDictItemServiceImpl.selectItemsAll(); + + //树形数据字典 + List categoryList = sysCategoryService.list(); + String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月"; + //生成封面 +// WordUtil.exportHeardAndFoot(document,moth); + + //生成页眉页脚 + WordUtil.exportHeardAndFoot(document,moth); + //生成标题 + WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18, + false, true, "Blue Sky Noto Regular",null); + int oneCount = 1; + + for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) { + int twoCount = 1; + String oneNumber = intToRoman(oneCount); + //一级标题 + String oneTitle = ""; + if(CutEnum.CN.getValue().equals(cut)){ + oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleCn(); + }else{ + oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleEn(); + } + if(StringUtils.isNotBlank(oneTitle)){ + WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT, + 0, 14, false, true, "Blue Sky Noto Regular","Heading1"); + oneCount++; + } + + List reportTitleTwoList = lawsMonthlyReportTitleTemplateEOS.stream().filter(e -> e.getParentId().equals(lawsMonthlyReportTitleTemplateEO.getId())).collect(Collectors.toList()); + + + for (LawsMonthlyReportTitleTemplateEO monthlyReportTitleTemplateEO : reportTitleTwoList) { + int reportCount = 1; + //子标题对应的月报填写的内容 + List lawsMonthlyReportWriteEOList = lawsMonthlyReportWriteEOS.stream().filter(e -> monthlyReportTitleTemplateEO.getId().equals(e.getMemoriesChapter())).collect(Collectors.toList()); + String twoNumber = intToRoman(twoCount); + twoNumber = oneNumber+"."+twoNumber; + + //二级标题 + String twoTitle = ""; + if(CutEnum.CN.getValue().equals(cut)){ + twoTitle = monthlyReportTitleTemplateEO.getTitleCn(); + }else{ + twoTitle = monthlyReportTitleTemplateEO.getTitleEn(); + } + if(StringUtils.isNotBlank(twoTitle)){ + WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT, + 2, 12, false, true, "Blue Sky Noto Regular","Heading2"); twoCount++; } //二级目录下放--->新征求意见清单模板, 新发布标准清单模板 @@ -794,7 +945,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl