Merge branch 'feature/REQ-7125' into dev

This commit is contained in:
wangli 2026-03-09 17:14:06 +08:00
commit aacdf53d7d
7 changed files with 28 additions and 9 deletions

View File

@ -20,8 +20,9 @@ public enum SignApproverOrgLimitEnum {
LV_3("LV_3", "上3级组织", 3),
LV_4("LV_4", "上4级组织", 4),
LV_5("LV_5", "上5级组织", 5),
LV_ALL("LV_ALL", "所有组织", -1),
LV_ALL("LV_ALL", "所有组织(整个项目)", -1),
LV_TOP("LV_TOP", "顶层组织", Integer.MAX_VALUE),
LV_ENT_ALL("LV_ENT_ALL", "所有组织(整个集团)", -1),
@JsonEnumDefaultValue
UNKNOWN("UNKNOWN", "未知层级", null);
@ -49,4 +50,21 @@ public enum SignApproverOrgLimitEnum {
.findFirst()
.orElse(UNKNOWN);
}
public static SignApproverOrgLimitEnum convertLv12345ToLvAll(String value) {
SignApproverOrgLimitEnum enumType = fromValue(value);
switch (enumType) {
case LV_0:
case LV_1:
case LV_2:
case LV_3:
case LV_4:
case LV_5:
enumType = SignApproverOrgLimitEnum.LV_ALL;
break;
default:
break;
}
return enumType;
}
}

View File

@ -769,7 +769,7 @@ public final class BpmnMetaParserHelper {
Boolean enabled = Boolean.valueOf(element.getAttributeValue(null, ELEMENT_ATTRIBUTE_CHECKED));
conf.setEnabled(enabled);
if (Objects.equals(Boolean.TRUE, enabled)) {
conf.setOrgLimit(SignApproverOrgLimitEnum.valueOfType(element.getChildElements().get(TEMPLATE_UPGRADE_APPROVAL_LIMIT_CONF).get(0).getAttributeValue(null, ELEMENT_ATTRIBUTE_ORG_LIMIT)));
conf.setOrgLimit(SignApproverOrgLimitEnum.convertLv12345ToLvAll(element.getChildElements().get(TEMPLATE_UPGRADE_APPROVAL_LIMIT_CONF).get(0).getAttributeValue(null, ELEMENT_ATTRIBUTE_ORG_LIMIT)));
conf.setApproverSpecify(ApproverSpecifyEnum.valueOf(element.getChildElements().get(TEMPLATE_UPGRADE_APPROVAL_LIMIT_CONF).get(0).getAttributeValue(null, ELEMENT_ATTRIBUTE_APPROVER_SPECIFY)));
conf.setSpecifyValue(element.getChildElements().get(TEMPLATE_UPGRADE_APPROVAL_SPECIFY_VALUE).get(0).getElementText());
}

View File

@ -6,7 +6,7 @@ import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
/**
* TODO
* OMS 工作台的配置信息
*
* @author wangli
* @since 2026-03-04 10:18

View File

@ -5,6 +5,7 @@ import cn.axzo.workflow.common.enums.ApprovalMethodEnum;
import cn.axzo.workflow.common.enums.ApproverSpecifyEnum;
import cn.axzo.workflow.common.enums.BpmnFlowNodeMode;
import cn.axzo.workflow.common.enums.BpmnFlowNodeType;
import cn.axzo.workflow.common.enums.SignApproverOrgLimitEnum;
import cn.axzo.workflow.common.exception.WorkflowEngineException;
import cn.axzo.workflow.common.model.request.bpmn.BpmnButtonConf;
import cn.axzo.workflow.common.model.request.bpmn.BpmnJsonNode;
@ -634,7 +635,7 @@ public class UserTaskJsonConverter extends AbstractBpmnJsonConverter<UserTask> {
ExtensionAttribute upgradeApprovalLimitOrgAttribute = new ExtensionAttribute();
upgradeApprovalLimitOrgAttribute.setName(ELEMENT_ATTRIBUTE_ORG_LIMIT);
upgradeApprovalLimitOrgAttribute.setValue(property.getUpgradeApprovalConf().getOrgLimit().getType());
upgradeApprovalLimitOrgAttribute.setValue(SignApproverOrgLimitEnum.convertLv12345ToLvAll(property.getUpgradeApprovalConf().getOrgLimit().getType()).getType());
upgradeApprovalLimitElement.addAttribute(upgradeApprovalLimitOrgAttribute);
ExtensionAttribute upgradeApprovalLimitSpecifyTypeAttribute = new ExtensionAttribute();
upgradeApprovalLimitSpecifyTypeAttribute.setName(ELEMENT_ATTRIBUTE_APPROVER_SPECIFY);

View File

@ -2,7 +2,6 @@ package cn.axzo.workflow.core.engine.cmd;
import cn.axzo.workflow.common.exception.WorkflowEngineException;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskRemindDTO;
import cn.axzo.workflow.core.engine.job.AsyncApproveTaskJobHandler;
import cn.axzo.workflow.core.engine.job.AsyncRemindTaskJobHandler;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
@ -31,7 +30,7 @@ import static cn.axzo.workflow.common.code.BpmnTaskRespCode.REMIND_TASK_TOO_MANY
import static cn.axzo.workflow.common.code.BpmnTaskRespCode.TASK_REMIND_ERROR_NOT_EXISTS;
/**
* TODO
* 自定义(异步)催办任务的命令器实现
*
* @author wangli
* @since 2025-06-13 14:01

View File

@ -322,8 +322,8 @@ public abstract class AbstractBpmnTaskAssigneeSelector implements BpmnTaskAssign
.ouId(String.valueOf(i.getOuId()))
.avatar(i.getAvatarUrl())
.nodeId(i.getNodeId())
// TODO 将接口返回的管理员数据映射到 isTransferToAdminSpecify
.isTransferToAdminSpecify(true)
// 将接口返回的管理员数据映射到 isTransferToAdminSpecify
.isTransferToAdminSpecify(i.getMaybeTransferee())
.build())
.collect(Collectors.toList());
}

View File

@ -236,9 +236,10 @@ public class TaskEntityEventHandle implements EntityEventHandle<TaskEntity> {
BpmnMetaParserHelper.getUpgradeApprovalConf(flowElement).ifPresent(conf -> {
Boolean supportUpgradeApproval;
if (Objects.equals(Boolean.TRUE, conf.getEnabled())) {
if (Objects.equals(SignApproverOrgLimitEnum.LV_ALL, conf.getOrgLimit())) {
if (Objects.equals(SignApproverOrgLimitEnum.LV_ALL, conf.getOrgLimit()) || Objects.equals(SignApproverOrgLimitEnum.LV_ENT_ALL, conf.getOrgLimit())) {
supportUpgradeApproval = true;
} else {
// 这里修改过提级审批的配置提级审批只有项目内和集团内了似乎完全走不到这里了
ListCooperateShipAncestorReq build = ListCooperateShipAncestorReq.builder()
.upLevel(conf.getOrgLimit().getCode())
.organizationNodeId(Long.parseLong(assignee.getNodeId()))