patientPHRLatest.xml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  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, temperature_alarm_yn
  12. ]]>
  13. </if>
  14. <if test='oxygenSaturation != null and oxygenSaturation != ""'>
  15. <![CDATA[
  16. , oxygen_saturation, oxygen_saturation_create_date, oxygen_saturation_alarm_yn
  17. ]]>
  18. </if>
  19. <if test='pulseRate != null and pulseRate != ""'>
  20. <![CDATA[
  21. , pulse_rate, pulse_rate_create_date, pulse_rate_alarm_yn
  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='(systolicBloodPressure != null and systolicBloodPressure != "") or (diastolicBloodPressure != null and diastolicBloodPressure != "")'>
  35. <![CDATA[
  36. , high_blood_pressure_alarm_yn, low_blood_pressure_alarm_yn
  37. ]]>
  38. </if>
  39. <if test='bloodSugar != null and bloodSugar != ""'>
  40. <![CDATA[
  41. , blood_sugar, blood_sugar_create_date, blood_sugar_alarm_yn
  42. ]]>
  43. </if>
  44. <if test='symptomYN != null and symptomYN != ""'>
  45. <![CDATA[
  46. , symptom_create_date
  47. ]]>
  48. </if>
  49. <![CDATA[
  50. , create_date
  51. ) VALUE (
  52. #{patientIdx}
  53. ]]>
  54. <if test='temperature != null and temperature != ""'>
  55. <![CDATA[
  56. , #{temperature}, #{temperatureCreateDate}, #{temperatureAlarmYN}
  57. ]]>
  58. </if>
  59. <if test='oxygenSaturation != null and oxygenSaturation != ""'>
  60. <![CDATA[
  61. , #{oxygenSaturation}, #{oxygenSaturationCreateDate}, #{oxygenSaturationAlarmYN}
  62. ]]>
  63. </if>
  64. <if test='pulseRate != null and pulseRate != ""'>
  65. <![CDATA[
  66. , #{pulseRate}, #{pulseRateCreateDate}, #{pulseRateAlarmYN}
  67. ]]>
  68. </if>
  69. <if test='systolicBloodPressure != null and systolicBloodPressure != ""'>
  70. <![CDATA[
  71. , #{systolicBloodPressure}, #{systolicBloodPressureCreateDate}
  72. ]]>
  73. </if>
  74. <if test='diastolicBloodPressure != null and diastolicBloodPressure != ""'>
  75. <![CDATA[
  76. , #{diastolicBloodPressure}, #{diastolicBloodPressureCreateDate}
  77. ]]>
  78. </if>
  79. <if test='(systolicBloodPressure != null and systolicBloodPressure != "") or (diastolicBloodPressure != null and diastolicBloodPressure != "")'>
  80. <![CDATA[
  81. , #{highBloodPressureAlarmYN}, #{lowBloodPressureAlarmYN}
  82. ]]>
  83. </if>
  84. <if test='bloodSugar != null and bloodSugar != ""'>
  85. <![CDATA[
  86. , #{bloodSugar}, #{bloodSugarCreateDate}, #{bloodSugarAlarmYN}
  87. ]]>
  88. </if>
  89. <if test='symptomYN != null and symptomYN != ""'>
  90. <![CDATA[
  91. , #{symptomCreateDate}
  92. ]]>
  93. </if>
  94. <![CDATA[
  95. , NOW()
  96. )
  97. ]]>
  98. </insert>
  99. <update id="updatePHRLatest" parameterType="PatientPHRLatestDTO">
  100. <![CDATA[
  101. UPDATE patient_phr_latest
  102. SET update_date = NOW()
  103. ]]>
  104. <if test='temperature != null and temperature != ""'>
  105. <![CDATA[
  106. , temperature = #{temperature}, temperature_create_date = #{temperatureCreateDate}, temperature_alarm_yn = #{temperatureAlarmYN}
  107. ]]>
  108. </if>
  109. <if test='oxygenSaturation != null and oxygenSaturation != ""'>
  110. <![CDATA[
  111. , oxygen_saturation = #{oxygenSaturation}, oxygen_saturation_create_date = #{oxygenSaturationCreateDate}, oxygen_saturation_alarm_yn = #{oxygenSaturationAlarmYN}
  112. ]]>
  113. </if>
  114. <if test='pulseRate != null and pulseRate != ""'>
  115. <![CDATA[
  116. , pulse_rate = #{pulseRate}, pulse_rate_create_date = #{pulseRateCreateDate}, pulse_rate_alarm_yn = #{pulseRateAlarmYN}
  117. ]]>
  118. </if>
  119. <if test='systolicBloodPressure != null and systolicBloodPressure != ""'>
  120. <![CDATA[
  121. , systolic_blood_pressure = #{systolicBloodPressure}, systolic_blood_pressure_create_date = #{systolicBloodPressureCreateDate}
  122. ]]>
  123. </if>
  124. <if test='diastolicBloodPressure != null'>
  125. <![CDATA[
  126. , diastolic_blood_pressure = #{diastolicBloodPressure}, diastolic_blood_pressure_create_date = #{diastolicBloodPressureCreateDate}
  127. ]]>
  128. </if>
  129. <if test='(systolicBloodPressure != null and systolicBloodPressure != "") or (diastolicBloodPressure != null and diastolicBloodPressure != "")'>
  130. <![CDATA[
  131. , high_blood_pressure_alarm_yn = #{highBloodPressureAlarmYN}, low_blood_pressure_alarm_yn = #{lowBloodPressureAlarmYN}
  132. ]]>
  133. </if>
  134. <if test='bloodSugar != null and bloodSugar != ""'>
  135. <![CDATA[
  136. , blood_sugar = #{bloodSugar}, blood_sugar_create_date = #{bloodSugarCreateDate}, blood_sugar_alarm_yn = #{bloodSugarAlarmYN}
  137. ]]>
  138. </if>
  139. <if test='symptomYN != null and symptomYN != ""'>
  140. <![CDATA[
  141. , symptom_create_date = #{symptomCreateDate} ]]>
  142. </if>
  143. <![CDATA[
  144. WHERE patient_idx = #{patientIdx}
  145. ]]>
  146. <if test='temperature != null and temperature != ""'>
  147. <![CDATA[
  148. AND (temperature_create_date IS NULL OR temperature_create_date <= #{temperatureCreateDate})
  149. ]]>
  150. </if>
  151. <if test='oxygenSaturation != null and oxygenSaturation != ""'>
  152. <![CDATA[
  153. AND (oxygen_saturation_create_date IS NULL OR oxygen_saturation_create_date <= #{oxygenSaturationCreateDate})
  154. ]]>
  155. </if>
  156. <if test='bloodSugar != null and bloodSugar != ""'>
  157. <![CDATA[
  158. AND (blood_sugar_create_date IS NULL OR blood_sugar_create_date <= #{bloodSugarCreateDate})
  159. ]]>
  160. </if>
  161. <if test='pulseRate != null and pulseRate != ""'>
  162. <![CDATA[
  163. AND (pulse_rate_create_date IS NULL OR pulse_rate_create_date <= #{pulseRateCreateDate})
  164. ]]>
  165. </if>
  166. <if test='systolicBloodPressure != null and systolicBloodPressure != "" and diastolicBloodPressure == null and diastolicBloodPressure == ""'>
  167. <![CDATA[
  168. AND (systolic_blood_pressure_create_date IS NULL OR systolic_blood_pressure_create_date <= #{systolicBloodPressureCreateDate})
  169. ]]>
  170. </if>
  171. <if test='diastolicBloodPressure != null and diastolicBloodPressure != "" and systolicBloodPressure == null and systolicBloodPressure == ""'>
  172. <![CDATA[
  173. AND (diastolic_blood_pressure_create_date IS NULL OR diastolic_blood_pressure_create_date <= #{diastolicBloodPressureCreateDate})
  174. ]]>
  175. </if>
  176. <if test='systolicBloodPressure != null and systolicBloodPressure != "" and diastolicBloodPressure != null and diastolicBloodPressure != ""'>
  177. <![CDATA[
  178. AND (systolic_blood_pressure_create_date IS NULL OR systolic_blood_pressure_create_date <= #{systolicBloodPressureCreateDate} OR diastolic_blood_pressure_create_date IS NULL OR diastolic_blood_pressure_create_date < #{diastolicBloodPressureCreateDate})
  179. ]]>
  180. </if>
  181. <if test='symptomYN != null and symptomYN != ""'>
  182. <![CDATA[
  183. AND (symptom_create_date IS NULL OR symptom_create_date <= #{symptomCreateDate})
  184. ]]>
  185. </if>
  186. </update>
  187. <select id="selectPHRLatest" parameterType="PatientPHRLatestDTO" resultType="PatientPHRLatestDTO">
  188. <![CDATA[
  189. SELECT patient_idx AS patientIdx
  190. FROM patient_phr_latest
  191. WHERE patient_idx = #{patientIdx}
  192. ]]>
  193. </select>
  194. <select id="selectPHRLatestCount" parameterType="PatientPHRLatestDTO" resultType="int">
  195. <![CDATA[
  196. SELECT count(*) AS total
  197. FROM patient_care c LEFT JOIN patient_phr_latest p ON p.patient_idx = c.patient_idx
  198. WHERE c.center_code = #{centerCode} AND c.state = 'H'
  199. ]]>
  200. <if test="filterList != null and filterList.length > 0">
  201. <![CDATA[
  202. AND (
  203. ]]>
  204. <foreach item="filter" index="index" collection="filterList" separator="AND">
  205. <choose>
  206. <when test="filter == 'newPatient'" >
  207. <![CDATA[
  208. DATEDIFF(c.hospitalization_date, CURDATE()) = 0
  209. ]]>
  210. </when>
  211. <when test="filter == 'alarm'" >
  212. <![CDATA[
  213. (p.temperature_alarm_yn = 'Y' OR oxygen_saturation_alarm_yn = 'Y' OR pulse_rate_alarm_yn = 'Y' OR high_blood_pressure_alarm_yn = 'Y' OR low_blood_pressure_alarm_yn = 'Y' OR blood_sugar_alarm_yn = 'Y')
  214. ]]>
  215. </when>
  216. <when test="filter == 'temperatureBlank' and timeCriterion == 'AM'" >
  217. <![CDATA[
  218. ((p.temperature IS NULL) OR (DATEDIFF(p.temperature_create_date, CURDATE()) != 0))
  219. ]]>
  220. </when>
  221. <when test="filter == 'temperatureBlank' and timeCriterion == 'PM'" >
  222. <![CDATA[
  223. ((p.temperature IS NULL) OR (DATEDIFF(p.temperature_create_date, CURDATE()) != 0 OR HOUR(p.temperature_create_date) < 12))
  224. ]]>
  225. </when>
  226. <when test="filter == 'bloodPressureBlank' and timeCriterion == 'AM'" >
  227. <![CDATA[
  228. ((p.systolic_blood_pressure IS NULL OR diastolic_blood_pressure IS NULL) OR (DATEDIFF(p.systolic_blood_pressure_create_date, CURDATE()) != 0 OR DATEDIFF(p.diastolic_blood_pressure_create_date, CURDATE()) != 0))
  229. ]]>
  230. </when>
  231. <when test="filter == 'bloodPressureBlank' and timeCriterion == 'PM'" >
  232. <![CDATA[
  233. ((p.systolic_blood_pressure IS NULL OR diastolic_blood_pressure IS NULL) OR (DATEDIFF(p.systolic_blood_pressure_create_date, CURDATE()) != 0 OR HOUR(p.systolic_blood_pressure_create_date) < 12 OR DATEDIFF(p.diastolic_blood_pressure_create_date, CURDATE()) != 0 OR HOUR(p.diastolic_blood_pressure_create_date) < 12))
  234. ]]>
  235. </when>
  236. <when test="filter == 'pulseRateBlank' and timeCriterion == 'AM'" >
  237. <![CDATA[
  238. ((p.pulse_rate IS NULL) OR (DATEDIFF(p.pulse_rate_create_date, CURDATE()) != 0))
  239. ]]>
  240. </when>
  241. <when test="filter == 'pulseRateBlank' and timeCriterion == 'PM'" >
  242. <![CDATA[
  243. ((p.pulse_rate IS NULL) OR (DATEDIFF(p.pulse_rate_create_date, CURDATE()) != 0 OR HOUR(p.pulse_rate_create_date) < 12))
  244. ]]>
  245. </when>
  246. <when test="filter == 'oxygenSaturationBlank' and timeCriterion == 'AM'" >
  247. <![CDATA[
  248. ((p.oxygen_saturation IS NULL) OR (DATEDIFF(p.oxygen_saturation_create_date, CURDATE()) != 0))
  249. ]]>
  250. </when>
  251. <when test="filter == 'oxygenSaturationBlank' and timeCriterion == 'PM'" >
  252. <![CDATA[
  253. ((p.oxygen_saturation IS NULL) OR (DATEDIFF(p.oxygen_saturation_create_date, CURDATE()) != 0 OR HOUR(p.oxygen_saturation_create_date) < 12))
  254. ]]>
  255. </when>
  256. <when test="filter == 'bloodSugarBlank' and timeCriterion == 'AM'" >
  257. <![CDATA[
  258. ((p.blood_sugar IS NULL) OR (DATEDIFF(p.blood_sugar_create_date, CURDATE()) != 0))
  259. ]]>
  260. </when>
  261. <when test="filter == 'bloodSugarBlank' and timeCriterion == 'PM'" >
  262. <![CDATA[
  263. ((p.blood_sugar IS NULL) OR (DATEDIFF(p.blood_sugar_create_date, CURDATE()) != 0 OR HOUR(p.blood_sugar_create_date) < 12))
  264. ]]>
  265. </when>
  266. <when test="filter == 'symptomBlank' and timeCriterion == 'AM'" >
  267. <![CDATA[
  268. ((p.symptom_create_date IS NULL) OR (DATEDIFF(p.symptom_create_date, CURDATE()) != 0))
  269. ]]>
  270. </when>
  271. <when test="filter == 'symptomBlank' and timeCriterion == 'PM'" >
  272. <![CDATA[
  273. ((p.symptom_create_date IS NULL) OR (DATEDIFF(p.symptom_create_date, CURDATE()) != 0 OR HOUR(p.symptom_create_date) < 12))
  274. ]]>
  275. </when>
  276. </choose>
  277. </foreach>
  278. <![CDATA[
  279. )
  280. ]]>
  281. </if>
  282. <if test='searchText != null and searchText != ""'>
  283. <![CDATA[
  284. AND (c.patient_name LIKE CONCAT('%', #{searchText}, '%') OR c.room_number LIKE CONCAT('%', #{searchText}, '%'))
  285. ]]>
  286. </if>
  287. </select>
  288. <select id="selectPHRLatestList" parameterType="PatientPHRLatestDTO" resultType="PatientPHRLatestDTO">
  289. <![CDATA[
  290. SELECT
  291. c.patient_idx AS patientIdx,
  292. c.patient_name AS patientName,
  293. c.ward_number AS wardNumber,
  294. c.room_number AS roomNumber,
  295. CASE WHEN DATEDIFF(c.hospitalization_date, CURDATE()) = 0 THEN 'Y'
  296. ELSE 'N'
  297. END AS todayHospitalizationYN,
  298. p.temperature AS temperature,
  299. p.temperature_create_date AS temperatureCreateDate,
  300. p.temperature_alarm_yn AS temperatureAlarmYN,
  301. p.oxygen_saturation AS oxygenSaturation,
  302. p.oxygen_saturation_create_date AS oxygenSaturationCreateDate,
  303. p.oxygen_saturation_alarm_yn AS oxygenSaturationAlarmYN,
  304. p.pulse_rate AS pulseRate,
  305. p.pulse_rate_create_date AS pulseRateCreateDate,
  306. p.pulse_rate_alarm_yn AS pulseRateAlarmYN,
  307. p.systolic_blood_pressure AS systolicBloodPressure,
  308. p.systolic_blood_pressure_create_date AS systolicBloodPressureCreateDate,
  309. p.diastolic_blood_pressure AS diastolicBloodPressure,
  310. p.diastolic_blood_pressure_create_date AS diastolicBloodPressureCreateDate,
  311. p.high_blood_pressure_alarm_yn AS highBloodPressureAlarmYN,
  312. p.low_blood_pressure_alarm_yn AS lowBloodPressureAlarmYN,
  313. p.blood_sugar AS bloodSugar,
  314. p.blood_sugar_create_date AS bloodSugarCreateDate,
  315. p.blood_sugar_alarm_yn AS bloodSugarAlarmYN,
  316. (SELECT count(*) FROM patient_memo m WHERE m.patient_idx = c.patient_idx) AS memoCount,
  317. (SELECT s.create_date FROM patient_symptom_sim s WHERE s.patient_idx = c.patient_idx AND DATEDIFF(DATE(s.recorded_date), CURDATE()) = 0 ORDER BY s.recorded_date DESC LIMIT 1) AS symptomLastDate,
  318. m.stress_total AS stressTotal,
  319. m.depressed_total AS depressedTotal,
  320. m.depressed_nine AS depressedNine,
  321. m.vas_total AS vasTotal,
  322. m.create_date AS mentalCreateDate,
  323. m.agree_yn AS agreeYn
  324. FROM patient_care c LEFT JOIN patient_phr_latest p ON p.patient_idx = c.patient_idx
  325. LEFT JOIN ( SELECT * FROM mental_health_total WHERE patient_idx = c.patient_idx ORDER BY idx DESC limit 1 ) m ON m.patient_idx = c.patient_idx
  326. WHERE c.center_code = #{centerCode} AND c.state = 'H'
  327. ]]>
  328. <if test="filterList != null and filterList.length > 0">
  329. <![CDATA[
  330. AND (
  331. ]]>
  332. <foreach item="filter" index="index" collection="filterList" separator="AND">
  333. <choose>
  334. <when test="filter == 'newPatient'" >
  335. <![CDATA[
  336. DATEDIFF(c.hospitalization_date, CURDATE()) = 0
  337. ]]>
  338. </when>
  339. <when test="filter == 'alarm'" >
  340. <![CDATA[
  341. (p.temperature_alarm_yn = 'Y' OR oxygen_saturation_alarm_yn = 'Y' OR pulse_rate_alarm_yn = 'Y' OR high_blood_pressure_alarm_yn = 'Y' OR low_blood_pressure_alarm_yn = 'Y' OR blood_sugar_alarm_yn = 'Y')
  342. ]]>
  343. </when>
  344. <when test="filter == 'temperatureBlank' and timeCriterion == 'AM'" >
  345. <![CDATA[
  346. ((p.temperature IS NULL) OR (DATEDIFF(p.temperature_create_date, CURDATE()) != 0))
  347. ]]>
  348. </when>
  349. <when test="filter == 'temperatureBlank' and timeCriterion == 'PM'" >
  350. <![CDATA[
  351. ((p.temperature IS NULL) OR (DATEDIFF(p.temperature_create_date, CURDATE()) != 0 OR HOUR(p.temperature_create_date) < 12))
  352. ]]>
  353. </when>
  354. <when test="filter == 'bloodPressureBlank' and timeCriterion == 'AM'" >
  355. <![CDATA[
  356. ((p.systolic_blood_pressure IS NULL OR diastolic_blood_pressure IS NULL) OR (DATEDIFF(p.systolic_blood_pressure_create_date, CURDATE()) != 0 OR DATEDIFF(p.diastolic_blood_pressure_create_date, CURDATE()) != 0))
  357. ]]>
  358. </when>
  359. <when test="filter == 'bloodPressureBlank' and timeCriterion == 'PM'" >
  360. <![CDATA[
  361. ((p.systolic_blood_pressure IS NULL OR diastolic_blood_pressure IS NULL) OR (DATEDIFF(p.systolic_blood_pressure_create_date, CURDATE()) != 0 OR HOUR(p.systolic_blood_pressure_create_date) < 12 OR DATEDIFF(p.diastolic_blood_pressure_create_date, CURDATE()) != 0 OR HOUR(p.diastolic_blood_pressure_create_date) < 12))
  362. ]]>
  363. </when>
  364. <when test="filter == 'pulseRateBlank' and timeCriterion == 'AM'" >
  365. <![CDATA[
  366. ((p.pulse_rate IS NULL) OR (DATEDIFF(p.pulse_rate_create_date, CURDATE()) != 0))
  367. ]]>
  368. </when>
  369. <when test="filter == 'pulseRateBlank' and timeCriterion == 'PM'" >
  370. <![CDATA[
  371. ((p.pulse_rate IS NULL) OR (DATEDIFF(p.pulse_rate_create_date, CURDATE()) != 0 OR HOUR(p.pulse_rate_create_date) < 12))
  372. ]]>
  373. </when>
  374. <when test="filter == 'oxygenSaturationBlank' and timeCriterion == 'AM'" >
  375. <![CDATA[
  376. ((p.oxygen_saturation IS NULL) OR (DATEDIFF(p.oxygen_saturation_create_date, CURDATE()) != 0))
  377. ]]>
  378. </when>
  379. <when test="filter == 'oxygenSaturationBlank' and timeCriterion == 'PM'" >
  380. <![CDATA[
  381. ((p.oxygen_saturation IS NULL) OR (DATEDIFF(p.oxygen_saturation_create_date, CURDATE()) != 0 OR HOUR(p.oxygen_saturation_create_date) < 12))
  382. ]]>
  383. </when>
  384. <when test="filter == 'bloodSugarBlank' and timeCriterion == 'AM'" >
  385. <![CDATA[
  386. ((p.blood_sugar IS NULL) OR (DATEDIFF(p.blood_sugar_create_date, CURDATE()) != 0))
  387. ]]>
  388. </when>
  389. <when test="filter == 'bloodSugarBlank' and timeCriterion == 'PM'" >
  390. <![CDATA[
  391. ((p.blood_sugar IS NULL) OR (DATEDIFF(p.blood_sugar_create_date, CURDATE()) != 0 OR HOUR(p.blood_sugar_create_date) < 12))
  392. ]]>
  393. </when>
  394. <when test="filter == 'symptomBlank' and timeCriterion == 'AM'" >
  395. <![CDATA[
  396. ((p.symptom_create_date IS NULL) OR (DATEDIFF(p.symptom_create_date, CURDATE()) != 0))
  397. ]]>
  398. </when>
  399. <when test="filter == 'symptomBlank' and timeCriterion == 'PM'" >
  400. <![CDATA[
  401. ((p.symptom_create_date IS NULL) OR (DATEDIFF(p.symptom_create_date, CURDATE()) != 0 OR HOUR(p.symptom_create_date) < 12))
  402. ]]>
  403. </when>
  404. </choose>
  405. </foreach>
  406. <![CDATA[
  407. )
  408. ]]>
  409. </if>
  410. <if test='searchText != null and searchText != ""'>
  411. <![CDATA[
  412. AND (c.patient_name LIKE CONCAT('%', #{searchText}, '%') OR c.room_number LIKE CONCAT('%', #{searchText}, '%'))
  413. ]]>
  414. </if>
  415. <choose>
  416. <when test='sortType != null and sortType == "name"'>
  417. <![CDATA[
  418. ORDER BY c.patient_name ASC
  419. ]]>
  420. </when>
  421. <otherwise>
  422. <![CDATA[
  423. ORDER BY c.ward_number ASC, c.room_number ASC
  424. ]]>
  425. </otherwise>
  426. </choose>
  427. <![CDATA[
  428. LIMIT #{limit}, #{limitMax}
  429. ]]>
  430. </select>
  431. </mapper>