WaterMeterErrorDaysMapper.xml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  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.bz.smart_city.dao.WaterMeterErrorDaysMapper">
  4. <!--auto generated Code-->
  5. <resultMap id="BaseResultMap" type="com.bz.smart_city.entity.WaterMeterErrorDays">
  6. <result column="device_id" property="deviceId" jdbcType="BIGINT"/>
  7. <result column="days" property="days" jdbcType="INTEGER"/>
  8. <result column="start_date" property="startDate" jdbcType="INTEGER"/>
  9. <result column="last_error_type" property="lastErrorType" jdbcType="VARCHAR"/>
  10. <result column="end_date" property="endDate" jdbcType="INTEGER"/>
  11. <result column="status" property="status" jdbcType="INTEGER"/>
  12. <result column="date_create" property="dateCreate" jdbcType="TIMESTAMP"/>
  13. <result column="date_update" property="dateUpdate" jdbcType="TIMESTAMP"/>
  14. <result column="create_by" property="createBy" jdbcType="VARCHAR"/>
  15. <result column="update_by" property="updateBy" jdbcType="VARCHAR"/>
  16. <result column="update_by" property="updateBy" jdbcType="VARCHAR"/>
  17. <result column="update_by" property="updateBy" jdbcType="VARCHAR"/>
  18. <result column="valve_status" property="valveStatus" jdbcType="INTEGER"/>
  19. <result column="valve_button_status" property="valveButtonStatus" jdbcType="INTEGER"/>
  20. </resultMap>
  21. <!--auto generated Code-->
  22. <sql id="Base_Column_List">
  23. device_id,
  24. `days`,
  25. start_date,
  26. last_error_type,
  27. end_date,
  28. `status`,
  29. date_create,
  30. date_update,
  31. create_by,
  32. update_by,
  33. valve_status,
  34. valve_button_status
  35. </sql>
  36. <!--auto generated Code-->
  37. <insert id="insert" useGeneratedKeys="true" keyProperty="waterMeterErrorDays.deviceId">
  38. INSERT INTO sc_water_meter_error_days (
  39. device_id,
  40. `days`,
  41. start_date,
  42. last_error_type,
  43. end_date,
  44. `status`,
  45. date_create,
  46. date_update,
  47. create_by,
  48. update_by,
  49. valve_status,
  50. valve_button_status
  51. ) VALUES (
  52. #{waterMeterErrorDays.deviceId,jdbcType=BIGINT},
  53. #{waterMeterErrorDays.days,jdbcType=INTEGER},
  54. #{waterMeterErrorDays.startDate,jdbcType=INTEGER},
  55. #{waterMeterErrorDays.lastErrorType,jdbcType=VARCHAR},
  56. #{waterMeterErrorDays.endDate,jdbcType=INTEGER},
  57. #{waterMeterErrorDays.status,jdbcType=INTEGER},
  58. #{waterMeterErrorDays.dateCreate,jdbcType=TIMESTAMP},
  59. #{waterMeterErrorDays.dateUpdate,jdbcType=TIMESTAMP},
  60. #{waterMeterErrorDays.createBy,jdbcType=VARCHAR},
  61. #{waterMeterErrorDays.updateBy,jdbcType=VARCHAR},
  62. #{waterMeterErrorDays.valveStatus,jdbcType=INTEGER},
  63. #{waterMeterErrorDays.valveButtonStatus,jdbcType=INTEGER}
  64. )
  65. </insert>
  66. <!--auto generated Code-->
  67. <insert id="insertSelective" useGeneratedKeys="true" keyProperty="waterMeterErrorDays.deviceId">
  68. INSERT INTO sc_water_meter_error_days
  69. <trim prefix="(" suffix=")" suffixOverrides=",">
  70. <if test="waterMeterErrorDays.deviceId!=null"> device_id,</if>
  71. <if test="waterMeterErrorDays.days!=null"> `days`,</if>
  72. <if test="waterMeterErrorDays.startDate!=null"> start_date,</if>
  73. <if test="waterMeterErrorDays.lastErrorType!=null"> last_error_type,</if>
  74. <if test="waterMeterErrorDays.endDate!=null"> end_date,</if>
  75. <if test="waterMeterErrorDays.status!=null"> `status`,</if>
  76. <if test="waterMeterErrorDays.dateCreate!=null"> date_create,</if>
  77. <if test="waterMeterErrorDays.dateUpdate!=null"> date_update,</if>
  78. <if test="waterMeterErrorDays.createBy!=null"> create_by,</if>
  79. <if test="waterMeterErrorDays.updateBy!=null"> update_by,</if>
  80. <if test="waterMeterErrorDays.valveStatus!=null"> valve_status,</if>
  81. <if test="waterMeterErrorDays.valveButtonStatus!=null"> valve_button_status,</if>
  82. </trim>
  83. VALUES
  84. <trim prefix="(" suffix=")" suffixOverrides=",">
  85. <if test="waterMeterErrorDays.deviceId!=null">#{waterMeterErrorDays.deviceId,jdbcType=BIGINT},
  86. </if>
  87. <if test="waterMeterErrorDays.days!=null">#{waterMeterErrorDays.days,jdbcType=INTEGER},
  88. </if>
  89. <if test="waterMeterErrorDays.startDate!=null">#{waterMeterErrorDays.startDate,jdbcType=INTEGER},
  90. </if>
  91. <if test="waterMeterErrorDays.lastErrorType!=null">#{waterMeterErrorDays.lastErrorType,jdbcType=VARCHAR},
  92. </if>
  93. <if test="waterMeterErrorDays.endDate!=null">#{waterMeterErrorDays.endDate,jdbcType=INTEGER},
  94. </if>
  95. <if test="waterMeterErrorDays.status!=null">#{waterMeterErrorDays.status,jdbcType=INTEGER},
  96. </if>
  97. <if test="waterMeterErrorDays.dateCreate!=null">#{waterMeterErrorDays.dateCreate,jdbcType=TIMESTAMP},
  98. </if>
  99. <if test="waterMeterErrorDays.dateUpdate!=null">#{waterMeterErrorDays.dateUpdate,jdbcType=TIMESTAMP},
  100. </if>
  101. <if test="waterMeterErrorDays.createBy!=null">#{waterMeterErrorDays.createBy,jdbcType=VARCHAR},
  102. </if>
  103. <if test="waterMeterErrorDays.updateBy!=null">#{waterMeterErrorDays.updateBy,jdbcType=VARCHAR},
  104. </if>
  105. <if test="waterMeterErrorDays.valveStatus!=null">#{waterMeterErrorDays.valveStatus,jdbcType=INTEGER},
  106. </if>
  107. <if test="waterMeterErrorDays.valveButtonStatus!=null">#{waterMeterErrorDays.valveButtonStatus,jdbcType=INTEGER},
  108. </if>
  109. </trim>
  110. </insert>
  111. <!--auto generated Code-->
  112. <insert id="insertList">
  113. INSERT INTO sc_water_meter_error_days (
  114. device_id,
  115. `days`,
  116. start_date,
  117. last_error_type,
  118. end_date,
  119. `status`,
  120. date_create,
  121. date_update,
  122. create_by,
  123. update_by,
  124. valve_status,
  125. valve_button_status
  126. )VALUES
  127. <foreach collection="waterMeterErrorDayss" item="waterMeterErrorDays" index="index" separator=",">
  128. (
  129. #{waterMeterErrorDays.deviceId,jdbcType=BIGINT},
  130. #{waterMeterErrorDays.days,jdbcType=INTEGER},
  131. #{waterMeterErrorDays.startDate,jdbcType=INTEGER},
  132. #{waterMeterErrorDays.lastErrorType,jdbcType=VARCHAR},
  133. #{waterMeterErrorDays.endDate,jdbcType=INTEGER},
  134. #{waterMeterErrorDays.status,jdbcType=INTEGER},
  135. #{waterMeterErrorDays.dateCreate,jdbcType=TIMESTAMP},
  136. #{waterMeterErrorDays.dateUpdate,jdbcType=TIMESTAMP},
  137. #{waterMeterErrorDays.createBy,jdbcType=VARCHAR},
  138. #{waterMeterErrorDays.updateBy,jdbcType=VARCHAR},
  139. #{waterMeterErrorDays.valveStatus,jdbcType=INTEGER},
  140. #{waterMeterErrorDays.valveButtonStatus,jdbcType=INTEGER}
  141. )
  142. </foreach>
  143. </insert>
  144. <!--auto generated Code-->
  145. <update id="updateByPrimaryKeySelective">
  146. UPDATE sc_water_meter_error_days
  147. <set>
  148. <if test="waterMeterErrorDays.days != null"> `days`= #{waterMeterErrorDays.days,jdbcType=INTEGER},</if>
  149. <if test="waterMeterErrorDays.startDate != null"> start_date= #{waterMeterErrorDays.startDate,jdbcType=INTEGER},</if>
  150. <if test="waterMeterErrorDays.lastErrorType != null"> last_error_type= #{waterMeterErrorDays.lastErrorType,jdbcType=VARCHAR},</if>
  151. <if test="waterMeterErrorDays.endDate != null"> end_date= #{waterMeterErrorDays.endDate,jdbcType=INTEGER},</if>
  152. <if test="waterMeterErrorDays.status != null"> `status`= #{waterMeterErrorDays.status,jdbcType=INTEGER},</if>
  153. <if test="waterMeterErrorDays.dateCreate != null"> date_create= #{waterMeterErrorDays.dateCreate,jdbcType=TIMESTAMP},</if>
  154. <if test="waterMeterErrorDays.dateUpdate != null"> date_update= #{waterMeterErrorDays.dateUpdate,jdbcType=TIMESTAMP},</if>
  155. <if test="waterMeterErrorDays.createBy != null"> create_by= #{waterMeterErrorDays.createBy,jdbcType=VARCHAR},</if>
  156. <if test="waterMeterErrorDays.updateBy != null"> update_by= #{waterMeterErrorDays.updateBy,jdbcType=VARCHAR},</if>
  157. <if test="waterMeterErrorDays.valveStatus != null"> valve_status= #{waterMeterErrorDays.valveStatus,jdbcType=INTEGER},</if>
  158. <if test="waterMeterErrorDays.valveButtonStatus != null"> valve_button_status= #{waterMeterErrorDays.valveButtonStatus,jdbcType=INTEGER}</if>
  159. </set>
  160. WHERE device_id = #{waterMeterErrorDays.deviceId,jdbcType=BIGINT}
  161. </update>
  162. <update id="updateDeviceError">
  163. UPDATE
  164. sc_water_meter_error_days
  165. SET
  166. days = CASE end_date
  167. WHEN DATE_FORMAT(NOW(), '%Y%m%d' ) THEN days
  168. WHEN DATE_FORMAT(date_add(NOW(), interval -1 day), '%Y%m%d' ) THEN (days + 1)
  169. ELSE 1
  170. END,
  171. start_date = CASE WHEN start_date is null THEN DATE_FORMAT(NOW(), '%Y%m%d' )
  172. WHEN end_date <![CDATA[ < ]]> DATE_FORMAT(date_add(NOW(), interval -1 day), '%Y%m%d' ) THEN DATE_FORMAT(NOW(), '%Y%m%d' )
  173. ELSE start_date
  174. END,
  175. end_date = DATE_FORMAT(NOW(), '%Y%m%d' )
  176. <if test="lastErrorType != null and lastErrorType != ''"> ,last_error_type = #{lastErrorType}</if>
  177. WHERE
  178. device_id = #{deviceId} and status = 1;
  179. </update>
  180. <select id="findByDeviceId" resultMap="BaseResultMap">
  181. select * from sc_water_meter_error_days where status = 1 and device_id = #{deviceId}
  182. </select>
  183. <update id="reset">
  184. update sc_water_meter_error_days set days = 0,start_date = null,end_date = null, last_error_type = '' where status = 1 and device_id = #{deviceId}
  185. </update>
  186. <update id="addDays">
  187. update sc_water_meter_error_days set days = days+1,end_date=DATE_FORMAT(NOW(), '%Y%m%d') where status = 1 and device_id = #{deviceId}
  188. </update>
  189. </mapper>