mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-12 05:39:00 +08:00
bug fix 默认执行人为空的逻辑错误
This commit is contained in:
1 parent
46e068fe5e
commit
8c5208ffe7
3 files changed
+14
-13
No files matched your search
+2
-2
@@ -181,7 +181,7 @@ public class FlowProcessEventListener implements FlowableEventListener {
|
||||
processNodeRecordAssignUserParamDto
|
||||
.setLocalData(objectMapper.writeValueAsString(taskService.getVariablesLocal(task.getId())));
|
||||
processNodeRecordAssignUserParamDto.setNodeId(taskDefinitionKey);
|
||||
processNodeRecordAssignUserParamDto.setUserId(Long.parseLong(assignee));
|
||||
processNodeRecordAssignUserParamDto.setUserId(Long.parseLong(task.getAssignee()));
|
||||
processNodeRecordAssignUserParamDto.setTaskId(task.getId());
|
||||
processNodeRecordAssignUserParamDto.setNodeName(task.getName());
|
||||
processNodeRecordAssignUserParamDto.setTaskType("COMPLETE");
|
||||
@@ -216,7 +216,7 @@ public class FlowProcessEventListener implements FlowableEventListener {
|
||||
processNodeRecordAssignUserParamDto.setProcessInstanceId(processInstanceId);
|
||||
// processNodeRecordAssignUserParamDto.setData();
|
||||
processNodeRecordAssignUserParamDto.setNodeId(taskDefinitionKey);
|
||||
processNodeRecordAssignUserParamDto.setUserId(Long.parseLong(assignee));
|
||||
processNodeRecordAssignUserParamDto.setUserId(Long.parseLong(task.getAssignee()));
|
||||
processNodeRecordAssignUserParamDto.setTaskId(task.getId());
|
||||
processNodeRecordAssignUserParamDto.setNodeName(task.getName());
|
||||
processNodeRecordAssignUserParamDto
|
||||
|
||||
+8
-11
@@ -20,7 +20,6 @@ import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@@ -62,8 +61,8 @@ public class MultiInstanceHandler {
|
||||
if (node != null) {
|
||||
Map<String, Object> variables = execution.getVariables();
|
||||
Integer assignedType = node.getAssignedType();
|
||||
List<Long> userIdList = assignUserStrategyMap.get(assignedType + "AssignUserStrategy").handle(node,
|
||||
rootUser, variables);
|
||||
List<Long> userIdList = assignUserStrategyMap.get(assignedType + "AssignUserStrategy")
|
||||
.handle(node, rootUser, variables);
|
||||
assignList.addAll(userIdList);
|
||||
}
|
||||
else {
|
||||
@@ -72,7 +71,7 @@ public class MultiInstanceHandler {
|
||||
Object variable = execution.getVariable(format);
|
||||
String variableJson = objectMapper.writeValueAsString(variable);
|
||||
|
||||
List<NodeUser> nodeUserDtos = objectMapper.readValue(variableJson, new TypeReference<List<NodeUser>>() {
|
||||
List<NodeUser> nodeUserDtos = objectMapper.readValue(variableJson, new TypeReference<>() {
|
||||
});
|
||||
if (CollUtil.isNotEmpty(nodeUserDtos)) {
|
||||
List<Long> collect = nodeUserDtos.stream().map(NodeUser::getId).collect(Collectors.toList());
|
||||
@@ -80,12 +79,10 @@ public class MultiInstanceHandler {
|
||||
}
|
||||
}
|
||||
|
||||
Optional.of(assignList).orElseGet(() -> {
|
||||
List<Long> defaultList = new ArrayList<>();
|
||||
defaultList.add(ProcessInstanceConstant.DEFAULT_EMPTY_ASSIGN);
|
||||
return defaultList;
|
||||
});
|
||||
|
||||
// 标记为空
|
||||
if (CollUtil.isEmpty(assignList)) {
|
||||
assignList.add(ProcessInstanceConstant.DEFAULT_EMPTY_ASSIGN);
|
||||
}
|
||||
return assignList;
|
||||
}
|
||||
|
||||
@@ -128,7 +125,7 @@ public class MultiInstanceHandler {
|
||||
|
||||
if (multipleMode == ProcessInstanceConstant.MULTIPLE_MODE_AL_SAME) {
|
||||
return BigDecimal.valueOf(nrOfCompletedInstances * 100L)
|
||||
.compareTo(BigDecimal.valueOf(nrOfCompletedInstances).multiply(modePercentage)) > 0;
|
||||
.compareTo(BigDecimal.valueOf(nrOfCompletedInstances).multiply(modePercentage)) > 0;
|
||||
}
|
||||
|
||||
return nrOfCompletedInstances == nrOfInstances;
|
||||
|
||||
+4
@@ -251,6 +251,10 @@ public class NodeFormatUtil {
|
||||
* @return
|
||||
*/
|
||||
private static UserVo buildUser(long userId) {
|
||||
if (ProcessInstanceConstant.DEFAULT_EMPTY_ASSIGN == userId){
|
||||
return UserVo.builder().id(userId).build();
|
||||
}
|
||||
|
||||
RemoteUserService userService = SpringUtil.getBean(RemoteUserService.class);
|
||||
SysUser user = userService.getUserById(userId).getData();
|
||||
if (user == null) {
|
||||
|
||||
Reference in new issue
Block a user