Commit 5f40c5ee authored by wangxl's avatar wangxl

1

parent 172c6b69
......@@ -10,6 +10,7 @@ import com.yiboshi.science.entity.ComProjectTask;
import com.yiboshi.science.entity.SelectListItem;
import com.yiboshi.science.entity.SystemParameter;
import com.yiboshi.science.enumeration.CommonEnum;
import com.yiboshi.science.param.dto.ComFileDTO;
import com.yiboshi.science.param.dto.ComProjectTaskDTO;
import com.yiboshi.science.param.dto.DataStatisticsDTO;
import com.yiboshi.science.param.query.ComProjectTaskQueryVO;
......@@ -28,6 +29,7 @@ import javax.servlet.ServletOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 功能:任务书表 接口
......@@ -152,6 +154,8 @@ public class ComProjectTaskController extends BaseController<ComProjectTaskServi
public void export(@PathVariable String id) throws DocumentException, IOException {
try {
ComProjectTaskDTO dto = ComProjectTaskService.getTaskByProjId(id);
List<ComFileDTO> fileList=dto.getFileList().stream().filter(s->s.getFileExplain().equals("课题组成员签名表")||s.getFileExplain().equals("经费预算书")).collect(Collectors.toList());
dto.setFileList(fileList);
List<SystemParameter> list = systemParameterService.getListByType(67);
// WordUtils.getHtmlContent(dto, "C:\\Users\\kylin\\Desktop\\导出Pdf\\output.docx");
// 生成PDF文件字节数组
......
......@@ -399,9 +399,14 @@ public class ComProjectTaskServiceImpl extends BaseServiceImpl<ComProjectTaskDAO
public List<ComFileDTO> checkNecessaryAttachmentFile(Integer systemType, List<ComFileDTO> fileList) {
List<SystemParameter> parameterList;
//健康领域科技项目
if (systemType == CommonEnum.systemType.num.getCode())
if (systemType == CommonEnum.systemType.num.getCode()) {
parameterList = systemParameterService.getListByType(61);
else//临床科技项目
SystemParameter pa = new SystemParameter();
pa.setName("经费预算书");
pa.setIsRequired(true);
pa.setDisplayOrder(4);
parameterList.add(4, pa);
} else//临床科技项目
parameterList = systemParameterService.getListByType(13);
AtomicInteger allCount = new AtomicInteger(parameterList.size() + 1);
......
......@@ -128,7 +128,7 @@ public class TaskInfoToPDFUtil {
document.add(title);
document.add(new Paragraph("\n\n\n\n\n\n"));
Font labelFont = new Font(fsChinese, 15, Font.NORMAL);
Font labelFont = new Font(bfChinese, 15, Font.NORMAL);
// 创建表格
PdfPTable table = new PdfPTable(5);
table.setWidths(new float[]{70f, 15f, 15f, 50f, 210f});
......@@ -137,14 +137,14 @@ public class TaskInfoToPDFUtil {
addTablePageCell(table, "项目名称:", null, dto.getProjName(), 4, labelFont);
addTablePageCell(table, "项目下达单位(甲方):", 4, dto.getAppUnitName(), null, labelFont);
addTablePageCell(table, "项目承担单位(乙方):", 4, dto.getAppUnitName(), null, labelFont);
addTablePageCell(table, "项目负责人:", 2, dto.getAppPersonName(), 3, labelFont);
addTablePageCell(table, "项目负责人:", 2, dto.getAppPersonName() + " 电话:" + dto.getMobile(), 3, labelFont);
addTablePageCell(table, "项目起止年限:", 3, fd.format(dto.getStartDate()) + " 至 " + fd.format(dto.getEndDate()), 2, labelFont);
document.add(table);
}
private static void fillInInstructions(Document document, BaseFont bfChinese, BaseFont fsChinese) throws DocumentException {
document.newPage();
Paragraph instructionTitle = new Paragraph("填写说明", new Font(fsChinese, 14, Font.BOLD));
Paragraph instructionTitle = new Paragraph("填写说明", new Font(bfChinese, 14, Font.BOLD));
instructionTitle.setAlignment(Element.ALIGN_CENTER);
document.add(instructionTitle);
// 添加填写说明内容
......@@ -185,7 +185,7 @@ public class TaskInfoToPDFUtil {
table.isInline();
// 添加表格内容
addValueCell(table, "单位名称:", null, dto.getAppUnitName(), 7, normalFont, null, null, null);
addValueCell(table, "单位名称", null, dto.getAppUnitName(), 7, normalFont, null, null, null);
addValueCell(table, "注册单位类型", null, "医疗机构", 4, normalFont, null, null, null);
addValueCell(table, "组织机构代码/统一社会信用代码", 2, dto.getOrganizationCode(), null, normalFont, null, null, null);
......@@ -217,14 +217,14 @@ public class TaskInfoToPDFUtil {
// 设置表格默认边框宽度
projTable.getDefaultCell().setBorderWidth(0.5f);
addValueCell(projTable, "项目编号:", 2, dto.getProjNo(), 8, normalFont, null, null, null);
addValueCell(projTable, "项目编号", 2, dto.getProjNo(), 8, normalFont, null, null, null);
addValueCell(projTable, "项目名称", 2, dto.getProjName(), 8, normalFont, null, null, null);
addValueCell(projTable, "所属我省重点领域", 2, dto.getKeyAreas(), 8, normalFont, null, null, null);
addValueCell(projTable, "项目开始时间", 2, sdf.format(dto.getStartDate()), 2, normalFont, null, null, null);
addValueCell(projTable, "项目结束时间", 3, sdf.format(dto.getEndDate()), 3, normalFont, null, null, null);
addValueCell(projTable, "项目开始时间", 2, fd.format(dto.getStartDate()), 2, normalFont, null, null, null);
addValueCell(projTable, "项目结束时间", 3, fd.format(dto.getEndDate()), 3, normalFont, null, null, null);
addValueCell(projTable, "项目负责人", 2, dto.getAppUnitName(), 2, normalFont, null, null, null);
addValueCell(projTable, "联系电话", 3, dto.getMobile(), 3, normalFont, null, null, null);
......@@ -239,10 +239,10 @@ public class TaskInfoToPDFUtil {
addValueCell(projTable, "财政经费(万元)", 2, Objects.nonNull(dto.getGovFunding()) ? dto.getGovFunding().toString() : "", null, normalFont, null, null, null);
addValueCell(projTable, "自筹经费(万元)", null, Objects.nonNull(dto.getSelfFunding()) ? dto.getSelfFunding().toString() : "", 2, normalFont, null, null, null);
addValueCell(projTable, "是否科技报告:", 2, dto.getIsTechnologyReport().equals(1) ? "是" : "否", 8, normalFont, null, null, null);
addValueCell(projTable, "是否科技报告", 2, dto.getIsTechnologyReport().equals(1) ? "是" : "否", 8, normalFont, null, null, null);
if (Objects.nonNull(dto.getIsTechnologyReport()) && dto.getIsTechnologyReport().equals(1)) {
String commonTerms = "科技报告类型:";
String commonTerms = "科技报告类型";
Paragraph para = new Paragraph(commonTerms, normalFont);
para.setAlignment(Element.ALIGN_LEFT);
PdfPCell timeCell = new PdfPCell(para);
......@@ -873,6 +873,18 @@ public class TaskInfoToPDFUtil {
addCell(table, totalSelfAmount, null, null, normalFont, null, null, Element.ALIGN_CENTER);
document.add(table);
// Paragraph para = new Paragraph("\n", normalFont);
// para.setAlignment(Element.ALIGN_LEFT);
// document.add(para);
Paragraph para1 = new Paragraph("注:1.单位类型为项目承担单位、项目参加单位", normalFont);
para1.setAlignment(Element.ALIGN_LEFT);
para1.setFirstLineIndent(28f); // 设置首行缩进
document.add(para1);
Paragraph para2 = new Paragraph("2.任务分工的描述应该简洁,不超过300字", normalFont);
para2.setAlignment(Element.ALIGN_LEFT);
para2.setFirstLineIndent(49f); // 设置首行缩进
document.add(para2);
}
private static void projectStageGoalsInfo(Document document, ComProjectTaskDTO dto, BaseFont bfChinese, BaseFont fsChinese) throws DocumentException {
......@@ -905,7 +917,7 @@ public class TaskInfoToPDFUtil {
}
for (int i = 0; i < dto.getStageGoals().size(); i++) {
ComProjectStageGoalDTO e = dto.getStageGoals().get(i);
addCell(table, String.valueOf(i), null, null, normalFont, 120f, Element.ALIGN_CENTER, Element.ALIGN_CENTER);
addCell(table, String.valueOf(i + 1), null, null, normalFont, 120f, Element.ALIGN_CENTER, Element.ALIGN_CENTER);
Paragraph timePara = new Paragraph();
timePara.add(new Chunk("第" + numberTo(i + 1) + "阶段\n", normalFont));
if (Objects.nonNull(e.getStartTime()) && Objects.nonNull(e.getEndTime()))
......@@ -969,29 +981,18 @@ public class TaskInfoToPDFUtil {
document.add(table);
}
// private static void addProjectKPITable(Document document, ComProjectTaskDTO dto, BaseFont bfChinese, BaseFont fsChinese) throws DocumentException {
// document.newPage();
// Font titleFont = new Font(bfChinese, 14f, Font.BOLD);
// Font normalFont = new Font(bfChinese, 12f, Font.NORMAL);
// // 添加标题
// addSection(document, "八、项目绩效目标表", titleFont);
// }
private static void addProjectKPITable(Document document, ComProjectTaskDTO task, List<SystemParameter> projAttributeList, BaseFont bfChinese, BaseFont fsChinese, BaseFont WINGDNG2) throws DocumentException {
document.setPageSize(PageSize.A4.rotate());
document.newPage();
Font titleFont = new Font(bfChinese, 12, Font.BOLD);
Font titleFont = new Font(bfChinese, 12, Font.NORMAL);
Font contentFont = new Font(bfChinese, 12, Font.NORMAL);
Font wingdng2Font = new Font(WINGDNG2, 12, Font.NORMAL);
ProjectKPIStatisticDTO kpitDTO = task.getProjectKPI();
List<ComProjectKpitDTO> detail = task.getProjectKPI().getThreeLevel();
// 添加表格标题
Paragraph title = new Paragraph("八、绩效目标表", titleFont);
title.setAlignment(Element.ALIGN_CENTER);
title.setSpacingAfter(10f);
document.add(title);
// 添加标题
addSection(document, "八、绩效目标表", titleFont);
// 创建主表格
PdfPTable mainTable = new PdfPTable(5);
......@@ -1006,11 +1007,8 @@ public class TaskInfoToPDFUtil {
yearCell.setMinimumHeight(25f);
mainTable.addCell(yearCell);
// 项目名称
addLabelValueRow(mainTable, "项目名称", kpitDTO.getProjName(), 5, titleFont, contentFont);
// 主管处室和实施单位
addLabelValueRow(mainTable, "主管处室", kpitDTO.getManagerDept(), 2, titleFont, contentFont);
// 项目名称和实施单位
addLabelValueRow(mainTable, "项目名称", kpitDTO.getProjName(), 2, titleFont, contentFont);
addLabelValueRow(mainTable, "实施单位", kpitDTO.getAppUnitName(), 1, titleFont, contentFont);
// 项目属性
......@@ -1198,6 +1196,7 @@ public class TaskInfoToPDFUtil {
}
private static void addFileTable(Document document, ComProjectTaskDTO dto, BaseFont bfChinese, BaseFont fsChinese) throws DocumentException {
document.setPageSize(PageSize.A4);
document.newPage();
Font titleFont = new Font(bfChinese, 14f, Font.BOLD);
Font normalFont = new Font(bfChinese, 12f, Font.NORMAL);
......@@ -1230,7 +1229,7 @@ public class TaskInfoToPDFUtil {
ComFileDTO e = dto.getFileList().get(i);
addCell(fileTable, i + 1, null, null, normalFont, null, null, Element.ALIGN_CENTER);
addCell(fileTable, e.getFileExplain(), null, null, normalFont, null, null, Element.ALIGN_CENTER);
addCell(fileTable, "1", null, null, normalFont, null, null, Element.ALIGN_CENTER);
addCell(fileTable, Objects.nonNull(e.getFileName()) ? "1" : "0", null, null, normalFont, null, null, Element.ALIGN_CENTER);
addCell(fileTable, "", null, null, normalFont, null, null, Element.ALIGN_CENTER);
}
document.add(fileTable);
......
......@@ -31,7 +31,7 @@
</select>
<select id="getByProjId" parameterType="java.lang.String" resultType="com.yiboshi.science.param.dto.ComProjectTaskDTO">
SELECT ifnull(pt.task_state,0) task_state,
pt.id,pt.report_year,pt.start_date,pt.end_date,pt.unit_type,pt.organization_code,pt.unit_address,pt.registered_address,pt.post_code,
pt.id,a.report_year,pt.start_date,pt.end_date,pt.unit_type,pt.organization_code,pt.unit_address,pt.registered_address,pt.post_code,
pt.legal_person,pt.workforce,pt.specialized_personnel,pt.research_personnel,
pt.deposit_bank,pt.bank_account,pt.deposit_bank_address,pt.interbank_number,
pt.key_areas,pt.proj_work,pt.telephone,pt.fax,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment