feat(REQ-3581) - 增加流程处理逻辑中,对指定的业务 ID 过滤

This commit is contained in:
wangli 2025-02-22 21:28:20 +08:00
parent ba5a641616
commit b1f86e251c
2 changed files with 27 additions and 2 deletions

View File

@ -1,5 +1,7 @@
package cn.axzo.nanopart.visa.server.mq.listener.workflow.process;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.framework.rocketmq.EventProducer;
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
@ -17,16 +19,21 @@ import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO;
import cn.axzo.workflow.starter.handler.ProcessInstanceEventHandler;
import com.google.common.collect.Lists;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY;
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.REJECT_APPROVE;
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.REVERT_APPROVE;
import static cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum.PROCESS_INSTANCE_OF_VISA;
import static cn.axzo.nanopart.visa.api.enums.VisaTypeEnum.DESIGN_CHANGE;
import static cn.axzo.nanopart.visa.api.enums.VisaTypeEnum.PROJECT_VISA;
import static cn.axzo.nanopart.visa.api.enums.VisaTypeEnum.TECHNOLOGY_APPROVED;
/**
* 工作流广播的实例维度的所有事件类型
@ -39,6 +46,11 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P
protected final ChangeRecordService changeRecordService;
protected final ChangeRecordRelationService changeRecordRelationService;
protected final ChangeRecordBillService changeRecordBillService;
public static List<String> SUPPORTED_DEFINITION_KEYS = Lists.newArrayList(
DESIGN_CHANGE.getProcessDefinitionKey(),
TECHNOLOGY_APPROVED.getProcessDefinitionKey(),
PROJECT_VISA.getProcessDefinitionKey()
);
public ProcessInstanceAllEventHandler(EventProducer eventProducer,
VisaOrganizationalNodeUserGateway visaOrganizationalNodeUserGateway,
@ -56,6 +68,11 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P
return Integer.MIN_VALUE;
}
@Override
public boolean accept(ProcessInstanceDTO dto, Event event, EventConsumer.Context context) {
return SUPPORTED_DEFINITION_KEYS.contains(dto.getProcessDefinitionKey());
}
@Override
public void onCreated(ProcessInstanceDTO dto) {
ProcessInstanceEventHandler.super.onCreated(dto);
@ -160,7 +177,7 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P
.ouId(Long.valueOf(lastOperationAssigner.getOuId()))
.workspaceId(Long.valueOf(lastOperationAssigner.getTenantId()))
.updateStatus(VisaStatusEnum.COMPLETED)
.editFormFlag(false)
.editFormFlag(false)
.build());
return;
}
@ -171,7 +188,7 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P
.ouId(Long.valueOf(lastOperationAssigner.getOuId()))
.workspaceId(Long.valueOf(lastOperationAssigner.getTenantId()))
.updateStatus(Objects.isNull(visa.getImGroupId()) ? VisaStatusEnum.REPORT_FROM_APPROVE : VisaStatusEnum.DECIDING_FROM_APPROVE)
.editFormFlag(false)
.editFormFlag(false)
.build());
// 取消当前主单据关联的其他单据的关联状态

View File

@ -1,5 +1,7 @@
package cn.axzo.nanopart.visa.server.mq.listener.workflow.task;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.framework.rocketmq.EventProducer;
import cn.axzo.maokai.api.vo.response.OrgNodeUserBriefInfoResp;
import cn.axzo.nanopart.visa.server.domain.ChangeRecordLog;
@ -14,6 +16,7 @@ import java.util.Objects;
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.APPROVED_AGRESS;
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.TRANSMIT_APPROVE;
import static cn.axzo.nanopart.visa.server.mq.listener.workflow.process.ProcessInstanceAllEventHandler.SUPPORTED_DEFINITION_KEYS;
/**
* 工作流广播的任务维度的所有事件类型
@ -33,6 +36,11 @@ public class ProcessTaskAllEventHandler extends BasicLogSupport implements Proce
return Integer.MAX_VALUE;
}
@Override
public boolean accept(ProcessTaskDTO dto, Event event, EventConsumer.Context context) {
return SUPPORTED_DEFINITION_KEYS.contains(dto.getProcessDefinitionKey());
}
@Override
public void onAssigned(ProcessTaskDTO dto) {
ProcessTaskEventHandler.super.onAssigned(dto);