feat(REQ-2924) - 完善节点多人时的响应数据处理

This commit is contained in:
wangli 2024-09-25 10:08:27 +08:00
parent 1c5acfd728
commit 1a90c25252

View File

@ -1140,7 +1140,7 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
// 比对抄送人
logVO.getTaskDetails().stream()
.filter(i -> Objects.equals(i.getNodeType(), NODE_CARBON_COPY))
.flatMap(i -> i.getForecastAssignees().stream())
.flatMap(i -> ListUtils.emptyIfNull(i.getForecastAssignees()).stream())
.filter(i -> i.buildAssigneeId().contains(ge130Assignee) || Objects.equals(i.buildAssigneeId_1_2_1(), le130Assignee))
.findAny()
.ifPresent(i -> authorizedButtons.addAll(chooseButtons(logVO, CONFIG_BUTTON_TYPE_CARBON_COPY)));
@ -1210,9 +1210,19 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
getFutureTasks(forecasting, tasks);
// 处理是否加密
handleEncrypt(dto.getEncrypt(), tasks);
// reset field forecastAssignees Empty to null;
resetCollectionToNull(tasks);
return tasks;
}
private void resetCollectionToNull(List<BpmnTaskInstanceLogVO> tasks) {
tasks.forEach(i-> {
if(ListUtils.emptyIfNull(i.getForecastAssignees()).isEmpty()) {
i.setForecastAssignees(null);
}
});
}
private static void handleEncrypt(Boolean encrypt, List<BpmnTaskInstanceLogVO> tasks) {
if (Boolean.FALSE.equals(encrypt)) {
return;
@ -1230,7 +1240,7 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
i.setOperationDesc("已处理");
}
// 统一将多人节点数据全部置空
i.setForecastAssignees(Collections.emptyList());
i.setForecastAssignees(null);
// 统一将签名数据置空
i.setSignatureUrl(null);
});