machineNumberMapper.xml 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC
  4. "-//mybatis.org//DTD Mapper 3.0//EN"
  5. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  6. <!-- 命名,每一个映射对象不一样
  7. namespace:必须与对应的接口全类名一致
  8. -->
  9. <mapper namespace="com.iamberry.wechat.service.mapper.MachineNumberMapper">
  10. <!-- 添加日志记录-->
  11. <insert id="addNumberLogs" parameterType="MachineNumberLogs">
  12. INSERT INTO tb_iamberry_user_machine_number_logs
  13. (logs_batch,logs_number,logs_remark,logs_create_time)
  14. VALUES
  15. (#{logsBatch},#{logsNumber},#{logsRemark},NOW())
  16. </insert>
  17. <!-- 添加机器编号,二维码-->
  18. <insert id="addMachineNumber" parameterType="MachineNumber">
  19. INSERT INTO tb_iamberry_user_machine_number
  20. (number_qrcode,number_barcode,number_batch,number_status,number_create_time)
  21. VALUES
  22. (#{numberQrcode},#{numberBarcode},#{numberBatch},1,NOW())
  23. </insert>
  24. <sql id="numberLogs">
  25. nl.logs_id logsId,
  26. nl.logs_batch logsBatch,
  27. nl.logs_number logsNumber,
  28. nl.logs_remark logsRemark,
  29. nl.logs_create_time logsCreateTime
  30. </sql>
  31. <sql id="warrantyCardInfo">
  32. number_id cardId,
  33. number_barcode cardBarcode,
  34. number_sales_time cardSaleTime,
  35. user_email userEmail,
  36. user_name userName,
  37. number_watero cardWatero,
  38. number_province cardProvince,
  39. number_city cardCity,
  40. number_district cardDistrict
  41. </sql>
  42. <!-- 统计批次及已完成条数-->
  43. <select id="listNumberLogs" parameterType="Page" resultType="MachineNumberLogs">
  44. SELECT
  45. <include refid="numberLogs"/>,count(mn.number_batch) as qrCodeNumber,count(mn.number_batch) as completedNumber
  46. FROM
  47. tb_iamberry_user_machine_number_logs nl
  48. LEFT JOIN tb_iamberry_user_machine_number mn ON nl.logs_batch = mn.number_batch
  49. <where>
  50. <if test="params.logsBatch!=null and params.logsBatch!='' ">
  51. AND number_batch = #{params.logsBatch}
  52. </if>
  53. <if test="params.beginDate!=null and params.beginDate!=''">
  54. <![CDATA[ AND DATE(number_create_time) >= #{params.beginDate} ]]>
  55. </if>
  56. <if test="params.endDate!=null and params.endDate!=''">
  57. <![CDATA[ AND DATE(number_create_time) <= #{params.endDate} ]]>
  58. </if>
  59. </where>
  60. group by nl.logs_batch
  61. Order By nl.logs_create_time Desc
  62. LIMIT #{pageNo}, #{pageSize}
  63. </select>
  64. <!-- 统计批次及已完成条数总条数-->
  65. <select id="listNumberLogsCount" parameterType="Page" resultType="Integer">
  66. SELECT COUNT(*) from (
  67. SELECT
  68. <include refid="numberLogs"/>,count(mn.number_batch) as qrCodeNumber
  69. FROM
  70. tb_iamberry_user_machine_number_logs nl
  71. LEFT JOIN tb_iamberry_user_machine_number mn ON nl.logs_batch = mn.number_batch
  72. <where>
  73. <if test="params.logsBatch!=null and params.logsBatch!='' ">
  74. AND number_batch = #{params.logsBatch}
  75. </if>
  76. <if test="params.beginDate!=null and params.beginDate!=''">
  77. <![CDATA[ AND DATE(logs_create_time) >= #{params.beginDate} ]]>
  78. </if>
  79. <if test="params.endDate!=null and params.endDate!=''">
  80. <![CDATA[ AND DATE(logs_create_time) <= #{params.endDate} ]]>
  81. </if>
  82. </where>
  83. group by nl.logs_batch) as counts
  84. </select>
  85. <!--查询生产批次二维码列表-->
  86. <select id="listNumberQrCode" parameterType="Page" resultType="MachineNumber">
  87. select * from tb_iamberry_user_machine_number
  88. <where>
  89. <if test="params.logsBatch!=null and params.logsBatch!='' ">
  90. AND number_batch = #{params.logsBatch}
  91. </if>
  92. </where>
  93. <if test="pageNo!=null and pageSize!=null and pageSize > 0 ">
  94. LIMIT #{pageNo}, #{pageSize}
  95. </if>
  96. </select>
  97. <!--查询生产批次二维码列表总数-->
  98. <select id="listNumberQrCodeCount" parameterType="Page" resultType="Integer">
  99. select
  100. count(*)
  101. from
  102. tb_iamberry_user_machine_number
  103. <where>
  104. <if test="params.logsBatch!=null and params.logsBatch!='' ">
  105. number_batch = #{params.logsBatch}
  106. </if>
  107. </where>
  108. </select>
  109. <!-- 根据条件查询机器编号集合,可分页 -->
  110. <select id="listMachineNumber" parameterType="MachineNumber" resultType="MachineNumber">
  111. select
  112. *
  113. from
  114. tb_iamberry_user_machine_number
  115. <where>
  116. <if test="numberId != null and numberId != '' ">
  117. number_id = #{numberId}
  118. </if>
  119. <if test="numberOpenId != null and numberOpenId != '' ">
  120. and number_open_id = #{numberOpenId}
  121. </if>
  122. <if test="numberBarcode != null and numberBarcode != '' ">
  123. and number_barcode = #{numberBarcode}
  124. </if>
  125. </where>
  126. <if test="page!=null and page.pageSize>0 ">
  127. LIMIT ${page.recordBegin},${page.pageSize}
  128. </if>
  129. </select>
  130. <!-- 根据条件查询质保卡集合,可分页 -->
  131. <select id="listWarrantyCard" parameterType="WarrantyCard" resultType="WarrantyCard">
  132. select
  133. <include refid="warrantyCardInfo" />
  134. from
  135. tb_iamberry_user_machine_number
  136. LEFT JOIN tb_iamberry_user_userinfo ON number_open_id = user_openid
  137. <where>
  138. number_status = 1
  139. and number_open_id is not null
  140. <if test="cardBarcode != null and cardBarcode != '' ">
  141. and number_barcode like CONCAT('%',#{cardBarcode},'%')
  142. </if>
  143. <if test="userName != null and userName != '' ">
  144. and user_name like CONCAT('%',#{userName},'%')
  145. </if>
  146. <if test="userEmail != null and userEmail != '' ">
  147. and user_email like CONCAT('%',#{userEmail},'%')
  148. </if>
  149. </where>
  150. order by number_id DESC
  151. <if test="page!=null and page.pageSize>0 ">
  152. LIMIT ${page.recordBegin},${page.pageSize}
  153. </if>
  154. </select>
  155. <select id="WarrantyCardCount" parameterType="WarrantyCard" resultType="Integer">
  156. select
  157. COUNT(number_id)
  158. from
  159. tb_iamberry_user_machine_number
  160. LEFT JOIN tb_iamberry_user_userinfo ON number_open_id = user_openid
  161. <where>
  162. number_status = 1
  163. and number_open_id is not null
  164. <if test="cardBarcode != null and cardBarcode != '' ">
  165. and number_barcode like CONCAT('%',#{cardBarcode},'%')
  166. </if>
  167. <if test="userName != null and userName != '' ">
  168. and user_name like CONCAT('%',#{userName},'%')
  169. </if>
  170. <if test="userEmail != null and userEmail != '' ">
  171. and user_email like CONCAT('%',#{userEmail},'%')
  172. </if>
  173. </where>
  174. </select>
  175. <!-- 修改机器编号信息 -->
  176. <update id="updateMachineNumber" parameterType="MachineNumber">
  177. update
  178. tb_iamberry_user_machine_number
  179. <set>
  180. <if test="numberOpenId != null">
  181. number_open_id = #{numberOpenId},
  182. </if>
  183. <if test="numberSalesTime != null">
  184. number_sales_time = #{numberSalesTime},
  185. </if>
  186. <if test="numberSubTime != null">
  187. number_sub_time = #{numberSubTime},
  188. </if>
  189. </set>
  190. <where>
  191. number_barcode = #{numberBarcode}
  192. </where>
  193. </update>
  194. <!-- 查询赠品信息列表 -->
  195. <select id="listUserGift" parameterType="MachineGift" resultType="MachineGift">
  196. select
  197. *
  198. from
  199. tb_iamberry_user_machine_gift
  200. where
  201. gift_status = 1
  202. and
  203. gift_type = #{giftType}
  204. </select>
  205. <!--修改状态为已完成-->
  206. <update id="updateIsprInt" parameterType="String">
  207. UPDATE tb_iamberry_user_machine_number SET number_is_print = 2 WHERE number_id = #{numberId}
  208. </update>
  209. <select id="selectQrcodeLogsByBatch" parameterType="String" resultType="Integer" >
  210. SELECT COUNT(*) FROM tb_iamberry_user_machine_number_logs where logs_batch = #{logsBatch}
  211. </select>
  212. <select id="qrcodProgressUpdate" resultType="MachineNumberLogs">
  213. SELECT
  214. nl.logs_batch logsBatch,nl.logs_number logsNumber,count(mn.number_batch) as qrCodeNumber,count(mn.number_batch) as completedNumber
  215. FROM
  216. tb_iamberry_user_machine_number_logs nl
  217. LEFT JOIN tb_iamberry_user_machine_number mn ON nl.logs_batch = mn.number_batch
  218. <where>
  219. number_batch in
  220. <foreach collection="array" item="item" index="index" open="(" separator="," close=")">
  221. #{item}
  222. </foreach>
  223. </where>
  224. group by nl.logs_batch
  225. </select>
  226. <!-- 添加机器编号,二维码及用户信息-->
  227. <insert id="addMachineNumberAndUser" parameterType="MachineNumber">
  228. INSERT INTO tb_iamberry_user_machine_number
  229. (number_open_id,number_qrcode,number_barcode,number_batch,number_sales_time,number_status,number_create_time,number_sub_time)
  230. VALUES
  231. (#{numberOpenId},#{numberQrcode},#{numberBarcode},#{numberBatch},#{numberSalesTime},1,NOW(),#{numberSubTime})
  232. </insert>
  233. <insert id="addMachineNumberList" parameterType="ArrayList">
  234. <selectKey resultType="int" keyProperty="numberId" order="AFTER">
  235. SELECT
  236. LAST_INSERT_ID()
  237. </selectKey>
  238. INSERT INTO tb_iamberry_user_machine_number
  239. (
  240. number_open_id,number_qrcode,number_barcode,number_batch,number_sales_time,
  241. number_status,number_create_time,number_sub_time,number_watero,
  242. number_province,number_city,number_district
  243. )
  244. VALUES
  245. <foreach collection="list" item="item" index="index" separator="," >
  246. (
  247. #{item.numberOpenId},#{item.numberQrcode},#{item.numberBarcode},#{item.numberBatch},
  248. #{item.numberSalesTime},#{item.numberStatus},NOW(),NOW(),#{item.numberWatero},
  249. #{item.numberProvince},#{item.numberCity},#{item.numberDistrict}
  250. )
  251. </foreach>
  252. </insert>
  253. </mapper>