修改:流程异常回滚处理和主题名称返回
This commit is contained in:
parent
9c532ff57c
commit
689e7742a0
@ -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(已拒绝)
|
||||
|
||||
@ -14,4 +14,8 @@ public class ApprovalFlowView {
|
||||
private List<ApprovalNodeView> approveNodes;
|
||||
|
||||
private String flowStatus;
|
||||
|
||||
private String progressTitle;
|
||||
private String ContentName;
|
||||
private Integer templateVersion;
|
||||
}
|
||||
|
||||
@ -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())
|
||||
|
||||
@ -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()) {
|
||||
|
||||
@ -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)) {
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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 '流程状态',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user