diff --git a/src/main/java/com/xdap/self_development/pojo/ApprovalFlow.java b/src/main/java/com/xdap/self_development/pojo/ApprovalFlow.java index 42c5ddf..93d164d 100644 --- a/src/main/java/com/xdap/self_development/pojo/ApprovalFlow.java +++ b/src/main/java/com/xdap/self_development/pojo/ApprovalFlow.java @@ -16,6 +16,7 @@ import java.sql.Timestamp; public class ApprovalFlow extends MpaasBasePojo { @RowID(sequence = "approval_flow_s", type = RowIDType.UUID) private String id; + private String processTitle; private String templateId; private String currentNode; // 节点:PROOFREAD, REVIEW, COUNTERSIGN, APPROVE private String flowStatus; //DRAFT(草稿)、APPROVING(审批中)、COMPLETE(已完成)、RETURNED(已撤回)、REJECTED(已拒绝) diff --git a/src/main/java/com/xdap/self_development/pojo/view/ApprovalFlowView.java b/src/main/java/com/xdap/self_development/pojo/view/ApprovalFlowView.java index c02ac4c..d1116b2 100644 --- a/src/main/java/com/xdap/self_development/pojo/view/ApprovalFlowView.java +++ b/src/main/java/com/xdap/self_development/pojo/view/ApprovalFlowView.java @@ -14,4 +14,8 @@ public class ApprovalFlowView { private List approveNodes; private String flowStatus; + + private String progressTitle; + private String ContentName; + private Integer templateVersion; } diff --git a/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java index 053f633..93e26ae 100644 --- a/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java @@ -248,7 +248,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService } @Override - @Transactional(rollbackFor = CommonException.class) + @Transactional(rollbackFor = Exception.class) public void handleReportApproval(HandleApprovalRequest request) { ApprovalFlow flow = bd.getBusinessDatabase() .eq("id", request.getFlowId()) diff --git a/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java index b106031..e284d03 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java @@ -72,7 +72,7 @@ public class ParameterServiceImpl implements ParameterService { } @Override - @Transactional(rollbackFor = CommonException.class) + @Transactional(rollbackFor = Exception.class) public TemplateInfoView maintenanceParameters(UpdateParameterForm form) { // 公式格式检查 for (ParameterForm parameter : form.getParameterForms()) { diff --git a/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java index 2cbb5c4..ca42091 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java @@ -50,7 +50,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { private static final int FLOW_LOCK_EXPIRE_SECONDS = 15; @Override - @Transactional(rollbackFor = CommonException.class) + @Transactional(rollbackFor = Exception.class) public String startApproval(StartApprovalRequest request) { // 验证模板存在 Template template = bd.getBusinessDatabase() @@ -85,6 +85,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { flow.setTemplateId(template.getId()); flow.setCurrentNode("PROOFREAD"); flow.setFlowStatus("APPROVING"); + flow.setProcessTitle(request.getProcessTitle()); flow.setProofreadUsers(JSON.toJSONString(request.getProofreadUsers())); flow.setReviewUsers(JSON.toJSONString(request.getReviewUsers())); flow.setCountersignUsers(JSON.toJSONString(request.getCountersignUsers())); @@ -159,7 +160,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } @Override - @Transactional(rollbackFor = CommonException.class) + @Transactional(rollbackFor = Exception.class) public void handleApproval(HandleApprovalRequest request) { ApprovalFlow flow = bd.getBusinessDatabase() .eq("id", request.getFlowId()) @@ -206,7 +207,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } } - @Transactional(rollbackFor = CommonException.class) + @Transactional(rollbackFor = Exception.class) public void processApprovalLogic(ApprovalFlow flow, HandleApprovalRequest request, String currentNode) { // 记录审批结果 ApprovalRecord record = new ApprovalRecord(); @@ -295,6 +296,9 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { if (flow == null) { return approvalFlowView; } + Template template = bd.getBusinessDatabase() + .eq("id", flow.getTemplateId()) + .doQueryFirst(Template.class); approvalFlowView.setExplanation(flow.getExplanation()); approvalFlowView.setFlowStatus(flow.getFlowStatus()); if (!"APPROVING".equals(flow.getFlowStatus())) { @@ -302,6 +306,9 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { return approvalFlowView; } processApprovalNodes(approvalFlowView, flow); + approvalFlowView.setProgressTitle(flow.getProcessTitle()); + approvalFlowView.setContentName(template.getTemplateName()); + approvalFlowView.setTemplateVersion(template.getVersion()); return approvalFlowView; } @@ -469,7 +476,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } // 处理下一节点流转 - @Transactional(rollbackFor = CommonException.class) + @Transactional(rollbackFor = Exception.class) public void processNextNode(ApprovalFlow flow, String currentNode, String userId) { // 检查当前节点是否满足流转条件 if (!checkNodeComplete(flow, currentNode)) { diff --git a/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java index a5c9f7c..54a15ef 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java @@ -72,7 +72,7 @@ public class TemplateServiceImpl implements TemplateService { } @Override - @Transactional(rollbackFor = CommonException.class) + @Transactional(rollbackFor = Exception.class) public void updateTemplate(UpdateTemplateForm form) { Template template = bd.getBusinessDatabase() .viewQueryMode(true) @@ -134,7 +134,7 @@ public class TemplateServiceImpl implements TemplateService { } @Override - @Transactional(rollbackFor = CommonException.class) + @Transactional(rollbackFor = Exception.class) public MyResponse importTemplate(MultipartFile file, String templateRowId, String userId) { // 验证文件是否为工作表 if (file == null || file.isEmpty()) { @@ -225,7 +225,7 @@ public class TemplateServiceImpl implements TemplateService { } @Override - @Transactional(rollbackFor = CommonException.class) + @Transactional(rollbackFor = Exception.class) public void updateTemplateStatus(String templateId, String status) { if (Objects.equals(status, "COMPLETE")) {// 更新之前模板为历史 Template template = bd.getBusinessDatabase().eq("id", templateId).doQueryFirst(Template.class); diff --git a/src/main/resources/sql.sql b/src/main/resources/sql.sql index 66eec51..8ce1a3e 100644 --- a/src/main/resources/sql.sql +++ b/src/main/resources/sql.sql @@ -1,22 +1,24 @@ DROP TABLE IF EXISTS `yfsjglpt_model_approval_flow`; -- yc_datasource_0.approval_config definition -CREATE TABLE `approval_config` ( - `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'ID', - `approval_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程ID', - `node_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '环节', - `assignees` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '处理人列表', - `node_order` int DEFAULT NULL COMMENT '环节顺序', - `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '创建人', - `creation_date` datetime DEFAULT NULL COMMENT '创建时间', - `last_updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '最后更新人', - `last_update_date` datetime DEFAULT NULL COMMENT '最后更新时间', - PRIMARY KEY (`id`) +CREATE TABLE `approval_config` +( + `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'ID', + `approval_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程ID', + `node_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '环节', + `assignees` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '处理人列表', + `node_order` int DEFAULT NULL COMMENT '环节顺序', + `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '创建人', + `creation_date` datetime DEFAULT NULL COMMENT '创建时间', + `last_updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '最后更新人', + `last_update_date` datetime DEFAULT NULL COMMENT '最后更新时间', + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='流程配置表'; CREATE TABLE `yfsjglpt_model_approval_flow` ( `id` varchar(64) COLLATE utf8mb4_general_ci NOT NULL, + `process_title` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '流程标题', `template_id` varchar(64) COLLATE utf8mb4_general_ci NOT NULL COMMENT '关联模板ID', `current_node` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '当前节点(PROOFREAD, REVIEW, COUNTERSIGN, APPROVE)', `flow_status` varchar(20) COLLATE utf8mb4_general_ci NOT NULL COMMENT '流程状态',