ProductMarketDataMapper.xml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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="cn.cslg.pas.mapper.ProductMarketDataMapper">
  4. <!--namespace根据自己需要创建的的mapper的路径和名称填写-->
  5. <select id="getProductMarketData" resultType="cn.cslg.pas.common.vo.business.ProductMarketDataVO">
  6. select id, product_id as productId, sale_time as saleTime, sale_area as saleArea, sale_count as saleCount,
  7. sale_money as saleMoney, custom_license_rate as customLicenseRate, create_id as createId,create_time as
  8. createTime from product_market_data as pmd
  9. <if test="sql1!=''">
  10. where ${sql1}
  11. </if>
  12. ${sql2} ${sql3}
  13. </select>
  14. <select id="getProductMarketDataCount" resultType="java.lang.Long">
  15. select count(*) from product_market_data as pmd
  16. <if test="sql!=''">
  17. where ${sql}
  18. </if>
  19. </select>
  20. <select id="getGroups" resultType="cn.cslg.pas.common.vo.GroupMarketDataVO">
  21. select ${selectField} as marketDate,sum(sale_money) as saleMoneyTotal ,CAST(sum(custom_license_rate * sale_money)
  22. AS DECIMAL (19, 2)) AS customLicenseMoney from ${tableName}
  23. <if test="sqls.get(0)!=''">
  24. where ${sqls.get(0)}
  25. </if>
  26. group by ${groupField} ${sqls.get(1)} ${sqls.get(2)}
  27. </select>
  28. <select id="getPartGroups" resultType="cn.cslg.pas.common.vo.GroupMarketDataVO">
  29. select pmd.product_id as productId, ${selectField} as marketDate,sum(sale_money) as saleMoneyTotal ,CAST(sum(custom_license_rate * sale_money)
  30. AS DECIMAL (19, 2)) AS customLicenseMoney from ${tableName}
  31. <if test="sqls.get(0)!=''">
  32. where ${sqls.get(0)}
  33. </if>
  34. group by ${groupField},pmd.product_id ${sqls.get(1)} ${sqls.get(2)}
  35. </select>
  36. <select id="getGroupsCount" resultType="java.lang.Long">
  37. select count(*) from (select ${selectField} from ${tableName}
  38. <if test="sqls.get(0)!=''">
  39. where ${sqls.get(0)}
  40. </if>
  41. group by ${groupField}
  42. </select>
  43. <select id="selectSaleMonthList" resultType="cn.cslg.pas.common.dto.es.SelectValueCurveDTO">
  44. select sale_area as saleArea,
  45. sum(sale_money) as saleMoney,
  46. DATE_FORMAT(sale_time, '%Y-%m') as saleTime,
  47. sum(sale_money*custom_license_rate) as customLicense
  48. from pas_prod2.product_market_data
  49. <where>
  50. <if test="productIds != null and productIds.size > 0">
  51. product_id in
  52. <foreach collection="productIds" item="productId" index="index" open="(" separator="," close=")">
  53. #{productId}
  54. </foreach>
  55. </if>
  56. </where>
  57. group by saleTime;
  58. </select>
  59. <select id="selectSaleYearList" resultType="cn.cslg.pas.common.dto.es.SelectValueCurveDTO">
  60. select sale_area as saleArea,
  61. sum(sale_money) as saleMoney,
  62. CONCAT(DATE_FORMAT(sale_time, '%Y'),'年') as saleTime,
  63. sum(sale_money*custom_license_rate) as customLicense
  64. from pas_prod2.product_market_data
  65. <where>
  66. <if test="productIds != null and productIds.size > 0">
  67. product_id in
  68. <foreach collection="productIds" item="productId" index="index" open="(" separator="," close=")">
  69. #{productId}
  70. </foreach>
  71. </if>
  72. </where>
  73. group by saleTime;
  74. </select>
  75. <select id="selectSaleQuarterList" resultType="cn.cslg.pas.common.dto.es.SelectValueCurveDTO">
  76. select sale_area as saleArea,
  77. sum(sale_money) as saleMoney,
  78. CONCAT(YEAR(sale_time),'年第',quarter(sale_time),'季度') as saleTime,
  79. sum(sale_money*custom_license_rate) as customLicense
  80. from pas_prod2.product_market_data
  81. <where>
  82. <if test="productIds != null and productIds.size > 0">
  83. product_id in
  84. <foreach collection="productIds" item="productId" index="index" open="(" separator="," close=")">
  85. #{productId}
  86. </foreach>
  87. </if>
  88. </where>
  89. group by saleTime;
  90. </select>
  91. </mapper>