Merge branch 'feature/REQ-3488-syl' into 'feature/REQ-3488'

feat(REQ-3488):  SaasCooperateShipCooperateTypeEnum 废弃,统一采用CooperateShipTypeEnum

See merge request universal/infrastructure/backend/orgmanax!87
This commit is contained in:
宋远伦 2025-01-02 05:54:45 +00:00
commit 5ed42bc7c7
3 changed files with 101 additions and 129 deletions

View File

@ -1,11 +1,16 @@
package cn.axzo.orgmanax.dto.cooperateship.enums;
import lombok.AccessLevel;
import cn.axzo.orgmanax.dto.node.enums.NodeTypeEnum;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@AllArgsConstructor
public enum CooperateShipTypeEnum {
PROJ_PRIMARY_CONTRACTING_UNIT(1, "施工总承包"),
@ -25,4 +30,81 @@ public enum CooperateShipTypeEnum {
private final Integer code;
private final String desc;
private static final Map<Integer, CooperateShipTypeEnum> mapping = new HashMap<>();
static {
Arrays.stream(CooperateShipTypeEnum.values()).forEach(t -> mapping.put(t.getCode(), t));
}
public static CooperateShipTypeEnum getByCode(Integer code) {
return mapping.get(code);
}
/** 班组类型关系:企业/项目内班组 **/
public boolean isTeam() {
return this == ENT_TEAM || this == PROJ_TEAM;
}
/** 小组类型关系:企业/项目内小组 **/
public boolean isGroup() {
return this == ENT_GROUP || this == PROJ_GROUP;
}
public static List<CooperateShipTypeEnum> getEntEnum() {
return Arrays.asList(
ENT_COMMON
,PROJ_PRIMARY_CONTRACTING_UNIT
,PROJ_CONSTRUCTION_UNIT
,PROJ_SUPERVISION_UNIT
,PROJ_LABOR_SUBCONTRACTING
,PROJ_PROFESSIONAL_SUBCONTRACTING
,SURVEY_UNIT
,DESIGN_UNIT
,OTHER);
}
public static List<Integer> getEntEnumCode() {
return Arrays.asList(
ENT_COMMON.getCode()
,PROJ_PRIMARY_CONTRACTING_UNIT.getCode()
,PROJ_CONSTRUCTION_UNIT.getCode()
,PROJ_SUPERVISION_UNIT.getCode()
,PROJ_LABOR_SUBCONTRACTING.getCode()
,PROJ_PROFESSIONAL_SUBCONTRACTING.getCode()
,SURVEY_UNIT.getCode()
,DESIGN_UNIT.getCode()
,OTHER.getCode());
}
public static Integer convertNodeTypeToCooperateType(Integer nodeType) {
if (Objects.equals(nodeType, NodeTypeEnum.PROJECT_TEAM.getValue())) {
return PROJ_TEAM.getCode();
}
if (Objects.equals(nodeType, NodeTypeEnum.PROJECT_GROUP.getValue())) {
return PROJ_GROUP.getCode();
}
return null;
}
public boolean is(Integer code) {
return this.code.equals(code);
}
public boolean isInScopeAsNode(Integer cooperateType) {
CooperateShipTypeEnum typeByeCode = getByCode(cooperateType);
if (typeByeCode == null) {
throw new RuntimeException("Unknown cooperate type: " + cooperateType);
}
return isInScopeAsNode(typeByeCode);
}
public boolean isInScopeAsNode(CooperateShipTypeEnum type) {
if (this == type) {
return true;
}
if (this == CooperateShipTypeEnum.PROJ_TEAM) {
return type == CooperateShipTypeEnum.PROJ_GROUP;
}
return false;
}
}

View File

@ -1,112 +0,0 @@
package cn.axzo.orgmanax.dto.cooperateship.enums;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import cn.axzo.orgmanax.dto.node.enums.NodeTypeEnum;
import lombok.Getter;
@Getter
public enum SaasCooperateShipCooperateTypeEnum {
PROJ_PRIMARY_CONTRACTING_UNIT(1, "施工总承包"),
PROJ_CONSTRUCTION_UNIT(2, "建设单位"),
PROJ_SUPERVISION_UNIT(3, "监理单位"),
PROJ_LABOR_SUBCONTRACTING(4, "劳务分包"),
PROJ_PROFESSIONAL_SUBCONTRACTING(5, "专业承包"),
OMS(6, "OMS"),
ENT_COMMON(7, "企业通用"),
ENT_TEAM(8, "企业内班组"),
PROJ_TEAM(9,"项目内班组"),
ENT_GROUP(10, "企业内小组"),
PROJ_GROUP(11, "项目内小组"),
SURVEY_UNIT(12, "地勘单位"),
DESIGN_UNIT(13, "设计单位"),
OTHER(30,"其他")
;
private static final Map<Integer, SaasCooperateShipCooperateTypeEnum> mapping = new HashMap<>();
static {
Arrays.stream(SaasCooperateShipCooperateTypeEnum.values()).forEach(t -> mapping.put(t.getCode(), t));
}
public final Integer code;
public final String desc;
SaasCooperateShipCooperateTypeEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public static SaasCooperateShipCooperateTypeEnum getByCode(Integer code) {
return mapping.get(code);
}
/** 班组类型关系:企业/项目内班组 **/
public boolean isTeam() {
return this == ENT_TEAM || this == PROJ_TEAM;
}
/** 小组类型关系:企业/项目内小组 **/
public boolean isGroup() {
return this == ENT_GROUP || this == PROJ_GROUP;
}
public static List<SaasCooperateShipCooperateTypeEnum> getEntEnum() {
return Arrays.asList(
ENT_COMMON
,PROJ_PRIMARY_CONTRACTING_UNIT
,PROJ_CONSTRUCTION_UNIT
,PROJ_SUPERVISION_UNIT
,PROJ_LABOR_SUBCONTRACTING
,PROJ_PROFESSIONAL_SUBCONTRACTING
,SURVEY_UNIT
,DESIGN_UNIT
,OTHER);
}
public static List<Integer> getEntEnumCode() {
return Arrays.asList(
ENT_COMMON.getCode()
,PROJ_PRIMARY_CONTRACTING_UNIT.getCode()
,PROJ_CONSTRUCTION_UNIT.getCode()
,PROJ_SUPERVISION_UNIT.getCode()
,PROJ_LABOR_SUBCONTRACTING.getCode()
,PROJ_PROFESSIONAL_SUBCONTRACTING.getCode()
,SURVEY_UNIT.getCode()
,DESIGN_UNIT.getCode()
,OTHER.getCode());
}
public static Integer convertNodeTypeToCooperateType(Integer nodeType) {
if (Objects.equals(nodeType, NodeTypeEnum.PROJECT_TEAM.getValue())) {
return PROJ_TEAM.getCode();
}
if (Objects.equals(nodeType, NodeTypeEnum.PROJECT_GROUP.getValue())) {
return PROJ_GROUP.getCode();
}
return null;
}
public boolean is(Integer code) {
return this.code.equals(code);
}
public boolean isInScopeAsNode(Integer cooperateType) {
SaasCooperateShipCooperateTypeEnum typeByeCode = getByCode(cooperateType);
if (typeByeCode == null)
throw new RuntimeException("Unknown cooperate type: " + cooperateType);
return isInScopeAsNode(typeByeCode);
}
public boolean isInScopeAsNode(SaasCooperateShipCooperateTypeEnum type) {
if (this == type)
return true;
if (this == SaasCooperateShipCooperateTypeEnum.PROJ_TEAM)
return type == SaasCooperateShipCooperateTypeEnum.PROJ_GROUP;
return false;
}
}

View File

@ -1,10 +1,9 @@
package cn.axzo.orgmanax.dto.job.enums;
import cn.axzo.orgmanax.dto.cooperateship.enums.CooperateShipTypeEnum;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
import cn.axzo.orgmanax.dto.cooperateship.enums.SaasCooperateShipCooperateTypeEnum;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
@ -19,31 +18,34 @@ import lombok.Getter;
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum OrgJobGroupFlagEnum {
/**
* 岗位分组标识
*/
WORKSPACE_ENT("job_group:workspace_ent", null, null, 1, 1, "企业"),
WORKSPACE_PROJ("job_group:workspace_proj", null, null, 1, 2, "项目"),
WORKSPACE_OMS("job_group:workspace_oms", null, null, 1, 3, "OMS"),
ENT_COMMON("job_group:ent_common", WORKSPACE_ENT, SaasCooperateShipCooperateTypeEnum.ENT_COMMON, 2, 1, "企业通用"),
ENT_TEAM("job_group:ent_team", WORKSPACE_ENT, SaasCooperateShipCooperateTypeEnum.ENT_TEAM, 2, 2, "企业班组"),
ENT_COMMON("job_group:ent_common", WORKSPACE_ENT, CooperateShipTypeEnum.ENT_COMMON, 2, 1, "企业通用"),
ENT_TEAM("job_group:ent_team", WORKSPACE_ENT, CooperateShipTypeEnum.ENT_TEAM, 2, 2, "企业班组"),
PROJ_PRIMARY_UNIT("job_group:proj_primary_unit", WORKSPACE_PROJ, SaasCooperateShipCooperateTypeEnum.PROJ_PRIMARY_CONTRACTING_UNIT,
PROJ_PRIMARY_UNIT("job_group:proj_primary_unit", WORKSPACE_PROJ, CooperateShipTypeEnum.PROJ_PRIMARY_CONTRACTING_UNIT,
2, 1, "总包"),
PROJ_CONSTRUCTION_UNIT("job_group:proj_construction_unit", WORKSPACE_PROJ, SaasCooperateShipCooperateTypeEnum.PROJ_CONSTRUCTION_UNIT,
PROJ_CONSTRUCTION_UNIT("job_group:proj_construction_unit", WORKSPACE_PROJ, CooperateShipTypeEnum.PROJ_CONSTRUCTION_UNIT,
2, 2, "建设单位"),
PROJ_SUPERVISION_UNIT("job_group:proj_supervision_unit", WORKSPACE_PROJ, SaasCooperateShipCooperateTypeEnum.PROJ_SUPERVISION_UNIT,
PROJ_SUPERVISION_UNIT("job_group:proj_supervision_unit", WORKSPACE_PROJ, CooperateShipTypeEnum.PROJ_SUPERVISION_UNIT,
2, 3, "监理单位"),
PROJ_LABOR_UNIT("job_group:proj_labor_unit", WORKSPACE_PROJ, SaasCooperateShipCooperateTypeEnum.PROJ_LABOR_SUBCONTRACTING,
PROJ_LABOR_UNIT("job_group:proj_labor_unit", WORKSPACE_PROJ, CooperateShipTypeEnum.PROJ_LABOR_SUBCONTRACTING,
2, 4, "劳务分包"),
PROJ_PROFESSIONAL_UNIT("job_group:proj_professional_unit", WORKSPACE_PROJ,
SaasCooperateShipCooperateTypeEnum.PROJ_PROFESSIONAL_SUBCONTRACTING, 2, 5, "专业分包"),
PROJ_TEAM("job_group:proj_team", WORKSPACE_PROJ, SaasCooperateShipCooperateTypeEnum.PROJ_TEAM, 2, 9, "项目班组"),
OTHER("job_group:other", WORKSPACE_PROJ, SaasCooperateShipCooperateTypeEnum.OTHER, 2, 11, "其他"),
CooperateShipTypeEnum.PROJ_PROFESSIONAL_SUBCONTRACTING, 2, 5, "专业分包"),
PROJ_TEAM("job_group:proj_team", WORKSPACE_PROJ, CooperateShipTypeEnum.PROJ_TEAM, 2, 9, "项目班组"),
OTHER("job_group:other", WORKSPACE_PROJ, CooperateShipTypeEnum.OTHER, 2, 11, "其他"),
OMS("job_group:oms", WORKSPACE_OMS, SaasCooperateShipCooperateTypeEnum.OMS, 2, 1, "OMS通用");
OMS("job_group:oms", WORKSPACE_OMS, CooperateShipTypeEnum.OMS, 2, 1, "OMS通用");
private final String code;
private final OrgJobGroupFlagEnum parent;
private final SaasCooperateShipCooperateTypeEnum cooperateType;
private final CooperateShipTypeEnum cooperateType;
private final Integer level;
private final Integer priority;
private final String desc;
@ -99,10 +101,10 @@ public enum OrgJobGroupFlagEnum {
if (Objects.isNull(this.cooperateType)) {
return false;
}
if (SaasCooperateShipCooperateTypeEnum.ENT_COMMON.is(cooperateType)) {
if (CooperateShipTypeEnum.ENT_COMMON.is(cooperateType)) {
// 单位默认匹配上单位班组
return this.cooperateType.is(cooperateType)
|| SaasCooperateShipCooperateTypeEnum.ENT_TEAM.equals(this.cooperateType);
|| CooperateShipTypeEnum.ENT_TEAM.equals(this.cooperateType);
}
return this.cooperateType.is(cooperateType);
}