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 index 745d5cee..42a021c0 100644 --- 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 @@ -74,4 +74,20 @@ public interface IDoctorStationDiagnosisAppService { */ R getConditionDefinitionBusinessClass(Long patientId); + /** + * 查询就诊诊断信息 + * + * @param encounterId 就诊id + * @return 就诊诊断信息 + */ + R getEncounterDiagnosis(Long encounterId); + + /** + * 删除就诊诊断信息 + * + * @param conditionId 诊断ID + * @return 结果 + */ + R delEncounterDiagnosis(Long conditionId); + } 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 index 144f239c..7a525566 100644 --- 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 @@ -210,6 +210,7 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp medicationRequest.setRateCode(adviceSaveDto.getRateCode()); medicationRequest.setDose(adviceSaveDto.getDose()); medicationRequest.setDoseUnitCode(adviceSaveDto.getDoseUnitCode()); + medicationRequest.setSkinTestFlag(adviceSaveDto.getSkinTestFlag()); // 皮试标记 medicationRequest.setGroupId(adviceSaveDto.getGroupId());// 分组id // medicationRequest.setPackageId(adviceSaveDto.getPackageId()); 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 index 205b926c..fdd1d77a 100644 --- 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 @@ -26,10 +26,7 @@ import com.openhis.clinical.service.IConditionService; import com.openhis.clinical.service.IDiagnosisBelongBindingService; import com.openhis.common.constant.CommonConstants; import com.openhis.common.constant.PromptMsgConstant; -import com.openhis.common.enums.BindingType; -import com.openhis.common.enums.ConditionDefinitionSource; -import com.openhis.common.enums.PublicationStatus; -import com.openhis.common.enums.Whether; +import com.openhis.common.enums.*; import com.openhis.common.utils.EnumUtils; import com.openhis.common.utils.HisPageUtils; import com.openhis.common.utils.HisQueryUtils; @@ -240,6 +237,46 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn return R.ok(conditionDefinitionBusinessClass); } + /** + * 查询就诊诊断信息 + * + * @param encounterId 就诊id + * @return 就诊诊断信息 + */ + @Override + public R getEncounterDiagnosis(Long encounterId) { + List encounterDiagnosis = doctorStationDiagnosisAppMapper.getEncounterDiagnosis(encounterId); + for (DiagnosisQueryDto diagnosis : encounterDiagnosis) { + // 中医诊断/西医诊断 + if (ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_DIAGNOSIS.getValue() + .equals(diagnosis.getSourceEnum()) + || ConditionDefinitionSource.TRADITIONAL_CHINESE_MEDICINE_SYNDROME_CATALOG.getValue() + .equals(diagnosis.getSourceEnum())) { + diagnosis.setTypeName(CommonConstants.BusinessName.TCM_DIAGNOSIS); + } else { + diagnosis.setTypeName(CommonConstants.BusinessName.WESTERN_MEDICINE_DIAGNOSIS); + } + // 验证状态 + diagnosis.setVerificationStatusEnum_enumText( + EnumUtils.getInfoByValue(ConditionVerificationStatus.class, diagnosis.getVerificationStatusEnum())); + } + return R.ok(encounterDiagnosis); + } + + /** + * 删除就诊诊断信息 + * + * @param conditionId 诊断ID + * @return 结果 + */ + @Override + public R delEncounterDiagnosis(Long conditionId) { + iConditionService.removeById(conditionId); + iEncounterDiagnosisService + .remove(new LambdaQueryWrapper().eq(EncounterDiagnosis::getConditionId, conditionId)); + return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00005, new Object[] {"就诊诊断信息"})); + } + /** * 处理诊断定义元数据 * 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 51f935d6..4df2744d 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 @@ -147,4 +147,27 @@ public class DoctorStationDiagnosisController { return iDoctorStationDiagnosisAppService.getConditionDefinitionBusinessClass(patientId); } + /** + * 查询就诊诊断信息 + * + * @param encounterId 就诊id + * @return 就诊诊断信息 + */ + @GetMapping(value = "/get-encounter-diagnosis") + public R getEncounterDiagnosis(@RequestParam Long encounterId) { + return iDoctorStationDiagnosisAppService.getEncounterDiagnosis(encounterId); + } + + /** + * 删除就诊诊断信息 + * + * @param conditionId 诊断ID + * @return 结果 + */ + @DeleteMapping(value = "/encounter-diagnosis") + public R delEncounterDiagnosis(@RequestParam Long conditionId) { + return iDoctorStationDiagnosisAppService.delEncounterDiagnosis(conditionId); + } + + } diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/AdviceSaveDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/AdviceSaveDto.java index 259959c7..6d1fa76d 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/AdviceSaveDto.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/AdviceSaveDto.java @@ -94,6 +94,11 @@ public class AdviceSaveDto { /** 剂量单位 */ private String doseUnitCode; + /** + * 皮试标志 1:是 , 0:否 + */ + private Integer skinTestFlag; + /** * 分组id , 一组药品共用一个id,前端传过来 */ diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisQueryDto.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisQueryDto.java new file mode 100644 index 00000000..8bf95bcb --- /dev/null +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/DiagnosisQueryDto.java @@ -0,0 +1,52 @@ +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 DiagnosisQueryDto { + + /** + * 诊断ID + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long conditionId; + + /** + * 诊断定义id + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long definitionId; + + /** 所属分类 */ + private Integer sourceEnum; + /** + * 诊断类型(中医诊断或西医诊断) + */ + private String typeName; + + /** 诊断名称 */ + private String name; + + /** + * 主诊断标记 (1:是,0:否) + */ + private Integer maindiseFlag; + + /** + * 验证状态 + */ + private Integer verificationStatusEnum; + private String verificationStatusEnum_enumText; + +} diff --git a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SaveDiagnosisChildParam.java b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SaveDiagnosisChildParam.java index 2c030ee0..0e57bb4f 100644 --- a/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SaveDiagnosisChildParam.java +++ b/openhis-server/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SaveDiagnosisChildParam.java @@ -40,6 +40,7 @@ public class SaveDiagnosisChildParam { /** * 诊断ID - 用于存储 adm_encounter_diagnosis表 */ + @JsonSerialize(using = ToStringSerializer.class) private Long conditionId; } 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 index 5a958e1c..e85a6781 100644 --- 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 @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.openhis.web.doctorstation.dto.ConditionDefinitionMetadata; import com.openhis.web.doctorstation.dto.DiagnosisBelongBindingDto; +import com.openhis.web.doctorstation.dto.DiagnosisQueryDto; /** * 医生站-诊断 应用Mapper @@ -73,4 +74,12 @@ public interface DoctorStationDiagnosisAppMapper { List getOrganizationList(@Param("statusEnum") Integer statusEnum, @Param("bindingEnum") Integer bindingEnum, @Param("currentUserOrganizationId") Long currentUserOrganizationId); + /** + * 查询就诊诊断信息 + * + * @param encounterId 就诊id + * @return 就诊诊断信息 + */ + List getEncounterDiagnosis(@Param("encounterId") Long encounterId); + } 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 index 568adb51..dc2318cf 100644 --- a/openhis-server/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationDiagnosisAppMapper.xml +++ b/openhis-server/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationDiagnosisAppMapper.xml @@ -116,4 +116,20 @@ AND T1.status_enum = #{statusEnum} + + \ No newline at end of file