IotWarnBusinessMapper.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  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="com.yunfeiyun.agmp.iots.warn.mapper.IotWarnBussinessMapper">
  6. <insert id="insertWarnRecord" parameterType="IotWarnlog" useGeneratedKeys="true" keyProperty="id">
  7. insert into IotWarnlog
  8. <trim prefix="(" suffix=")" suffixOverrides=",">
  9. <if test="wlBid != null">wlBid,</if>
  10. <if test="wlName != null">wlName,</if>
  11. <if test="wlType != null">wlType,</if>
  12. <if test="wlContent != null">wlContent,</if>
  13. <if test="wlLevel != null">wlLevel,</if>
  14. <if test="devtypeBid != null">devtypeBid,</if>
  15. <if test="devBid != null">devBid,</if>
  16. <if test="status != null">status,</if>
  17. <if test="wlDealuserid != null">wlDealuserid,</if>
  18. <if test="wlDealresult != null">wlDealresult,</if>
  19. <if test="wlDealtime != null">wlDealtime,</if>
  20. <if test="wlCreateddate != null">wlCreateddate,</if>
  21. <if test="wlData != null">wlData,</if>
  22. <if test="tid != null and tid != ''">tid,</if>
  23. <if test="wcBid != null and wcBid != ''">wcBid,</if>
  24. <if test="wlSendmsgstatus != null and wlSendmsgstatus != ''">wlSendmsgstatus,</if>
  25. </trim>
  26. <trim prefix="values (" suffix=")" suffixOverrides=",">
  27. <if test="wlBid != null">#{wlBid},</if>
  28. <if test="wlName != null">#{wlName},</if>
  29. <if test="wlType != null">#{wlType},</if>
  30. <if test="wlContent != null">#{wlContent},</if>
  31. <if test="wlLevel != null">#{wlLevel},</if>
  32. <if test="devtypeBid != null">#{devtypeBid},</if>
  33. <if test="devBid != null">#{devBid},</if>
  34. <if test="status != null">#{status},</if>
  35. <if test="wlDealuserid != null">#{wlDealuserid},</if>
  36. <if test="wlDealresult != null">#{wlDealresult},</if>
  37. <if test="wlDealtime != null">#{wlDealtime},</if>
  38. <if test="wlCreateddate != null">#{wlCreateddate},</if>
  39. <if test="wlData != null">#{wlData},</if>
  40. <if test="tid != null and tid != ''">#{tid},</if>
  41. <if test="wcBid != null and wcBid != ''">#{wcBid},</if>
  42. <if test="wlSendmsgstatus != null and wlSendmsgstatus != ''">#{wlSendmsgstatus},</if>
  43. </trim>
  44. </insert>
  45. <insert id="insertIncrementReCount" parameterType="IotWarncount" useGeneratedKeys="true" keyProperty="id">
  46. insert into IotWarncount
  47. <trim prefix="(" suffix=")" suffixOverrides=",">
  48. <if test="wctBid != null">wctBid,</if>
  49. <if test="wcBid != null">wcBid,</if>
  50. <if test="devBid != null">devBid,</if>
  51. <if test="wctCount != null">wctCount,</if>
  52. <if test="lastUpdateTime != null">lastUpdateTime,</if>
  53. <if test="tid != null and tid != ''">tid,</if>
  54. </trim>
  55. <trim prefix="values (" suffix=")" suffixOverrides=",">
  56. <if test="wctBid != null">#{wctBid},</if>
  57. <if test="wcBid != null">#{wcBid},</if>
  58. <if test="devBid != null">#{devBid},</if>
  59. <if test="wctCount != null">#{wctCount},</if>
  60. <if test="lastUpdateTime != null">#{lastUpdateTime},</if>
  61. <if test="tid != null and tid != ''">#{tid},</if>
  62. </trim>
  63. </insert>
  64. <update id="incrementReCount">
  65. update IotWarncount set wctCount=wctCount+1 where devBid=#{devBid} and wcBid=#{wcBid};
  66. </update>
  67. <update id="resetReCount">
  68. update IotWarncount set wctCount=0;
  69. </update>
  70. <update id="updateIncrementReCount">
  71. update IotWarncount set wctCount=wctCount+1 where devBid=#{devBid} and wcBid=#{wcBid};
  72. </update>
  73. <update id="resetReCountByDevBidAndConfigId">
  74. update IotWarncount set wctCount=0 where devBid=#{devBid} and wcBid=#{wcBid};
  75. </update>
  76. <select id="selectIotWarnCountByDevAndConfig"
  77. resultType="com.yunfeiyun.agmp.iot.common.domain.IotWarncount">
  78. select * from IotWarncount where devBid=#{devBid} and wcBid=#{wcBid};
  79. </select>
  80. <select id="selectIotWarnConfigInfoList" parameterType="com.yunfeiyun.agmp.iots.warn.model.WarnConfigInfo"
  81. resultType="com.yunfeiyun.agmp.iots.warn.model.WarnConfigInfo">
  82. SELECT wc.*, wi.wiBid, wi.wiAddress,
  83. wi.wiCode, wi.wiName, wi.wiUnit, wi.wiExpression, wi.wiValue, wi.wiStatus
  84. FROM IotWarnconfig AS wc
  85. LEFT JOIN IotWarnindicator AS wi ON wi.wcBid = wc.wcBid
  86. <if test="devBid != null">
  87. LEFT JOIN IotWarnobject AS wo ON wo.wcBid = wc.wcBid
  88. </if>
  89. WHERE wc.tid = #{tid} AND wi.wiBid IS NOT NULL
  90. <if test="devBid != null">
  91. AND wo.devBid = #{devBid} AND wo.woBid IS NOT NULL
  92. </if>
  93. <if test="devtypeBid!= null">
  94. AND wc.devtypeBid = #{devtypeBid}
  95. </if>
  96. </select>
  97. <select id="getAllReCount" resultType="com.yunfeiyun.agmp.iot.common.domain.IotWarncount">
  98. select * from IotWarncount
  99. </select>
  100. <select id="selectIotWarnOfflineConfigInfo" resultType="com.yunfeiyun.agmp.iot.common.domain.IotWarnconfig">
  101. select * from IotWarnconfig where tid = #{tid} and wcTouchtype='1';
  102. </select>
  103. <select id="selectAllTid" resultType="java.lang.String">
  104. select tid from SysUser group by tid
  105. </select>
  106. <!-- 根据code查询虫害规则指标-->
  107. <select id="selectIotWarnPestConfigInfoList"
  108. resultType="com.yunfeiyun.agmp.iot.common.domain.IotWarnindicator">
  109. SELECT tb_wi.*,tb_it.devBid,tb_it.devCode,tb_it.devtypeBid from (
  110. SELECT tb_2.*,iwo.devBid from (
  111. select * from IotWarnindicator where wiCode=#{code}
  112. ) tb_2
  113. LEFT JOIN IotWarnconfig iwc ON tb_2.wcBid=iwc.wcBid
  114. LEFT JOIN IotWarnobject iwo on tb_2.wcBid=iwo.wcBid
  115. ) tb_wi LEFT JOIN IotWarnconfig tb_config on tb_wi.wcBid=tb_config.wcBid
  116. LEFT JOIN IotDevice tb_it on tb_it.devBid = tb_wi.devBid
  117. where tb_config.wcStatus='0'
  118. </select>
  119. <insert id="insertIotOfflineWarnconfig" parameterType="IotWarnconfig" useGeneratedKeys="true" keyProperty="id">
  120. insert into IotWarnconfig
  121. <trim prefix="(" suffix=")" suffixOverrides=",">
  122. <if test="wcBid != null">wcBid,</if>
  123. <if test="wcName != null">wcName,</if>
  124. <if test="wcDesc != null">wcDesc,</if>
  125. <if test="wcStatus != null">wcStatus,</if>
  126. <if test="wcLevel != null">wcLevel,</if>
  127. <if test="wcTouchtype != null">wcTouchtype,</if>
  128. <if test="wcCondition != null">wcCondition,</if>
  129. <if test="devtypeBid != null">devtypeBid,</if>
  130. <if test="wcRepeatnum != null">wcRepeatnum,</if>
  131. <if test="wcCreator != null">wcCreator,</if>
  132. <if test="wcCreateddate != null">wcCreateddate,</if>
  133. <if test="wcModifieddate != null">wcModifieddate,</if>
  134. <if test="wcModifier != null">wcModifier,</if>
  135. <if test="tid != null and tid != ''">tid,</if>
  136. </trim>
  137. <trim prefix="values (" suffix=")" suffixOverrides=",">
  138. <if test="wcBid != null">#{wcBid},</if>
  139. <if test="wcName != null">#{wcName},</if>
  140. <if test="wcDesc != null">#{wcDesc},</if>
  141. <if test="wcStatus != null">#{wcStatus},</if>
  142. <if test="wcLevel != null">#{wcLevel},</if>
  143. <if test="wcTouchtype != null">#{wcTouchtype},</if>
  144. <if test="wcCondition != null">#{wcCondition},</if>
  145. <if test="devtypeBid != null">#{devtypeBid},</if>
  146. <if test="wcRepeatnum != null">#{wcRepeatnum},</if>
  147. <if test="wcCreator != null">#{wcCreator},</if>
  148. <if test="wcCreateddate != null">#{wcCreateddate},</if>
  149. <if test="wcModifieddate != null">#{wcModifieddate},</if>
  150. <if test="wcModifier != null">#{wcModifier},</if>
  151. <if test="tid != null and tid != ''">#{tid},</if>
  152. </trim>
  153. </insert>
  154. <update id="autoDealWarnOfflineLog">
  155. update IotWarnlog
  156. <trim prefix="SET" suffixOverrides=",">
  157. <if test="status != null">status = #{status},</if>
  158. <if test="wlDealresult != null">wlDealresult = #{wlDealresult},</if>
  159. <if test="wlDealtime != null">wlDealtime = #{wlDealtime},</if>
  160. </trim>
  161. where devBid = #{devBid} and wlType='1' and status='0'
  162. </update>
  163. <update id="updateWarnLogSendStatus">
  164. update IotWarnlog set wlSendmsgstatus=#{status},wlSendmsgtime=#{time} where wlBid=#{wlBid}
  165. </update>
  166. <select id="selectIotWarnconfigCbdDevList" resultType="com.yunfeiyun.agmp.iots.warn.model.IotWarnconfigDevVo">
  167. SELECT wi.wiBid, d.devBid, d.devCode,d.devName, d.devtypeBid, d.devCbdrecogtype, wc.*
  168. FROM IotWarnindicator AS wi
  169. LEFT JOIN IotWarnconfig AS wc ON wc.wcBid = wi.wcBid
  170. LEFT JOIN IotWarnobject AS wo ON wo.wcBid = wc.wcBid
  171. LEFT JOIN IotDevice AS d ON d.devBid = wo.devBid
  172. WHERE wi.wiCode = "pestDetail" AND wc.wcStatus = "0" AND d.devDelstatus = "0"
  173. </select>
  174. <select id="selectCbdIndicatorAllList"
  175. resultType="com.yunfeiyun.agmp.iot.common.domain.IotWarnindicator">
  176. SELECT wi.*
  177. FROM IotWarnindicator AS wi
  178. LEFT JOIN IotWarnconfig AS wc ON wc.wcBid = wi.wcBid
  179. WHERE wi.wiCode IN ('pestType', 'pestNum', 'pestDetail') AND wc.wcStatus = "0"
  180. </select>
  181. <select id="selectIotWarnindicatorList" parameterType="IotWarnindicator" resultType="IotWarnindicator">
  182. select id, wiBid, wcBid, wdBid, wiAddress, wiCode, wiName, wiUnit,wiStatus,wiExpression, wiValue, wiCreator,
  183. wiCreateddate, wiModifieddate, wiModifier, tid, wiOptiontype, wiParentbid
  184. from IotWarnindicator
  185. <where>
  186. <if test="wiBid != null and wiBid != ''"> and wiBid = #{wiBid}</if>
  187. <if test="wcBid != null and wcBid != ''"> and wcBid = #{wcBid}</if>
  188. <if test="wdBid != null and wdBid != ''"> and wdBid = #{wdBid}</if>
  189. <if test="wiAddress != null and wiAddress != ''"> and wiAddress = #{wiAddress}</if>
  190. <if test="wiCode != null and wiCode != ''"> and wiCode = #{wiCode}</if>
  191. <if test="wiName != null and wiName != ''"> and wiName = #{wiName}</if>
  192. <if test="wiUnit != null and wiUnit != ''"> and wiUnit = #{wiUnit}</if>
  193. <if test="wiStatus != null and wiStatus != ''"> and wiStatus = #{wiStatus}</if>
  194. <if test="wiExpression != null and wiExpression != ''"> and wiExpression = #{wiExpression}</if>
  195. <if test="wiValue != null and wiValue != ''"> and wiValue = #{wiValue}</if>
  196. <if test="wiCreator != null and wiCreator != ''"> and wiCreator = #{wiCreator}</if>
  197. <if test="wiCreateddate != null and wiCreateddate != ''"> and wiCreateddate = #{wiCreateddate}</if>
  198. <if test="wiModifieddate != null and wiModifieddate != ''"> and wiModifieddate = #{wiModifieddate}</if>
  199. <if test="wiModifier != null and wiModifier != ''"> and wiModifier = #{wiModifier}</if>
  200. <if test="tid != null and tid != ''"> and tid = #{tid}</if>
  201. <if test="wiOptiontype != null and wiOptiontype != ''"> and wiOptiontype = #{wiOptiontype}</if>
  202. <if test="wiParentbid != null and wiParentbid != ''"> and wiParentbid = #{wiParentbid}</if>
  203. <if test="wiParentbidList != null and wiParentbidList.size() > 0">
  204. and wiParentbid in
  205. <foreach collection="wiParentbidList" item="item" index="index" open="(" close=")" separator=",">
  206. #{item}
  207. </foreach>
  208. </if>
  209. </where>
  210. </select>
  211. <select id="selectYbqIndicatorAllList" resultType="com.yunfeiyun.agmp.iot.common.domain.IotWarnindicator">
  212. SELECT wi.*
  213. FROM IotWarnindicator AS wi
  214. LEFT JOIN IotWarnconfig AS wc ON wc.wcBid = wi.wcBid
  215. WHERE wi.wiCode IN ('computeValue') AND wc.wcStatus = "0"
  216. </select>
  217. <select id="selectIotWarnconfigYbqDevList"
  218. resultType="com.yunfeiyun.agmp.iots.warn.model.IotWarnconfigDevVo">
  219. SELECT wi.wiBid, d.devBid, d.devCode,d.devName, d.devtypeBid, d.devCbdrecogtype, wc.*
  220. FROM IotWarnindicator AS wi
  221. LEFT JOIN IotWarnconfig AS wc ON wc.wcBid = wi.wcBid
  222. LEFT JOIN IotWarnobject AS wo ON wo.wcBid = wc.wcBid
  223. LEFT JOIN IotDevice AS d ON d.devBid = wo.devBid
  224. WHERE wi.wiCode = "computeValue" AND wc.wcStatus = "0" AND d.devDelstatus = "0"
  225. </select>
  226. <select id="selectDeviceById" resultType="com.yunfeiyun.agmp.iot.common.domain.IotDevice">
  227. select * from IotDevice where devBid=#{devBid}
  228. </select>
  229. <select id="selectWarnPolicy" resultType="com.yunfeiyun.agmp.iot.common.domain.IotWarnpolicy">
  230. select *
  231. from IotWarnpolicy
  232. where wcBid = #{configId}
  233. </select>
  234. <select id="selectWarnReceiverByConfigId"
  235. resultType="com.yunfeiyun.agmp.iot.common.domain.IotWarnreceiver">
  236. select * from IotWarnreceiver where wcBid = #{configId}
  237. </select>
  238. <select id="getLastedUnSendWarnLog" resultType="com.yunfeiyun.agmp.iot.common.domain.IotWarnlog">
  239. select * from IotWarnlog where wcBid = #{wcBid} and wlSendmsgstatus = "1" order by wlCreateddate desc limit 1
  240. </select>
  241. </mapper>