diff --git a/science-admin/pom.xml b/science-admin/pom.xml index c482ba4049247063412c87d9abdc1d7199c54f23..d354b49f0b65b6f1fb2758cc65803248254ee0b1 100644 --- a/science-admin/pom.xml +++ b/science-admin/pom.xml @@ -303,7 +303,7 @@ <resources> <resource> <directory>src/main/resources</directory> - <filtering>false</filtering> + <filtering>true</filtering> </resource> <resource> <directory>src/main/resources</directory> diff --git a/science-admin/src/main/java/com/yiboshi/science/param/dto/ComProjectMembersDTO.java b/science-admin/src/main/java/com/yiboshi/science/param/dto/ComProjectMembersDTO.java index 3b2a52b91a7afcbf81227305cc88296c621deb78..9e60906afbf50862f22827c96ba321d582bac706 100644 --- a/science-admin/src/main/java/com/yiboshi/science/param/dto/ComProjectMembersDTO.java +++ b/science-admin/src/main/java/com/yiboshi/science/param/dto/ComProjectMembersDTO.java @@ -112,6 +112,9 @@ public class ComProjectMembersDTO extends BaseDTO { /** URL */ @ApiModelProperty(value = "URL", position = 7) private String downloadUrl; + /** 转换文件URL */ + @ApiModelProperty(value = "转换文件URL", position = 7) + private String convertUrl; /** 证件类型 */ @ApiModelProperty(value = "证件类型", position = 9) diff --git a/science-admin/src/main/java/com/yiboshi/science/utils/ProjectInfoToPDF.java b/science-admin/src/main/java/com/yiboshi/science/utils/ProjectInfoToPDF.java index 8fdc07159e3261986f1c5218077e91dcd288fdbd..6bf9a21bcc09f387317bab0f922f4f7c49805ab5 100644 --- a/science-admin/src/main/java/com/yiboshi/science/utils/ProjectInfoToPDF.java +++ b/science-admin/src/main/java/com/yiboshi/science/utils/ProjectInfoToPDF.java @@ -79,8 +79,14 @@ public class ProjectInfoToPDF { addProjectBudgetTable(document, project, bfChinese, fsChinese); // 插入申请书正文PDF - if (project.getConvertUrl() != null && !project.getConvertUrl().trim().isEmpty()) { - insertPdfContent(document, System.getProperty("user.dir") + project.getConvertUrl(), writer); + if (null != project.getConvertUrl() && !project.getConvertUrl().trim().isEmpty()) { + InsertPdfContent(document, "申请书正文", System.getProperty("user.dir") + project.getConvertUrl(), writer); + } + + // 加载项目组成员简历 + List<ComProjectMembersDTO> MemberList = project.getMembers(); + if (null != MemberList && MemberList.size() > 0) { + LoadProjectMember(document, MemberList, writer); } // 添加新页面 @@ -972,19 +978,22 @@ public class ProjectInfoToPDF { /** * 插入PDF文件到指定位置 * @param document 目标文档 + * @param titleName 标题名称 * @param pdfPath 要插入的PDF文件路径 * @throws DocumentException * @throws IOException */ - private static void insertPdfContent(Document document, String pdfPath, PdfWriter writer) throws DocumentException, IOException { + private static void InsertPdfContent(Document document, String titleName, String pdfPath, PdfWriter writer) throws DocumentException, IOException { PdfReader reader = null; try { - // 添加标题 - Font titleFont = new Font(BaseFont.createFont(), 12, Font.BOLD); - Paragraph title = new Paragraph("申请书正文", titleFont); - title.setAlignment(Element.ALIGN_CENTER); - title.setSpacingAfter(20f); - document.add(title); + if (Objects.nonNull(titleName)) { + // 添加标题 + Font titleFont = new Font(BaseFont.createFont(), 12, Font.BOLD); + Paragraph title = new Paragraph(titleName, titleFont); + title.setAlignment(Element.ALIGN_CENTER); + title.setSpacingAfter(20f); + document.add(title); + } // 读取PDF文件内容 byte[] pdfBytes = readPdfToBytes(pdfPath); @@ -1010,6 +1019,21 @@ public class ProjectInfoToPDF { // 不在这里关闭reader,让它在document关闭时自动关闭 } + /** + * 加载项目组成员简历 + * @param document PDF文档 + * @param MemberList 成员列表 + * @param writer PDF写入器 + */ + private static void LoadProjectMember(Document document, List<ComProjectMembersDTO> MemberList, PdfWriter writer) throws DocumentException, IOException { + // 遍历每个成员的简历 + for (ComProjectMembersDTO member : MemberList) { + if (Objects.nonNull(member.getFileId())) { + InsertPdfContent(document, "", System.getProperty("user.dir") + member.getConvertUrl(), writer); + } + } + } + /** * 读取PDF文件并返回字节数组 * @param pdfPath PDF文件路径 diff --git a/science-admin/src/main/resources/application.yml b/science-admin/src/main/resources/application.yml index d37dfcdac223031b1d61d8bb93a5b22f53a0ca60..0a303231e5c0c607640c3bcf854e81b9e0877448 100644 --- a/science-admin/src/main/resources/application.yml +++ b/science-admin/src/main/resources/application.yml @@ -8,7 +8,7 @@ spring: application: name: science-admin profiles: - active: 'prod' + active: @profileActive@ http: encoding: force: true diff --git a/science-admin/src/main/resources/mapper/ComProjectMembersDAO.xml b/science-admin/src/main/resources/mapper/ComProjectMembersDAO.xml index d3fb89d6b771415ad86b70f06acab7345a367358..0b399ac849605f8c5a62713601b61bec5b3f15ff 100644 --- a/science-admin/src/main/resources/mapper/ComProjectMembersDAO.xml +++ b/science-admin/src/main/resources/mapper/ComProjectMembersDAO.xml @@ -12,7 +12,7 @@ </select> <select id="getListByObjectId" parameterType="java.lang.String" resultType="com.yiboshi.science.param.dto.ComProjectMembersDTO"> SELECT a.*,b.name certificate_type_name,c.name nation_name,d.name title_name,e.name degree_name,f.name spec_name - ,g.id download_id,g.download_url,g.file_name + ,g.id download_id,g.download_url,g.convert_url,g.file_name FROM com_project_members a left join system_parameter b on a.certificate_type=b.id and b.type_id=49 left join system_parameter c on a.nation=c.id and c.type_id=11