From c6b93680b385c9868f68bb1c0bd8803617b0eb47 Mon Sep 17 00:00:00 2001 From: "Wang.Huan" Date: Thu, 6 Mar 2025 09:34:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=B1=E8=AF=8A-=E5=85=83=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DiseaseManageController.java | 6 +-- .../IOutpatientRegistrationAppService.java | 13 +++++++ ...IOutpatientRegistrationAppServiceImpl.java | 39 +++++++++++++++++++ .../OutpatientRegistrationController.java | 9 ++++- .../dto/ConditionDefinitionMetadata.java | 24 ++++++++++++ .../common/enums/PublicationStatus.java | 4 +- .../clinical/domain/ConditionDefinition.java | 2 +- 7 files changed, 90 insertions(+), 7 deletions(-) diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManageController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManageController.java index f0911616..0674acab 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManageController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/datadictionary/controller/DiseaseManageController.java @@ -142,7 +142,7 @@ public class DiseaseManageController { for (Long detail : ids) { ConditionDefinition conditionDefinition = new ConditionDefinition(); conditionDefinition.setId(detail); - conditionDefinition.setStatusEnum(PublicationStatus.RETIRED); + conditionDefinition.setStatusEnum(PublicationStatus.RETIRED.getValue()); conditionDefinitionList.add(conditionDefinition); } // 更新病种信息 @@ -165,7 +165,7 @@ public class DiseaseManageController { for (Long detail : ids) { ConditionDefinition conditionDefinition = new ConditionDefinition(); conditionDefinition.setId(detail); - conditionDefinition.setStatusEnum(PublicationStatus.ACTIVE); + conditionDefinition.setStatusEnum(PublicationStatus.ACTIVE.getValue()); conditionDefinitionList.add(conditionDefinition); } // 更新病种信息 @@ -185,7 +185,7 @@ public class DiseaseManageController { ConditionDefinition conditionDefinition = new ConditionDefinition(); BeanUtils.copyProperties(diseaseManageUpDto, conditionDefinition); // 新增外来病种目录 - conditionDefinition.setStatusEnum(PublicationStatus.DRAFT); + conditionDefinition.setStatusEnum(PublicationStatus.DRAFT.getValue()); return iConditionDefinitionService.addDisease(conditionDefinition) ? R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"疾病目录"})) : R.fail(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00008, null)); diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/appservice/IOutpatientRegistrationAppService.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/appservice/IOutpatientRegistrationAppService.java index 7a5626b8..1c6268a8 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/appservice/IOutpatientRegistrationAppService.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/appservice/IOutpatientRegistrationAppService.java @@ -1,6 +1,7 @@ package com.openhis.web.outpatientservice.appservice; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.openhis.web.outpatientservice.dto.ConditionDefinitionMetadata; import com.openhis.web.outpatientservice.dto.ContractMetadata; import com.openhis.web.outpatientservice.dto.PatientMetadata; @@ -24,4 +25,16 @@ public interface IOutpatientRegistrationAppService { * @return 费用性质 */ List getContractMetadata(); + + /** + * 查询诊断信息 + * + * @param searchKey 模糊查询关键字 + * @param pageNo 当前页 + * @param pageSize 每页多少条 + * @return 诊断信息 + */ + Page getConditionDefinitionMetadataSearchKey(String searchKey, Integer pageNo, + Integer pageSize); + } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/appservice/impl/IOutpatientRegistrationAppServiceImpl.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/appservice/impl/IOutpatientRegistrationAppServiceImpl.java index 9e059915..23254467 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/appservice/impl/IOutpatientRegistrationAppServiceImpl.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/appservice/impl/IOutpatientRegistrationAppServiceImpl.java @@ -16,13 +16,18 @@ import com.core.common.utils.AgeCalculatorUtil; import com.core.common.utils.bean.BeanUtils; import com.openhis.administration.domain.Patient; import com.openhis.administration.mapper.PatientMapper; +import com.openhis.clinical.domain.ConditionDefinition; +import com.openhis.clinical.mapper.ConditionDefinitionMapper; import com.openhis.common.enums.AdministrativeGender; +import com.openhis.common.enums.PublicationStatus; +import com.openhis.common.enums.WhetherContainUnknown; import com.openhis.common.utils.EnumUtils; import com.openhis.common.utils.HisPageUtils; import com.openhis.common.utils.HisQueryUtils; import com.openhis.financial.domain.Contract; import com.openhis.financial.mapper.ContractMapper; import com.openhis.web.outpatientservice.appservice.IOutpatientRegistrationAppService; +import com.openhis.web.outpatientservice.dto.ConditionDefinitionMetadata; import com.openhis.web.outpatientservice.dto.ContractMetadata; import com.openhis.web.outpatientservice.dto.PatientMetadata; @@ -38,6 +43,9 @@ public class IOutpatientRegistrationAppServiceImpl implements IOutpatientRegistr @Resource ContractMapper contractMapper; + @Resource + ConditionDefinitionMapper conditionDefinitionMapper; + /** * 门诊挂号 - 查询患者信息 * @@ -88,4 +96,35 @@ public class IOutpatientRegistrationAppServiceImpl implements IOutpatientRegistr }).collect(Collectors.toList()); } + /** + * 查询诊断信息 + * + * @param searchKey 模糊查询关键字 + * @param pageNo 当前页 + * @param pageSize 每页多少条 + * @return 诊断信息 + */ + @Override + public Page getConditionDefinitionMetadataSearchKey(String searchKey, Integer pageNo, + Integer pageSize) { + // 构建查询条件 + ConditionDefinition conditionDefinition = new ConditionDefinition(); + // 查询状态是有效的 + conditionDefinition.setStatusEnum(PublicationStatus.ACTIVE.getValue()); + QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(conditionDefinition, searchKey, + new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), null); + // 设置排序 + queryWrapper.orderByDesc("update_time"); + // 诊断信息 + Page conditionDefinitionMetadataPage = HisPageUtils + .selectPage(conditionDefinitionMapper, queryWrapper, pageNo, pageSize, ConditionDefinitionMetadata.class); + conditionDefinitionMetadataPage.getRecords().forEach(e -> { + // 医保标记 + e.setYbFlag_enumText(EnumUtils.getInfoByValue(WhetherContainUnknown.class, e.getYbFlag())); + // 医保对码标记 + e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(WhetherContainUnknown.class, e.getYbMatchFlag())); + }); + return conditionDefinitionMetadataPage; + } + } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/controller/OutpatientRegistrationController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/controller/OutpatientRegistrationController.java index fba03b1a..1f0f8aff 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/controller/OutpatientRegistrationController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/controller/OutpatientRegistrationController.java @@ -74,8 +74,15 @@ public class OutpatientRegistrationController { } /** - * 查询第一诊断 + * 查询诊断信息 */ + @GetMapping(value = "/condition-definition-metadata") + public R getConditionDefinitionMetadata(@RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { + return R + .ok(iOutpatientRegistrationAppService.getConditionDefinitionMetadataSearchKey(searchKey, pageNo, pageSize)); + } /** * 查询就诊位置 diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/ConditionDefinitionMetadata.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/ConditionDefinitionMetadata.java index 8737bc76..cbc7ce8b 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/ConditionDefinitionMetadata.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/ConditionDefinitionMetadata.java @@ -1,5 +1,8 @@ package com.openhis.web.outpatientservice.dto; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; + import lombok.Data; import lombok.experimental.Accessors; @@ -10,4 +13,25 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class ConditionDefinitionMetadata { + /** ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** 编码 */ + private String conditionCode; + + /** 诊断名称 */ + private String name; + + /** 医保标记 */ + private Integer ybFlag; + private String ybFlag_enumText; + + /** 医保编码 */ + private String ybNo; + + /** 医保对码标记 */ + private Integer ybMatchFlag; + private String ybMatchFlag_enumText; + } diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/PublicationStatus.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/PublicationStatus.java index 4ece8aa5..64409b0b 100644 --- a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/PublicationStatus.java +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/PublicationStatus.java @@ -1,13 +1,13 @@ package com.openhis.common.enums; + import com.baomidou.mybatisplus.annotation.EnumValue; import com.fasterxml.jackson.annotation.JsonValue; import lombok.AllArgsConstructor; import lombok.Getter; - @Getter @AllArgsConstructor -public enum PublicationStatus { +public enum PublicationStatus implements HisEnumInterface { DRAFT(1, "draft", "草稿"), diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java index 09e1453f..d7656f36 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/ConditionDefinition.java @@ -61,6 +61,6 @@ public class ConditionDefinition extends HisBaseEntity { private Integer ybMatchFlag; /** 状态 */ - private PublicationStatus statusEnum; + private Integer statusEnum; }