Merge branch 'feature/REQ-5965' into dev
This commit is contained in:
commit
2e64ce2063
@ -42,9 +42,7 @@ import static cn.axzo.workflow.common.constant.BpmnConstants.COMMENT_TYPE_OPERAT
|
|||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_SPECIFY_NEXT_APPROVER;
|
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_SPECIFY_NEXT_APPROVER;
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.SIGNATURE_COLLECTION;
|
import static cn.axzo.workflow.common.constant.BpmnConstants.SIGNATURE_COLLECTION;
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_COMPLETE_OPERATION_TYPE;
|
import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_COMPLETE_OPERATION_TYPE;
|
||||||
import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_LOG_NODE_HAS_BEEN_HIDDEN;
|
|
||||||
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.APPROVED;
|
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.APPROVED;
|
||||||
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.HIDDEN;
|
|
||||||
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING;
|
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING;
|
||||||
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.addComment;
|
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.addComment;
|
||||||
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.batchAddAttachment;
|
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.batchAddAttachment;
|
||||||
@ -161,12 +159,7 @@ public class CustomApproveTaskCmd extends AbstractCommand<Void> implements Seria
|
|||||||
runtimeService.setVariable(task.getProcessInstanceId(), INTERNAL_SPECIFY_NEXT_APPROVER,
|
runtimeService.setVariable(task.getProcessInstanceId(), INTERNAL_SPECIFY_NEXT_APPROVER,
|
||||||
nextApprover);
|
nextApprover);
|
||||||
}
|
}
|
||||||
Boolean logNodeHidden = (Boolean) task.getTransientVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN);
|
task.setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + taskId, APPROVED.getStatus());
|
||||||
if (Objects.nonNull(logNodeHidden) && logNodeHidden) {
|
|
||||||
task.setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + taskId, HIDDEN.getStatus());
|
|
||||||
} else {
|
|
||||||
task.setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + taskId, APPROVED.getStatus());
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新流程内的变量
|
// 更新流程内的变量
|
||||||
runtimeService.setVariables(task.getProcessInstanceId(), variables);
|
runtimeService.setVariables(task.getProcessInstanceId(), variables);
|
||||||
|
|||||||
@ -130,7 +130,7 @@ public class BasedIdentityV2TaskAssigneeSelector extends AbstractBpmnTaskAssigne
|
|||||||
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
||||||
} catch (WorkflowApproverCalcException e) {
|
} catch (WorkflowApproverCalcException e) {
|
||||||
log.warn("组织节点不存在, 入参:{}; 错误信息:{}", JSONUtil.toJsonStr(request), e.getMessage(), e);
|
log.warn("组织节点不存在, 入参:{}; 错误信息:{}", JSONUtil.toJsonStr(request), e.getMessage(), e);
|
||||||
execution.setVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN, true);
|
execution.setVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN + flowElement.getId(), true);
|
||||||
}
|
}
|
||||||
return convertApprover(apiResultUsers);
|
return convertApprover(apiResultUsers);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -84,7 +84,7 @@ public class BasedInitiatorLeaderV2TaskAssigneeSelector extends AbstractBpmnTask
|
|||||||
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
||||||
} catch (WorkflowApproverCalcException e) {
|
} catch (WorkflowApproverCalcException e) {
|
||||||
log.warn("组织节点不存在, 入参:{}; 错误信息:{}", JSONUtil.toJsonStr(request), e.getMessage(), e);
|
log.warn("组织节点不存在, 入参:{}; 错误信息:{}", JSONUtil.toJsonStr(request), e.getMessage(), e);
|
||||||
execution.setVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN, true);
|
execution.setVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN + flowElement.getId(), true);
|
||||||
}
|
}
|
||||||
return convertApprover(apiResultUsers);
|
return convertApprover(apiResultUsers);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -153,7 +153,7 @@ public class BasedPositionV2TaskAssigneeSelector extends AbstractBpmnTaskAssigne
|
|||||||
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
||||||
} catch (WorkflowApproverCalcException e) {
|
} catch (WorkflowApproverCalcException e) {
|
||||||
log.warn("组织节点不存在, 入参:{}; 错误信息:{}", JSONUtil.toJsonStr(request), e.getMessage(), e);
|
log.warn("组织节点不存在, 入参:{}; 错误信息:{}", JSONUtil.toJsonStr(request), e.getMessage(), e);
|
||||||
execution.setVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN, true);
|
execution.setVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN + flowElement.getId(), true);
|
||||||
}
|
}
|
||||||
return convertApprover(apiResultUsers);
|
return convertApprover(apiResultUsers);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -156,7 +156,7 @@ public class BasedRoleV2TaskAssigneeSelector extends AbstractBpmnTaskAssigneeSel
|
|||||||
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
||||||
} catch (WorkflowApproverCalcException e) {
|
} catch (WorkflowApproverCalcException e) {
|
||||||
log.warn("组织节点不存在, 入参:{}; 错误信息:{}", JSONUtil.toJsonStr(request), e.getMessage(), e);
|
log.warn("组织节点不存在, 入参:{}; 错误信息:{}", JSONUtil.toJsonStr(request), e.getMessage(), e);
|
||||||
execution.setVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN, true);
|
execution.setVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN + flowElement.getId(), true);
|
||||||
}
|
}
|
||||||
return convertApprover(apiResultUsers);
|
return convertApprover(apiResultUsers);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -226,15 +226,15 @@ public class PrintAdminController implements PrintAdminApi {
|
|||||||
FormContainer formContainer = (FormContainer) formField;
|
FormContainer formContainer = (FormContainer) formField;
|
||||||
printFields.addAll(formContainer.getFields().get(0).stream()
|
printFields.addAll(formContainer.getFields().get(0).stream()
|
||||||
.filter(field -> {
|
.filter(field -> {
|
||||||
if (Objects.equals(Boolean.TRUE, dto.getFilterEnablePrint())) {
|
// if (Objects.equals(Boolean.TRUE, dto.getFilterEnablePrint())) {
|
||||||
if (!CollectionUtils.isEmpty(field.getParams())) {
|
if (!CollectionUtils.isEmpty(field.getParams())) {
|
||||||
Optional<Object> optEnablePrint = Optional.ofNullable(field.getParam("enablePrint"));
|
Optional<Object> optEnablePrint = Optional.ofNullable(field.getParam("enablePrint"));
|
||||||
return optEnablePrint.map(obj -> Boolean.parseBoolean(obj.toString())).orElse(Boolean.TRUE);
|
return optEnablePrint.map(obj -> Boolean.parseBoolean(obj.toString())).orElse(Boolean.TRUE);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else {
|
// } else {
|
||||||
return false;
|
// return false;
|
||||||
}
|
// }
|
||||||
})
|
})
|
||||||
.map(field -> {
|
.map(field -> {
|
||||||
PrintFieldDTO printFieldDTO = new PrintFieldDTO()
|
PrintFieldDTO printFieldDTO = new PrintFieldDTO()
|
||||||
|
|||||||
@ -69,6 +69,7 @@ import static cn.axzo.workflow.common.enums.BpmnFlowNodeMode.OR;
|
|||||||
import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_STARTER;
|
import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_STARTER;
|
||||||
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.APPROVED;
|
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.APPROVED;
|
||||||
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.DELETED;
|
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.DELETED;
|
||||||
|
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.HIDDEN;
|
||||||
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING;
|
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING;
|
||||||
import static cn.axzo.workflow.core.common.enums.BpmnProcessTaskResultEnum.HANDLING;
|
import static cn.axzo.workflow.core.common.enums.BpmnProcessTaskResultEnum.HANDLING;
|
||||||
import static cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper.getActivitySignature;
|
import static cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper.getActivitySignature;
|
||||||
@ -286,6 +287,10 @@ public class TaskEntityEventHandle implements EntityEventHandle<TaskEntity> {
|
|||||||
String completionType = taskEntity.getVariable(TASK_COMPLETE_OPERATION_TYPE + taskEntity.getId(), String.class);
|
String completionType = taskEntity.getVariable(TASK_COMPLETE_OPERATION_TYPE + taskEntity.getId(), String.class);
|
||||||
if (StringUtils.hasText(completionType) && !Objects.equals(DELETED.getStatus(), completionType)) {
|
if (StringUtils.hasText(completionType) && !Objects.equals(DELETED.getStatus(), completionType)) {
|
||||||
update.setStatus(completionType);
|
update.setStatus(completionType);
|
||||||
|
Boolean hiddenLog = taskEntity.getVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN + taskEntity.getTaskDefinitionKey(), Boolean.class);
|
||||||
|
if (Objects.equals(hiddenLog, Boolean.TRUE)) {
|
||||||
|
update.setStatus(HIDDEN.getStatus());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// 多实例除操作人以外的任务,直接删除日志, 例如一个节点有两个人或签,A 人驳回了,那么 B 人不再需要操作,任务自动删除。而会签也同理
|
// 多实例除操作人以外的任务,直接删除日志, 例如一个节点有两个人或签,A 人驳回了,那么 B 人不再需要操作,任务自动删除。而会签也同理
|
||||||
update.setStatus(DELETED.getStatus());// delete标志着是多实例删除
|
update.setStatus(DELETED.getStatus());// delete标志着是多实例删除
|
||||||
@ -293,7 +298,7 @@ public class TaskEntityEventHandle implements EntityEventHandle<TaskEntity> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 重置日志隐藏的标识为 false
|
// 重置日志隐藏的标识为 false
|
||||||
taskEntity.setVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN, false);
|
taskEntity.removeVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN + taskEntity.getTaskDefinitionKey());
|
||||||
update.setEndTime(new Date());
|
update.setEndTime(new Date());
|
||||||
|
|
||||||
// 判断是否抄送节点,如果是的话,需要将抄送人集合放入对应字段
|
// 判断是否抄送节点,如果是的话,需要将抄送人集合放入对应字段
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user