PatientService.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package org.example.service;
  2. import org.example.entity.Patient;
  3. import org.example.mapper.PatientMapper;
  4. import org.example.util.PatientDataConverter;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import java.util.List;
  8. @Service
  9. public class PatientService {
  10. @Autowired
  11. private PatientMapper patientMapper;
  12. /**
  13. * 获取所有患者列表
  14. * @return 患者列表
  15. */
  16. public List<Patient> findAll() {
  17. return patientMapper.findAll();
  18. }
  19. /**
  20. * 获取所有不同的护理级别
  21. * @return 护理级别列表
  22. */
  23. public List<String> findDistinctNurseLevels() {
  24. return patientMapper.findDistinctNurseLevels();
  25. }
  26. /**
  27. * 获取所有不同的在院状态
  28. * @return 在院状态列表
  29. */
  30. public List<String> findDistinctInpatientStatuses() {
  31. return patientMapper.findDistinctInpatientStatuses();
  32. }
  33. /**
  34. * 根据条件查询患者
  35. * @return 患者列表
  36. */
  37. public List<Patient> findWithConditions(String name, String department, String ward,
  38. String roomNo, String bedNo, String inpatientNo,
  39. String nurseLevel, String status, String admissionDateTime) {
  40. // 如果护理级别是中文描述,则转换为代码再查询
  41. String nurseLevelCode = null;
  42. if (nurseLevel != null && !nurseLevel.isEmpty()) {
  43. nurseLevelCode = PatientDataConverter.convertNurseLevelToCode(nurseLevel);
  44. }
  45. // 如果在院状态是中文描述,则转换为代码再查询
  46. String statusCode = null;
  47. if (status != null && !status.isEmpty()) {
  48. statusCode = PatientDataConverter.convertInpatientStatusToCode(status);
  49. }
  50. return patientMapper.findWithConditions(name, department, ward, roomNo, bedNo,
  51. inpatientNo, nurseLevelCode, statusCode, admissionDateTime);
  52. }
  53. /**
  54. * 根据住院号查询患者
  55. * @param inpatientNo 住院号
  56. * @return 患者信息
  57. */
  58. public Patient findByInpatientNo(String inpatientNo) {
  59. return patientMapper.findByInpatientNo(inpatientNo);
  60. }
  61. /**
  62. * 添加新患者
  63. * @param patient 患者信息
  64. */
  65. public void addPatient(Patient patient) {
  66. patientMapper.insert(patient);
  67. }
  68. /**
  69. * 更新患者信息
  70. * @param patient 患者信息
  71. */
  72. public void updatePatient(Patient patient) {
  73. patientMapper.update(patient);
  74. }
  75. /**
  76. * 删除患者
  77. * @param inpatientNo 住院号
  78. */
  79. public void deletePatient(String inpatientNo) {
  80. patientMapper.deleteByInpatientNo(inpatientNo);
  81. }
  82. }