BusPumpEntityMapper.xml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  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.tuoren.web.layer.mapper.BusPumpMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.tuoren.web.layer.entity.BusPumpEntity">
  6. <id column="id" property="id" />
  7. <result column="pump_code" property="pumpCode" />
  8. <result column="product_code" property="productCode" />
  9. <result column="hospital_code" property="hospitalCode" />
  10. <result column="patient_code" property="patientCode" />
  11. <result column="remain_quantity" property="remainQuantity" />
  12. <result column="continue_quantity" property="continueQuantity" />
  13. <result column="self_control_quantity" property="selfControlQuantity" />
  14. <result column="lock_time" property="lockTime" />
  15. <result column="input_quantity" property="inputQuantity" />
  16. <result column="valid_time" property="validTime" />
  17. <result column="invalid_time" property="invalidTime" />
  18. <result column="max_quantity" property="maxQuantity" />
  19. <result column="first_quantity" property="firstQuantity" />
  20. <result column="single_quantity" property="singleQuantity" />
  21. <result column="total_quantity" property="totalQuantity" />
  22. <result column="total_count" property="totalCount" />
  23. <result column="pulse_quantity" property="pulseQuantity" />
  24. <result column="pulse_lock_time" property="pulseLockTime" />
  25. <result column="first_lock_time" property="firstLockTime" />
  26. <result column="upper_limit" property="upperLimit" />
  27. <result column="lower_limit" property="lowerLimit" />
  28. <result column="custom_scate" property="customScate" />
  29. <result column="add_valid_time" property="addValidTime" />
  30. <result column="run_state" property="runState" />
  31. <result column="buf_state1" property="bufState1" />
  32. <result column="buf_state2" property="bufState2" />
  33. <result column="buf_state3" property="bufState3" />
  34. <result column="buf_state4" property="bufState4" />
  35. <result column="buf_state5" property="bufState5" />
  36. <result column="buf_state6" property="bufState6" />
  37. <result column="buf_state7" property="bufState7" />
  38. <result column="buf_state8" property="bufState8" />
  39. <result column="buf_state9" property="bufState9" />
  40. <result column="score" property="score" />
  41. <result column="add_cycle" property="addCycle" />
  42. <result column="reduce_cycle" property="reduceCycle" />
  43. <result column="call_flag" property="callFlag" />
  44. <result column="start_time" property="startTime" />
  45. <result column="is_remove" property="isRemove" />
  46. <result column="state_flag" property="stateFlag" />
  47. <result column="no_signal" property="noSignal" />
  48. <result column="view_state" property="viewState" />
  49. <result column="remark" property="remark" />
  50. <result column="last_upload_time" property="lastUploadTime" />
  51. <result column="gmt_create" property="gmtCreate" />
  52. <result column="gmt_modified" property="gmtModified" />
  53. <result column="is_family" property="isFamily" />
  54. <result column="number1" property="number1"/>
  55. <result column="number2" property="number2"/>
  56. <result column="number_status" property="numberStatus"/>
  57. </resultMap>
  58. <!--用户自定义查询,根据病区/床号/住院号匹配泵信息,条件只能单一提供-->
  59. <select id="queryPumpListByCustom" resultType="com.tuoren.web.layer.d0.PumpVo">
  60. select
  61. pi.patient_id,
  62. pi.ward_code as patientInfoWard,
  63. pi.name,
  64. pi.sex,
  65. pi.bmi,
  66. pi.height,
  67. pi.age,
  68. pi.operation_doctor,
  69. pi.easy_mode,
  70. pi.bed_code as patientInfoBedNo,
  71. pi.anesthesia_mode as anesthesiaMode,
  72. pi.anesthesia_doctor1,
  73. pi.anesthesia_doctor2,
  74. p.run_state as pumpRunState,
  75. p.hospital_code as pumpHospitalId,
  76. p.is_remove as pumpVisible,
  77. pi.operation_name, p.* from bus_pump p
  78. LEFT JOIN bus_patient pi
  79. on p.pump_code = pi.pump_code and p.patient_code = pi.patient_code and p.hospital_code = pi.hospital_code
  80. LEFT JOIN sys_user u
  81. on u.hospital_code = p.hospital_code
  82. where
  83. (
  84. <if test="sex!=null">
  85. pi.sex = #{sex}
  86. </if>
  87. <if test="ward!=null">
  88. pi.ward_code like concat('%',#{ward},'%')
  89. </if>
  90. <if test="bedNo!=null">
  91. pi.bed_code like concat('%',#{bedNo},'%')
  92. </if>
  93. <if test="patientCode!=null">
  94. p.patient_code like concat('%',#{patientCode},'%')
  95. </if>
  96. <if test="doctor!=null">
  97. pi.anesthesia_doctor1 like concat('%',#{doctor},'%') or pi.anesthesia_doctor2 like concat('%',#{doctor},'%')
  98. </if>
  99. <if test="patientName!=null">
  100. pi.name like concat('%',#{patientName},'%')
  101. </if>
  102. <if test="anesthesiaMode!=null">
  103. pi.anesthesia_mode like concat('%',#{anesthesiaMode},'%')
  104. </if>
  105. <if test="operation!=null">
  106. pi.operation_name like concat('%',#{operation},'%')
  107. </if>
  108. )
  109. and (
  110. <if test="stateFlag!=null">
  111. p.state_flag = #{stateFlag}
  112. and
  113. </if>
  114. p.hospital_code = #{hospitalCode}
  115. and
  116. p.product_code = #{productCode}
  117. and
  118. u.user_code=#{userCode}
  119. and
  120. p.is_remove is not null
  121. and
  122. p.is_remove = true
  123. )
  124. ORDER BY p.state_flag desc,pi.ward_code asc, pi.bed_code asc
  125. </select>
  126. <!--查询用户对应的全部泵/运行中的泵/报警的泵-->
  127. <select id="queryPumpListByUser" resultType="com.tuoren.web.layer.d0.PumpVo">
  128. select
  129. pi.patient_id,
  130. pi.ward_code as patientInfoWard,
  131. pi.name,
  132. pi.bmi,
  133. pi.sex,
  134. pi.age,
  135. pi.height,
  136. pi.operation_doctor,
  137. pi.easy_mode,
  138. pi.bed_code as patientInfoBedNo,
  139. pi.anesthesia_mode as anesthesiaMode,
  140. pi.anesthesia_doctor1,
  141. pi.anesthesia_doctor2,
  142. p.run_state as pumpRunState,
  143. p.hospital_code as pumpHospitalId,
  144. p.is_remove as pumpVisible,
  145. pi.operation_name, p.* from bus_pump p
  146. LEFT JOIN bus_patient pi
  147. on p.pump_code = pi.pump_code and p.patient_code = pi.patient_code and p.hospital_code = pi.hospital_code
  148. LEFT JOIN sys_user u
  149. on u.hospital_code = p.hospital_code
  150. where
  151. <if test="stateFlag!=null">
  152. <choose>
  153. <when test="bufState9 != null">
  154. (p.state_flag = #{stateFlag}
  155. or
  156. p.buf_state9 = #{bufState9})
  157. and
  158. </when>
  159. <otherwise>
  160. p.state_flag = #{stateFlag}
  161. and
  162. </otherwise>
  163. </choose>
  164. </if>
  165. <if test="runState != null">
  166. p.run_state = #{runState}
  167. and
  168. </if>
  169. <if test="upAndDown">
  170. ( p.buf_state9 = 3 or p.buf_state9 = 4)
  171. and
  172. </if>
  173. (
  174. p.hospital_code = #{hospitalCode}
  175. and
  176. p.product_code = #{productCode}
  177. and
  178. u.user_code=#{userCode}
  179. and
  180. p.is_remove is not null
  181. and
  182. p.is_remove = true
  183. )
  184. ORDER BY p.state_flag desc,pi.ward_code asc, pi.bed_code asc
  185. </select>
  186. <!--获取注液信息和病人信息-->
  187. <select id="queryPumpInfo" resultType="com.tuoren.web.layer.d0.PumpVo">
  188. select
  189. pi.patient_id,
  190. pi.ward_code as patientInfoWard,
  191. pi.name,
  192. pi.sex,
  193. pi.age,
  194. pi.bmi,
  195. pi.height,
  196. pi.operation_doctor,
  197. pi.easy_mode,
  198. pi.bed_code as patientInfoBedNo,
  199. pi.anesthesia_mode as anesthesiaMode,
  200. pi.anesthesia_doctor1,
  201. pi.anesthesia_doctor2,
  202. -- p.run_state as pumpRunState,
  203. -- p.hospital_code as pumpHospitalId,
  204. -- p.is_remove as pumpVisible,
  205. pi.operation_name, p.* from bus_pump p
  206. LEFT JOIN bus_patient pi
  207. on p.pump_code = pi.pump_code and p.patient_code = pi.patient_code and p.hospital_code = pi.hospital_code
  208. where
  209. <if test="patientCode!=null">
  210. p.patient_code = #{patientCode}
  211. and
  212. </if>
  213. <if test="pumpCode!=null">
  214. p.pump_code = #{pumpCode}
  215. and
  216. </if>
  217. p.hospital_code = #{hospitalCode}
  218. and
  219. pi.patient_code is not null
  220. ORDER BY p.last_upload_time desc
  221. </select>
  222. <!--查询用户对应的报警的泵进行推送-->
  223. <select id="queryPumpWarnListByUser" resultType="com.tuoren.web.layer.d0.PumpVo">
  224. select
  225. pi.patient_id,
  226. pi.name,
  227. pi.sex,
  228. pi.height,
  229. pi.bmi,
  230. pi.age,
  231. pi.easy_mode,
  232. pi.anesthesia_doctor1,
  233. pi.anesthesia_doctor2,
  234. p.is_remove as pumpVisible,
  235. pi.operation_name, p.* from bus_pump p
  236. LEFT JOIN bus_patient pi
  237. on p.pump_code = pi.pump_code and p.patient_code = pi.patient_code and p.hospital_code = pi.hospital_code
  238. LEFT JOIN sys_user u
  239. on u.hospital_code = p.hospital_code
  240. where
  241. <if test="stateFlag!=null">
  242. p.state_flag = #{stateFlag}
  243. and
  244. </if>
  245. <if test="bufState9!=null">
  246. p.buf_state9 = #{bufState9}
  247. and
  248. </if>
  249. (
  250. p.hospital_code = #{hospitalCode}
  251. and
  252. p.pump_code = #{pumpCode}
  253. and
  254. u.user_code=#{userCode}
  255. and
  256. <if test="productCode != null">
  257. u.product_code like '%${productCode}%'
  258. and
  259. p.product_code = #{productCode}
  260. and
  261. </if>
  262. pi.patient_code is not null
  263. and
  264. pi.pump_code is not null
  265. )
  266. ORDER BY p.state_flag desc,pi.ward_code asc, pi.bed_code asc
  267. </select>
  268. <!--获取最新时间一条插入数据库的数据-->
  269. <select id="queryNewTimePumpInfo" resultType="com.tuoren.web.layer.entity.BusPumpEntity">
  270. SELECT last_upload_time,pump_code FROM bus_pump where bus_pump.pump_code=#{pumpCode} ORDER BY last_upload_time desc limit 1;
  271. </select>
  272. </mapper>