update - 流程节点推测功能细化
This commit is contained in:
parent
ddf2d3b26d
commit
3add4f209c
@ -124,8 +124,26 @@ public interface BpmnProcessInstanceService {
|
||||
|
||||
BpmPageResult<HistoricProcessInstanceVO> historicProcessInstancePage(HistoricProcessInstanceSearchDTO dto);
|
||||
|
||||
/**
|
||||
* 流程实例全节点推测
|
||||
*
|
||||
* @param processInstanceId
|
||||
* @param tenantId
|
||||
* @return
|
||||
*/
|
||||
List<ProcessNodeDetailVO> getProcessInstanceNodeForecast(String processInstanceId, String tenantId);
|
||||
|
||||
/**
|
||||
* 可过滤指定节点集合的剩余接地那推送
|
||||
*
|
||||
* @param processInstanceId
|
||||
* @param tenantId
|
||||
* @param allNode
|
||||
* @param removeTaskDefinitionKeys
|
||||
* @return
|
||||
*/
|
||||
List<ProcessNodeDetailVO> getProcessInstanceNodeForecast(String processInstanceId, String tenantId, Boolean allNode, List<String> removeTaskDefinitionKeys);
|
||||
|
||||
List<String> getTenantIds();
|
||||
|
||||
|
||||
|
||||
@ -802,24 +802,36 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
|
||||
return resultList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 可过滤指定节点集合的剩余接地那推送
|
||||
*
|
||||
* @param processInstanceId
|
||||
* @param tenantId
|
||||
* @param allNode
|
||||
* @param removeTaskDefinitionKeys
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProcessNodeDetailVO> getProcessInstanceNodeForecast(String processInstanceId, String tenantId, Boolean allNode, List<String> removeTaskDefinitionKeys) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
private void parseServiceTask(String processInstanceId, ServiceTask i, ProcessNodeDetailVO node) {
|
||||
// ServiceTask 主要作用于抄送
|
||||
ServiceTask serviceTask = i;
|
||||
node.setId(serviceTask.getId()).setName(serviceTask.getName());
|
||||
getCarbonCopyConfigs(serviceTask).ifPresent(carbons ->
|
||||
node.setId(i.getId()).setName(i.getName());
|
||||
getCarbonCopyConfigs(i).ifPresent(carbons ->
|
||||
node.setForecastAssigners(springProcessEngineConfiguration.getCommandExecutor()
|
||||
.execute(new CustomCarbonCopyUserSelectorCmd(processInstanceId, carbons,
|
||||
serviceTask, engineExecutionStartListener,
|
||||
i, engineExecutionStartListener,
|
||||
historicTaskInstanceConverter, serviceVersion))));
|
||||
}
|
||||
|
||||
private void parseUserTask(String processInstanceId, UserTask i, ProcessNodeDetailVO node) {
|
||||
UserTask userTask = i;
|
||||
node.setFormKey(userTask.getFormKey());
|
||||
node.setFormKey(i.getFormKey());
|
||||
// 设置审批模式,
|
||||
if (userTask.getBehavior() instanceof MultiInstanceActivityBehavior) {
|
||||
if (i.getBehavior() instanceof MultiInstanceActivityBehavior) {
|
||||
MultiInstanceActivityBehavior behavior =
|
||||
(MultiInstanceActivityBehavior) userTask.getBehavior();
|
||||
(MultiInstanceActivityBehavior) i.getBehavior();
|
||||
node.setNodeMode(Objects.equals(AND_SIGN_EXPRESSION,
|
||||
behavior.getCompletionCondition()) ?
|
||||
AND : OR);
|
||||
@ -832,10 +844,10 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
|
||||
List<BpmnTaskDelegateAssigner> forecastAssigners =
|
||||
springProcessEngineConfiguration.getCommandExecutor()
|
||||
.execute(new CustomForecastUserTaskAssigneeCmd(processInstanceId,
|
||||
userTask, engineExecutionStartListener));
|
||||
i, engineExecutionStartListener));
|
||||
node.setForecastAssigners(forecastAssigners);
|
||||
if (CollectionUtils.isEmpty(forecastAssigners)) {
|
||||
getApproverEmptyHandleType(userTask).ifPresent(emptyHandleType -> {
|
||||
getApproverEmptyHandleType(i).ifPresent(emptyHandleType -> {
|
||||
switch (emptyHandleType) {
|
||||
case autoPassed:
|
||||
node.setApprovalMethod(autoPassed);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user