BusDeviceMapper.xml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  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.nb.web.service.bus.mapper.BusDeviceMapper">
  4. <resultMap id="pageQueryResult" type="com.nb.web.service.bus.service.dto.DeviceResult">
  5. <result column="id" property="id"/>
  6. <result column="device_id" property="deviceId"/>
  7. <result column="alias" property="alias"/>
  8. <result column="type" property="type"/>
  9. <result column="product_no" property="productNo"/>
  10. <result column="version" property="version"/>
  11. <result column="run_state" property="runState"/>
  12. <result column="alarm" property="alarm"/>
  13. <result column="config" property="config" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
  14. <result column="sim_iccid" property="simIccid"/>
  15. <result column="sim_mno" property="simMno"/>
  16. <result column="enable" property="enable"/>
  17. <result column="status" property="status"/>
  18. <result column="create_time" property="createTime"/>
  19. <result column="update_time" property="updateTime"/>
  20. <result column="tenant_id" property="tenantName" typeHandler="com.nb.common.config.mybatisplus.handler.TenantNameHandler"/>
  21. </resultMap>
  22. <resultMap id="deviceResult" type="com.nb.web.api.entity.BusDeviceEntity" autoMapping="true">
  23. <result property="config" column="config" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"></result>
  24. </resultMap>
  25. <select id="selectOneByDeviceId" resultMap="deviceResult">
  26. SELECT * from bus_device
  27. WHERE device_id = #{deviceId}
  28. </select>
  29. <update id="notDelete">
  30. UPDATE bus_device
  31. SET is_delete = 0
  32. <where>
  33. <if test="ids != null and ids.size > 0">
  34. and device_id in
  35. <foreach item="deviceId" index="index" collection="ids" open="(" separator="," close=")">
  36. #{deviceId, jdbcType=VARCHAR}
  37. </foreach>
  38. </if>
  39. </where>
  40. </update>
  41. <select id="pageQuery" resultMap="pageQueryResult" parameterType="com.nb.web.service.bus.service.dto.DeviceQuery">
  42. select tmp.* from
  43. (select
  44. d.id as id,
  45. d.device_id as device_id,
  46. d.alias as alias,
  47. d.version as version,
  48. ifnull(i.type,0) as type,
  49. i.run_state as run_state,
  50. i.alarm as alarm,
  51. d.config as config,
  52. d.sim_iccid as sim_iccid,
  53. d.sim_mno as sim_mno,
  54. d.`enable` as enable,
  55. d.`status` as `status`,
  56. d.create_time as create_time,
  57. d.update_time as update_time,
  58. d.product_no as product_no,
  59. d.tenant_id as tenant_id
  60. from (select * from bus_device
  61. <where>
  62. is_delete=0
  63. <if test="query.productNo!=null and query.productNo != ''">
  64. and product_no like concat('%',#{query.productNo},'%')
  65. </if>
  66. <if test="query.deviceId!=null and query.deviceId != ''">
  67. and device_id like concat('%',#{query.deviceId},'%')
  68. </if>
  69. <if test="query.alias!=null and query.alias != ''">
  70. and alias like concat('%',#{query.alias},'%')
  71. </if>
  72. <if test="query.status!=null and query.status != ''">
  73. and status = #{query.status}
  74. </if>
  75. <if test="query.iccId!=null and query.iccId !=''">
  76. and sim_iccid like concat('%',#{query.iccId},'%')
  77. </if>
  78. </where>
  79. ) AS d
  80. LEFT JOIN (select * from bus_infusion_history) as i
  81. on i.id=d.infusion_id) as tmp
  82. <where>
  83. <if test="query.deviceTypes != null and query.deviceTypes.size > 0">
  84. type in
  85. <foreach item="type" index="index" collection="query.deviceTypes" open="(" separator="," close=")">
  86. #{type, jdbcType=VARCHAR}
  87. </foreach>
  88. </if>
  89. </where>
  90. order by tmp.create_time desc
  91. </select>
  92. <select id="view" resultMap="pageQueryResult">
  93. select
  94. d.id as id,
  95. d.device_id as device_id,
  96. d.version as version,
  97. d.alias as alias,
  98. ifnull(i.type,0) as type,
  99. d.config as config,
  100. d.product_no as product_no,
  101. d.create_time as create_time,
  102. d.update_time as update_time,
  103. d.tenant_id as tenant_id
  104. from (select * from bus_device where id=#{id})
  105. AS d
  106. LEFT JOIN (select * from bus_infusion_history) as i
  107. on i.id=d.infusion_id
  108. order by d.create_time desc
  109. </select>
  110. <select id="ignoreLogicAll" resultType="com.nb.web.api.entity.BusDeviceEntity">
  111. select * from bus_device
  112. <where>
  113. <if test="ids != null and ids.size > 0">
  114. and device_id in
  115. <foreach item="deviceId" index="index" collection="ids" open="(" separator="," close=")">
  116. #{deviceId, jdbcType=VARCHAR}
  117. </foreach>
  118. </if>
  119. </where>
  120. </select>
  121. <select id="hospitalCode" resultType="java.lang.String">
  122. select bh.code from bus_device as bd join bus_hospital as bh on bd.tenant_id = bh.tenant_id where bd.device_id = #{deviceId}
  123. </select>
  124. <resultMap id="hospitalCodeAndAliasResult" type="com.nb.web.service.bus.controller.vo.BusHospitalCodeAndAliasVO">
  125. <result column="code" property="hospitalCode"/>
  126. <result column="alias" property="alias"/>
  127. </resultMap>
  128. <select id="hospitalCodeAndAlias" resultMap="hospitalCodeAndAliasResult">
  129. select bh.code as code,
  130. bd.alias as alias
  131. from bus_device as bd join bus_hospital as bh on bd.tenant_id = bh.tenant_id where bd.device_id = #{deviceId}
  132. </select>
  133. </mapper>