diff --git a/openhis-server/core-framework/src/main/java/com/core/framework/config/MybatisPlusConfig.java b/openhis-server/core-framework/src/main/java/com/core/framework/config/MybatisPlusConfig.java index c9989f66..55fcf02d 100644 --- a/openhis-server/core-framework/src/main/java/com/core/framework/config/MybatisPlusConfig.java +++ b/openhis-server/core-framework/src/main/java/com/core/framework/config/MybatisPlusConfig.java @@ -105,6 +105,7 @@ public class MybatisPlusConfig { "adm_supplier", "cli_condition", "cli_condition_definition", + "cli_diagnosis_belong_binding", "cli_procedure", "cli_procedure_performer", "doc_emr", diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/IDoctorStationAdviceAppService.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/IDoctorStationAdviceAppService.java new file mode 100644 index 00000000..20475bf8 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/IDoctorStationAdviceAppService.java @@ -0,0 +1,8 @@ +package com.openhis.web.doctorstation.appservice; + +/** + * 医生站-医嘱/处方 应用Service + */ +public interface IDoctorStationAdviceAppService { + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/IDoctorStationDiagnosisAppService.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/IDoctorStationDiagnosisAppService.java new file mode 100644 index 00000000..86f0f013 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/IDoctorStationDiagnosisAppService.java @@ -0,0 +1,8 @@ +package com.openhis.web.doctorstation.appservice; + +/** + * 医生站-诊断 应用Service + */ +public interface IDoctorStationDiagnosisAppService { + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java new file mode 100644 index 00000000..3b1d36c0 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java @@ -0,0 +1,13 @@ +package com.openhis.web.doctorstation.appservice.impl; + +import org.springframework.stereotype.Service; + +import com.openhis.web.doctorstation.appservice.IDoctorStationAdviceAppService; + +/** + * 医生站-医嘱/处方 应用实现类 + */ +@Service +public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAppService { + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationDiagnosisAppServiceImpl.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationDiagnosisAppServiceImpl.java new file mode 100644 index 00000000..d69e3cce --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationDiagnosisAppServiceImpl.java @@ -0,0 +1,13 @@ +package com.openhis.web.doctorstation.appservice.impl; + +import org.springframework.stereotype.Service; + +import com.openhis.web.doctorstation.appservice.IDoctorStationDiagnosisAppService; + +/** + * 医生站-诊断 应用实现类 + */ +@Service +public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagnosisAppService { + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationAdviceController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationAdviceController.java index 95eaa916..c2c5c3c0 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationAdviceController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationAdviceController.java @@ -10,7 +10,7 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; /** - * 医生站-医嘱 controller + * 医生站-医嘱/处方 controller */ @RestController @RequestMapping("/doctor-station/advice") diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationDiagnosisController.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationDiagnosisController.java index 2579bc9b..fc4322a4 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationDiagnosisController.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/controller/DoctorStationDiagnosisController.java @@ -3,9 +3,18 @@ */ package com.openhis.web.doctorstation.controller; +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.RestController; +import com.core.common.core.domain.R; +import com.openhis.common.enums.BindingType; +import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingInitDto; + import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -18,4 +27,25 @@ import lombok.extern.slf4j.Slf4j; @AllArgsConstructor public class DoctorStationDiagnosisController { + /** + * 诊断归属绑定基础数据 + * + * @return + */ + @GetMapping(value = "/init") + public R init() { + DiagnosisBelongBindingInitDto diagnosisBelongBindingInitDto = new DiagnosisBelongBindingInitDto(); + // 诊断绑定类型 - 用于维护诊断归属绑定关系 + List diagnosisBelongBindingOption = + Stream.of(BindingType.values()) + .map(status -> new DiagnosisBelongBindingInitDto.DiagnosisBelongBindingOption(status.getValue(), + status.getInfo())) + .collect(Collectors.toList()); + diagnosisBelongBindingInitDto.setDiagnosisBelongBindingOptions(diagnosisBelongBindingOption); + return R.ok(diagnosisBelongBindingInitDto); + } + + + + } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisBelongBindingDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisBelongBindingDto.java new file mode 100644 index 00000000..6ed59ac4 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisBelongBindingDto.java @@ -0,0 +1,34 @@ +package com.openhis.web.doctorstation.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 诊断归属绑定 dto + * + * @author system + * @date 2025-02-20 + */ +@Data +@Accessors(chain = true) +public class DiagnosisBelongBindingDto { + + /** ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** 用户ID或科室/机构ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long objectId; + + /** 诊断定义ID */ + @JsonSerialize(using = ToStringSerializer.class) + private Long definitionId; + + /** 绑定类型 */ + private Integer bindingEnum; + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisBelongBindingInitDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisBelongBindingInitDto.java new file mode 100644 index 00000000..6a91b008 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisBelongBindingInitDto.java @@ -0,0 +1,31 @@ +package com.openhis.web.doctorstation.dto; + +import java.util.List; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 诊断归属绑定 init基础数据 + */ +@Data +@Accessors(chain = true) +public class DiagnosisBelongBindingInitDto { + + private List diagnosisBelongBindingOptions; + + /** + * 诊断绑定类型 - 用于维护诊断归属绑定关系 + */ + @Data + public static class DiagnosisBelongBindingOption { + private Integer value; + private String label; + + public DiagnosisBelongBindingOption(Integer value, String label) { + this.value = value; + this.label = label; + } + } + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DoctorStationInitDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DoctorStationInitDto.java index 8a8738fc..658ba36e 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DoctorStationInitDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DoctorStationInitDto.java @@ -15,17 +15,17 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class DoctorStationInitDto { - private List patientEncounterStatusOptions; + private List patientEncounterStatusOptions; /** * 患者就诊状态 */ @Data - public static class patientEncounterStatusOption { + public static class PatientEncounterStatusOption { private Integer value; private String label; - public patientEncounterStatusOption(Integer value, String label) { + public PatientEncounterStatusOption(Integer value, String label) { this.value = value; this.label = label; } @@ -35,14 +35,14 @@ public class DoctorStationInitDto { * 设置默认值 */ public DoctorStationInitDto() { - List options = new ArrayList<>(); + List options = new ArrayList<>(); options.add( - new patientEncounterStatusOption(EncounterStatus.PLANNED.getValue(), EncounterStatus.PLANNED.getInfo())); - options.add(new patientEncounterStatusOption(EncounterStatus.IN_PROGRESS.getValue(), + new PatientEncounterStatusOption(EncounterStatus.PLANNED.getValue(), EncounterStatus.PLANNED.getInfo())); + options.add(new PatientEncounterStatusOption(EncounterStatus.IN_PROGRESS.getValue(), EncounterStatus.IN_PROGRESS.getInfo())); options.add( - new patientEncounterStatusOption(EncounterStatus.ON_HOLD.getValue(), EncounterStatus.ON_HOLD.getInfo())); - options.add(new patientEncounterStatusOption(EncounterStatus.DISCHARGED.getValue(), + new PatientEncounterStatusOption(EncounterStatus.ON_HOLD.getValue(), EncounterStatus.ON_HOLD.getInfo())); + options.add(new PatientEncounterStatusOption(EncounterStatus.DISCHARGED.getValue(), EncounterStatus.DISCHARGED.getInfo())); this.patientEncounterStatusOptions = options; } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/mapper/DoctorStationAdviceAppMapper.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/mapper/DoctorStationAdviceAppMapper.java new file mode 100644 index 00000000..97aaa589 --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/mapper/DoctorStationAdviceAppMapper.java @@ -0,0 +1,11 @@ +package com.openhis.web.doctorstation.mapper; + +import org.springframework.stereotype.Repository; + +/** + * 医生站-医嘱/处方 应用Mapper + */ +@Repository +public interface DoctorStationAdviceAppMapper { + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/mapper/DoctorStationDiagnosisAppMapper.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/mapper/DoctorStationDiagnosisAppMapper.java new file mode 100644 index 00000000..04794d3d --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/mapper/DoctorStationDiagnosisAppMapper.java @@ -0,0 +1,11 @@ +package com.openhis.web.doctorstation.mapper; + +import org.springframework.stereotype.Repository; + +/** + * 医生站-诊断 应用Mapper + */ +@Repository +public interface DoctorStationDiagnosisAppMapper { + +} diff --git a/openhis-server/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml b/openhis-server/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml new file mode 100644 index 00000000..5195b207 --- /dev/null +++ b/openhis-server/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/openhis-server/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationDiagnosisAppMapper.xml b/openhis-server/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationDiagnosisAppMapper.xml new file mode 100644 index 00000000..d3e8617f --- /dev/null +++ b/openhis-server/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationDiagnosisAppMapper.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/BindingType.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/BindingType.java new file mode 100644 index 00000000..6e7f65dc --- /dev/null +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/BindingType.java @@ -0,0 +1,23 @@ +package com.openhis.common.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 诊断绑定类型 + */ +@Getter +@AllArgsConstructor +public enum BindingType implements HisEnumInterface { + + PERSONAL(1, "personal", "个人"), + + DEFINITION(2, "definition", "科室"); + + @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/ConditionDefinitionSource.java b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ConditionDefinitionSource.java index 7567d304..144b659d 100644 --- a/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ConditionDefinitionSource.java +++ b/openhis-server/openhis-common/src/main/java/com/openhis/common/enums/ConditionDefinitionSource.java @@ -6,7 +6,7 @@ import lombok.Getter; @Getter @AllArgsConstructor -public enum ConditionDefinitionSource { +public enum ConditionDefinitionSource implements HisEnumInterface { DISEASE_AND_DIAGNOSIS(1, "01", "疾病与诊断"), CHRONIC_DISEASE_DIAGNOSIS_CATALOG(2, "02", "特慢病诊断目录"), DIAGNOSIS_BY_DISEASE_CATALOG(3, "03", "按病种目录付费诊断"), 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 d7656f36..89ec7658 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 @@ -6,8 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import com.openhis.common.enums.ConditionDefinitionSource; -import com.openhis.common.enums.PublicationStatus; import lombok.Data; import lombok.EqualsAndHashCode; @@ -31,7 +29,7 @@ public class ConditionDefinition extends HisBaseEntity { private Long id; /** 所属分类 */ - private ConditionDefinitionSource sourceEnum; + private Integer sourceEnum; /** 编码 */ private String conditionCode; diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/DiagnosisBelongBinding.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/DiagnosisBelongBinding.java new file mode 100644 index 00000000..6ff24942 --- /dev/null +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/domain/DiagnosisBelongBinding.java @@ -0,0 +1,40 @@ +package com.openhis.clinical.domain; + +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.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 诊断归属绑定Entity实体 + * + * @author system + * @date 2025-02-20 + */ +@Data +@TableName("diagnosis_belong_binding") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class DiagnosisBelongBinding extends HisBaseEntity { + + /** ID */ + @TableId(type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** 用户ID或科室/机构ID */ + private Long objectId; + + /** 诊断定义ID */ + private Long definitionId; + + /** 绑定类型 */ + private Integer bindingEnum; + +} diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/mapper/DiagnosisBelongBindingMapper.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/mapper/DiagnosisBelongBindingMapper.java new file mode 100644 index 00000000..1539d197 --- /dev/null +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/mapper/DiagnosisBelongBindingMapper.java @@ -0,0 +1,17 @@ +package com.openhis.clinical.mapper; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.openhis.clinical.domain.DiagnosisBelongBinding; + +/** + * 诊断归属绑定Mapper接口 + * + * @author system + * @date 2025-02-20 + */ +@Repository +public interface DiagnosisBelongBindingMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/IDiagnosisBelongBindingService.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/IDiagnosisBelongBindingService.java new file mode 100644 index 00000000..e9ddc3a8 --- /dev/null +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/IDiagnosisBelongBindingService.java @@ -0,0 +1,14 @@ +package com.openhis.clinical.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.openhis.clinical.domain.DiagnosisBelongBinding; + +/** + * 诊断归属绑定Service接口 + * + * @author system + * @date 2025-02-20 + */ +public interface IDiagnosisBelongBindingService extends IService { + +} \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/impl/DiagnosisBelongBindingServiceImpl.java b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/impl/DiagnosisBelongBindingServiceImpl.java new file mode 100644 index 00000000..54773d62 --- /dev/null +++ b/openhis-server/openhis-domain/src/main/java/com/openhis/clinical/service/impl/DiagnosisBelongBindingServiceImpl.java @@ -0,0 +1,25 @@ +package com.openhis.clinical.service.impl; + +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.openhis.clinical.domain.DiagnosisBelongBinding; +import com.openhis.clinical.mapper.DiagnosisBelongBindingMapper; +import com.openhis.clinical.service.IDiagnosisBelongBindingService; + +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +/** + * 诊断归属绑定Service业务层处理 + * + * @author system + * @date 2025-02-20 + */ +@Slf4j +@Service +@AllArgsConstructor +public class DiagnosisBelongBindingServiceImpl extends ServiceImpl + implements IDiagnosisBelongBindingService { + +} \ No newline at end of file diff --git a/openhis-server/openhis-domain/src/main/resources/mapper/clinical/DiagnosisBelongBindingMapper.xml b/openhis-server/openhis-domain/src/main/resources/mapper/clinical/DiagnosisBelongBindingMapper.xml new file mode 100644 index 00000000..5cbf85dd --- /dev/null +++ b/openhis-server/openhis-domain/src/main/resources/mapper/clinical/DiagnosisBelongBindingMapper.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file