Merge branch 'feature/REQ-1309' into dev

This commit is contained in:
wangli 2023-10-07 11:36:32 +08:00
commit c162ce1820
3 changed files with 25 additions and 6 deletions

View File

@ -403,6 +403,20 @@ public class BpmnTaskServiceImpl implements BpmnTaskService {
BpmnHistoricTaskInstanceGroupVO groupVO = new BpmnHistoricTaskInstanceGroupVO();
groupVO.setProcessInstanceId(processInstanceId);
groupVO.setTaskDefinitionKey(entry.getKey());
if (CollectionUtils.isEmpty(entry.getValue())) {
groupVO.setResult(PROCESSING);
} else if (entry.getValue().size() == 1) {
groupVO.setResult(entry.getValue().get(0).getResult());
} else {
if (entry.getValue().stream().allMatch(i -> Objects.equals(APPROVED, i.getResult()))) {
groupVO.setResult(APPROVED);
} else if (entry.getValue().stream().anyMatch(i -> Objects.equals(PROCESSING, i.getResult()))) {
groupVO.setResult(PROCESSING);
} else if (entry.getValue().stream().anyMatch(i -> Objects.equals(REJECTED, i.getResult()))) {
// FIXME 明显存在问题
groupVO.setResult(REJECTED);
}
}
groupVO.setTasks(entry.getValue());
groupVos.add(groupVO);
}

View File

@ -2,6 +2,7 @@ package cn.axzo.workflow.server.controller.listener;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventProducer;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO;
import cn.axzo.workflow.core.listener.BpmProcessEventListener;
import com.alibaba.fastjson.JSON;
@ -17,6 +18,7 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import static cn.axzo.workflow.common.constant.BpmConstants.INTERNAL_INITIATOR;
import static cn.axzo.workflow.common.enums.ProcessInstanceEventEnum.*;
@ -51,6 +53,7 @@ public class RocketMqBpmProcessEventListener implements BpmProcessEventListener
.setProcessDefinitionId(event.getProcessDefinitionId())
.setProcessDefinitionKey(((ExecutionEntityImpl) event.getEntity()).getProcessDefinitionKey())
.setProcessDefinitionVersion(((ExecutionEntityImpl) event.getEntity()).getProcessDefinitionVersion())
.setInitiator(((FlowableProcessCancelledEventImpl) event).getExecution().getVariable(INTERNAL_INITIATOR, BpmnTaskDelegateAssigner.class))
.setVariables(((ExecutionEntityImpl) event.getEntity()).getVariables())
.setStartTime(((ExecutionEntityImpl) event.getEntity()).getStartTime())
.setTenantId(((ExecutionEntityImpl) event.getEntity()).getTenantId())
@ -83,6 +86,7 @@ public class RocketMqBpmProcessEventListener implements BpmProcessEventListener
.setProcessDefinitionId(((ExecutionEntityImpl) event.getEntity()).getProcessDefinitionId())
.setProcessDefinitionKey(((ExecutionEntityImpl) event.getEntity()).getProcessDefinitionKey())
.setProcessDefinitionVersion(((ExecutionEntityImpl) event.getEntity()).getProcessDefinitionVersion())
.setInitiator(((FlowableProcessCancelledEventImpl) event).getExecution().getVariable(INTERNAL_INITIATOR, BpmnTaskDelegateAssigner.class))
.setVariables(((ExecutionEntityImpl) event.getEntity()).getVariables())
.setStartTime(((ExecutionEntityImpl) event.getEntity()).getStartTime())
.setTenantId(((ExecutionEntityImpl) event.getEntity()).getTenantId())
@ -115,6 +119,7 @@ public class RocketMqBpmProcessEventListener implements BpmProcessEventListener
.setProcessDefinitionId(event.getProcessDefinitionId())
.setProcessDefinitionKey(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionKey())
.setProcessDefinitionVersion(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionVersion())
.setInitiator(((FlowableProcessCancelledEventImpl) event).getExecution().getVariable(INTERNAL_INITIATOR, BpmnTaskDelegateAssigner.class))
.setVariables(((FlowableProcessCancelledEventImpl) event).getExecution().getVariables())
.setStartTime(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getStartTime())
.setTenantId(((FlowableProcessCancelledEventImpl) event).getExecution().getTenantId())
@ -153,6 +158,7 @@ public class RocketMqBpmProcessEventListener implements BpmProcessEventListener
.setProcessDefinitionId(event.getProcessDefinitionId())
.setProcessDefinitionKey(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionKey())
.setProcessDefinitionVersion(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionVersion())
.setInitiator(((FlowableProcessCancelledEventImpl) event).getExecution().getVariable(INTERNAL_INITIATOR, BpmnTaskDelegateAssigner.class))
.setVariables(((FlowableProcessCancelledEventImpl) event).getExecution().getVariables())
.setStartTime(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getStartTime())
.setTenantId(((FlowableProcessCancelledEventImpl) event).getExecution().getTenantId())
@ -187,6 +193,7 @@ public class RocketMqBpmProcessEventListener implements BpmProcessEventListener
.setProcessDefinitionKey(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionKey())
.setProcessDefinitionVersion(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionVersion())
.setVariables(((FlowableProcessCancelledEventImpl) event).getExecution().getVariables())
.setInitiator(((FlowableProcessCancelledEventImpl) event).getExecution().getVariable(INTERNAL_INITIATOR, BpmnTaskDelegateAssigner.class))
.setStartTime(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getStartTime())
.setTenantId(((FlowableProcessCancelledEventImpl) event).getExecution().getTenantId())
.setBusinessKey(((FlowableProcessCancelledEventImpl) event).getExecution().getProcessInstanceBusinessKey())

View File

@ -16,6 +16,7 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import static cn.axzo.workflow.common.constant.BpmConstants.INTERNAL_INITIATOR;
import static cn.axzo.workflow.common.constant.BpmConstants.INTERNAL_SPECIFY_NEXT_APPROVER;
import static cn.axzo.workflow.common.enums.ProcessTaskEventEnum.*;
@ -84,7 +85,7 @@ public class RocketMqBpmTaskEventListener implements BpmTaskEventListener {
}
private ProcessTaskDTO build(DelegateTask delegateTask, ProcessTaskEventEnum type) {
ProcessTaskDTO dto = new ProcessTaskDTO()
return new ProcessTaskDTO()
.setType(type)
.setCategory(getDeployment(delegateTask.getProcessInstanceId()).getCategory())
.setProcessTaskId(delegateTask.getId())
@ -92,14 +93,11 @@ public class RocketMqBpmTaskEventListener implements BpmTaskEventListener {
.setCurrentElementKey(delegateTask.getTaskDefinitionKey())
.setCurrentElementName(delegateTask.getName())
.setProcessDefinitionId(delegateTask.getProcessDefinitionId())
.setInitiator(delegateTask.getVariable(INTERNAL_INITIATOR, BpmnTaskDelegateAssigner.class))
.setApprover(delegateTask.getVariable(INTERNAL_SPECIFY_NEXT_APPROVER, BpmnTaskDelegateAssigner.class))
.setVariables(delegateTask.getVariables())
.setStartTime(delegateTask.getCreateTime())
.setTenantId(delegateTask.getTenantId());
BpmnTaskDelegateAssigner approver = delegateTask.getVariable(INTERNAL_SPECIFY_NEXT_APPROVER,
BpmnTaskDelegateAssigner.class);
dto.setApprover(approver);
return dto;
}
private void sendMessageQueue(ProcessTaskDTO dto, ProcessTaskEventEnum eventEnum) {