| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package org.example.service;
- import org.example.entity.Patient;
- import org.example.mapper.PatientMapper;
- import org.example.util.PatientDataConverter;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.List;
- @Service
- public class PatientService {
-
- @Autowired
- private PatientMapper patientMapper;
-
- /**
- * 获取所有患者列表
- * @return 患者列表
- */
- public List<Patient> findAll() {
- return patientMapper.findAll();
- }
-
- /**
- * 获取所有不同的护理级别
- * @return 护理级别列表
- */
- public List<String> findDistinctNurseLevels() {
- return patientMapper.findDistinctNurseLevels();
- }
-
- /**
- * 获取所有不同的在院状态
- * @return 在院状态列表
- */
- public List<String> findDistinctInpatientStatuses() {
- return patientMapper.findDistinctInpatientStatuses();
- }
-
- /**
- * 根据条件查询患者
- * @return 患者列表
- */
- public List<Patient> findWithConditions(String name, String department, String ward,
- String roomNo, String bedNo, String inpatientNo,
- String nurseLevel, String status, String admissionDateTime) {
- // 如果护理级别是中文描述,则转换为代码再查询
- String nurseLevelCode = null;
- if (nurseLevel != null && !nurseLevel.isEmpty()) {
- nurseLevelCode = PatientDataConverter.convertNurseLevelToCode(nurseLevel);
- }
-
- // 如果在院状态是中文描述,则转换为代码再查询
- String statusCode = null;
- if (status != null && !status.isEmpty()) {
- statusCode = PatientDataConverter.convertInpatientStatusToCode(status);
- }
-
- return patientMapper.findWithConditions(name, department, ward, roomNo, bedNo,
- inpatientNo, nurseLevelCode, statusCode, admissionDateTime);
- }
-
- /**
- * 根据住院号查询患者
- * @param inpatientNo 住院号
- * @return 患者信息
- */
- public Patient findByInpatientNo(String inpatientNo) {
- return patientMapper.findByInpatientNo(inpatientNo);
- }
-
- /**
- * 添加新患者
- * @param patient 患者信息
- */
- public void addPatient(Patient patient) {
- patientMapper.insert(patient);
- }
-
- /**
- * 更新患者信息
- * @param patient 患者信息
- */
- public void updatePatient(Patient patient) {
- patientMapper.update(patient);
- }
-
- /**
- * 删除患者
- * @param inpatientNo 住院号
- */
- public void deletePatient(String inpatientNo) {
- patientMapper.deleteByInpatientNo(inpatientNo);
- }
- }
|