feat: 解析器下拉返回客户可读名称,标识只用于提交(ADR 0016)
This commit is contained in:
@@ -205,6 +205,26 @@ public final class ApprovalConstants {
|
|||||||
action.put(ACTION_ASSIGN, "改派");
|
action.put(ACTION_ASSIGN, "改派");
|
||||||
ACTION_NAMES = Collections.unmodifiableMap(action);
|
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<>();
|
Map<String, String> category = new LinkedHashMap<>();
|
||||||
category.put(CATEGORY_SIGNED, "签字件");
|
category.put(CATEGORY_SIGNED, "签字件");
|
||||||
category.put(CATEGORY_VOUCHER, "凭证");
|
category.put(CATEGORY_VOUCHER, "凭证");
|
||||||
@@ -212,6 +232,14 @@ public final class ApprovalConstants {
|
|||||||
CATEGORY_NAMES = Collections.unmodifiableMap(category);
|
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 =
|
public static final List<String> ATTACHMENT_CATEGORIES =
|
||||||
Collections.unmodifiableList(Arrays.asList(CATEGORY_SIGNED, CATEGORY_VOUCHER, CATEGORY_OTHER));
|
Collections.unmodifiableList(Arrays.asList(CATEGORY_SIGNED, CATEGORY_VOUCHER, CATEGORY_OTHER));
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ public class ApprovalFlowConfigService {
|
|||||||
vo.setFlowName(type.flowName());
|
vo.setFlowName(type.flowName());
|
||||||
vo.setFactoryVersion(type.latestVersion());
|
vo.setFactoryVersion(type.latestVersion());
|
||||||
vo.setFactoryNodes(parseNodes(type.nodesJson()));
|
vo.setFactoryNodes(parseNodes(type.nodesJson()));
|
||||||
vo.setResolvers(nodeValidator.resolvers());
|
vo.setResolvers(nodeValidator.resolverOptions());
|
||||||
List<ApprovalFieldSpec> specs = type.fieldSpecs();
|
List<ApprovalFieldSpec> specs = type.fieldSpecs();
|
||||||
vo.setFieldSpecs(specs == null ? Collections.emptyList() : specs);
|
vo.setFieldSpecs(specs == null ? Collections.emptyList() : specs);
|
||||||
if (latest != null) {
|
if (latest != null) {
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.gxwebsoft.approval.document.ApprovalDocumentRegistry;
|
|||||||
import com.gxwebsoft.approval.document.ApprovalDocumentType;
|
import com.gxwebsoft.approval.document.ApprovalDocumentType;
|
||||||
import com.gxwebsoft.approval.support.ApprovalFieldSpec;
|
import com.gxwebsoft.approval.support.ApprovalFieldSpec;
|
||||||
import com.gxwebsoft.approval.support.ApprovalNode;
|
import com.gxwebsoft.approval.support.ApprovalNode;
|
||||||
|
import com.gxwebsoft.approval.vo.ApprovalResolverVO;
|
||||||
import com.gxwebsoft.common.core.exception.BusinessException;
|
import com.gxwebsoft.common.core.exception.BusinessException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -79,9 +80,13 @@ public class ApprovalNodeValidator {
|
|||||||
@Resource
|
@Resource
|
||||||
private ApprovalDirectoryService directoryService;
|
private ApprovalDirectoryService directoryService;
|
||||||
|
|
||||||
/** 前端下拉用的解析器清单。 */
|
/** 前端下拉用的解析器清单:值 + 客户可读名称。 */
|
||||||
public List<String> resolvers() {
|
public List<ApprovalResolverVO> resolverOptions() {
|
||||||
return RESOLVERS;
|
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("可写字段元数据")
|
@ApiModelProperty("可写字段元数据")
|
||||||
private List<ApprovalFieldSpec> fieldSpecs = new ArrayList<>();
|
private List<ApprovalFieldSpec> fieldSpecs = new ArrayList<>();
|
||||||
|
|
||||||
@ApiModelProperty("可用审批人解析器")
|
@ApiModelProperty("可用审批人解析器(含客户可读名称)")
|
||||||
private List<String> resolvers = new ArrayList<>();
|
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