InpMessageMapper.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  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.xinxin.topro.inpnurseservice.mysqlmapper.InpMessageMapper" >
  4. <resultMap id="BaseResultMap" type="com.xinxin.topro.inpnurseservice.mysqlmodel.InpMessage" >
  5. <id column="IM_ID" property="imId" jdbcType="INTEGER" />
  6. <result column="HI_ID" property="hiId" jdbcType="INTEGER" />
  7. <result column="IM_Notifier" property="imNotifier" jdbcType="VARCHAR" />
  8. <result column="IM_Notify_Time" property="imNotifyTime" jdbcType="TIMESTAMP" />
  9. <result column="IM_Receiver" property="imReceiver" jdbcType="VARCHAR" />
  10. <result column="IM_Receive_Type" property="imReceiveType" jdbcType="INTEGER" />
  11. <result column="DD_DepDm" property="ddDepdm" jdbcType="VARCHAR" />
  12. <result column="DW_WardDm" property="dwWarddm" jdbcType="VARCHAR" />
  13. <result column="IM_Recordor" property="imRecordor" jdbcType="VARCHAR" />
  14. <result column="IM_Record_Time" property="imRecordTime" jdbcType="TIMESTAMP" />
  15. <result column="IM_IsDel" property="imIsdel" jdbcType="INTEGER" />
  16. <result column="IM_Type" property="imType" jdbcType="VARCHAR" />
  17. <result column="IM_IsRead" property="imIsread" jdbcType="INTEGER" />
  18. <result column="IM_IsHandle" property="imIshandle" jdbcType="INTEGER" />
  19. <result column="IM_Original" property="imOriginal" jdbcType="VARCHAR" />
  20. <result column="IM_Original_ID" property="imOriginalId" jdbcType="INTEGER" />
  21. <result column="IM_Operator" property="imOperator" jdbcType="VARCHAR" />
  22. <result column="IM_Operation_Time" property="imOperationTime" jdbcType="TIMESTAMP" />
  23. <result column="IM_Model" property="imModel" jdbcType="INTEGER" />
  24. <result column="IM_Message" property="imMessage" jdbcType="LONGVARCHAR" />
  25. </resultMap>
  26. <resultMap id="VOResultMap" type="com.xinxin.topro.inpnurseservice.vo.InpMessageVO" extends="BaseResultMap">
  27. <result column="DD_DepName" property="depName" jdbcType="VARCHAR" />
  28. </resultMap>
  29. <sql id="Base_Column_List" >
  30. IM_ID, HI_ID, IM_Notifier, IM_Notify_Time, IM_Receiver, IM_Receive_Type, DD_DepDm,
  31. DW_WardDm, IM_Recordor, IM_Record_Time, IM_IsDel, IM_Type, IM_IsRead, IM_IsHandle,
  32. IM_Original, IM_Original_ID, IM_Operator, IM_Operation_Time, IM_Model,IM_Message
  33. </sql>
  34. <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
  35. select
  36. <include refid="Base_Column_List" />
  37. from inp_message
  38. where IM_ID = #{imId,jdbcType=INTEGER}
  39. </select>
  40. <insert id="insert" parameterType="com.xinxin.topro.inpnurseservice.mysqlmodel.InpMessage" >
  41. insert into inp_message (IM_ID, HI_ID, IM_Notifier,
  42. IM_Notify_Time, IM_Receiver, IM_Receive_Type,
  43. DD_DepDm, DW_WardDm, IM_Recordor,
  44. IM_Record_Time, IM_IsDel, IM_Type,
  45. IM_IsRead, IM_IsHandle, IM_Original,
  46. IM_Original_ID, IM_Operator, IM_Operation_Time,
  47. IM_Model, IM_Message)
  48. values (#{imId,jdbcType=INTEGER}, #{hiId,jdbcType=INTEGER}, #{imNotifier,jdbcType=VARCHAR},
  49. #{imNotifyTime,jdbcType=TIMESTAMP}, #{imReceiver,jdbcType=VARCHAR}, #{imReceiveType,jdbcType=INTEGER},
  50. #{ddDepdm,jdbcType=VARCHAR}, #{dwWarddm,jdbcType=VARCHAR}, #{imRecordor,jdbcType=VARCHAR},
  51. #{imRecordTime,jdbcType=TIMESTAMP}, #{imIsdel,jdbcType=INTEGER}, #{imType,jdbcType=VARCHAR},
  52. #{imIsread,jdbcType=INTEGER}, #{imIshandle,jdbcType=INTEGER}, #{imOriginal,jdbcType=VARCHAR},
  53. #{imOriginalId,jdbcType=INTEGER}, #{imOperator,jdbcType=VARCHAR}, #{imOperationTime,jdbcType=TIMESTAMP},
  54. #{imModel,jdbcType=INTEGER}, #{imMessage,jdbcType=LONGVARCHAR})
  55. </insert>
  56. <update id="updateByPrimaryKeySelective" parameterType="com.xinxin.topro.inpnurseservice.mysqlmodel.InpMessage" >
  57. update inp_message
  58. <set >
  59. <if test="hiId != null" >
  60. HI_ID = #{hiId,jdbcType=INTEGER},
  61. </if>
  62. <if test="imNotifier != null" >
  63. IM_Notifier = #{imNotifier,jdbcType=VARCHAR},
  64. </if>
  65. <if test="imNotifyTime != null" >
  66. IM_Notify_Time = #{imNotifyTime,jdbcType=TIMESTAMP},
  67. </if>
  68. <if test="imReceiver != null" >
  69. IM_Receiver = #{imReceiver,jdbcType=VARCHAR},
  70. </if>
  71. <if test="imReceiveType != null" >
  72. IM_Receive_Type = #{imReceiveType,jdbcType=INTEGER},
  73. </if>
  74. <if test="ddDepdm != null" >
  75. DD_DepDm = #{ddDepdm,jdbcType=VARCHAR},
  76. </if>
  77. <if test="dwWarddm != null" >
  78. DW_WardDm = #{dwWarddm,jdbcType=VARCHAR},
  79. </if>
  80. <if test="imRecordor != null" >
  81. IM_Recordor = #{imRecordor,jdbcType=VARCHAR},
  82. </if>
  83. <if test="imIsdel != null" >
  84. IM_IsDel = #{imIsdel,jdbcType=INTEGER},
  85. </if>
  86. <if test="imType != null" >
  87. IM_Type = #{imType,jdbcType=VARCHAR},
  88. </if>
  89. <if test="imIsread != null" >
  90. IM_IsRead = #{imIsread,jdbcType=INTEGER},
  91. </if>
  92. <if test="imIshandle != null" >
  93. IM_IsHandle = #{imIshandle,jdbcType=INTEGER},
  94. </if>
  95. <if test="imOriginal != null" >
  96. IM_Original = #{imOriginal,jdbcType=VARCHAR},
  97. </if>
  98. <if test="imOriginalId != null" >
  99. IM_Original_ID = #{imOriginalId,jdbcType=INTEGER},
  100. </if>
  101. <if test="imOperator != null" >
  102. IM_Operator = #{imOperator,jdbcType=VARCHAR},
  103. </if>
  104. <if test="imOperationTime != null" >
  105. IM_Operation_Time = #{imOperationTime,jdbcType=TIMESTAMP},
  106. </if>
  107. <if test="imModel != null" >
  108. IM_Model = #{imModel,jdbcType=INTEGER},
  109. </if>
  110. <if test="imMessage != null" >
  111. IM_Message = #{imMessage,jdbcType=LONGVARCHAR},
  112. </if>
  113. IM_Operation_Time = now()
  114. </set>
  115. where IM_ID = #{imId,jdbcType=INTEGER}
  116. </update>
  117. <select id="getToDoMessageList" resultMap="VOResultMap" parameterType="com.xinxin.topro.inpnurseservice.mysqlmodel.InpMessage">
  118. select
  119. <include refid="Base_Column_List"/>,
  120. (select dd.DD_DepName from dic_department dd where dd.HI_ID = #{hiId,jdbcType=INTEGER} and dd.DD_DepDm = im.DD_DepDm) DD_DepName
  121. from inp_message im
  122. where im.HI_ID = #{hiId,jdbcType=INTEGER}
  123. and ((im.IM_Receive_Type = 1 and im.IM_Receiver = #{imReceiver,jdbcType=VARCHAR})
  124. or (im.IM_Receive_Type = 2 and im.DW_WardDm = #{dwWarddm,jdbcType=VARCHAR})
  125. <if test="ddDepdm != null">
  126. or (im.IM_Receive_Type = 3 and im.DD_DepDm = #{ddDepdm,jdbcType=VARCHAR})
  127. </if>
  128. or im.IM_Receive_Type = 4
  129. )
  130. and im.IM_IsDel = 0
  131. and im.IM_IsHandle = 0
  132. order by im.IM_Notify_Time desc, im.IM_ID desc
  133. </select>
  134. <select id="getToDoMessageCount" resultType="java.lang.Integer" parameterType="com.xinxin.topro.inpnurseservice.mysqlmodel.InpMessage">
  135. select
  136. count(1)
  137. from inp_message im
  138. where im.HI_ID = #{hiId,jdbcType=INTEGER}
  139. and ((im.IM_Receive_Type = 1 and im.IM_Receiver = #{imReceiver,jdbcType=VARCHAR})
  140. or (im.IM_Receive_Type = 2 and im.DW_WardDm = #{dwWarddm,jdbcType=VARCHAR})
  141. <if test="ddDepdm != null">
  142. or (im.IM_Receive_Type = 3 and im.DD_DepDm = #{ddDepdm,jdbcType=VARCHAR})
  143. </if>
  144. or im.IM_Receive_Type = 4
  145. )
  146. and im.IM_IsDel = 0
  147. and im.IM_IsHandle = 0
  148. </select>
  149. <select id="getDoneMessageList" resultMap="VOResultMap" parameterType="com.xinxin.topro.inpnurseservice.mysqlmodel.InpMessage">
  150. select
  151. <include refid="Base_Column_List"/>,
  152. (select dd.DD_DepName from dic_department dd where dd.HI_ID = #{hiId,jdbcType=INTEGER} and dd.DD_DepDm = im.DD_DepDm) DD_DepName
  153. from inp_message im
  154. where im.HI_ID = #{hiId,jdbcType=INTEGER}
  155. and ((im.IM_Receive_Type = 1 and im.IM_Receiver = #{imReceiver,jdbcType=VARCHAR})
  156. or (im.IM_Receive_Type = 2 and im.DW_WardDm = #{dwWarddm,jdbcType=VARCHAR})
  157. <if test="ddDepdm != null">
  158. or (im.IM_Receive_Type = 3 and im.DD_DepDm = #{ddDepdm,jdbcType=VARCHAR})
  159. </if>
  160. or im.IM_Receive_Type = 4
  161. )
  162. and im.IM_IsDel = 0
  163. and im.IM_IsHandle = 1
  164. order by IM_Record_Time desc
  165. </select>
  166. <insert id="batchInsert">
  167. insert into inp_message (HI_ID, IM_Notifier,
  168. IM_Notify_Time, IM_Receiver, IM_Receive_Type,
  169. DD_DepDm, DW_WardDm, IM_Recordor,
  170. IM_Record_Time, IM_IsDel, IM_Type,
  171. IM_IsRead, IM_IsHandle, IM_Original,
  172. IM_Original_ID, IM_Operator, IM_Operation_Time,
  173. IM_Model, IM_Message)
  174. values
  175. <foreach collection="list" separator="," item="item">
  176. (#{item.hiId,jdbcType=INTEGER}, #{item.imNotifier,jdbcType=VARCHAR},
  177. #{item.imNotifyTime,jdbcType=TIMESTAMP}, #{item.imReceiver,jdbcType=VARCHAR}, #{item.imReceiveType,jdbcType=INTEGER},
  178. #{item.ddDepdm,jdbcType=VARCHAR}, #{item.dwWarddm,jdbcType=VARCHAR}, #{item.imRecordor,jdbcType=VARCHAR},
  179. now(), 0, #{item.imType,jdbcType=VARCHAR},
  180. #{item.imIsread,jdbcType=INTEGER}, #{item.imIshandle,jdbcType=INTEGER}, #{item.imOriginal,jdbcType=VARCHAR},
  181. #{item.imOriginalId,jdbcType=INTEGER}, #{item.imOperator,jdbcType=VARCHAR}, #{item.imOperationTime,jdbcType=TIMESTAMP},
  182. #{item.imModel,jdbcType=INTEGER}, #{item.imMessage,jdbcType=LONGVARCHAR})
  183. </foreach>
  184. </insert>
  185. <update id="updateDelStatus">
  186. update inp_message
  187. set IM_IsDel = -1
  188. where IM_Original = #{imOriginal,jdbcType=VARCHAR} and IM_Original_ID = #{imOriginalId,jdbcType=INTEGER}
  189. </update>
  190. <update id="updateStatusList">
  191. update inp_message
  192. set IM_IsDel = -1
  193. where IM_Original = #{imOriginal,jdbcType=VARCHAR}
  194. and IM_Original_ID in
  195. <foreach collection="list" item="item" index="index" separator="," open="(" close=")">
  196. #{item,jdbcType=INTEGER}
  197. </foreach>
  198. </update>
  199. <update id="updateNotDelStatus">
  200. update inp_message
  201. set IM_IsDel = 0
  202. where IM_Original = #{imOriginal,jdbcType=VARCHAR} and IM_Original_ID = #{imOriginalId,jdbcType=INTEGER}
  203. </update>
  204. <update id="updateStatusNotList">
  205. update inp_message
  206. set IM_IsDel = 0
  207. where IM_Original = #{imOriginal,jdbcType=VARCHAR} and IM_Original_ID in
  208. <foreach collection="list" item="item" index="index" separator="," open="(" close=")">
  209. #{item,jdbcType=INTEGER}
  210. </foreach>
  211. </update>
  212. <update id="updateIsHandle">
  213. update inp_message
  214. set IM_IsHandle = 1,
  215. IM_IsRead = 1
  216. where IM_Original = #{imOriginal,jdbcType=VARCHAR} and IM_Original_ID = #{imOriginalId,jdbcType=INTEGER}
  217. </update>
  218. <update id="updateIsHandleList">
  219. update inp_message
  220. set IM_IsHandle = 1,
  221. IM_IsRead = 1
  222. where IM_Original = #{imOriginal,jdbcType=VARCHAR} and IM_Original_ID in
  223. <foreach collection="list" item="item" index="index" separator="," open="(" close=")">
  224. #{item,jdbcType=INTEGER}
  225. </foreach>
  226. </update>
  227. <update id="batchDel">
  228. update inp_message
  229. set IM_IsDel = -1
  230. where IM_Original = #{imOriginal,jdbcType=VARCHAR}
  231. and IM_Original_ID in
  232. <foreach collection="list" separator="," item="item" open="(" close=")">
  233. #{item,jdbcType=INTEGER}
  234. </foreach>
  235. </update>
  236. </mapper>