SaleQuotationMapper.xml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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 (SELECT t1.create_time,
  35. t1.create_user,
  36. IFNULL(t1.advance_ratio, 0) advanceRatio,
  37. t1.amount,
  38. ifnull(ROUND((t1.amount * t1.advance_ratio / 100), 2), 0) advanceCharge,
  39. t1.buy_contact_name,
  40. 10 as type,
  41. t1.buy_corporation_id,
  42. t1.status
  43. FROM sale_quotation t1
  44. UNION
  45. SELECT t1.create_time,
  46. t1.create_user,
  47. IFNULL(t1.advance_ratio, 0) advanceRatio,
  48. t1.amount,
  49. ifnull(ROUND((t1.amount * t1.advance_ratio / 100), 2), 0) advanceCharge,
  50. t1.buy_contact_name,
  51. 20 as type,
  52. t1.buy_corporation_id,
  53. t1.status
  54. FROM contract t1) t1
  55. ${ew.customSqlSegment}
  56. </select>
  57. <select id="latestFollowUp" resultType="com.fjhx.sale.entity.sale.vo.SaleQuotationVo">
  58. select t1.*
  59. from ((SELECT id,
  60. amount,
  61. create_time,
  62. NULL AS contractCode,
  63. code,
  64. 10 as type,
  65. NULL AS remark
  66. FROM sale_quotation sq
  67. where sq.buy_corporation_id = #{id})
  68. UNION
  69. (SELECT id,
  70. amount,
  71. create_time,
  72. code as contractCode,
  73. null as code,
  74. 20 as type,
  75. NULL AS remark
  76. FROM contract c
  77. where c.status = 30
  78. and c.buy_corporation_id = #{id})
  79. UNION
  80. (SELECT id,
  81. NULL AS amount, date AS create_time, NULL AS contractCode, null as code, 30 AS type, content AS remark
  82. FROM
  83. bytesailing_customer.customer_follow_records cfr
  84. where cfr.customer_id = #{id}
  85. and cfr.tenant_id = #{tenantId}
  86. and cfr.del_flag = 0)) t1 ${ew.customSqlSegment}
  87. </select>
  88. <select id="saleStatistics" resultType="com.fjhx.sale.entity.sale.vo.SaleQuotationVo">
  89. SELECT
  90. COUNT(*) count,
  91. <!-- 防止出现null,代码报错-->
  92. ifnull(c.`status`,1000) status,
  93. ifnull(DATE_FORMAT(sq.create_time,'%Y-%m'),-1) time
  94. FROM
  95. bytesailing_customer.customer c
  96. left JOIN sale_quotation sq ON sq.buy_corporation_id = c.id
  97. ${ew.customSqlSegment}
  98. </select>
  99. </mapper>