CrmStatisticsPerformanceMapper.xml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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.iocoder.yudao.module.crm.dal.mysql.statistics.CrmStatisticsPerformanceMapper">
  4. <select id="selectContractCountPerformance"
  5. resultType="cn.iocoder.yudao.module.crm.controller.admin.statistics.vo.performance.CrmStatisticsPerformanceRespVO">
  6. SELECT
  7. DATE_FORMAT(order_date, '%Y%m') AS time,
  8. COUNT(1) AS currentMonthCount
  9. FROM crm_contract
  10. WHERE deleted = 0
  11. AND audit_status = ${@cn.iocoder.yudao.module.crm.enums.common.CrmAuditStatusEnum@APPROVE.status}
  12. AND owner_user_id in
  13. <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
  14. #{userId}
  15. </foreach>
  16. AND order_date between #{times[0],javaType=java.time.LocalDateTime} and
  17. #{times[1],javaType=java.time.LocalDateTime}
  18. GROUP BY time
  19. </select>
  20. <select id="selectContractPricePerformance"
  21. resultType="cn.iocoder.yudao.module.crm.controller.admin.statistics.vo.performance.CrmStatisticsPerformanceRespVO">
  22. SELECT
  23. DATE_FORMAT(order_date, '%Y%m') AS time,
  24. IFNULL(SUM(total_price), 0) AS currentMonthCount
  25. FROM crm_contract
  26. WHERE deleted = 0
  27. AND audit_status = ${@cn.iocoder.yudao.module.crm.enums.common.CrmAuditStatusEnum@APPROVE.status}
  28. AND owner_user_id in
  29. <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
  30. #{userId}
  31. </foreach>
  32. AND order_date between #{times[0],javaType=java.time.LocalDateTime} and
  33. #{times[1],javaType=java.time.LocalDateTime}
  34. GROUP BY time
  35. </select>
  36. <select id="selectReceivablePricePerformance"
  37. resultType="cn.iocoder.yudao.module.crm.controller.admin.statistics.vo.performance.CrmStatisticsPerformanceRespVO">
  38. SELECT
  39. DATE_FORMAT(return_time, '%Y%m') AS time,
  40. IFNULL(SUM(price), 0) AS currentMonthCount
  41. FROM crm_receivable
  42. WHERE deleted = 0
  43. AND audit_status = ${@cn.iocoder.yudao.module.crm.enums.common.CrmAuditStatusEnum@APPROVE.status}
  44. AND owner_user_id in
  45. <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
  46. #{userId}
  47. </foreach>
  48. AND return_time between #{times[0],javaType=java.time.LocalDateTime} and
  49. #{times[1],javaType=java.time.LocalDateTime}
  50. GROUP BY time
  51. </select>
  52. </mapper>