From 64c00e77852595db64c56ad3dbbb8574663fe5c9 Mon Sep 17 00:00:00 2001 From: "Wang.Huan" Date: Thu, 6 Mar 2025 15:03:22 +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 --- .../IOutpatientRegistrationAppService.java | 46 +++++++++-- ...IOutpatientRegistrationAppServiceImpl.java | 76 ++++++++++++++++- .../OutpatientRegistrationController.java | 48 +++++++++-- .../dto/EncounterDiagnosisFormData.java | 31 +++++++ .../dto/EncounterFormData.java | 82 +++++++++++++++++++ .../dto/EncounterLocationFormData.java | 47 +++++++++++ .../dto/EncounterParticipantFormData.java | 40 +++++++++ .../dto/OutpatientRegistrationAddParam.java | 23 ++++-- .../dto/PractitionerMetadata.java | 36 ++++++++ .../OutpatientRegistrationAppMapper.java | 22 +++++ .../OutpatientRegistrationAppMapper.xml | 33 ++++++++ .../common/enums/EncounterLocationStatus.java | 5 +- .../common/enums/HisEnumInterface.java | 1 + .../openhis/common/enums/ParticipantType.java | 34 ++++++++ .../common/enums/PractitionerRole.java | 24 ++++++ .../domain/EncounterLocation.java | 7 +- .../administration/domain/Practitioner.java | 2 +- 17 files changed, 528 insertions(+), 29 deletions(-) create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterDiagnosisFormData.java create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterFormData.java create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterLocationFormData.java create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterParticipantFormData.java create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/PractitionerMetadata.java create mode 100644 openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/mapper/OutpatientRegistrationAppMapper.java create mode 100644 openhis-server/openhis-application/src/main/resources/mapper/outpatientservice/OutpatientRegistrationAppMapper.xml create mode 100644 openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ParticipantType.java create mode 100644 openhis-server/openhis-common/src/main/java/com/openhis/common/enums/PractitionerRole.java 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 1c6268a8..4531d1ae 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,12 +1,16 @@ 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; - import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.openhis.web.basicservice.dto.HealthcareServiceDto; +import com.openhis.web.outpatientservice.dto.*; + +/** + * 门诊挂号 应用Service + */ public interface IOutpatientRegistrationAppService { /** @@ -37,4 +41,36 @@ public interface IOutpatientRegistrationAppService { Page getConditionDefinitionMetadataSearchKey(String searchKey, Integer pageNo, Integer pageSize); + /** + * 根据位置id筛选医生 + * + * @param locationId 位置ID + * @param searchKey 模糊查询关键字 + * @param pageNo 当前页 + * @param pageSize 每页多少条 + * @return 筛选医生 + */ + IPage getPractitionerMetadataByLocationId(Long locationId, String searchKey, Integer pageNo, + Integer pageSize); + + /** + * 根据机构id筛选服务项目 + * + * @param organizationId 机构id + * @param searchKey 模糊查询关键字 + * @param pageNo 当前页 + * @param pageSize 每页多少条 + * @return 服务项目 + */ + IPage getHealthcareMetadataByOrganizationId(Long organizationId, String searchKey, + Integer pageNo, Integer pageSize); + + /** + * 保存挂号 + * + * @param outpatientRegistrationAddParam 就诊表单信息 + * @return 结果 + */ + R saveRegister(OutpatientRegistrationAddParam outpatientRegistrationAddParam); + } 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 23254467..33537e6a 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 @@ -7,11 +7,16 @@ import java.util.stream.Collectors; import javax.annotation.Resource; +import com.openhis.common.constant.CommonConstants; +import com.openhis.web.basicservice.dto.HealthcareServiceDto; +import com.openhis.web.basicservice.mapper.HealthcareServiceBizMapper; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; import com.core.common.utils.AgeCalculatorUtil; import com.core.common.utils.bean.BeanUtils; import com.openhis.administration.domain.Patient; @@ -19,6 +24,7 @@ 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.PractitionerRole; import com.openhis.common.enums.PublicationStatus; import com.openhis.common.enums.WhetherContainUnknown; import com.openhis.common.utils.EnumUtils; @@ -27,12 +33,11 @@ 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; +import com.openhis.web.outpatientservice.dto.*; +import com.openhis.web.outpatientservice.mapper.OutpatientRegistrationAppMapper; /** - * 门诊挂号 实现类 + * 门诊挂号 应用实现类 */ @Service public class IOutpatientRegistrationAppServiceImpl implements IOutpatientRegistrationAppService { @@ -46,6 +51,12 @@ public class IOutpatientRegistrationAppServiceImpl implements IOutpatientRegistr @Resource ConditionDefinitionMapper conditionDefinitionMapper; + @Resource + OutpatientRegistrationAppMapper outpatientRegistrationAppMapper; + + @Resource + HealthcareServiceBizMapper healthcareServiceBizMapper; + /** * 门诊挂号 - 查询患者信息 * @@ -127,4 +138,61 @@ public class IOutpatientRegistrationAppServiceImpl implements IOutpatientRegistr return conditionDefinitionMetadataPage; } + /** + * 根据位置id筛选医生 + * + * @param locationId 位置ID + * @param searchKey 模糊查询关键字 + * @param pageNo 当前页 + * @param pageSize 每页多少条 + * @return 筛选医生 + */ + @Override + public IPage getPractitionerMetadataByLocationId(Long locationId, String searchKey, + Integer pageNo, Integer pageSize) { + // 构建查询条件 + QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(null, searchKey, + new HashSet<>(Arrays.asList("name", "py_str", "wb_str")), null); + IPage practitionerMetadataPage = + outpatientRegistrationAppMapper.getPractitionerMetadataPage(new Page<>(pageNo, pageSize), locationId, + PractitionerRole.DOCTOR.getCode(), queryWrapper); + practitionerMetadataPage.getRecords().forEach(e -> { + // 性别 + e.setGenderEnum_enumText(EnumUtils.getInfoByValue(AdministrativeGender.class, e.getGenderEnum())); + }); + return practitionerMetadataPage; + } + + /** + * 根据机构id筛选服务项目 + * + * @param organizationId 机构id + * @param searchKey 模糊查询关键字 + * @param pageNo 当前页 + * @param pageSize 每页多少条 + * @return 服务项目 + */ + @Override + public IPage getHealthcareMetadataByOrganizationId(Long organizationId, String searchKey, + Integer pageNo, Integer pageSize) { + // 构建查询条件 + HealthcareServiceDto healthcareServiceDto = new HealthcareServiceDto(); + healthcareServiceDto.setOfferedOrgId(organizationId); + QueryWrapper queryWrapper = HisQueryUtils.buildQueryWrapper(healthcareServiceDto, + searchKey, new HashSet<>(Arrays.asList("name", "charge_name")), null); + return healthcareServiceBizMapper.getHealthcareServicePage(new Page<>(pageNo, pageSize), + CommonConstants.TableName.ADM_HEALTHCARE_SERVICE, queryWrapper); + } + + /** + * 保存挂号 + * + * @param outpatientRegistrationAddParam 就诊表单信息 + * @return 结果 + */ + @Override + public R saveRegister(OutpatientRegistrationAddParam outpatientRegistrationAddParam) { + return null; + } + } 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 1f0f8aff..c756d1b9 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 @@ -7,15 +7,14 @@ import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.core.common.core.domain.R; +import com.openhis.common.enums.LocationForm; import com.openhis.common.enums.PriorityLevel; -import com.openhis.web.basedatamanage.appservice.IOrganizationAppService; +import com.openhis.web.basedatamanage.appservice.ILocationAppService; import com.openhis.web.outpatientservice.appservice.IOutpatientRegistrationAppService; +import com.openhis.web.outpatientservice.dto.OutpatientRegistrationAddParam; import com.openhis.web.outpatientservice.dto.OutpatientRegistrationInitDto; import lombok.AllArgsConstructor; @@ -31,7 +30,7 @@ import lombok.extern.slf4j.Slf4j; public class OutpatientRegistrationController { private final IOutpatientRegistrationAppService iOutpatientRegistrationAppService; - private final IOrganizationAppService iOrganizationAppService; + private final ILocationAppService iLocationAppService; /** * 基础数据初始化 @@ -86,14 +85,51 @@ public class OutpatientRegistrationController { /** * 查询就诊位置 + * + * @param pageNo 当前页码 + * @param pageSize 查询条数 + * @return 位置分页列表 */ + @GetMapping(value = "/location-tree") + public R getLocationTree(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { + return R.ok(iLocationAppService.getLocationTree(LocationForm.ROOM.getValue(), pageNo, pageSize)); + + } /** * 根据位置id筛选医生 */ + @GetMapping(value = "/practitioner-metadata") + public R getPractitionerMetadata(@RequestParam(value = "locationId") Long locationId, + @RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { + return R.ok(iOutpatientRegistrationAppService.getPractitionerMetadataByLocationId(locationId, searchKey, pageNo, + pageSize)); + } /** * 根据机构id筛选服务项目 */ + @GetMapping(value = "/healthcare-metadata") + public R getHealthcareMetadata(@RequestParam(value = "organizationId") Long organizationId, + @RequestParam(value = "searchKey", defaultValue = "") String searchKey, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { + return R.ok(iOutpatientRegistrationAppService.getHealthcareMetadataByOrganizationId(organizationId, searchKey, + pageNo, pageSize)); + } + + /** + * 保存挂号 + * + * @param outpatientRegistrationAddParam 就诊表单信息 + * @return 结果 + */ + @PostMapping(value = "/save") + public R saveRegister(@RequestBody OutpatientRegistrationAddParam outpatientRegistrationAddParam) { + return iOutpatientRegistrationAppService.saveRegister(outpatientRegistrationAddParam); + } } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterDiagnosisFormData.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterDiagnosisFormData.java new file mode 100644 index 00000000..0c0997bc --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterDiagnosisFormData.java @@ -0,0 +1,31 @@ +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; + +import javax.validation.constraints.NotBlank; + +/** + * 就诊诊断 表单数据 + */ +@Data +@Accessors(chain = true) +public class EncounterDiagnosisFormData { + + /** + * 就诊ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** + * 诊断ID + */ + @NotBlank(message = "诊断ID不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long conditionId; + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterFormData.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterFormData.java new file mode 100644 index 00000000..00183f6b --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterFormData.java @@ -0,0 +1,82 @@ +package com.openhis.web.outpatientservice.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.openhis.common.enums.*; + +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; + +/** + * 就诊 表单数据 + */ +@Data +@Accessors(chain = true) +public class EncounterFormData { + + /** + * 患者ID + */ + @NotBlank(message = "患者ID不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long patientId; + + /** + * 状态编码 + */ + private Integer statusEnum; + + /** + * 类别编码 + */ + private Integer classEnum; + + /** + * 类别医保编码 + */ + private Integer ybClassEnum; + + /** + * 优先级编码 + */ + @NotBlank(message = "优先级编码不能为空") + private Integer priorityEnum; + + /** + * 分类编码 + */ + private Integer typeEnum; + + /** + * 服务ID + */ + @NotBlank(message = "服务ID不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long serviceTypeId; + + /** + * 就诊对象状态 + */ + private Integer subjectStatusEnum; + + /** + * 机构ID + */ + @NotBlank(message = "机构ID不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long organizationId; + + /** + * 设置默认值 + */ + public EncounterFormData() { + this.statusEnum = EncounterStatus.PLANNED.getValue(); + this.classEnum = EncounterClass.AMB.getValue(); + this.ybClassEnum = EncounterYbClass.ORDINARY_OUTPATIENT.getValue(); + this.typeEnum = OutpatientClass.GENERAL_OUTPATIENT_SERVICE.getValue(); + this.subjectStatusEnum = EncounterSubjectStatus.TRIAGED.getValue(); + } + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterLocationFormData.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterLocationFormData.java new file mode 100644 index 00000000..35dfe37c --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterLocationFormData.java @@ -0,0 +1,47 @@ +package com.openhis.web.outpatientservice.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.openhis.common.enums.EncounterLocationStatus; +import com.openhis.common.enums.LocationForm; + +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; + +/** + * 就诊位置 表单数据 + */ +@Data +@Accessors(chain = true) +public class EncounterLocationFormData { + + /** + * 就诊ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** + * 位置ID + */ + @NotBlank(message = "位置ID不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long locationId; + + /** 状态枚举 */ + private Integer statusEnum; + + /** 物理形式枚举 */ + private Integer formEnum; + + /** + * 设置默认值 + */ + public EncounterLocationFormData() { + this.statusEnum = EncounterLocationStatus.PLANNED.getValue(); + this.formEnum = LocationForm.ROOM.getValue(); + } + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterParticipantFormData.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterParticipantFormData.java new file mode 100644 index 00000000..58626e5a --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/EncounterParticipantFormData.java @@ -0,0 +1,40 @@ +package com.openhis.web.outpatientservice.dto; + +import javax.validation.constraints.NotBlank; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.openhis.common.enums.ParticipantType; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 就诊参数者 表单数据 + */ +@Data +@Accessors(chain = true) +public class EncounterParticipantFormData { + + /** + * 就诊ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long encounterId; + + /** 参与者类型 */ + private String typeCode; + + /** 参与者ID */ + @NotBlank(message = "参与者ID不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long practitionerId; + + /** + * 设置默认值 + */ + public EncounterParticipantFormData() { + this.typeCode = ParticipantType.ADMITTER.getCode(); + } + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/OutpatientRegistrationAddParam.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/OutpatientRegistrationAddParam.java index 75560da2..fbba3357 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/OutpatientRegistrationAddParam.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/OutpatientRegistrationAddParam.java @@ -4,19 +4,30 @@ import lombok.Data; import lombok.experimental.Accessors; /** - * 门诊挂号 新增数据 + * 门诊挂号 新增参数 */ @Data @Accessors(chain = true) public class OutpatientRegistrationAddParam { - // 就诊管理-表单数据 + /** + * 就诊管理-表单数据 + */ + private EncounterFormData encounterFormData; - // 就诊诊断管理-表单数据 + /** + * 就诊诊断管理-表单数据 + */ + private EncounterDiagnosisFormData encounterDiagnosisFormData; - // 就诊位置管理-表单数据 - - // 就诊参数者管理-表单数据 + /** + * 就诊位置管理-表单数据 + */ + private EncounterLocationFormData encounterLocationFormData; + /** + * 就诊参数者管理-表单数据 + */ + private EncounterParticipantFormData encounterParticipantFormData; } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/PractitionerMetadata.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/PractitionerMetadata.java new file mode 100644 index 00000000..3d420b05 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/dto/PractitionerMetadata.java @@ -0,0 +1,36 @@ +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; + +/** + * 参与者 元数据 + */ +@Data +@Accessors(chain = true) +public class PractitionerMetadata { + /** + * ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** 姓名 */ + private String name; + + /** + * 性别编码 + */ + private Integer genderEnum; + private String genderEnum_enumText; + + /** 拼音码 */ + private String pyStr; + + /** 五笔码 */ + private String wbStr; + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/mapper/OutpatientRegistrationAppMapper.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/mapper/OutpatientRegistrationAppMapper.java new file mode 100644 index 00000000..23b22490 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/outpatientservice/mapper/OutpatientRegistrationAppMapper.java @@ -0,0 +1,22 @@ +package com.openhis.web.outpatientservice.mapper; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.openhis.web.outpatientservice.dto.PractitionerMetadata; + +/** + * 门诊挂号 应用Mapper + */ +@Repository +public interface OutpatientRegistrationAppMapper { + + IPage getPractitionerMetadataPage(@Param("page") Page page, + @Param("locationId") Long locationId, @Param("RoleCode") String RoleCode, + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + +} diff --git a/openhis-server/openhis-application/src/main/resources/mapper/outpatientservice/OutpatientRegistrationAppMapper.xml b/openhis-server/openhis-application/src/main/resources/mapper/outpatientservice/OutpatientRegistrationAppMapper.xml new file mode 100644 index 00000000..77f892a4 --- /dev/null +++ b/openhis-server/openhis-application/src/main/resources/mapper/outpatientservice/OutpatientRegistrationAppMapper.xml @@ -0,0 +1,33 @@ + + + + + + + \ No newline at end of file diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/EncounterLocationStatus.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/EncounterLocationStatus.java index 8c9cb495..1d8e9959 100644 --- a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/EncounterLocationStatus.java +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/EncounterLocationStatus.java @@ -1,12 +1,13 @@ package com.openhis.common.enums; + import com.baomidou.mybatisplus.annotation.EnumValue; + import lombok.AllArgsConstructor; import lombok.Getter; - @Getter @AllArgsConstructor -public enum EncounterLocationStatus { +public enum EncounterLocationStatus implements HisEnumInterface { PLANNED(1, "planned", "已安排"), ACTIVE(2, "active", "使用中"), diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/HisEnumInterface.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/HisEnumInterface.java index b46d4564..9be054e4 100644 --- a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/HisEnumInterface.java +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/HisEnumInterface.java @@ -5,5 +5,6 @@ package com.openhis.common.enums; */ public interface HisEnumInterface { Integer getValue(); + String getCode(); String getInfo(); } diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ParticipantType.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ParticipantType.java new file mode 100644 index 00000000..6a025dd2 --- /dev/null +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ParticipantType.java @@ -0,0 +1,34 @@ +package com.openhis.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 参与者类型 + */ +@Getter +@AllArgsConstructor +public enum ParticipantType implements HisEnumInterface { + ADMITTER(1, "1", "首诊医生"), + + ATTENDER(2, "2", "责任护士"), + + CONTACT(3, "3", "联系人"), + + CONSULTANT(4, "4", "顾问"), + + DISCHARGER(5, "5", "出院办理人"), + + ESCORT(6, "6", "护送人"), + + REFERRER(7, "7", "推荐人"), + + EMERGENCY(8, "8", "紧急联系人"); + + @EnumValue + private final Integer value; + private final String code; + private final String info; +} diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/PractitionerRole.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/PractitionerRole.java new file mode 100644 index 00000000..b9312351 --- /dev/null +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/PractitionerRole.java @@ -0,0 +1,24 @@ +package com.openhis.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 参与者角色 + */ +@Getter +@AllArgsConstructor +public enum PractitionerRole implements HisEnumInterface { + DOCTOR(1, "doctor", "医生"), + + NURSE(2, "nurse", "护士"), + + PHARMACIST(3, "pharmacist", "药师"); + + @EnumValue + private final Integer value; + private final String code; + private final String info; +} diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterLocation.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterLocation.java index 22632b74..2bc55738 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterLocation.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterLocation.java @@ -1,14 +1,12 @@ package com.openhis.administration.domain; -import java.math.BigDecimal; import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; - import com.core.common.core.domain.HisBaseEntity; -import com.openhis.common.enums.EncounterLocationStatus; + import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -36,7 +34,7 @@ public class EncounterLocation extends HisBaseEntity { private Long locationId; /** 状态枚举 */ - private EncounterLocationStatus statusEnum; + private Integer statusEnum; /** 物理形式枚举 */ private Integer formEnum; @@ -47,5 +45,4 @@ public class EncounterLocation extends HisBaseEntity { /** 结束时间 */ private Date endTime; - } diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java index 61c22cd9..a5c3c168 100644 --- a/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java @@ -39,7 +39,7 @@ public class Practitioner extends HisBaseEntity { private String nameJson; /** 性别编码 */ - private AdministrativeGender genderEnum; + private Integer genderEnum; /** 生日 */ private Date birthDate;