diff --git a/common/src/main/java/com/ccsens/common/bean/vo/CTaskVo.java b/common/src/main/java/com/ccsens/common/bean/vo/CTaskVo.java
index 232affa9..fc7ec3ed 100644
--- a/common/src/main/java/com/ccsens/common/bean/vo/CTaskVo.java
+++ b/common/src/main/java/com/ccsens/common/bean/vo/CTaskVo.java
@@ -24,10 +24,14 @@ public class CTaskVo {
private Long planStart;
@ApiModelProperty("计划时长")
private Long planDuration;
+ @ApiModelProperty("计划结束时长")
+ private Long planEnd;
@ApiModelProperty("实际开始时间")
private Long realStart;
@ApiModelProperty("实际时长")
private Long realDuration;
+ @ApiModelProperty("实际结束时长")
+ private Long realEnd;
@ApiModelProperty("任务状态 0未开始 1进行中 2暂停中 3已完成")
private int process;
@ApiModelProperty("任务流转策略 -1不跳转 0直接跳转 如果是其他正整数 就是多少毫秒后跳转 ")
diff --git a/common/src/main/resources/mapper_dao/ProTaskDetailDao.xml b/common/src/main/resources/mapper_dao/ProTaskDetailDao.xml
index abf78ff2..6ef9a022 100644
--- a/common/src/main/resources/mapper_dao/ProTaskDetailDao.xml
+++ b/common/src/main/resources/mapper_dao/ProTaskDetailDao.xml
@@ -9,8 +9,10 @@
-
+
+
+
@@ -47,8 +49,10 @@
td.description,
ts.plan_start_time AS planStart,
ts.plan_duration,
+ ts.plan_end_time,
ts.real_start_time AS realStart,
ts.real_duration,
+ ts.real_end_time,
ts.task_status AS process,
tf.flow_type AS skip,
tf.jump_task_detail_id AS skipTaskId,
@@ -95,6 +99,8 @@
td.description,
ts.plan_start_time AS planStart,
ts.plan_duration,
+ ts.plan_end_time,
+ ts.real_end_time,
ts.real_start_time AS realStart,
ts.real_duration,
ts.task_status AS process,
@@ -163,6 +169,8 @@
td.description,
ts.plan_start_time AS planStart,
ts.plan_duration,
+ ts.plan_end_time,
+ ts.real_end_time,
ts.real_start_time AS realStart,
ts.real_duration,
ts.task_status AS process,
@@ -243,6 +251,8 @@
td.description,
ts.plan_start_time AS planStart,
ts.plan_duration,
+ ts.plan_end_time,
+ ts.real_end_time,
ts.real_start_time AS realStart,
ts.real_duration,
ts.task_status AS process,
diff --git a/util/src/main/java/com/ccsens/util/PdfUtil.java b/util/src/main/java/com/ccsens/util/PdfUtil.java
index 0116bb91..2034380d 100644
--- a/util/src/main/java/com/ccsens/util/PdfUtil.java
+++ b/util/src/main/java/com/ccsens/util/PdfUtil.java
@@ -28,14 +28,14 @@ public class PdfUtil {
/**
* 生成pdf
- * @param parentPath
- * @param title
+ * @param parentPath 文件夹路径
+ * @param title 标题
* @param subhead 副标题
- * @param intros
- * @param content
+ * @param intros 介绍
+ * @param contentArr 正文
* @return
*/
- public static String credatePdf(String parentPath, String title, String subhead, List intros, List content, Margin margin) {
+ public static String createPdf(String parentPath, String title, String subhead, Margin margin, List intros, List... contentArr) {
String fileName = "pdf/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".pdf";
log.info("pdf文件名:{}", fileName );
File file = new File(parentPath, fileName);
@@ -51,7 +51,7 @@ public class PdfUtil {
// 中文字体
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
// 标题字体
- Font titleChinese = new Font(bfChinese, 24, Font.BOLD);
+ Font titleChinese = new Font(bfChinese, 14, Font.NORMAL);
//设置标题
Paragraph par = new Paragraph(title, titleChinese);
par.setAlignment(Element.ALIGN_CENTER);
@@ -59,22 +59,27 @@ public class PdfUtil {
if (StrUtil.isNotBlank(subhead)) {
// 标题字体
- Font subheadChinese = new Font(bfChinese, 22, Font.NORMAL);
+ Font subheadChinese = new Font(bfChinese, 15, Font.NORMAL);
//设置标题
Paragraph subheadPar = new Paragraph(subhead, subheadChinese);
subheadPar.setAlignment(Element.ALIGN_CENTER);
document.add(subheadPar);
}
// 每行加空白
- fillBlankRow(document, titleChinese);
+ fillBlankRow(document, new Font(bfChinese, 3, Font.NORMAL));
//设置介绍内容
if (CollectionUtil.isNotEmpty(intros)) {
fillRow(intros, document);
}
- if (CollectionUtil.isNotEmpty(content)) {
- fillRow(content, document);
+ if (contentArr != null && contentArr.length > 0 ) {
+ for (List content:contentArr) {
+ if (CollectionUtil.isNotEmpty(content)) {
+ fillRow(content, document);
+ }
+ }
}
+
} catch (DocumentException e) {
e.printStackTrace();
log.error("导出pdf异常", e);
@@ -121,7 +126,7 @@ public class PdfUtil {
PdfPTable table = new PdfPTable(size);
table.setSpacingBefore(0);
- table.setWidthPercentage(90);
+ table.setWidthPercentage(100);
for (int j = 0; j < rows.size(); j++) {
Row row = rows.get(j);
table.setHorizontalAlignment(row.align);
@@ -129,8 +134,9 @@ public class PdfUtil {
for (int i = 0; i < row.cells.size(); i++) {
Cell cell = row.cells.get(i);
PdfPCell pdfpCell = new PdfPCell(new Phrase(cell.content,font));
- pdfpCell.setBorderWidthTop(cell.borderTop == null ? 0 : cell.borderTop);
+ pdfpCell.setBorderWidthTop(j == 0 && cell.borderTop == null && cell.borderBottom != null ? cell.borderBottom : cell.borderTop == null ? 0 : cell.borderTop);
pdfpCell.setBorderWidthLeft(cell.borderLeft == null ? 0 : cell.borderLeft);
+// pdfpCell.setBorderWidthRight(i==row.cells.size() && cell.borderRight == null && cell.borderLeft != null ? cell.borderLeft : cell.borderRight == null ? 0 : cell.borderRight);
pdfpCell.setBorderWidthRight(cell.borderRight == null ? 0 : cell.borderRight);
pdfpCell.setBorderWidthBottom(cell.borderBottom == null ? 0 : cell.borderBottom);
pdfpCell.setColspan(cell.colSpan);
@@ -195,6 +201,22 @@ public class PdfUtil {
// 单元格是否居中
private boolean isCenter = true;
+ public Cell() {
+ }
+ public Cell(String content) {
+ this.content = content;
+ }
+ public Cell(String content,int colSpan,int rowSpan) {
+ this.content = content;
+ this.colSpan = colSpan == 0 ? 1 : colSpan;
+ this.rowSpan = rowSpan == 0 ? 1 : rowSpan;
+ }
+ public Cell(String content,int colSpan,int rowSpan,Integer borderRight) {
+ this.content = content;
+ this.colSpan = colSpan == 0 ? 1 : colSpan;
+ this.rowSpan = rowSpan == 0 ? 1 : rowSpan;
+ this.borderRight = borderRight;
+ }
}
/**
@@ -203,7 +225,7 @@ public class PdfUtil {
@Data
public static class Margin{
private float left = 72;
- private float right = 0;
+ private float right = 72;
private float top = 32;
private float bottom = 32;
}