ReportServiceMapper.xml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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.abi.qms.platform.dao.mapper.ReportServiceMapper">
  4. <select id="queryBrandCodeProportion" resultType="com.abi.qms.platform.dao.vo.result.ListBrandCodeReportVO">
  5. SELECT
  6. quer.brand_name brandName,
  7. SUM( quer.qr_number ) qrNumber,
  8. CONCAT( SUM( quer.per ), '', '%' ) percent
  9. FROM
  10. (
  11. SELECT
  12. brand.brand_name brand_name,
  13. package.qr_number qr_number,
  14. ROUND( package.qr_number /( SELECT SUM( e.qr_number ) FROM qr_package AS e ) * 100, 2 ) AS per
  15. FROM
  16. base_brand AS brand
  17. LEFT JOIN base_sku AS sku ON brand.brand_code = sku.brand_code
  18. LEFT JOIN base_material AS material ON material.sku_id = sku.id
  19. LEFT JOIN qr_package AS package ON package.material_id = material.id
  20. <where>
  21. <!-- 1本周 -->
  22. <if test="null != reportReq.value and reportReq.value == 1">
  23. yearweek(date_format(package.generate_time,'%Y-%m-%d')) = yearweek(now())
  24. </if>
  25. <!-- 2本月 -->
  26. <if test="null != reportReq.value and reportReq.value == 2">
  27. and date_format(package.generate_time,'%Y-%m')=date_format(now(),'%Y-%m')
  28. </if>
  29. <if test="null != reportReq.beginTime and null != reportReq.endTime">
  30. and #{reportReq.beginTime} &lt; package.generate_time &lt; #{reportReq.endTime}
  31. </if>
  32. </where>
  33. ORDER BY per DESC
  34. ) AS quer
  35. GROUP BY quer.brand_name
  36. </select>
  37. </mapper>