医生站-诊断相关
This commit is contained in:
@@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.core.common.core.domain.R;
|
import com.core.common.core.domain.R;
|
||||||
import com.core.common.utils.MessageUtils;
|
import com.core.common.utils.MessageUtils;
|
||||||
|
import com.core.common.utils.SecurityUtils;
|
||||||
import com.openhis.administration.domain.EncounterDiagnosis;
|
import com.openhis.administration.domain.EncounterDiagnosis;
|
||||||
import com.openhis.administration.service.IEncounterDiagnosisService;
|
import com.openhis.administration.service.IEncounterDiagnosisService;
|
||||||
import com.openhis.clinical.domain.Condition;
|
import com.openhis.clinical.domain.Condition;
|
||||||
@@ -219,14 +220,29 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn
|
|||||||
doctorStationDiagnosisAppMapper.getPatientHistoryList(PublicationStatus.ACTIVE.getValue(), patientId);
|
doctorStationDiagnosisAppMapper.getPatientHistoryList(PublicationStatus.ACTIVE.getValue(), patientId);
|
||||||
this.handleConditionDefinitionMetadata(patientHistoryList);
|
this.handleConditionDefinitionMetadata(patientHistoryList);
|
||||||
conditionDefinitionBusinessClass.setPatientHistoryList(patientHistoryList);
|
conditionDefinitionBusinessClass.setPatientHistoryList(patientHistoryList);
|
||||||
//
|
// 医生常用诊断
|
||||||
|
Long userId = SecurityUtils.getLoginUser().getUserId(); // 当前登录账号ID
|
||||||
|
List<ConditionDefinitionMetadata> doctorCommonUseList =
|
||||||
|
doctorStationDiagnosisAppMapper.getDoctorCommonUseList(PublicationStatus.ACTIVE.getValue(), userId);
|
||||||
|
this.handleConditionDefinitionMetadata(doctorCommonUseList);
|
||||||
|
conditionDefinitionBusinessClass.setDoctorCommonUseList(doctorCommonUseList);
|
||||||
|
// 用户个人诊断
|
||||||
|
List<ConditionDefinitionMetadata> userPersonalList = doctorStationDiagnosisAppMapper
|
||||||
|
.getUserPersonalList(PublicationStatus.ACTIVE.getValue(), BindingType.PERSONAL.getValue(), userId);
|
||||||
|
this.handleConditionDefinitionMetadata(userPersonalList);
|
||||||
|
conditionDefinitionBusinessClass.setUserPersonalList(userPersonalList);
|
||||||
|
// 科室诊断
|
||||||
|
// TODO: currentUserOrganizationId(当前登录账号所属的科室ID) 待补充
|
||||||
|
List<ConditionDefinitionMetadata> organizationList = doctorStationDiagnosisAppMapper
|
||||||
|
.getOrganizationList(PublicationStatus.ACTIVE.getValue(), BindingType.DEFINITION.getValue(), null);
|
||||||
|
this.handleConditionDefinitionMetadata(organizationList);
|
||||||
|
conditionDefinitionBusinessClass.setOrganizationList(organizationList);
|
||||||
return R.ok(conditionDefinitionBusinessClass);
|
return R.ok(conditionDefinitionBusinessClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理诊断定义元数据
|
* 处理诊断定义元数据
|
||||||
*
|
*
|
||||||
* @param conditionDefinitionMetadataList 诊断定义元数据集合
|
* @param conditionDefinitionMetadataList 诊断定义元数据集合
|
||||||
*/
|
*/
|
||||||
private void handleConditionDefinitionMetadata(List<ConditionDefinitionMetadata> conditionDefinitionMetadataList) {
|
private void handleConditionDefinitionMetadata(List<ConditionDefinitionMetadata> conditionDefinitionMetadataList) {
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ public class DoctorStationDiagnosisController {
|
|||||||
status.getInfo()))
|
status.getInfo()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
diagnosisBelongBindingInitDto.setVerificationStatusOptions(verificationStatusOptions);
|
diagnosisBelongBindingInitDto.setVerificationStatusOptions(verificationStatusOptions);
|
||||||
|
|
||||||
return R.ok(diagnosisBelongBindingInitDto);
|
return R.ok(diagnosisBelongBindingInitDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,4 +41,36 @@ public interface DoctorStationDiagnosisAppMapper {
|
|||||||
List<ConditionDefinitionMetadata> getPatientHistoryList(@Param("statusEnum") Integer statusEnum,
|
List<ConditionDefinitionMetadata> getPatientHistoryList(@Param("statusEnum") Integer statusEnum,
|
||||||
@Param("patientId") Long patientId);
|
@Param("patientId") Long patientId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询医生常用诊断
|
||||||
|
*
|
||||||
|
* @param statusEnum 状态
|
||||||
|
* @param userId 当前登录账号id
|
||||||
|
* @return 医生常用诊断
|
||||||
|
*/
|
||||||
|
List<ConditionDefinitionMetadata> getDoctorCommonUseList(@Param("statusEnum") Integer statusEnum,
|
||||||
|
@Param("userId") Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询用户个人诊断
|
||||||
|
*
|
||||||
|
* @param statusEnum 状态
|
||||||
|
* @param bindingEnum 绑定类型
|
||||||
|
* @param userId 当前登录账号id
|
||||||
|
* @return 用户个人诊断
|
||||||
|
*/
|
||||||
|
List<ConditionDefinitionMetadata> getUserPersonalList(@Param("statusEnum") Integer statusEnum,
|
||||||
|
@Param("bindingEnum") Integer bindingEnum, @Param("userId") Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询科室诊断
|
||||||
|
*
|
||||||
|
* @param statusEnum 状态
|
||||||
|
* @param bindingEnum 绑定类型
|
||||||
|
* @param currentUserOrganizationId 当前登录账号所属的科室ID
|
||||||
|
* @return 科室诊断
|
||||||
|
*/
|
||||||
|
List<ConditionDefinitionMetadata> getOrganizationList(@Param("statusEnum") Integer statusEnum,
|
||||||
|
@Param("bindingEnum") Integer bindingEnum, @Param("currentUserOrganizationId") Long currentUserOrganizationId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,4 +58,62 @@
|
|||||||
)
|
)
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getDoctorCommonUseList" resultType="com.openhis.web.doctorstation.dto.ConditionDefinitionMetadata">
|
||||||
|
SELECT T1.ID,
|
||||||
|
T1.source_enum,
|
||||||
|
T1.condition_code,
|
||||||
|
T1.NAME,
|
||||||
|
T1.yb_flag,
|
||||||
|
T1.yb_no,
|
||||||
|
T1.yb_match_flag
|
||||||
|
FROM cli_condition_definition AS T1
|
||||||
|
JOIN (SELECT definition_id
|
||||||
|
FROM cli_condition
|
||||||
|
WHERE delete_flag = '0'
|
||||||
|
AND definition_id IS NOT NULL
|
||||||
|
AND recorder_id = #{userId}
|
||||||
|
GROUP BY definition_id LIMIT 10) AS T2 ON T1.ID = T2.definition_id
|
||||||
|
WHERE T1.delete_flag = '0'
|
||||||
|
AND T1.status_enum = #{statusEnum}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getUserPersonalList" resultType="com.openhis.web.doctorstation.dto.ConditionDefinitionMetadata">
|
||||||
|
SELECT T1.ID,
|
||||||
|
T1.source_enum,
|
||||||
|
T1.condition_code,
|
||||||
|
T1.NAME,
|
||||||
|
T1.yb_flag,
|
||||||
|
T1.yb_no,
|
||||||
|
T1.yb_match_flag
|
||||||
|
FROM cli_condition_definition AS T1
|
||||||
|
JOIN (SELECT definition_id
|
||||||
|
FROM cli_diagnosis_belong_binding
|
||||||
|
WHERE delete_flag = '0'
|
||||||
|
AND binding_enum = #{bindingEnum}
|
||||||
|
AND object_id = #{userId}) AS T2 ON T1.ID = T2.definition_id
|
||||||
|
WHERE T1.delete_flag = '0'
|
||||||
|
AND T1.status_enum = #{statusEnum}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getOrganizationList" resultType="com.openhis.web.doctorstation.dto.ConditionDefinitionMetadata">
|
||||||
|
SELECT T1.ID,
|
||||||
|
T1.source_enum,
|
||||||
|
T1.condition_code,
|
||||||
|
T1.NAME,
|
||||||
|
T1.yb_flag,
|
||||||
|
T1.yb_no,
|
||||||
|
T1.yb_match_flag
|
||||||
|
FROM cli_condition_definition AS T1
|
||||||
|
JOIN (SELECT definition_id
|
||||||
|
FROM cli_diagnosis_belong_binding
|
||||||
|
WHERE delete_flag = '0'
|
||||||
|
AND binding_enum = #{bindingEnum}
|
||||||
|
<if test="currentUserOrganizationId != null">
|
||||||
|
AND object_id = #{currentUserOrganizationId}
|
||||||
|
</if>
|
||||||
|
) AS T2 ON T1.ID = T2.definition_id
|
||||||
|
WHERE T1.delete_flag = '0'
|
||||||
|
AND T1.status_enum = #{statusEnum}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user