patientPHRLatest.xml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.lemon.lifecenter.mapper.PatientPHRLatestMapper">
  4. <insert id="insertPHRLatest" parameterType="PatientPHRLatestDTO" useGeneratedKeys="true">
  5. <![CDATA[
  6. INSERT INTO patient_phr_latest (
  7. patient_idx
  8. ]]>
  9. <if test='temperature != null and temperature != ""'>
  10. <![CDATA[
  11. , temperature, temperature_create_date
  12. ]]>
  13. </if>
  14. <if test='oxygenSaturation != null and oxygenSaturation != ""'>
  15. <![CDATA[
  16. , oxygen_saturation, oxygen_saturation_create_date
  17. ]]>
  18. </if>
  19. <if test='pulseRate != null and pulseRate != ""'>
  20. <![CDATA[
  21. , pulse_rate, pulse_rate_create_date
  22. ]]>
  23. </if>
  24. <if test='systolicBloodPressure != null and systolicBloodPressure != ""'>
  25. <![CDATA[
  26. , systolic_blood_pressure, systolic_blood_pressure_create_date
  27. ]]>
  28. </if>
  29. <if test='diastolicBloodPressure != null and diastolicBloodPressure != ""'>
  30. <![CDATA[
  31. , diastolic_blood_pressure, diastolic_blood_pressure_create_date
  32. ]]>
  33. </if>
  34. <if test='bloodSugar != null and bloodSugar != ""'>
  35. <![CDATA[
  36. , blood_sugar, blood_sugar_create_date
  37. ]]>
  38. </if>
  39. <![CDATA[
  40. , create_date
  41. ) VALUE (
  42. #{patientIdx}
  43. ]]>
  44. <if test='temperature != null and temperature != ""'>
  45. <![CDATA[
  46. , #{temperature}, NOW()
  47. ]]>
  48. </if>
  49. <if test='oxygenSaturation != null and oxygenSaturation != ""'>
  50. <![CDATA[
  51. , #{oxygenSaturation}, NOW()
  52. ]]>
  53. </if>
  54. <if test='pulseRate != null and pulseRate != ""'>
  55. <![CDATA[
  56. , #{pulseRate}, NOW()
  57. ]]>
  58. </if>
  59. <if test='systolicBloodPressure != null and systolicBloodPressure != ""'>
  60. <![CDATA[
  61. , #{systolicBloodPressure}, NOW()
  62. ]]>
  63. </if>
  64. <if test='diastolicBloodPressure != null and diastolicBloodPressure != ""'>
  65. <![CDATA[
  66. , #{diastolicBloodPressure}, NOW()
  67. ]]>
  68. </if>
  69. <if test='bloodSugar != null and bloodSugar != ""'>
  70. <![CDATA[
  71. , #{bloodSugar}, NOW()
  72. ]]>
  73. </if>
  74. <![CDATA[
  75. , NOW()
  76. )
  77. ON DUPLICATE KEY UPDATE update_date = NOW()
  78. ]]>
  79. <if test='temperature != null and temperature != ""'>
  80. <![CDATA[
  81. , temperature = #{temperature}, temperature_create_date = NOW()
  82. ]]>
  83. </if>
  84. <if test='oxygenSaturation != null and oxygenSaturation != ""'>
  85. <![CDATA[
  86. , oxygen_saturation = #{oxygenSaturation}, oxygen_saturation_create_date = NOW()
  87. ]]>
  88. </if>
  89. <if test='pulseRate != null and pulseRate != ""'>
  90. <![CDATA[
  91. , pulse_rate = #{pulseRate}, pulse_rate_create_date = NOW()
  92. ]]>
  93. </if>
  94. <if test='systolicBloodPressure != null and systolicBloodPressure != ""'>
  95. <![CDATA[
  96. , systolic_blood_pressure = #{systolicBloodPressure}, systolic_blood_pressure_create_date = NOW()
  97. ]]>
  98. </if>
  99. <if test='diastolicBloodPressure != null and diastolicBloodPressure != ""'>
  100. <![CDATA[
  101. , diastolic_blood_pressure = #{diastolicBloodPressure}, diastolic_blood_pressure_create_date = NOW()
  102. ]]>
  103. </if>
  104. <if test='bloodSugar != null and bloodSugar != ""'>
  105. <![CDATA[
  106. , blood_suger = #{bloodSugar}, blood_suger_create_date = NOW()
  107. ]]>
  108. </if>
  109. </insert>
  110. <select id="selectPHRLatestCount" parameterType="PatientPHRLatestDTO" resultType="int">
  111. <![CDATA[
  112. SELECT count(*) AS total
  113. FROM patient_care c LEFT JOIN patient_phr_latest p ON p.patient_idx = c.patient_idx
  114. WHERE c.center_code = #{centerCode}
  115. ]]>
  116. <if test='searchText != null and searchText != ""'>
  117. <![CDATA[
  118. AND (c.patient_name LIKE CONCAT('%', #{searchText}, '%') OR c.ward_number LIKE CONCAT('%', #{searchText}, '%'))
  119. ]]>
  120. </if>
  121. </select>
  122. <select id="selectPHRLatestList" parameterType="PatientPHRLatestDTO" resultType="PatientPHRLatestDTO">
  123. <![CDATA[
  124. SELECT
  125. c.patient_idx AS patientIdx,
  126. c.patient_name AS patientName,
  127. c.ward_number AS wardNumber,
  128. c.room_number AS roomNumber,
  129. p.temperature AS temperature,
  130. p.temperature_create_date AS temperatureCreateDate,
  131. p.oxygen_saturation AS oxygenSaturation,
  132. p.oxygen_saturation_create_date AS oxygenSaturationCreateDate,
  133. p.pulse_rate AS pulseRate,
  134. p.pulse_rate_create_date AS pulseRateCreateDate,
  135. p.systolic_blood_pressure AS systolicBloodPressure,
  136. p.systolic_blood_pressure_create_date AS systolicBloodPressureCreateDate,
  137. p.diastolic_blood_pressure AS diastolicBloodPressure,
  138. p.diastolic_blood_pressure_create_date AS diastolicBloodPressureCreateDate,
  139. p.blood_sugar AS bloodSugar,
  140. p.blood_sugar_create_date AS bloodSugarCreateDate,
  141. (SELECT count(*) FROM patient_memo m WHERE m.patient_idx = c.patient_idx) AS memoCount,
  142. (SELECT s.create_date FROM patient_symptom_sim s WHERE s.patient_idx = c.patient_idx AND DATEDIFF(DATE(s.create_date), CURDATE()) = 0) AS symptomLastDate
  143. FROM patient_care c LEFT JOIN patient_phr_latest p ON p.patient_idx = c.patient_idx
  144. WHERE c.center_code = #{centerCode}
  145. ]]>
  146. <if test='searchText != null and searchText != ""'>
  147. <![CDATA[
  148. AND (c.patient_name LIKE CONCAT('%', #{searchText}, '%') OR c.ward_number LIKE CONCAT('%', #{searchText}, '%'))
  149. ]]>
  150. </if>
  151. <![CDATA[
  152. ORDER BY c.room_number ASC
  153. LIMIT #{limit}, #{limitMax}
  154. ]]>
  155. </select>
  156. </mapper>