feat: 解析器下拉返回客户可读名称,标识只用于提交(ADR 0016)
This commit is contained in:
@@ -205,6 +205,26 @@ public final class ApprovalConstants {
|
||||
action.put(ACTION_ASSIGN, "改派");
|
||||
ACTION_NAMES = Collections.unmodifiableMap(action);
|
||||
|
||||
// 流程配置页下拉用:客户能看懂的岗位/部门说法,不是解析器标识
|
||||
Map<String, String> resolver = new LinkedHashMap<>();
|
||||
resolver.put(RESOLVER_REPORTER_ORG_LEADER, "报送部门负责人");
|
||||
resolver.put(RESOLVER_REPORTER_ORG_DEPUTY, "报送部门分管领导");
|
||||
resolver.put(RESOLVER_ACCEPT_ORG_LEADER, "受理部门负责人");
|
||||
resolver.put(RESOLVER_ACCEPT_ORG_DEPUTY, "受理部门分管领导");
|
||||
resolver.put(RESOLVER_ARCHIVIST, "收文员");
|
||||
resolver.put(RESOLVER_ROLE_ARCHIVIST, "收文员岗位");
|
||||
resolver.put(RESOLVER_REPORTER, "报送人本人");
|
||||
resolver.put(RESOLVER_REPORTER_AND_DISPATCH_TARGET, "报送人与派单对象");
|
||||
resolver.put(RESOLVER_ACCEPT_ORG_MEMBERS, "受理部门成员");
|
||||
resolver.put(RESOLVER_ORG_LEADER_BY_CODE, "指定部门负责人");
|
||||
resolver.put(RESOLVER_ORG_DEPUTY_BY_CODE, "指定部门分管领导");
|
||||
resolver.put(RESOLVER_ROLE_CASHIER, "出纳");
|
||||
resolver.put(RESOLVER_ROLE_TYPIST, "录入员");
|
||||
resolver.put(RESOLVER_ROLE_ISSUER, "发放人");
|
||||
resolver.put(RESOLVER_ROLE_GENERAL_MANAGER, "总经理");
|
||||
resolver.put(RESOLVER_ROLE_RELATED_DEPT, "相关部门");
|
||||
RESOLVER_NAMES = Collections.unmodifiableMap(resolver);
|
||||
|
||||
Map<String, String> category = new LinkedHashMap<>();
|
||||
category.put(CATEGORY_SIGNED, "签字件");
|
||||
category.put(CATEGORY_VOUCHER, "凭证");
|
||||
@@ -212,6 +232,14 @@ public final class ApprovalConstants {
|
||||
CATEGORY_NAMES = Collections.unmodifiableMap(category);
|
||||
}
|
||||
|
||||
/** 解析器的客户可读名称(流程配置页下拉,ADR 0016)。 */
|
||||
private static final Map<String, String> RESOLVER_NAMES;
|
||||
|
||||
/** 解析器显示名;未登记的标识原样返回。 */
|
||||
public static String resolverName(String resolver) {
|
||||
return RESOLVER_NAMES.getOrDefault(resolver, resolver);
|
||||
}
|
||||
|
||||
/** 附件分类白名单(上传与提交预检共用)。 */
|
||||
public static final List<String> ATTACHMENT_CATEGORIES =
|
||||
Collections.unmodifiableList(Arrays.asList(CATEGORY_SIGNED, CATEGORY_VOUCHER, CATEGORY_OTHER));
|
||||
|
||||
@@ -134,7 +134,7 @@ public class ApprovalFlowConfigService {
|
||||
vo.setFlowName(type.flowName());
|
||||
vo.setFactoryVersion(type.latestVersion());
|
||||
vo.setFactoryNodes(parseNodes(type.nodesJson()));
|
||||
vo.setResolvers(nodeValidator.resolvers());
|
||||
vo.setResolvers(nodeValidator.resolverOptions());
|
||||
List<ApprovalFieldSpec> specs = type.fieldSpecs();
|
||||
vo.setFieldSpecs(specs == null ? Collections.emptyList() : specs);
|
||||
if (latest != null) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.gxwebsoft.approval.document.ApprovalDocumentRegistry;
|
||||
import com.gxwebsoft.approval.document.ApprovalDocumentType;
|
||||
import com.gxwebsoft.approval.support.ApprovalFieldSpec;
|
||||
import com.gxwebsoft.approval.support.ApprovalNode;
|
||||
import com.gxwebsoft.approval.vo.ApprovalResolverVO;
|
||||
import com.gxwebsoft.common.core.exception.BusinessException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -79,9 +80,13 @@ public class ApprovalNodeValidator {
|
||||
@Resource
|
||||
private ApprovalDirectoryService directoryService;
|
||||
|
||||
/** 前端下拉用的解析器清单。 */
|
||||
public List<String> resolvers() {
|
||||
return RESOLVERS;
|
||||
/** 前端下拉用的解析器清单:值 + 客户可读名称。 */
|
||||
public List<ApprovalResolverVO> resolverOptions() {
|
||||
List<ApprovalResolverVO> options = new java.util.ArrayList<>();
|
||||
for (String resolver : RESOLVERS) {
|
||||
options.add(new ApprovalResolverVO(resolver, ApprovalConstants.resolverName(resolver)));
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -45,6 +45,6 @@ public class ApprovalFlowVO implements Serializable {
|
||||
@ApiModelProperty("可写字段元数据")
|
||||
private List<ApprovalFieldSpec> fieldSpecs = new ArrayList<>();
|
||||
|
||||
@ApiModelProperty("可用审批人解析器")
|
||||
private List<String> resolvers = new ArrayList<>();
|
||||
@ApiModelProperty("可用审批人解析器(含客户可读名称)")
|
||||
private List<ApprovalResolverVO> resolvers = new ArrayList<>();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.gxwebsoft.approval.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 审批人解析器选项:流程配置页下拉用,label 是客户可读的说法(ADR 0016)。
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(description = "审批人解析器选项")
|
||||
public class ApprovalResolverVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("解析器标识")
|
||||
private String value;
|
||||
|
||||
@ApiModelProperty("客户可读名称")
|
||||
private String label;
|
||||
|
||||
public ApprovalResolverVO() {
|
||||
}
|
||||
|
||||
public ApprovalResolverVO(String value, String label) {
|
||||
this.value = value;
|
||||
this.label = label;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user