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.SIGNATURE_COLLECTION;
|
||||
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.HIDDEN;
|
||||
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.batchAddAttachment;
|
||||
@ -161,12 +159,7 @@ public class CustomApproveTaskCmd extends AbstractCommand<Void> implements Seria
|
||||
runtimeService.setVariable(task.getProcessInstanceId(), INTERNAL_SPECIFY_NEXT_APPROVER,
|
||||
nextApprover);
|
||||
}
|
||||
Boolean logNodeHidden = (Boolean) task.getTransientVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN);
|
||||
if (Objects.nonNull(logNodeHidden) && logNodeHidden) {
|
||||
task.setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + taskId, HIDDEN.getStatus());
|
||||
} else {
|
||||
task.setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + taskId, APPROVED.getStatus());
|
||||
}
|
||||
task.setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + taskId, APPROVED.getStatus());
|
||||
|
||||
// 更新流程内的变量
|
||||
runtimeService.setVariables(task.getProcessInstanceId(), variables);
|
||||
|
||||
@ -130,7 +130,7 @@ public class BasedIdentityV2TaskAssigneeSelector extends AbstractBpmnTaskAssigne
|
||||
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
||||
} catch (WorkflowApproverCalcException 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);
|
||||
}
|
||||
|
||||
@ -84,7 +84,7 @@ public class BasedInitiatorLeaderV2TaskAssigneeSelector extends AbstractBpmnTask
|
||||
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
||||
} catch (WorkflowApproverCalcException 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);
|
||||
}
|
||||
|
||||
@ -153,7 +153,7 @@ public class BasedPositionV2TaskAssigneeSelector extends AbstractBpmnTaskAssigne
|
||||
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
||||
} catch (WorkflowApproverCalcException 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);
|
||||
}
|
||||
|
||||
@ -156,7 +156,7 @@ public class BasedRoleV2TaskAssigneeSelector extends AbstractBpmnTaskAssigneeSel
|
||||
"cn.axzo.orggateway.api.nodeuser.OrgNodeUserApi.listFlowTaskAssignerV2", request));
|
||||
} catch (WorkflowApproverCalcException 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);
|
||||
}
|
||||
|
||||
@ -226,15 +226,15 @@ public class PrintAdminController implements PrintAdminApi {
|
||||
FormContainer formContainer = (FormContainer) formField;
|
||||
printFields.addAll(formContainer.getFields().get(0).stream()
|
||||
.filter(field -> {
|
||||
if (Objects.equals(Boolean.TRUE, dto.getFilterEnablePrint())) {
|
||||
// if (Objects.equals(Boolean.TRUE, dto.getFilterEnablePrint())) {
|
||||
if (!CollectionUtils.isEmpty(field.getParams())) {
|
||||
Optional<Object> optEnablePrint = Optional.ofNullable(field.getParam("enablePrint"));
|
||||
return optEnablePrint.map(obj -> Boolean.parseBoolean(obj.toString())).orElse(Boolean.TRUE);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
// } else {
|
||||
// return false;
|
||||
// }
|
||||
})
|
||||
.map(field -> {
|
||||
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.BpmnProcessInstanceResultEnum.APPROVED;
|
||||
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.core.common.enums.BpmnProcessTaskResultEnum.HANDLING;
|
||||
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);
|
||||
if (StringUtils.hasText(completionType) && !Objects.equals(DELETED.getStatus(), 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 {
|
||||
// 多实例除操作人以外的任务,直接删除日志, 例如一个节点有两个人或签,A 人驳回了,那么 B 人不再需要操作,任务自动删除。而会签也同理
|
||||
update.setStatus(DELETED.getStatus());// delete标志着是多实例删除
|
||||
@ -293,7 +298,7 @@ public class TaskEntityEventHandle implements EntityEventHandle<TaskEntity> {
|
||||
}
|
||||
}
|
||||
// 重置日志隐藏的标识为 false
|
||||
taskEntity.setVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN, false);
|
||||
taskEntity.removeVariable(TASK_LOG_NODE_HAS_BEEN_HIDDEN + taskEntity.getTaskDefinitionKey());
|
||||
update.setEndTime(new Date());
|
||||
|
||||
// 判断是否抄送节点,如果是的话,需要将抄送人集合放入对应字段
|
||||
|
||||
Loading…
Reference in New Issue
Block a user