diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java index af451290..0a5a97a2 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/controller/HealthcareServiceController.java @@ -17,6 +17,7 @@ import com.openhis.common.constant.CommonConstants; import com.openhis.common.constant.PromptMsgConstant; import com.openhis.common.enums.AccountStatus; import com.openhis.common.enums.WhetherContainUnknown; +import com.openhis.common.utils.EnumUtils; import com.openhis.common.utils.HisQueryUtils; import com.openhis.web.basicservice.dto.HealthcareServiceAddOrUpdateParam; import com.openhis.web.basicservice.dto.HealthcareServiceDto; @@ -106,6 +107,10 @@ public class HealthcareServiceController { new HashSet<>(Arrays.asList("name", "charge_name")), request); IPage healthcareServicePage = healthcareServiceBizMapper.getHealthcareServicePage( new Page<>(pageNo, pageSize), CommonConstants.TableName.ADM_HEALTHCARE_SERVICE, queryWrapper); + // 枚举类回显赋值 + healthcareServicePage.getRecords().forEach(e -> + e.setActiveFlag_enumText(EnumUtils.getInfoByValue(AccountStatus.class, e.getActiveFlag())) + ); return R.ok(healthcareServicePage, MessageUtils.createMessage(PromptMsgConstant.Common.M00009, null)); } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceDto.java index 1ab735fd..846d0743 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/basicservice/dto/HealthcareServiceDto.java @@ -21,6 +21,7 @@ public class HealthcareServiceDto { * 活动标记 */ private Integer activeFlag; + private String activeFlag_enumText; /** * 提供部门ID diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/AccountStatus.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/AccountStatus.java index e19d2c55..f73cd658 100644 --- a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/AccountStatus.java +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/AccountStatus.java @@ -6,7 +6,7 @@ import lombok.Getter; @Getter @AllArgsConstructor -public enum AccountStatus { +public enum AccountStatus implements ValueEnum { ACTIVE (1, "active", "有效"), diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ValueEnum.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ValueEnum.java new file mode 100644 index 00000000..ec6948fa --- /dev/null +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ValueEnum.java @@ -0,0 +1,9 @@ +package com.openhis.common.enums; + +/** + * 枚举类通用接口 + */ +public interface ValueEnum { + Integer getValue(); + String getInfo(); +} diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/utils/EnumUtils.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/utils/EnumUtils.java new file mode 100644 index 00000000..6c6e2acf --- /dev/null +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/utils/EnumUtils.java @@ -0,0 +1,24 @@ +package com.openhis.common.utils; + +import com.openhis.common.enums.ValueEnum; + +import java.util.Arrays; + +public class EnumUtils { + + /** + * 根据 value 获取枚举的 info + * + * @param enumClass 枚举类 + * @param value 枚举的 value + * @param 枚举类型 + * @return 对应的 info,如果未找到则返回 null + */ + public static & ValueEnum> String getInfoByValue(Class enumClass, Integer value) { + return Arrays.stream(enumClass.getEnumConstants()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .map(ValueEnum::getInfo) + .orElse(null); + } +}