diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index ad41006..9d7e26c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -63,7 +63,7 @@
return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
}
- @ApiOperation("证书报告草稿箱更新")
+ @ApiOperation("证书报告草稿箱更新/未通过中的驳回更新(保存按钮)")
@PostMapping("/draftUpdate")
@ResponseBody
public ReturnDTO draftUpdate(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) throws Exception {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index ad41006..9d7e26c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -63,7 +63,7 @@
return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
}
- @ApiOperation("证书报告草稿箱更新")
+ @ApiOperation("证书报告草稿箱更新/未通过中的驳回更新(保存按钮)")
@PostMapping("/draftUpdate")
@ResponseBody
public ReturnDTO draftUpdate(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) throws Exception {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
index f2870df..0381b99 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
@@ -110,6 +110,12 @@
* 该功能需要具体业务的删除,放在各业务controller中处理,提供公共flowable删除处理service:approvalOperateService
*/
+ /**
+ * 正常流程,前端在每次同意接口之前调用;
+ * 驳回流程中,驳回至发起人,发起人保存后先调用该接口,再调用驳回后重新编辑接口/failUpdate
+ * @param request
+ * @return
+ */
@ApiOperation("审批操作-动态增加审批人")
@PostMapping("/addTaskApprover")
@ResponseBody
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index ad41006..9d7e26c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -63,7 +63,7 @@
return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
}
- @ApiOperation("证书报告草稿箱更新")
+ @ApiOperation("证书报告草稿箱更新/未通过中的驳回更新(保存按钮)")
@PostMapping("/draftUpdate")
@ResponseBody
public ReturnDTO draftUpdate(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) throws Exception {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
index f2870df..0381b99 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
@@ -110,6 +110,12 @@
* 该功能需要具体业务的删除,放在各业务controller中处理,提供公共flowable删除处理service:approvalOperateService
*/
+ /**
+ * 正常流程,前端在每次同意接口之前调用;
+ * 驳回流程中,驳回至发起人,发起人保存后先调用该接口,再调用驳回后重新编辑接口/failUpdate
+ * @param request
+ * @return
+ */
@ApiOperation("审批操作-动态增加审批人")
@PostMapping("/addTaskApprover")
@ResponseBody
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index daf917f..b241583 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -247,5 +247,11 @@
commons-fileupload
commons-fileupload
+
+
+ com.aspose
+ aspose-cells
+ 21.8
+
\ No newline at end of file
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index ad41006..9d7e26c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -63,7 +63,7 @@
return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
}
- @ApiOperation("证书报告草稿箱更新")
+ @ApiOperation("证书报告草稿箱更新/未通过中的驳回更新(保存按钮)")
@PostMapping("/draftUpdate")
@ResponseBody
public ReturnDTO draftUpdate(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) throws Exception {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
index f2870df..0381b99 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
@@ -110,6 +110,12 @@
* 该功能需要具体业务的删除,放在各业务controller中处理,提供公共flowable删除处理service:approvalOperateService
*/
+ /**
+ * 正常流程,前端在每次同意接口之前调用;
+ * 驳回流程中,驳回至发起人,发起人保存后先调用该接口,再调用驳回后重新编辑接口/failUpdate
+ * @param request
+ * @return
+ */
@ApiOperation("审批操作-动态增加审批人")
@PostMapping("/addTaskApprover")
@ResponseBody
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index daf917f..b241583 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -247,5 +247,11 @@
commons-fileupload
commons-fileupload
+
+
+ com.aspose
+ aspose-cells
+ 21.8
+
\ No newline at end of file
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
new file mode 100644
index 0000000..ea0b91f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.utils;
+
+/**
+ * @Description: Aspose.Cells商业库实现Excel转Pdf,需购买许可
+ * @Author: wangpeng
+ * @Date: 2025/3/10 10:58
+ */
+import com.aspose.cells.PdfSaveOptions;
+import com.aspose.cells.Workbook;
+
+public class ExcelToPdfUtil {
+ public static void main(String[] args) throws Exception {
+ // 加载 Excel 文件
+ Workbook workbook = new Workbook("D:\\casic\\tmp\\1894648816529068033\\RIM20250226001无线电校准报告RIM20250226001.xlsx");
+
+ // 设置 PDF 保存选项
+ PdfSaveOptions saveOptions = new PdfSaveOptions();
+ saveOptions.setOnePagePerSheet(false); // 将每个工作表保存为一页
+
+ // 保存为 PDF
+ workbook.save("D:\\casic\\tmp\\1894648816529068033\\RR.pdf", saveOptions);
+
+ System.out.println("Excel 文件已成功转换为 PDF!");
+ }
+}
\ No newline at end of file
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index ad41006..9d7e26c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -63,7 +63,7 @@
return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
}
- @ApiOperation("证书报告草稿箱更新")
+ @ApiOperation("证书报告草稿箱更新/未通过中的驳回更新(保存按钮)")
@PostMapping("/draftUpdate")
@ResponseBody
public ReturnDTO draftUpdate(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) throws Exception {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
index f2870df..0381b99 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
@@ -110,6 +110,12 @@
* 该功能需要具体业务的删除,放在各业务controller中处理,提供公共flowable删除处理service:approvalOperateService
*/
+ /**
+ * 正常流程,前端在每次同意接口之前调用;
+ * 驳回流程中,驳回至发起人,发起人保存后先调用该接口,再调用驳回后重新编辑接口/failUpdate
+ * @param request
+ * @return
+ */
@ApiOperation("审批操作-动态增加审批人")
@PostMapping("/addTaskApprover")
@ResponseBody
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index daf917f..b241583 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -247,5 +247,11 @@
commons-fileupload
commons-fileupload
+
+
+ com.aspose
+ aspose-cells
+ 21.8
+
\ No newline at end of file
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
new file mode 100644
index 0000000..ea0b91f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.utils;
+
+/**
+ * @Description: Aspose.Cells商业库实现Excel转Pdf,需购买许可
+ * @Author: wangpeng
+ * @Date: 2025/3/10 10:58
+ */
+import com.aspose.cells.PdfSaveOptions;
+import com.aspose.cells.Workbook;
+
+public class ExcelToPdfUtil {
+ public static void main(String[] args) throws Exception {
+ // 加载 Excel 文件
+ Workbook workbook = new Workbook("D:\\casic\\tmp\\1894648816529068033\\RIM20250226001无线电校准报告RIM20250226001.xlsx");
+
+ // 设置 PDF 保存选项
+ PdfSaveOptions saveOptions = new PdfSaveOptions();
+ saveOptions.setOnePagePerSheet(false); // 将每个工作表保存为一页
+
+ // 保存为 PDF
+ workbook.save("D:\\casic\\tmp\\1894648816529068033\\RR.pdf", saveOptions);
+
+ System.out.println("Excel 文件已成功转换为 PDF!");
+ }
+}
\ No newline at end of file
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
index d247a3c..461a51b 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
@@ -298,6 +298,14 @@
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
});
if (this.baseMapper.updateById(certificateReport) > 0) {
+ //关联技术文件
+ if (!CollectionUtils.isEmpty(certificateReport.getFileList()) && certificateReport.getFileList().size() > 0) {
+ originalRecordFileRelationService.saveBatch(certificateReport.getId(), certificateReport.getFileList());
+ }
+ //关联设备
+ if (!CollectionUtils.isEmpty(certificateReport.getEquipmentInfoList()) && certificateReport.getEquipmentInfoList().size() > 0) {
+ originalRecordEquipmentRelationService.saveBatch(certificateReport.getId(), certificateReport.getEquipmentInfoList());
+ }
baseApprovalService.failUpdate(certificateReport.getProcessId());
return ReturnUtil.success();
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index ad41006..9d7e26c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -63,7 +63,7 @@
return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
}
- @ApiOperation("证书报告草稿箱更新")
+ @ApiOperation("证书报告草稿箱更新/未通过中的驳回更新(保存按钮)")
@PostMapping("/draftUpdate")
@ResponseBody
public ReturnDTO draftUpdate(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) throws Exception {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
index f2870df..0381b99 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
@@ -110,6 +110,12 @@
* 该功能需要具体业务的删除,放在各业务controller中处理,提供公共flowable删除处理service:approvalOperateService
*/
+ /**
+ * 正常流程,前端在每次同意接口之前调用;
+ * 驳回流程中,驳回至发起人,发起人保存后先调用该接口,再调用驳回后重新编辑接口/failUpdate
+ * @param request
+ * @return
+ */
@ApiOperation("审批操作-动态增加审批人")
@PostMapping("/addTaskApprover")
@ResponseBody
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index daf917f..b241583 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -247,5 +247,11 @@
commons-fileupload
commons-fileupload
+
+
+ com.aspose
+ aspose-cells
+ 21.8
+
\ No newline at end of file
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
new file mode 100644
index 0000000..ea0b91f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.utils;
+
+/**
+ * @Description: Aspose.Cells商业库实现Excel转Pdf,需购买许可
+ * @Author: wangpeng
+ * @Date: 2025/3/10 10:58
+ */
+import com.aspose.cells.PdfSaveOptions;
+import com.aspose.cells.Workbook;
+
+public class ExcelToPdfUtil {
+ public static void main(String[] args) throws Exception {
+ // 加载 Excel 文件
+ Workbook workbook = new Workbook("D:\\casic\\tmp\\1894648816529068033\\RIM20250226001无线电校准报告RIM20250226001.xlsx");
+
+ // 设置 PDF 保存选项
+ PdfSaveOptions saveOptions = new PdfSaveOptions();
+ saveOptions.setOnePagePerSheet(false); // 将每个工作表保存为一页
+
+ // 保存为 PDF
+ workbook.save("D:\\casic\\tmp\\1894648816529068033\\RR.pdf", saveOptions);
+
+ System.out.println("Excel 文件已成功转换为 PDF!");
+ }
+}
\ No newline at end of file
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
index d247a3c..461a51b 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
@@ -298,6 +298,14 @@
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
});
if (this.baseMapper.updateById(certificateReport) > 0) {
+ //关联技术文件
+ if (!CollectionUtils.isEmpty(certificateReport.getFileList()) && certificateReport.getFileList().size() > 0) {
+ originalRecordFileRelationService.saveBatch(certificateReport.getId(), certificateReport.getFileList());
+ }
+ //关联设备
+ if (!CollectionUtils.isEmpty(certificateReport.getEquipmentInfoList()) && certificateReport.getEquipmentInfoList().size() > 0) {
+ originalRecordEquipmentRelationService.saveBatch(certificateReport.getId(), certificateReport.getEquipmentInfoList());
+ }
baseApprovalService.failUpdate(certificateReport.getProcessId());
return ReturnUtil.success();
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
index b010262..fea431c 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
@@ -625,7 +625,8 @@
//查询扫描样品中为该用户检测中的样品列表
List preList = labExecutiveInfoMapper.selectListForSampleOperate(requestList, userId, MeasureStatusEnum.IN_MEASURE);
if (CollectionUtils.isEmpty(preList)) {
- throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST);
+ //throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST);
+ return ReturnUtil.success();
}
int updateFlag = labExecutiveInfoMapper.updateForSampleMeasureCompleteOperate(preList, userId, MeasureStatusEnum.MEASURE_COMPLETE);
if (updateFlag > 0) {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index ad41006..9d7e26c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -63,7 +63,7 @@
return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
}
- @ApiOperation("证书报告草稿箱更新")
+ @ApiOperation("证书报告草稿箱更新/未通过中的驳回更新(保存按钮)")
@PostMapping("/draftUpdate")
@ResponseBody
public ReturnDTO draftUpdate(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) throws Exception {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
index f2870df..0381b99 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
@@ -110,6 +110,12 @@
* 该功能需要具体业务的删除,放在各业务controller中处理,提供公共flowable删除处理service:approvalOperateService
*/
+ /**
+ * 正常流程,前端在每次同意接口之前调用;
+ * 驳回流程中,驳回至发起人,发起人保存后先调用该接口,再调用驳回后重新编辑接口/failUpdate
+ * @param request
+ * @return
+ */
@ApiOperation("审批操作-动态增加审批人")
@PostMapping("/addTaskApprover")
@ResponseBody
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index daf917f..b241583 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -247,5 +247,11 @@
commons-fileupload
commons-fileupload
+
+
+ com.aspose
+ aspose-cells
+ 21.8
+
\ No newline at end of file
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
new file mode 100644
index 0000000..ea0b91f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.utils;
+
+/**
+ * @Description: Aspose.Cells商业库实现Excel转Pdf,需购买许可
+ * @Author: wangpeng
+ * @Date: 2025/3/10 10:58
+ */
+import com.aspose.cells.PdfSaveOptions;
+import com.aspose.cells.Workbook;
+
+public class ExcelToPdfUtil {
+ public static void main(String[] args) throws Exception {
+ // 加载 Excel 文件
+ Workbook workbook = new Workbook("D:\\casic\\tmp\\1894648816529068033\\RIM20250226001无线电校准报告RIM20250226001.xlsx");
+
+ // 设置 PDF 保存选项
+ PdfSaveOptions saveOptions = new PdfSaveOptions();
+ saveOptions.setOnePagePerSheet(false); // 将每个工作表保存为一页
+
+ // 保存为 PDF
+ workbook.save("D:\\casic\\tmp\\1894648816529068033\\RR.pdf", saveOptions);
+
+ System.out.println("Excel 文件已成功转换为 PDF!");
+ }
+}
\ No newline at end of file
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
index d247a3c..461a51b 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
@@ -298,6 +298,14 @@
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
});
if (this.baseMapper.updateById(certificateReport) > 0) {
+ //关联技术文件
+ if (!CollectionUtils.isEmpty(certificateReport.getFileList()) && certificateReport.getFileList().size() > 0) {
+ originalRecordFileRelationService.saveBatch(certificateReport.getId(), certificateReport.getFileList());
+ }
+ //关联设备
+ if (!CollectionUtils.isEmpty(certificateReport.getEquipmentInfoList()) && certificateReport.getEquipmentInfoList().size() > 0) {
+ originalRecordEquipmentRelationService.saveBatch(certificateReport.getId(), certificateReport.getEquipmentInfoList());
+ }
baseApprovalService.failUpdate(certificateReport.getProcessId());
return ReturnUtil.success();
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
index b010262..fea431c 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
@@ -625,7 +625,8 @@
//查询扫描样品中为该用户检测中的样品列表
List preList = labExecutiveInfoMapper.selectListForSampleOperate(requestList, userId, MeasureStatusEnum.IN_MEASURE);
if (CollectionUtils.isEmpty(preList)) {
- throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST);
+ //throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST);
+ return ReturnUtil.success();
}
int updateFlag = labExecutiveInfoMapper.updateForSampleMeasureCompleteOperate(preList, userId, MeasureStatusEnum.MEASURE_COMPLETE);
if (updateFlag > 0) {
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java
index 6c6f433..a4f8bb9 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java
@@ -288,6 +288,13 @@
}
}
+ private void deleteLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId());
+ queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId());
+ labExecutiveInfoMapper.delete(queryWrapper);
+ }
+
private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO, String measureStatus) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId());
@@ -426,9 +433,9 @@
}
BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation();
businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus());
- //回退操作更新实验室数据状态
+ //从已收入回退到待收入,删除历史分发检测的实验室数据
if ("1".equals(statusChangeDTO.getStatus())) {
- updateLabExecutiveInfo(statusChangeDTO, MeasureStatusEnum.TERMINATED);
+ deleteLabExecutiveInfo(statusChangeDTO);
}
if (TO_GIVE_BACK.equals(statusChangeDTO.getStatus())) {
//更新转换为待归还的时间
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index ad41006..9d7e26c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -63,7 +63,7 @@
return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
}
- @ApiOperation("证书报告草稿箱更新")
+ @ApiOperation("证书报告草稿箱更新/未通过中的驳回更新(保存按钮)")
@PostMapping("/draftUpdate")
@ResponseBody
public ReturnDTO draftUpdate(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) throws Exception {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
index f2870df..0381b99 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
@@ -110,6 +110,12 @@
* 该功能需要具体业务的删除,放在各业务controller中处理,提供公共flowable删除处理service:approvalOperateService
*/
+ /**
+ * 正常流程,前端在每次同意接口之前调用;
+ * 驳回流程中,驳回至发起人,发起人保存后先调用该接口,再调用驳回后重新编辑接口/failUpdate
+ * @param request
+ * @return
+ */
@ApiOperation("审批操作-动态增加审批人")
@PostMapping("/addTaskApprover")
@ResponseBody
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index daf917f..b241583 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -247,5 +247,11 @@
commons-fileupload
commons-fileupload
+
+
+ com.aspose
+ aspose-cells
+ 21.8
+
\ No newline at end of file
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
new file mode 100644
index 0000000..ea0b91f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.utils;
+
+/**
+ * @Description: Aspose.Cells商业库实现Excel转Pdf,需购买许可
+ * @Author: wangpeng
+ * @Date: 2025/3/10 10:58
+ */
+import com.aspose.cells.PdfSaveOptions;
+import com.aspose.cells.Workbook;
+
+public class ExcelToPdfUtil {
+ public static void main(String[] args) throws Exception {
+ // 加载 Excel 文件
+ Workbook workbook = new Workbook("D:\\casic\\tmp\\1894648816529068033\\RIM20250226001无线电校准报告RIM20250226001.xlsx");
+
+ // 设置 PDF 保存选项
+ PdfSaveOptions saveOptions = new PdfSaveOptions();
+ saveOptions.setOnePagePerSheet(false); // 将每个工作表保存为一页
+
+ // 保存为 PDF
+ workbook.save("D:\\casic\\tmp\\1894648816529068033\\RR.pdf", saveOptions);
+
+ System.out.println("Excel 文件已成功转换为 PDF!");
+ }
+}
\ No newline at end of file
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
index d247a3c..461a51b 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
@@ -298,6 +298,14 @@
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
});
if (this.baseMapper.updateById(certificateReport) > 0) {
+ //关联技术文件
+ if (!CollectionUtils.isEmpty(certificateReport.getFileList()) && certificateReport.getFileList().size() > 0) {
+ originalRecordFileRelationService.saveBatch(certificateReport.getId(), certificateReport.getFileList());
+ }
+ //关联设备
+ if (!CollectionUtils.isEmpty(certificateReport.getEquipmentInfoList()) && certificateReport.getEquipmentInfoList().size() > 0) {
+ originalRecordEquipmentRelationService.saveBatch(certificateReport.getId(), certificateReport.getEquipmentInfoList());
+ }
baseApprovalService.failUpdate(certificateReport.getProcessId());
return ReturnUtil.success();
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
index b010262..fea431c 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
@@ -625,7 +625,8 @@
//查询扫描样品中为该用户检测中的样品列表
List preList = labExecutiveInfoMapper.selectListForSampleOperate(requestList, userId, MeasureStatusEnum.IN_MEASURE);
if (CollectionUtils.isEmpty(preList)) {
- throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST);
+ //throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST);
+ return ReturnUtil.success();
}
int updateFlag = labExecutiveInfoMapper.updateForSampleMeasureCompleteOperate(preList, userId, MeasureStatusEnum.MEASURE_COMPLETE);
if (updateFlag > 0) {
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java
index 6c6f433..a4f8bb9 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java
@@ -288,6 +288,13 @@
}
}
+ private void deleteLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId());
+ queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId());
+ labExecutiveInfoMapper.delete(queryWrapper);
+ }
+
private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO, String measureStatus) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId());
@@ -426,9 +433,9 @@
}
BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation();
businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus());
- //回退操作更新实验室数据状态
+ //从已收入回退到待收入,删除历史分发检测的实验室数据
if ("1".equals(statusChangeDTO.getStatus())) {
- updateLabExecutiveInfo(statusChangeDTO, MeasureStatusEnum.TERMINATED);
+ deleteLabExecutiveInfo(statusChangeDTO);
}
if (TO_GIVE_BACK.equals(statusChangeDTO.getStatus())) {
//更新转换为待归还的时间
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
index 382a270..dbeca14 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
@@ -359,6 +359,7 @@
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.in("id", ids);
wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE);
+ wrapper.orderByAsc("FIELD(id, " + StringUtils.join(ids, ",") + ")");
List equipmentFixedAssetsList = this.baseMapper.selectList(wrapper);
List deptList = deptService.list();
Map meterOrganizeMap = deptList.stream()
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index ad41006..9d7e26c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -63,7 +63,7 @@
return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
}
- @ApiOperation("证书报告草稿箱更新")
+ @ApiOperation("证书报告草稿箱更新/未通过中的驳回更新(保存按钮)")
@PostMapping("/draftUpdate")
@ResponseBody
public ReturnDTO draftUpdate(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) throws Exception {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
index f2870df..0381b99 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/flowable/ApprovalOperateController.java
@@ -110,6 +110,12 @@
* 该功能需要具体业务的删除,放在各业务controller中处理,提供公共flowable删除处理service:approvalOperateService
*/
+ /**
+ * 正常流程,前端在每次同意接口之前调用;
+ * 驳回流程中,驳回至发起人,发起人保存后先调用该接口,再调用驳回后重新编辑接口/failUpdate
+ * @param request
+ * @return
+ */
@ApiOperation("审批操作-动态增加审批人")
@PostMapping("/addTaskApprover")
@ResponseBody
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index daf917f..b241583 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -247,5 +247,11 @@
commons-fileupload
commons-fileupload
+
+
+ com.aspose
+ aspose-cells
+ 21.8
+
\ No newline at end of file
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
new file mode 100644
index 0000000..ea0b91f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/ExcelToPdfUtil.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.utils;
+
+/**
+ * @Description: Aspose.Cells商业库实现Excel转Pdf,需购买许可
+ * @Author: wangpeng
+ * @Date: 2025/3/10 10:58
+ */
+import com.aspose.cells.PdfSaveOptions;
+import com.aspose.cells.Workbook;
+
+public class ExcelToPdfUtil {
+ public static void main(String[] args) throws Exception {
+ // 加载 Excel 文件
+ Workbook workbook = new Workbook("D:\\casic\\tmp\\1894648816529068033\\RIM20250226001无线电校准报告RIM20250226001.xlsx");
+
+ // 设置 PDF 保存选项
+ PdfSaveOptions saveOptions = new PdfSaveOptions();
+ saveOptions.setOnePagePerSheet(false); // 将每个工作表保存为一页
+
+ // 保存为 PDF
+ workbook.save("D:\\casic\\tmp\\1894648816529068033\\RR.pdf", saveOptions);
+
+ System.out.println("Excel 文件已成功转换为 PDF!");
+ }
+}
\ No newline at end of file
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
index d247a3c..461a51b 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
@@ -298,6 +298,14 @@
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
});
if (this.baseMapper.updateById(certificateReport) > 0) {
+ //关联技术文件
+ if (!CollectionUtils.isEmpty(certificateReport.getFileList()) && certificateReport.getFileList().size() > 0) {
+ originalRecordFileRelationService.saveBatch(certificateReport.getId(), certificateReport.getFileList());
+ }
+ //关联设备
+ if (!CollectionUtils.isEmpty(certificateReport.getEquipmentInfoList()) && certificateReport.getEquipmentInfoList().size() > 0) {
+ originalRecordEquipmentRelationService.saveBatch(certificateReport.getId(), certificateReport.getEquipmentInfoList());
+ }
baseApprovalService.failUpdate(certificateReport.getProcessId());
return ReturnUtil.success();
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
index b010262..fea431c 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java
@@ -625,7 +625,8 @@
//查询扫描样品中为该用户检测中的样品列表
List preList = labExecutiveInfoMapper.selectListForSampleOperate(requestList, userId, MeasureStatusEnum.IN_MEASURE);
if (CollectionUtils.isEmpty(preList)) {
- throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST);
+ //throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST);
+ return ReturnUtil.success();
}
int updateFlag = labExecutiveInfoMapper.updateForSampleMeasureCompleteOperate(preList, userId, MeasureStatusEnum.MEASURE_COMPLETE);
if (updateFlag > 0) {
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java
index 6c6f433..a4f8bb9 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java
@@ -288,6 +288,13 @@
}
}
+ private void deleteLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId());
+ queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId());
+ labExecutiveInfoMapper.delete(queryWrapper);
+ }
+
private void updateLabExecutiveInfo(DeviceStatusChangeDTO deviceStatusChangeDTO, String measureStatus) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId());
@@ -426,9 +433,9 @@
}
BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation();
businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus());
- //回退操作更新实验室数据状态
+ //从已收入回退到待收入,删除历史分发检测的实验室数据
if ("1".equals(statusChangeDTO.getStatus())) {
- updateLabExecutiveInfo(statusChangeDTO, MeasureStatusEnum.TERMINATED);
+ deleteLabExecutiveInfo(statusChangeDTO);
}
if (TO_GIVE_BACK.equals(statusChangeDTO.getStatus())) {
//更新转换为待归还的时间
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
index 382a270..dbeca14 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
@@ -359,6 +359,7 @@
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.in("id", ids);
wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE);
+ wrapper.orderByAsc("FIELD(id, " + StringUtils.join(ids, ",") + ")");
List equipmentFixedAssetsList = this.baseMapper.selectList(wrapper);
List deptList = deptService.list();
Map meterOrganizeMap = deptList.stream()
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java
index 18a7079..5eab6d6 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java
@@ -19,6 +19,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.flowable.engine.RepositoryService;
+import org.flowable.engine.RuntimeService;
import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.delegate.ExecutionListener;
import org.flowable.engine.repository.ProcessDefinition;
@@ -49,6 +50,8 @@
@Resource
private RepositoryService repositoryService;
@Resource
+ private RuntimeService runtimeService;
+ @Resource
private SystemFlowFormMapper flowFormMapper;
@Resource
private RuRelationMapper ruRelationMapper;
@@ -66,6 +69,14 @@
//当前节点id,在任务中为任务id
String taskId = execution.getCurrentActivityId();
String variable = taskId + "assigneeList";
+
+ //获取流程中的自选审批人变量中审批人(保证驳回后的重新自选设置审批人)
+ String nodeId = execution.getCurrentFlowElement().getId();
+ Set assignees = (Set)runtimeService.getVariable(execution.getProcessInstanceId(), nodeId);
+ if (!CollectionUtils.isEmpty(assignees)) {
+ execution.setVariable(variable, new ArrayList<>(assignees));
+ }
+
//当前任务审批人信息
List usersValue = (List) execution.getVariable(variable);
String processDefinitionId = execution.getProcessDefinitionId();