From 4ab2cb495ccece311bbd8d0ecb992c7de0bc8500 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 22 七月 2025 11:43:10 +0800
Subject: [PATCH] 审批表打印
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java | 2
blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java | 21 +++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java | 234 +++++++++++++++++++++++++++++++++++++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java | 10 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java | 27 ++++
blade-service/blade-mdm/pom.xml | 11 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/ApproveRecord.java | 4
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java | 13 +
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java | 16 --
9 files changed, 318 insertions(+), 20 deletions(-)
diff --git a/blade-service/blade-mdm/pom.xml b/blade-service/blade-mdm/pom.xml
index e627995..67c5676 100644
--- a/blade-service/blade-mdm/pom.xml
+++ b/blade-service/blade-mdm/pom.xml
@@ -89,7 +89,16 @@
<artifactId>blade-core-test</artifactId>
<scope>test</scope>
</dependency>
-
+ <dependency>
+ <groupId>com.itextpdf</groupId>
+ <artifactId>itextpdf</artifactId>
+ <version>5.5.13.4</version>
+ </dependency>
+ <dependency>
+ <groupId>com.itextpdf</groupId>
+ <artifactId>itext-asian</artifactId>
+ <version>5.2.0</version>
+ </dependency>
<!--<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-transaction</artifactId>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
index 1dee81f..bfd6ab9 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
@@ -13,12 +13,15 @@
import org.flowable.engine.task.Comment;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO;
+import org.springblade.mdm.commons.vo.IdsVO;
import org.springblade.mdm.flow.service.ApproveRecordService;
+import org.springblade.mdm.flow.service.ApproveTableService;
import org.springblade.mdm.flow.service.FlowBusinessService;
import org.springblade.mdm.flow.vo.FlowVO;
import org.springblade.mdm.flow.vo.OvertimeTaskExcelVO;
@@ -27,6 +30,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collections;
@@ -46,6 +52,8 @@
private HistoryService historyService;
@Autowired
private RuntimeService runtimeService;
+ @Autowired
+ private ApproveTableService approveTableService;
@GetMapping("overtime-list")
@ApiOperationSupport(order = 3)
@@ -108,7 +116,8 @@
@Operation(summary = "娴佺▼鍒犻櫎", description = "鍒犻櫎id鎸囧畾鐨勬祦绋嬪疄渚�")
public R<Void> deleteInstance(@Parameter(description = "浠诲姟鍒拌揪鏃堕棿寮�濮�") String processInstancesId) {
try {
- runtimeService.deleteProcessInstance(processInstancesId, "娴佺▼鏌ヨ-鍒犻櫎");
+ businessService.deleteProcessInstance(processInstancesId);
+
} catch (Exception e) {
log.error("鍒犻櫎娴佺▼澶辫触",e);
return R.fail(e.getMessage());
@@ -116,5 +125,21 @@
return R.success();
}
+ @PostMapping("/export-approve-table")
+ @Operation(summary = "瀵煎嚭瀹℃壒琛�", description = "瀵煎嚭瀹℃壒琛╡xcel")
+ public void exportApproveTable(String processInstanceId, HttpServletResponse response) {
+ try {
+
+ String filename = URLEncoder.encode("鏁版帶绋嬪簭缂栧埗瀹℃壒鍗�", StandardCharsets.UTF_8)+ DateUtil.format(DateUtil.now(), "yyyyMMddHHmm")+".pdf";
+
+ response.setHeader("Content-Disposition", "attachment; filename="+filename);
+ response.setContentType("application/octet-stream");
+ approveTableService.exportApproveTable(processInstanceId,response.getOutputStream());
+ } catch (Exception e) {
+ log.error("瀵煎嚭DNC寮傚父", e);
+ throw new RuntimeException(e);
+ }
+
+ }
}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/ApproveRecord.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/ApproveRecord.java
index 5904520..bdd7869 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/ApproveRecord.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/ApproveRecord.java
@@ -24,6 +24,10 @@
private String processDefinitionKey;
/**
+ * 浠诲姟鐨刱ey
+ */
+ private String taskDefinitionId;
+ /**
* 浠诲姟鍚嶇О
*/
private String taskName;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java
index d644a61..52732ab 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveRecordService.java
@@ -63,6 +63,8 @@
//濡傛灉杩樻病鏈夊叧鑱旂殑绋嬪簭鏁版嵁锛屽垯鎻掑叆涓�涓猵rogramId涓簄ull鐨�
ApproveRecord rec = new ApproveRecord();
rec.setTaskName(task.getName());
+ rec.setTaskDefinitionId(task.getTaskDefinitionId());
+ ;
rec.setComment(comment==null? StringUtils.EMPTY:comment);
rec.setProcessInstanceId(processInstanceId);
rec.setProcessDefinitionKey(processDefinitionKey);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java
new file mode 100644
index 0000000..14566e6
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java
@@ -0,0 +1,234 @@
+
+package org.springblade.mdm.flow.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.flowable.task.api.Task;
+import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.mdm.basesetting.machine.MachineService;
+import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.flow.entity.ApproveRecord;
+import org.springblade.mdm.flow.mapper.ApproveRecordMapper;
+import org.springblade.mdm.flow.vo.ApproveRecordVO;
+import org.springblade.mdm.program.entity.NcProgram;
+import org.springblade.mdm.program.entity.ProcessProgRef;
+import org.springblade.mdm.program.service.NcProgramService;
+import org.springblade.mdm.program.service.ProcessProgRefService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.List;
+import com.itextpdf.text.*;
+import com.itextpdf.text.pdf.*;
+/**
+ * 瀹℃壒璁板綍锛岀敤浜庢煡璇㈡墽琛岃建杩�
+ *
+ * @author yangys
+ */
+@Slf4j
+@Service
+@AllArgsConstructor
+public class ApproveTableService{
+ private final ProcessProgRefService processProgRefService;
+ private final FlowCommonService flowCommonService;
+ private final ApproveRecordService approveRecordService;
+ private final NcProgramService ncProgramService;
+ private final MachineService machineService;
+ private static final String UNCHECK_BOX = "鈽�";
+ private static final String CHECKED_BOX = "鈽�";
+ static Chunk square = new Chunk("o", new Font(Font.FontFamily.ZAPFDINGBATS, 12)); // 绌烘柟妗�
+ static Chunk check = new Chunk("4", new Font(Font.FontFamily.ZAPFDINGBATS, 12)); // 甯﹀嬀鏂规
+
+ BaseFont getBaseFont() throws DocumentException, IOException {
+ return BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
+ }
+ Font getChineseFont() throws DocumentException, IOException {
+ BaseFont bfChinese = getBaseFont();
+ return new Font(bfChinese, 12, Font.NORMAL);
+ }
+ /**
+ * 瀵煎嚭瀹℃壒纭琛�
+ * @param processInstanceId
+ */
+ public void exportApproveTable(String processInstanceId, OutputStream os) throws DocumentException, IOException {
+
+ BaseFont bfChinese = getBaseFont();
+
+ Document document = new Document(PageSize.B5.rotate());
+ PdfWriter.getInstance(document,os);
+
+ document.open();
+
+ List<ApproveRecord> records = approveRecordService.lambdaQuery().eq(ApproveRecord::getProcessInstanceId, processInstanceId).orderByAsc(ApproveRecord::getCreateTime).list();
+ for(int i=0;i<records.size();i++){
+ ApproveRecord record = records.get(i);
+ printStep(document,bfChinese,record);
+ if(i<records.size()-1){
+ document.newPage();
+ }
+ }
+
+ document.close();
+ }
+
+ void printStep(Document document,BaseFont bfChinese,ApproveRecord record) throws DocumentException, IOException {
+ NcProgram ncProgram;
+ Machine machine;
+ if(record.getNcProgramId() !=null ) {
+ ncProgram = ncProgramService.getById(record.getNcProgramId());
+ machine = machineService.getByCode(ncProgram.getMachineCode());
+ }else{
+ ncProgram = new NcProgram();
+ machine = new Machine();
+ }
+
+
+ Font titleFont = new Font(bfChinese, 14, Font.NORMAL);
+ Paragraph title = new Paragraph("鏁版帶绋嬪簭缂栧埗瀹℃壒鍗�",titleFont);
+ title.setAlignment(Element.ALIGN_CENTER);
+
+ title.setLeading(40f, 0f);
+ title.setSpacingAfter(10); // 娈靛悗闂磋窛
+ document.add(title);
+ // 鍒涘缓琛ㄦ牸锛�4鍒楋級
+ PdfPTable table = new PdfPTable(5);
+ table.setWidths(new float[]{2,1.2f, 1.2f, 1.2f,2});
+
+ Font ft = this.getChineseFont();
+ // 娣诲姞琛ㄥご
+ PdfPCell tempCell = new PdfPCell();//getCell("闆剁粍浠跺彿");
+ tempCell.setHorizontalAlignment(Element.ALIGN_CENTER);
+ tempCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+
+ Phrase pt1 = new Phrase("闆剁粍浠跺彿",ft);
+ tempCell.setPhrase(pt1);
+ //tempCell.addElement(pt1);
+ //
+ table.addCell(tempCell);
+ table.addCell(getCell("宸ュ簭鍙�",ft));
+ table.addCell(getCell("宸ヨ壓鐗堟",ft));
+ table.addCell(getCell("鏈哄簥鍨嬪彿",ft));
+ table.addCell(getCell("宸ユ璐熻矗浜�/鍗曞厓璐焅n璐d汉娲惧嚭鏃堕棿",ft));
+
+ //PdfPCell cell12 = new PdfPCell();
+ //cell12.setColspan(2);
+ //cell12.addElement(new Phrase(ncProgram.getDrawingNo()));
+ table.addCell(getCell(ncProgram.getDrawingNo(),ft));//闆剁粍浠跺彿
+
+ table.addCell(getCell(ncProgram.getProcessNo(),ft));//宸ュ簭鍙�
+ table.addCell(getCell(ncProgram.getCraftEdition(),ft));//宸ヨ壓鐗堟
+ table.addCell(getCell(machine.getName(),ft));//鏈哄簥鍨嬪彿
+ table.addCell("");//璐熻矗浜猴紝宸ユ璐熻矗浜烘淳鍑烘椂闂�
+
+ //涓棿澶ф牸
+ PdfPCell cell = new PdfPCell();
+ cell.setColspan(5);
+ cell.setCalculatedHeight(400);
+ Paragraph mainPara1 = new Paragraph();
+ mainPara1.setLeading(30f, 0f);
+ mainPara1.setFont(ft);
+ mainPara1.setAlignment(Element.ALIGN_LEFT); // 瀵归綈鏂瑰紡
+ mainPara1.setIndentationLeft(20); // 宸︾缉杩�(鍍忕礌)
+ mainPara1.setIndentationRight(20); // 鍙崇缉杩�
+ mainPara1.setSpacingBefore(10); // 娈靛墠闂磋窛
+ mainPara1.setSpacingAfter(10); // 娈靛悗闂磋窛
+
+
+ mainPara1.add("鏁版帶绋嬪簭缂栧埗浠诲姟瀹夋帓:\n");
+ cell.addElement(mainPara1);
+
+ Paragraph line2Para = new Paragraph();
+ line2Para.setLeading(30f, 0f);
+ line2Para.setFont(ft);
+ line2Para.setAlignment(Element.ALIGN_LEFT); // 瀵归綈鏂瑰紡
+ line2Para.setIndentationLeft(40); // 宸︾缉杩�(鍍忕礌)
+ line2Para.add("璇�");
+
+ Font underLineFt = new Font(bfChinese, 12, Font.UNDERLINE);
+
+ String personName = record.getUserNickname();
+ Chunk block1 = square;
+ Chunk block2 = square;
+ if(StringUtils.equals(record.getTaskDefinitionId(),"programmingTask")){
+ block1 = check;
+ }else if(StringUtils.equals(record.getTaskDefinitionId(),"check")){
+ block2 = check;
+ }
+ Phrase p = new Phrase(" "+personName+" ",underLineFt);
+
+ line2Para.add(p);
+
+ Phrase p2 = new Phrase("璐熻矗鏁版帶绋嬪簭锛堢紪鍒�");
+ p2.add(block1);
+ p2.add(new Chunk(" 鏍″",ft));
+ p2.add(block2);
+ p2.add(new Chunk("锛�",ft));
+ line2Para.add(p2);
+
+ cell.addElement(line2Para);
+
+ Paragraph fangzhen = new Paragraph();
+ fangzhen.setAlignment(Element.ALIGN_LEFT); // 瀵归綈鏂瑰紡
+ fangzhen.setIndentationLeft(20); // 宸︾缉杩�(鍍忕礌)
+ fangzhen.setIndentationRight(20); // 鍙崇缉杩�
+ fangzhen.setSpacingBefore(10); // 娈靛墠闂磋窛
+ fangzhen.setSpacingAfter(10); // 娈靛悗闂磋窛
+ fangzhen.setFont(ft);
+ fangzhen.setLeading(30f, 0f);
+ fangzhen.add("鏄惁闇�瑕佷豢鐪燂紙鏄�");
+ fangzhen.add(square);
+ fangzhen.add(";鍚�");
+ fangzhen.add(square);
+ fangzhen.add("锛塡n");
+
+ cell.addElement(fangzhen);
+ table.addCell(cell);
+ //涓嬩竴琛�
+ PdfPCell cell21 = getCell("鏁版帶绋嬪簭缂栧彿",ft);// PdfPCell();
+ cell21.setColspan(2);
+ //cell21.setPhrase(new Phrase("鏁版帶绋嬪簭缂栧彿",ft));
+ table.addCell(cell21);
+ table.addCell(getCell("缂栧埗/鏃ユ湡",ft));
+ table.addCell(getCell("鏍″/鏃ユ湡",ft));
+ table.addCell(getCell("鎵瑰噯/鏃ユ湡",ft));
+
+ PdfPCell cell2 = new PdfPCell();
+ cell2.addElement(new Phrase(" ",ft));
+ cell2.setColspan(2);
+ table.addCell(cell2);
+ table.addCell(getCell(" ",ft));
+ table.addCell(getCell(" ",ft));
+ table.addCell(getCell(" ",ft));
+
+ // 璁剧疆琛ㄦ牸瀹藉害鍗犻〉闈㈠搴︾殑100%
+ table.setWidthPercentage(100);
+
+ // 娣诲姞琛ㄦ牸鍒版枃妗�
+ document.add(table);
+
+ Phrase lastPhrase = new Phrase("娉�:宸ユ娲惧伐搴旈鍏堣鍒掋�佸悎鐞嗗畨鎺掓暟鎺х▼搴忕紪鍒躲�傜珛鍔犮�佹暟閾c�佹暟杞︾瓑鍗曢亾宸ュ簭绋嬪簭(涓よ酱绋嬪簭)闇�鎻愬墠1涓伐浣滄棩锛屽崸寮忓姞宸ヤ腑蹇冨崟閬撳伐搴�(鍚杞寸▼搴�)闇�鎻愬墠3涓伐浣滄棩銆� ",ft);
+ document.add(lastPhrase);
+ }
+
+ PdfPCell getCell(String text,Font font) throws DocumentException, IOException {
+ PdfPCell cell = new PdfPCell();
+ cell.setPadding(10);
+ cell.setHorizontalAlignment(Element.ALIGN_CENTER);
+ cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+ if(StringUtils.isNotBlank(text)){
+ Phrase p = new Phrase(text,font);
+ p.setLeading(25);
+ cell.setPhrase(p);
+ }
+
+ return cell;
+ }
+
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
index ba5d354..99126f6 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import org.flowable.engine.HistoryService;
+import org.flowable.engine.RuntimeService;
import org.flowable.engine.TaskService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.task.Comment;
@@ -18,6 +19,8 @@
import org.springblade.mdm.flow.entity.MdmFlowProcess;
import org.springblade.mdm.flow.util.MdmFlowCache;
import org.springblade.mdm.flow.vo.FlowVO;
+import org.springblade.mdm.program.entity.ProcessProgRef;
+import org.springblade.mdm.program.service.ProcessProgRefService;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.stereotype.Service;
@@ -38,10 +41,12 @@
@Service
@AllArgsConstructor
public class FlowBusinessService {
-
+ private final RuntimeService runtimeService;
private final TaskService taskService;
private final HistoryService historyService;
private final IUserClient userClient;
+ private final ProcessProgRefService processProgRefService;
+ private final ApproveRecordService approveRecordService;
/**
* 鏌ヨ鎴戠殑娴佺▼(涓汉寰呭姙鍒楄〃)
@@ -425,7 +430,6 @@
* @param page
* @param createTimeBegin
* @param createTimeEnd
- * @param assigneeName
* @param keyword
* @return
*/
@@ -459,4 +463,9 @@
page.setRecords(flowList);
return page;
}
+
+ public void deleteProcessInstance(String processInstancesId) {
+ runtimeService.deleteProcessInstance(processInstancesId, "娴佺▼鏌ヨ-鍒犻櫎");
+ //TODO 鍒犻櫎鍑哄叧鑱斿瓧娈�
+ }
}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java
index 7c899dc..feb0f0d 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java
@@ -64,22 +64,6 @@
}
- @PostMapping("/export-approve-table")
- @Operation(summary = "瀵煎嚭瀹℃壒琛�", description = "瀵煎嚭瀹℃壒琛╡xcel")
- public void exportApproveTaable(@RequestBody @Parameter(description = "瀹℃壒琛╥d鏁扮粍") IdsVO vo, HttpServletResponse response) {
- if(vo.getIds() == null || vo.getIds().length == 0) {
- throw new ServiceException("鏈�夋嫨鏂囦欢瀵煎嚭");
- }
- try {
- String filename = "todncexp-"+ DateUtil.format(DateUtil.now(), "yyyyMMddHHmm")+".zip";
- response.setHeader("Content-Disposition", "attachment; filename="+filename);
- response.setContentType("application/octet-stream");
- ncProgramExportDNCService.exportDnc(vo.getIds(),response.getOutputStream());
- } catch (IOException e) {
- log.error("瀵煎嚭DNC寮傚父", e);
- throw new RuntimeException(e);
- }
- }
}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
index 2b78637..6f2c0d5 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
@@ -47,6 +47,11 @@
* 宸ュ簭锛屽鈥滅簿閾b��
*/
private String processName;
+
+ /**
+ * 宸ュ簭鍙�
+ */
+ private String processNo;
/**
* 澶囨敞
*/
@@ -76,6 +81,11 @@
* 宸ュ簭鐗堟
*/
private String processEdition;
+
+ /**
+ * 宸ヨ壓鐗堟
+ */
+ private String craftEdition;
/**
* 鏄惁鏈�鏂扮増娆★紝1锛氭渶鏂扮増娆★紱0:鍘嗗彶鐗堟
*/
diff --git a/blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java b/blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java
new file mode 100644
index 0000000..beb3b56
--- /dev/null
+++ b/blade-service/blade-mdm/src/test/java/org/springblade/mdm/flow/service/ApproveTableServiceTest.java
@@ -0,0 +1,21 @@
+package org.springblade.mdm.flow.service;
+
+import com.google.common.io.FileBackedOutputStream;
+import com.itextpdf.text.DocumentException;
+import org.junit.jupiter.api.Test;
+
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+public class ApproveTableServiceTest {
+ @Test
+ public void test(){
+ ApproveTableService s = new ApproveTableService(null,null,null,null,null);
+ try {
+ //s.exportApproveTable("1",new FileOutputStream("d:/t.pdf"));
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
--
Gitblit v1.9.3