QrPackageMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  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.abi.qms.platform.dao.mapper.QrPackageMapper">
  6. <!-- 通用查询映射结果 -->
  7. <resultMap id="BaseResultMap" type="com.abi.qms.platform.dao.entity.QrPackage">
  8. <id column="ID" property="id"/>
  9. <result column="MATERIAL_ID" property="materialId"/>
  10. <result column="FACTORY_COVER_ID" property="factoryCoverId"/>
  11. <result column="FACTORY_BEER_ID" property="factoryBeerId"/>
  12. <result column="STANDBY_RATIO" property="standbyRatio"/>
  13. <result column="BOX_CODE_FORMAT_ID" property="boxCodeFormatId"/>
  14. <result column="SAP_ORDER_NO" property="sapOrderNo"/>
  15. <result column="QR_NUMBER" property="qrNumber"/>
  16. <result column="APPLY_STATUS" property="applyStatus"/>
  17. <result column="GENERATE_STATUS" property="generateStatus"/>
  18. <result column="GENERATE_TIME" property="generateTime"/>
  19. <result column="REASON_APPLY" property="reasonApply"/>
  20. <result column="DOWNLOAD_PATH" property="downloadPath"/>
  21. <result column="IS_DOWNLOAD" property="isDownload"/>
  22. <result column="DOWNLOAD_TIME" property="downloadTime"/>
  23. <result column="CREATE_TIME" property="createTime"/>
  24. <result column="CREATE_BY" property="createBy"/>
  25. <result column="UPDATE_TIME" property="updateTime"/>
  26. <result column="UPDATE_BY" property="updateBy"/>
  27. <result column="IS_DELETE" property="isDelete"/>
  28. <result column="ZIP_PASSWORD" property="zipPassword"/>
  29. <result column="QR_TYPE" property="qrType"/>
  30. <result column="FACTORY_COVER_LEVEL_TWO_ID" property="factoryCoverLevelTwoId"/>
  31. <result column="INVALID" property="invalid"/>
  32. <result column="generate_err_stack_info" property="generateErrStackInfo"/>
  33. </resultMap>
  34. <select id="listQrPackage" resultType="com.abi.qms.platform.dao.vo.result.QrPackageVO">
  35. SELECT
  36. qp.id,
  37. qp.material_id,
  38. qp.factory_cover_id,
  39. qp.factory_cover_level_two_id,
  40. qp.box_code_format_id,
  41. qp.sap_order_no,
  42. qp.booking_order,
  43. qp.qr_number,
  44. qp.apply_status,
  45. qp.is_download,
  46. qp.create_time,
  47. qp.update_time,
  48. qp.create_by,
  49. qp.qr_type,
  50. ifnull(bm.material_name,bo.material_name) as material_name,
  51. bf.factory_name AS factory_cover_name,
  52. bcf.name AS box_code_format_name,
  53. ui.user_name AS create_by_name,
  54. case when qp.invalid=0 then qp.generate_status else 9 end as invalid
  55. FROM
  56. qr_package qp
  57. LEFT JOIN qr_box_code_format bcf ON qp.box_code_format_id = bcf.id
  58. LEFT JOIN base_material bm ON qp.material_id = bm.id
  59. LEFT JOIN base_factory bf ON qp.factory_cover_id = bf.id
  60. LEFT JOIN qr_package_booking_order bo on bo.booking_order=qp.booking_order and bo.is_delete=0
  61. LEFT JOIN user_info ui ON qp.create_by = ui.id
  62. <where>
  63. qp.is_delete = 0
  64. <if test="param.id != null">
  65. AND qp.id = #{param.id}
  66. </if>
  67. <if test="param.materialId != null">
  68. AND qp.material_id = #{param.materialId}
  69. </if>
  70. <if test="param.materialName != null and param.materialName != '' ">
  71. and
  72. (bm.material_name like concat('%',#{param.materialName},'%')
  73. or
  74. bo.material_name like concat('%',#{param.materialName},'%'))
  75. </if>
  76. <if test="param.qrType != null">
  77. AND qp.qr_type = #{param.qrType}
  78. </if>
  79. <if test="param.sapOrderNo != null and param.sapOrderNo != ''">
  80. AND qp.sap_order_no like concat('%',#{param.sapOrderNo},'%')
  81. </if>
  82. <if test="param.bookingOrder != null and param.bookingOrder != ''">
  83. AND qp.booking_order like concat('%',#{param.bookingOrder},'%')
  84. </if>
  85. <if test="param.factoryCoverId != null">
  86. AND (qp.factory_cover_id = #{param.factoryCoverId} or qp.factory_cover_level_two_id =
  87. #{param.factoryCoverId})
  88. </if>
  89. <if test="param.applyStatus != null">
  90. AND qp.apply_status = #{param.applyStatus}
  91. </if>
  92. </where>
  93. order by qp.update_time desc
  94. </select>
  95. <select id="selectQrPackageDetailById" resultType="com.abi.qms.platform.dao.vo.result.QrPackageVO">
  96. SELECT
  97. qp.id,
  98. qp.material_id,
  99. qp.material_code,
  100. qp.factory_cover_id,
  101. qp.factory_beer_id,
  102. qp.standby_ratio,
  103. qp.reason_apply,
  104. qp.box_code_format_id,
  105. qp.sap_order_no,
  106. qp.booking_order,
  107. qp.qr_number,
  108. qp.apply_status,
  109. qp.generate_status,
  110. qp.download_path,
  111. qp.is_download,
  112. qp.create_time,
  113. qp.create_by,
  114. qp.update_time,
  115. qp.update_by,
  116. qp.qr_type,
  117. qp.file_verify_md5,
  118. ba.id as active_id,
  119. ba.active_code,
  120. ba.active_name,
  121. ba.active_url,
  122. ba.active_type,
  123. ba.begin_time,
  124. ba.end_time,
  125. bcf.name as box_code_format_name,
  126. f_cover.factory_name as factory_cover_name,
  127. f_cover.is_first_factory,
  128. f_beer.factory_name as factory_beer_name,
  129. f_cover_l2.factory_name as factory_cover_level_two_name,
  130. f_cover_l2.id as factory_cover_level_two_id,
  131. qr.id AS qr_repertory_id,
  132. qr.name AS qr_repertory_name,
  133. qr.type AS qr_repertory_type,
  134. IFNULL(book_o.material_name,material.material_name) as material_name,
  135. IFNULL(book_o.purchase_count,sap_item.purchase_count) as purchase_count
  136. FROM
  137. qr_package qp
  138. LEFT JOIN qr_box_code_format bcf ON qp.box_code_format_id = bcf.id
  139. LEFT JOIN qr_repertory qr ON bcf.qr_repertory_id = qr.id
  140. LEFT JOIN base_material material ON qp.material_id = material.id
  141. LEFT JOIN base_active ba ON material.active_id = ba.id
  142. LEFT JOIN base_factory f_cover ON qp.factory_cover_id = f_cover.id
  143. LEFT JOIN base_factory f_beer ON qp.factory_beer_id = f_beer.id
  144. LEFT JOIN base_factory f_cover_l2 ON qp.factory_cover_level_two_id = f_cover_l2.id and f_cover_l2.factory_type=3
  145. LEFT JOIN qr_package_sap_order_item sap_item on sap_item.sap_order_no=qp.sap_order_no and sap_item.sap_material_id=material.material_code and sap_item.is_delete=0
  146. LEFT JOIN qr_package_booking_order book_o on book_o.booking_order=qp.booking_order and book_o.is_delete=0
  147. WHERE qp.id = #{id}
  148. </select>
  149. <select id="listQrPackageDownloadRecord" resultType="com.abi.qms.platform.dao.vo.result.QrPackageDownloadRecordVO">
  150. select
  151. d.create_time,
  152. ui.user_name AS create_by_name
  153. FROM qr_package_download_record d
  154. LEFT JOIN user_info ui ON ui.id = d.create_by
  155. WHERE
  156. d.qr_package_id = #{qrPackageId}
  157. and is_delete = 0
  158. </select>
  159. <select id="listQrBatch" resultType="com.abi.qms.platform.dao.vo.result.QrPackageBatchVO">
  160. SELECT
  161. batch.id,
  162. batch.package_id,
  163. batch.batch_number,
  164. batch.batch_qr_number
  165. FROM
  166. qr_package_batch batch
  167. WHERE
  168. batch.package_id = #{qrPackageId}
  169. and is_delete = 0
  170. </select>
  171. <select id="getQrSingleCheckDetailById" resultType="com.abi.qms.platform.dao.vo.result.QrSingleCheckVO">
  172. SELECT
  173. qp.id,
  174. qp.sap_order_no,
  175. qp.qr_type,
  176. qp.generate_time,
  177. bm.material_name,
  178. bfa.factory_name AS factory_cover_name,
  179. bfb.factory_name AS factory_beer_name,
  180. bfc.factory_name AS factory_cover_level_two_name,
  181. bm.active_id
  182. FROM
  183. qr_package qp
  184. LEFT JOIN base_material bm ON qp.material_id = bm.id
  185. LEFT JOIN base_factory bfa ON qp.factory_cover_id = bfa.id
  186. LEFT JOIN base_factory bfb ON qp.factory_beer_id = bfb.id
  187. LEFT JOIN base_factory bfc ON qp.factory_cover_level_two_id = bfc.id
  188. WHERE
  189. qp.id = #{id}
  190. </select>
  191. <select id="listWxQrPackage" resultType="com.abi.qms.platform.dao.vo.result.QrPackageWxVO">
  192. select qp.id as packageId,
  193. sum(if(qbm.active_status=1,1,0)) as active_box_count,
  194. count(1) as total_box_count,
  195. ba.active_name,
  196. bm.material_name
  197. from qr_package qp
  198. inner join qr_box_mapping qbm on qp.id = qbm.package_id
  199. inner join base_material bm on bm.id = qp.material_id
  200. left join base_active ba on ba.id = bm.active_id
  201. <where>
  202. <if test="req.queryParam != null and req.queryParam != ''">
  203. AND (qp.id like binary concat('%',#{req.queryParam},'%')
  204. or ba.active_name like binary concat('%',#{req.queryParam},'%')
  205. or bm.material_name like binary concat('%',#{req.queryParam},'%'))
  206. </if>
  207. </where>
  208. group by qp.id
  209. order by qp.create_time desc
  210. </select>
  211. <select id="getWxQrPackageDetail" resultType="com.abi.qms.platform.dao.vo.result.WxQrPackageDetailVO">
  212. select qp.id as packageId,ba.id as activeId,ba.active_name,
  213. ba.active_type,bm.material_name,qp.sap_order_no,
  214. sum(if(qbm.active_status=1,1,0)) as active_box_count,
  215. count(1) as total_box_count,
  216. case when qp.qr_type = 2 then qp.qr_number else 0 end as capNum
  217. from qr_package qp
  218. inner join qr_box_mapping qbm on qp.id=qbm.package_id
  219. inner join base_material bm on bm.id = qp.material_id
  220. left join base_active ba on ba.id =bm.active_id
  221. <where>
  222. <if test="req.packageId != null and req.packageId != ''">
  223. qp.id = #{req.packageId}
  224. </if>
  225. </where>
  226. group by qp.id
  227. </select>
  228. <!--6.03已废弃-->
  229. <!--通过码活动id查询关联码包列表-->
  230. <!-- <select id="listPackageById" resultType="com.abi.qms.platform.dao.vo.result.ActivePackageVO">-->
  231. <!-- select-->
  232. <!-- qp.id as packageId,-->
  233. <!-- qp.qr_type,-->
  234. <!-- bb.brand_name,-->
  235. <!-- bb.parent_brand_name,-->
  236. <!-- qp.qr_number-->
  237. <!-- from qr_package qp-->
  238. <!-- inner join base_material bm on bm.id=qp.material_id-->
  239. <!-- inner join base_brand bb on bb.brand_code=bs.sub_brand_code-->
  240. <!-- left join base_active_qr_package_mapping baqpm on baqpm.qr_package_id=qp.id-->
  241. <!-- left join base_active ba on ba.id = baqpm.active_id-->
  242. <!-- where ba.id = #{id}-->
  243. <!-- </select>-->
  244. <!--6.03已废弃-->
  245. <!--&lt;!&ndash;通过品牌code查询关联码包列表&ndash;&gt;-->
  246. <!--<select id="listPackageByBrandCode" resultType="com.abi.qms.platform.dao.vo.result.PackageActiveSearchVO">-->
  247. <!--select-->
  248. <!--qp.id as packageId,-->
  249. <!--qp.qr_type,-->
  250. <!--bs.sku_name,-->
  251. <!--bb.brand_name,-->
  252. <!--bb.parent_brand_name,-->
  253. <!--qp.qr_number,-->
  254. <!--ba.active_name,-->
  255. <!--(CASE WHEN ba.active_name IS NULL THEN '0' ELSE '1' END) AS is_join_active-->
  256. <!--from qr_package qp-->
  257. <!--inner join base_material bm on bm.id=qp.material_id-->
  258. <!--inner join base_sku bs on bs.id=bm.sku_id-->
  259. <!--inner join base_brand bb on bb.brand_code=bs.sub_brand_code-->
  260. <!--left join base_active_qr_package_mapping baqpm on baqpm.qr_package_id=qp.id-->
  261. <!--left join base_active ba on ba.id = baqpm.active_id-->
  262. <!--where-->
  263. <!--bb.brand_code IN(-->
  264. <!--<foreach collection="param.brandCodeList" separator="," item="item">-->
  265. <!--#{item}-->
  266. <!--</foreach>-->
  267. <!--)-->
  268. <!--and qp.apply_status = 1-->
  269. <!--<if test="param.activeId != null">-->
  270. <!--AND ba.id is null or ba.id != #{param.activeId}-->
  271. <!--</if>-->
  272. <!--<if test="param.packageId != null">-->
  273. <!--AND qp.id = {param.packageId}-->
  274. <!--</if>-->
  275. <!--<if test="param.skuName != null and param.skuName != ''">-->
  276. <!--AND bs.sku_name like concat('%',#{param.skuName},'%')-->
  277. <!--</if>-->
  278. <!--<if test="param.qrType != null">-->
  279. <!--AND qp.qr_type = #{param.qrType}-->
  280. <!--</if>-->
  281. <!--and qp.qr_type = 2-->
  282. <!--and bb.is_delete = 0-->
  283. <!--order by qp.generate_time desc-->
  284. <!--</select>-->
  285. <!--&lt;!&ndash;通过码活动id查询关联码包列表&ndash;&gt;-->
  286. <!--<select id="listPackageByActiveApplyId" resultType="com.abi.qms.platform.dao.vo.result.ActiveModifyApplyPackageVO">-->
  287. <!--select-->
  288. <!--qp.id as packageId,-->
  289. <!--qp.qr_type,-->
  290. <!--bs.sku_name,-->
  291. <!--bb.brand_name,-->
  292. <!--bb.parent_brand_name,-->
  293. <!--qp.qr_number,-->
  294. <!--IFNULL(bamaqpm.modify_type, 3) modify_type-->
  295. <!--from qr_package qp-->
  296. <!--inner join base_material bm on bm.id=qp.material_id-->
  297. <!--inner join base_sku bs on bs.id=bm.sku_id-->
  298. <!--inner join base_brand bb on bb.brand_code=bs.sub_brand_code-->
  299. <!--left join base_active_qr_package_mapping baqpm on baqpm.qr_package_id=qp.id-->
  300. <!--left join base_active ba on ba.id = baqpm.active_id-->
  301. <!--left join base_active_modify_apply bama on bama.active_id = ba.id and bama.is_delete = 0-->
  302. <!--left join base_active_modify_apply_qr_package_mapping bamaqpm on bamaqpm.apply_id=bama.id and bamaqpm.qr_package_id = qp.id and bamaqpm.is_delete = 0-->
  303. <!--where ba.id = #{activeId}-->
  304. <!--ORDER BY modify_type ASC-->
  305. <!--</select>-->
  306. </mapper>