BizReasearchQueueClinicMapper.xml 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  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.BizReasearchQueueClinicRepository">
  6. <resultMap id="stdResult" type="cn.tr.module.smart.common.controller.vo.BizReasearchQueueClinicVO">
  7. <result property="id" column="id" />
  8. <result property="clinicRoomId" column="clinic_room_id" />
  9. <result property="patientName" column="patient_name" />
  10. <result property="patientGender" column="patient_gender" />
  11. <result property="patientAge" column="patient_age" />
  12. <result property="deptId" column="dept_id" />
  13. <result property="deptName" column="dept_name" />
  14. <result property="clinicName" column="clinic_name" />
  15. <result property="queueId" column="queue_id" />
  16. <result property="lastPushInterval" column="last_push_interval" />
  17. <result property="pushCount" column="push_count" />
  18. <result property="lastPushTime" column="last_push_time" />
  19. <result property="answerCount" column="answer_count" />
  20. </resultMap>
  21. <resultMap id="questionAnswerResult" type="cn.tr.module.smart.common.controller.vo.BizReasearchQueueQuestionAnswerVO">
  22. <result property="id" column="id" />
  23. <result property="content" column="content" typeHandler="cn.tr.module.smart.app.config.ContentListType"/>
  24. <result property="question" column="question" typeHandler="cn.tr.module.smart.app.config.QuestionListType"/>
  25. <result property="answerTime" column="answer_time" />
  26. </resultMap>
  27. <resultMap id="pushInfo" type="cn.tr.module.smart.wx.dto.BizMpPublishInfoDTO">
  28. <result property="openId" column="open_id" />
  29. <result property="clinicId" column="clinic_id" />
  30. <result property="clinicName" column="clinic_name" />
  31. <result property="patientName" column="patient_name" />
  32. <result property="patientCode" column="patient_code" />
  33. <result property="clinicStartTime" column="clinic_start_time" />
  34. <result property="tenantId" column="tenant_id" />
  35. <result property="tenantName" column="tenant_name" />
  36. <result property="clinicStatus" column="clinic_status" />
  37. <result property="queueId" column="queue_id" />
  38. </resultMap>
  39. <resultMap id="reasearchQueuePush" type="cn.tr.module.smart.common.controller.vo.BizReasearchQueuePushVO">
  40. <result property="id" column="id" />
  41. <result property="clinicRoomId" column="clinic_room_id" />
  42. <result property="status" column="status" />
  43. <!-- <result property="timePointsFormat" column="time_points_format" typeHandler="cn.tr.module.smart.common.config.handler.JsonbLongListTypeHandler"/>-->
  44. <result property="timePointsFormat" column="time_points_format" typeHandler="cn.tr.plugin.mybatis.config.handler.LongListTypeHandler"/>
  45. <result property="lastPushInterval" column="last_push_interval"/>
  46. <result property="clinicEndTime" column="clinic_end_time"/>
  47. <result property="queueId" column="queue_id" />
  48. <result property="createBy" column="create_by" />
  49. <result property="updateBy" column="update_by" />
  50. <result property="createTime" column="create_time" />
  51. <result property="updateTime" column="update_time" />
  52. <result property="tenantId" column="tenant_id" />
  53. </resultMap>
  54. <resultMap id="QuestionAnswerListAll" type="cn.tr.module.smart.common.controller.vo.BizReasearchQueueQuestionAnswerAllVO">
  55. <result property="id" column="id" />
  56. <result property="answerUserName" column="answer_user_name" />
  57. <result property="content" column="content" typeHandler="cn.tr.module.smart.app.config.ContentListType"/>
  58. <result property="question" column="question" typeHandler="cn.tr.module.smart.app.config.QuestionListType"/>
  59. <result property="answerTime" column="answer_time" />
  60. </resultMap>
  61. <select id="stdSelectBizReasearchQueueClinicList" resultMap="stdResult">
  62. SELECT
  63. brqc.id,
  64. brqc.clinic_room_id,
  65. brqc.queue_id,
  66. brqc.last_push_interval,
  67. brqc.push_count,
  68. brqc.last_push_time,
  69. brqc.answer_count,
  70. brqc.create_time,
  71. brqc.update_time,
  72. bcr.patient_name,
  73. bcr.patient_gender,
  74. bcr.patient_age,
  75. bcr.dept_id,
  76. bcr.dept_name,
  77. bcr.clinic_name
  78. FROM
  79. biz_reasearch_queue_clinic brqc
  80. LEFT JOIN biz_clinic_room bcr ON brqc.clinic_room_id = bcr.id
  81. <where>
  82. and brqc.queue_id = #{query.queueId}
  83. <if test="query.condition != null">
  84. and bcr.patient_name like concat('%',#{query.condition},'%')
  85. </if>
  86. </where>
  87. order by brqc.create_time desc
  88. </select>
  89. <select id="selectPushInfo" resultMap="pushInfo">
  90. select
  91. bcr.id as clinic_id,
  92. bcr.clinic_name as clinic_name,
  93. bcr.clinic_start_time as clinic_start_time,
  94. bcr.patient_code as patient_code,
  95. bcr.patient_name as patient_name,
  96. bcr.clinic_status as clinic_status,
  97. st.id as tenant_id,
  98. st.name as tenant_name,
  99. bwump.from_user as open_id,
  100. brqc.queue_id as queue_id
  101. from
  102. biz_reasearch_queue_clinic brqc
  103. join biz_clinic_room as bcr on bcr.id = brqc.clinic_room_id
  104. join sys_tenant as st on st.id=bcr.tenant_id
  105. join biz_clinic_room_wx_user as bcrwu on bcrwu.clinic_room_id = bcr.id
  106. join biz_wx_user as bwu on bwu.id = bcrwu.wx_user_id
  107. join biz_wx_user_mp_care as bwump on bwump.union_id=bwu.union_id
  108. where brqc.id = #{id}
  109. </select>
  110. <select id="stdSelectBizReasearchQueueClinicById" resultMap="reasearchQueuePush">
  111. SELECT
  112. brqc.id,
  113. brqc.clinic_room_id,
  114. brq.status,
  115. brq.time_points_format,
  116. brqc.push_count,
  117. brqc.last_push_time,
  118. brqc.last_push_interval,
  119. bcr.clinic_end_time,
  120. brqc.create_by,
  121. brqc.queue_id,
  122. brqc.create_time,
  123. brqc.update_time,
  124. brqc.update_by,
  125. brqc.tenant_id
  126. FROM
  127. biz_reasearch_queue_clinic brqc
  128. JOIN biz_reasearch_queue brq ON brq.id = brqc.queue_id
  129. join biz_clinic_room as bcr on bcr.id = brqc.clinic_room_id
  130. where brqc.id = #{id}
  131. </select>
  132. <select id="stdSelectClinicAndPatientList"
  133. resultType="cn.tr.module.smart.common.controller.vo.BizReasearchQueueClinicAndPatientVO">
  134. SELECT bcr.ID,
  135. bcr.patient_name AS name,
  136. bcr.patient_age AS age,
  137. bcr.patient_gender AS gender,
  138. bcr.clinic_name AS clinicName,
  139. bcr.clinic_start_time AS clinicStartTime,
  140. bcr.ID AS currentClinicId,
  141. bcr.create_by AS create_by,
  142. bcr.create_time AS create_time,
  143. bcr.update_time AS update_time,
  144. bcr.update_by AS update_by
  145. FROM biz_clinic_room bcr
  146. <where>
  147. bcr.deleted = 0
  148. <if test="query.queueId != null and query.queueId != '' ">
  149. AND NOT EXISTS (SELECT 1 FROM biz_reasearch_queue_clinic brqc WHERE brqc.queue_id = #{query.queueId} AND brqc.clinic_room_id = bcr.id)
  150. </if>
  151. <if test="query.condition != null and query.condition != ''">
  152. AND bcr.patient_name LIKE CONCAT('%', #{query.condition}, '%')
  153. </if>
  154. </where>
  155. </select>
  156. <select id="stdSelectQuestionAnswerListAll" resultMap="QuestionAnswerListAll">
  157. SELECT
  158. bqa.id,
  159. bcr.patient_name AS answer_user_name,
  160. bqa.content,
  161. bqa.question,
  162. bqa.answer_time
  163. FROM
  164. biz_question_answer bqa
  165. JOIN biz_clinic_room bcr ON bqa.clinic_id = bcr.ID and bcr.deleted =0
  166. <where>
  167. and bqa.deleted = 0
  168. <if test="query.queueId != null and query.queueId != ''">
  169. and bqa.reasearch_queue_id = #{query.queueId}
  170. </if>
  171. <if test="query.condition != null and query.condition != ''">
  172. and bcr.patient_name LIKE CONCAT('%', #{query.condition}, '%')
  173. </if>
  174. </where>
  175. order by bqa.answer_time desc
  176. </select>
  177. </mapper>