SaleQuotationMapper.xml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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.fjhx.sale.mapper.sale.SaleQuotationMapper">
  4. <select id="getPage" resultType="com.fjhx.sale.entity.sale.vo.SaleQuotationVo">
  5. select
  6. *
  7. from sale_quotation sq
  8. ${ew.customSqlSegment}
  9. </select>
  10. <select id="getCount" resultType="java.lang.Integer">
  11. <!-- 查询报价次数(报价审批已通过的)-->
  12. SELECT
  13. COUNT(*)
  14. FROM
  15. sale_quotation
  16. WHERE
  17. buy_corporation_id = #{id} and `status` = 30 and del_flag = 0
  18. GROUP BY
  19. buy_corporation_id
  20. </select>
  21. <select id="getAmount" resultType="com.fjhx.sale.entity.sale.vo.SaleQuotationVo">
  22. SELECT
  23. SUM( amount ) amount,
  24. DATE_FORMAT(create_time,'%Y-%m') time
  25. FROM
  26. sale_quotation
  27. WHERE buy_corporation_id = #{id}
  28. and (DATE_FORMAT(create_time,'%Y-%m')>= #{beginTime} and #{endTime} >= DATE_FORMAT(create_time,'%Y-%m'))
  29. GROUP BY
  30. time
  31. </select>
  32. <select id="saleDetail" resultType="com.fjhx.sale.entity.sale.vo.SaleQuotationVo">
  33. select *
  34. from (
  35. SELECT t1.create_time,
  36. t1.create_user,
  37. IFNULL(t1.advance_ratio, 0) advanceRatio,
  38. t1.amount,
  39. ifnull(ROUND((t1.amount * t1.advance_ratio / 100), 2), 0) advanceCharge,
  40. t1.buy_contact_name,
  41. 10 as type,
  42. t1.buy_corporation_id,
  43. t1.status,
  44. t1.code,
  45. t1.id
  46. FROM sale_quotation t1
  47. UNION
  48. SELECT t1.create_time,
  49. t1.create_user,
  50. IFNULL(t1.advance_ratio, 0) advanceRatio,
  51. t1.amount,
  52. ifnull(ROUND((t1.amount * t1.advance_ratio / 100), 2), 0) advanceCharge,
  53. t1.buy_contact_name,
  54. 20 as type,
  55. t1.buy_corporation_id,
  56. t1.status,
  57. t1.code,
  58. t1.id
  59. FROM contract t1
  60. ) t1
  61. ${ew.customSqlSegment}
  62. </select>
  63. <select id="latestFollowUp" resultType="com.fjhx.sale.entity.sale.vo.SaleQuotationVo">
  64. select t1.*
  65. from ((SELECT id,
  66. amount,
  67. create_time,
  68. NULL AS contractCode,
  69. code,
  70. 10 as type,
  71. NULL AS remark
  72. FROM sale_quotation sq
  73. where sq.buy_corporation_id = #{id})
  74. UNION
  75. (SELECT id,
  76. amount,
  77. create_time,
  78. code as contractCode,
  79. null as code,
  80. 20 as type,
  81. NULL AS remark
  82. FROM contract c
  83. where c.status = 30
  84. and c.buy_corporation_id = #{id})
  85. UNION
  86. (SELECT id,
  87. NULL AS amount, date AS create_time, NULL AS contractCode, null as code, 30 AS type, content AS remark
  88. FROM
  89. customer_follow_records cfr
  90. where cfr.customer_id = #{id}
  91. and cfr.tenant_id = #{tenantId}
  92. and cfr.del_flag = 0)) t1 ${ew.customSqlSegment}
  93. </select>
  94. <select id="saleStatistics" resultType="com.fjhx.sale.entity.sale.vo.SaleQuotationVo">
  95. SELECT
  96. COUNT(*) count,
  97. <!-- 防止出现null,代码报错-->
  98. ifnull(c.`status`,1000) status,
  99. ifnull(DATE_FORMAT(sq.create_time,'%Y-%m'),-1) time
  100. FROM
  101. customer c
  102. left JOIN sale_quotation sq ON sq.buy_corporation_id = c.id
  103. ${ew.customSqlSegment}
  104. </select>
  105. </mapper>