医生站-诊断相关
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.core.common.core.domain.R;
|
||||
import com.core.common.utils.MessageUtils;
|
||||
import com.core.common.utils.SecurityUtils;
|
||||
import com.openhis.administration.domain.EncounterDiagnosis;
|
||||
import com.openhis.administration.service.IEncounterDiagnosisService;
|
||||
import com.openhis.clinical.domain.Condition;
|
||||
@@ -219,14 +220,29 @@ public class DoctorStationDiagnosisAppServiceImpl implements IDoctorStationDiagn
|
||||
doctorStationDiagnosisAppMapper.getPatientHistoryList(PublicationStatus.ACTIVE.getValue(), patientId);
|
||||
this.handleConditionDefinitionMetadata(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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理诊断定义元数据
|
||||
*
|
||||
*
|
||||
* @param conditionDefinitionMetadataList 诊断定义元数据集合
|
||||
*/
|
||||
private void handleConditionDefinitionMetadata(List<ConditionDefinitionMetadata> conditionDefinitionMetadataList) {
|
||||
|
||||
@@ -54,7 +54,6 @@ public class DoctorStationDiagnosisController {
|
||||
status.getInfo()))
|
||||
.collect(Collectors.toList());
|
||||
diagnosisBelongBindingInitDto.setVerificationStatusOptions(verificationStatusOptions);
|
||||
|
||||
return R.ok(diagnosisBelongBindingInitDto);
|
||||
}
|
||||
|
||||
|
||||
@@ -41,4 +41,36 @@ public interface DoctorStationDiagnosisAppMapper {
|
||||
List<ConditionDefinitionMetadata> getPatientHistoryList(@Param("statusEnum") Integer statusEnum,
|
||||
@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 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>
|
||||
Reference in New Issue
Block a user