BizClinicRoomMapper.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="cn.tr.module.smart.common.repository.BizClinicRoomRepository">
  6. <resultMap id="stdWxAppletDetailResult" type="cn.tr.module.smart.wx.controller.vo.BizWxAppletClinicDetailVO">
  7. <result property="id" column="id"/>
  8. <result property="patientName" column="patient_name"/>
  9. <result property="patientAge" column="patient_age"/>
  10. <result property="patientGender" column="patient_gender"/>
  11. <result property="patientCode" column="patient_code"/>
  12. <result property="clinicStartTime" column="clinic_start_time"/>
  13. <result property="clinicEndTime" column="clinic_end_time"/>
  14. <result property="deptId" column="dept_id"/>
  15. <result property="deptName" column="dept_name"/>
  16. <result property="imageUrl" column="image_url"/>
  17. <result property="clinicName" column="clinic_name"/>
  18. <result property="clinicStatus" column="clinic_status"/>
  19. <result property="lastModifyUserType" column="last_modify_user_type"/>
  20. <result property="care" column="care"/>
  21. <result property="lastBeforeQuestionTime" column="last_modify_question_time"/>
  22. <result property="questionAnswerId" column="question_answer_id"/>
  23. <result property="doctorId" column="doctor_id"/>
  24. <result property="doctorNickname" column="doctor_nickname"/>
  25. <result property="lastPainAssessmentTime" column="last_pain_assessment_time"/>
  26. <result property="lastAfterQuestionTime" column="last_after_question_time"/>
  27. <result property="postQuestionGroupId" column="post_question_group_id"/>
  28. </resultMap>
  29. <resultMap id="roomAndPatient" type="cn.tr.module.smart.app.controller.vo.DoctorClinicRoomVO">
  30. <result property="clinicRoomId" column="clinic_room_id"/>
  31. <result property="clinicName" column="clinic_name"/>
  32. <result property="clinicStartTime" column="clinic_start_time"/>
  33. <result property="deptId" column="dept_id"/>
  34. <result property="deptName" column="dept_name"/>
  35. <result property="patientCode" column="patient_code"/>
  36. <result property="patientName" column="patient_name"/>
  37. <result property="patientAge" column="patient_age"/>
  38. <result property="patientGender" column="patient_gender"/>
  39. <result property="followUpCount" column="follow_up_count"/>
  40. <result property="assessCount" column="assess_count"/>
  41. <result property="patientAvatar" column="patient_avatar"/>
  42. <result property="deviceType" column="device_type"/>
  43. <result property="deviceId" column="device_id"/>
  44. <result property="electricQuantity" column="electric_quantity"/>
  45. <result property="deviceRunState" column="device_run_state"/>
  46. <result property="deviceAlarm" column="device_alarm"/>
  47. <result property="warnLowBattery" column="warn_low_battery"/>
  48. <result property="warnWillFinished" column="warn_will_finished"/>
  49. <result property="warnAnalgesicPoor" column="warn_analgesic_poor"/>
  50. <result property="warnFlow" column="warn_flow"/>
  51. </resultMap>
  52. <resultMap id="stdThumbnailResult" type="cn.tr.module.smart.app.controller.vo.WxDoctorClinicRoomThumbnailVO">
  53. <result property="clinicRoomId" column="clinic_room_id"/>
  54. <result property="clinicName" column="clinic_name"/>
  55. <result property="clinicStartTime" column="clinic_start_time"/>
  56. <result property="deptId" column="dept_id"/>
  57. <result property="deptName" column="dept_name"/>
  58. <result property="patientCode" column="patient_code"/>
  59. <result property="patientName" column="patient_name"/>
  60. <result property="patientAge" column="patient_age"/>
  61. <result property="patientGender" column="patient_gender"/>
  62. <result property="patientAvatar" column="patient_avatar"/>
  63. </resultMap>
  64. <select id="stdSelectWxAppletClinicList" resultMap="stdWxAppletDetailResult">
  65. select
  66. bcr.id as id,
  67. bcr.patient_name as patient_name,
  68. bcr.patient_age as patient_age,
  69. bcr.patient_gender as patient_gender,
  70. bcr.patient_code as patient_code,
  71. bcr.clinic_start_time as clinic_start_time,
  72. bcr.clinic_end_time as clinic_end_time,
  73. bcr.dept_id as dept_id,
  74. bcr.dept_name as dept_name,
  75. bcr.clinic_name as clinic_name,
  76. bcr.clinic_status as clinic_status,
  77. bcrwu.care as care,
  78. bqa.id as question_answer_id,
  79. bqa.answer_time as last_modify_question_time,
  80. su.id as doctor_id,
  81. su.nickname as doctor_nickname,
  82. bd.group_id as post_question_group_id,
  83. bcr.image_url as image_url,
  84. bp.new_human as new_human,
  85. bp.card_no as card_no,
  86. bcr.last_before_question_time as last_before_question_time,
  87. bcr.last_pain_assessment_time as last_pain_assessment_time,
  88. bcr.last_after_question_time as last_after_question_time
  89. from biz_clinic_room as bcr
  90. join biz_patient as bp on bp.id = bcr.patient_id
  91. join biz_clinic_room_wx_user as bcrwu on bcrwu.clinic_room_id = bcr.id
  92. left join biz_clinic_room_doctor_user as bcrmu on bcrmu.clinic_room_id = bcr.id
  93. left join sys_user as su on bcrmu.user_id = su.id
  94. left join biz_question_answer as bqa on bqa.clinic_id = bcr.id
  95. left join biz_dept as bd on bd.id=bcr.dept_id
  96. <where>
  97. and bcr.deleted=0 and bcrwu.wx_user_id = #{query.userId}
  98. <if test="query.patientCode != null and query.patientCode != ''">
  99. and bcr.patient_code like concat('%',#{query.patientCode},'%')
  100. </if>
  101. </where>
  102. </select>
  103. <select id="selectByClinicRoomAndPatientList" resultMap="roomAndPatient">
  104. SELECT bcr.id as clinic_room_id,
  105. bcr.clinic_name as clinic_name,
  106. bcr.clinic_start_time as clinic_start_time,
  107. bcr.dept_id as dept_id,
  108. bcr.dept_name as dept_name,
  109. bcr.patient_name as patient_name,
  110. bcr.patient_age as patient_age,
  111. bcr.patient_gender as patient_gender,
  112. bcr.patient_code as patient_code,
  113. bcr.follow_up_count as follow_up_count,
  114. bcr.image_url as patient_avatar,
  115. bcr.assess_count as assess_count,
  116. bih.device_id as device_id,
  117. bih.device_type as device_type,
  118. bih.electric_quantity as electric_quantity,
  119. bih.device_run_state as device_run_state,
  120. bih.device_alarm as device_alarm,
  121. bih.warn_low_battery as warn_low_battery,
  122. bih.warn_will_finished as warn_will_finished,
  123. bih.warn_flow as warn_flow,
  124. bih.warn_analgesic_poor as warn_analgesic_poor
  125. FROM biz_clinic_room bcr
  126. join biz_clinic_room_doctor_user bcrmu on bcr.id = bcrmu.clinic_room_id
  127. left join biz_infusion_clinic as bic on bic.clinic_id = bcr.id
  128. left join biz_infusion_history as bih on bih.id=bic.infusion_id
  129. <where>
  130. and bcr.deleted = 0
  131. <if test="source.clinicStatus != null and source.clinicStatus != ''">
  132. and bcr.clinic_status = #{source.clinicStatus ,jdbcType=VARCHAR}
  133. </if>
  134. <if test="source.queryCondition != null and source.queryCondition != ''">
  135. and (bcr.patient_code LIKE concat('%',#{source.queryCondition,jdbcType=VARCHAR},'%')
  136. or bcr.patient_name like concat('%',#{source.queryCondition,jdbcType=VARCHAR},'%'))
  137. </if>
  138. <if test="source.currentUserId != null and source.currentUserId != ''">
  139. and bcrmu.user_id = #{source.currentUserId,jdbcType=VARCHAR}
  140. </if>
  141. </where>
  142. </select>
  143. <select id="stdWxAppletSelectByPatientCodeAndClinicStartTime"
  144. resultType="cn.tr.module.smart.common.po.BizClinicRoomPO">
  145. select *
  146. from biz_clinic_room
  147. where patient_code = #{patientCode}
  148. and DATE(clinic_start_time) = DATE(#{clinicStartTime})
  149. limit 1
  150. </select>
  151. <select id="stdSelectWxAppletById" resultMap="stdWxAppletDetailResult">
  152. select
  153. bcr.id as id,
  154. bcr.patient_name as patient_name,
  155. bcr.patient_age as patient_age,
  156. bcr.patient_gender as patient_gender,
  157. bcr.patient_code as patient_code,
  158. bcr.clinic_start_time as clinic_start_time,
  159. bcr.clinic_end_time as clinic_end_time,
  160. bcr.dept_id as dept_id,
  161. bcr.dept_name as dept_name,
  162. bcr.clinic_name as clinic_name,
  163. bcr.clinic_status as clinic_status,
  164. bcrwu.care as care,
  165. bqa.id as question_answer_id,
  166. bqa.answer_time as last_modify_question_time,
  167. su.id as doctor_id,
  168. su.nickname as doctor_nickname,
  169. bcr.last_before_question_time as last_before_question_time
  170. from biz_clinic_room as bcr
  171. join biz_clinic_room_wx_user as bcrwu on bcrwu.clinic_room_id = bcr.id
  172. left join biz_clinic_room_doctor_user as bcrmu on bcrmu.clinic_room_id = bcr.id
  173. left join sys_user as su on bcrmu.user_id = su.id
  174. left join biz_question_answer as bqa on bqa.clinic_id = bcr.id
  175. where bcr.id = #{id}
  176. </select>
  177. <select id="selectClinicByCondition" resultType="cn.tr.module.smart.common.dto.BizClinicRoomDTO">
  178. SELECT
  179. bcr.id as id,
  180. bcr.clinic_name as clinicName ,
  181. bcr.patient_age as patientAge,
  182. bcr.dept_id as deptId,
  183. bcr.clinic_start_time as clinicStartTime,
  184. bcr.clinic_end_time as clinicEndTime,
  185. bcr.clinic_status as clinicStatus,
  186. bcr.last_follow_up_time as lastFollowUpTime,
  187. bcr.follow_up_count as followUpCount,
  188. bcr.follow_up as followUp,
  189. bcr.patient_id as patientId,
  190. bcr.patient_code as patientCode,
  191. bcr.patient_name as patientName,
  192. bcr.dept_name as deptName,
  193. bcr.patient_gender as patientGender,
  194. bcr.last_care_time as lastCareTime,
  195. bcr.last_question_time as lastQuestionTime,
  196. bcr.create_time as create_time,
  197. bcr.create_by as create_by,
  198. bcr.update_time as update_time,
  199. bcr.update_by as update_by
  200. FROM
  201. biz_clinic_room bcr
  202. LEFT JOIN biz_clinic_room_wx_user bcrwu ON bcr.id = bcrwu.clinic_room_id
  203. LEFT JOIN biz_clinic_room_doctor_user bcrdu on bcr.id = bcrdu.clinic_room_id
  204. <where>
  205. and bcr.deleted = 0
  206. <if test="queryDTO.deptId != null and queryDTO.deptId != ''">
  207. and bcr.dept_id = #{queryDTO.deptId}
  208. </if>
  209. <if test="queryDTO.phase != null and queryDTO.phase != ''">
  210. and bcr.clinic_status = #{queryDTO.phase}
  211. </if>
  212. <if test="queryDTO.isDoctorBind != null and queryDTO.isDoctorBind">
  213. and bcrdu.id is not null
  214. </if>
  215. <if test="queryDTO.isPatientBind != null and queryDTO.isPatientBind">
  216. and bcrwu.id is not null
  217. </if>
  218. <if test="queryDTO.timeRange != null and queryDTO.timeRange.size>0">
  219. and bcr.clinic_start_time &gt;= #{queryDTO.timeRange[0]}
  220. </if>
  221. <if test="queryDTO.timeRange != null and queryDTO.timeRange.size>1">
  222. and bcr.clinic_start_time &lt;= #{queryDTO.timeRange[1]}
  223. </if>
  224. <if test="queryDTO.condition != null and queryDTO.condition != ''">
  225. and (bcr.patient_code LIKE concat('%',#{queryDTO.condition,jdbcType=VARCHAR},'%')
  226. or bcr.patient_name like concat('%',#{queryDTO.condition,jdbcType=VARCHAR},'%'))
  227. </if>
  228. <if test="queryDTO.userId != null and queryDTO.userId != ''">
  229. and bcrdu.user_id = #{queryDTO.userId}
  230. </if>
  231. </where>
  232. </select>
  233. <select id="selectClinicAndDoctorByPatientIdList"
  234. resultType="cn.tr.module.smart.web.dto.BizPatientClinicListDTO">
  235. SELECT
  236. bcr.id as clinicId,
  237. bcr.clinic_name as clinicName,
  238. bcr.clinic_start_time as clinicStartTime,
  239. bcr.dept_id as deptId,
  240. bcr.dept_name as deptName,
  241. su.nickName as nickName
  242. FROM
  243. biz_clinic_room bcr
  244. JOIN biz_clinic_room_doctor_user bcrdu ON bcr.ID = bcrdu.clinic_room_id
  245. Join sys_user su on bcrdu.user_id = su.id
  246. <where>
  247. and bcr.deleted = 0
  248. <if test="patientId != null and patientId != ''">
  249. and bcr.patient_id = #{patientId}
  250. </if>
  251. </where>
  252. </select>
  253. <select id="selectListByPatientCode" resultMap="stdThumbnailResult">
  254. select
  255. bcr.id as clinic_room_id,
  256. bcr.clinic_name as clinic_name,
  257. bcr.clinic_start_time as clinic_start_time,
  258. bcr.dept_id as dept_id,
  259. bcr.dept_name as dept_name,
  260. bcr.patient_code as patient_code,
  261. bcr.patient_name as patient_name,
  262. bcr.patient_gender as patient_gender,
  263. bcr.patient_age as patient_age,
  264. bcr.image_url as patient_avatar
  265. from
  266. biz_patient as bp
  267. join biz_clinic_room as bcr on bp.current_clinic_id = bcr.id
  268. <where>
  269. bp.deleted = 0 and bcr.deleted = 0 and bp.patient_code like concat('%',#{query.patientCode},'%')
  270. </where>
  271. </select>
  272. </mapper>