ContractDocumentaryMapper.xml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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.contract.ContractDocumentaryMapper">
  4. <select id="getPage" resultType="com.fjhx.sale.entity.contract.po.ContractDocumentary">
  5. select
  6. *
  7. from ehsd_documentary cd
  8. ${ew.customSqlSegment}
  9. </select>
  10. <select id="getSumCount" resultType="com.fjhx.sale.entity.contract.po.ContractDocumentary">
  11. SELECT t1.documentaryType,
  12. count(1)AS count
  13. FROM
  14. (
  15. SELECT
  16. t3.documentary_type AS documentaryType
  17. FROM
  18. (
  19. select t1.*, CASE
  20. WHEN t1.purchaseAmountCNY &lt; t1.amountCNY AND t1.sumClaimMoney &lt; t1.amountCNY THEN 10
  21. WHEN t1.purchaseAmountCNY &lt; t1.amountCNY AND t1.sumClaimMoney >= t1.amountCNY THEN 20
  22. WHEN t1.purchaseAmountCNY >= t1.amountCNY AND t1.sumClaimMoney &lt; t1.amountCNY THEN 30
  23. WHEN t1.purchaseAmountCNY >= t1.amountCNY AND t1.sumClaimMoney >= t1.amountCNY THEN 40
  24. ELSE 88
  25. END AS orderStatus
  26. from (
  27. SELECT
  28. (
  29. SELECT
  30. count ( 1 )
  31. FROM
  32. ehsd_purchase p
  33. LEFT JOIN ehsd_documentary pd ON p.id = pd.business_id
  34. WHERE
  35. p.data_resource_id = t1.id
  36. AND pd.documentary_type = #{documentaryType}
  37. ) AS documentaryCount, t1.*, ( SELECT IFNULL(SUM (amount*rate), 0) FROM ehsd_purchase WHERE `status` = 30 AND data_resource_id = t1.id) AS purchaseAmountCNY, IFNULL( t1.amount * t1.rate, 0 ) AS amountCNY, (
  38. SELECT
  39. IFNULL( SUM ( IFNULL( cc.money, 0 ) * IFNULL( arw.rate, 1 )), 0 )
  40. FROM
  41. claim_contract cc
  42. LEFT JOIN claim c ON cc.claim_id = c.id
  43. LEFT JOIN account_running_water arw ON c.business_id = arw.id
  44. WHERE
  45. cc.contract_id = t1.id
  46. ) AS sumClaimMoney, cus.nick_name as salesmanName
  47. FROM
  48. contract t1
  49. left join customer cu on t1.buy_corporation_id = cu.id
  50. left join sys_user cus on cu.user_id = cus.user_id
  51. WHERE
  52. t1.`status` = 30
  53. ) t1
  54. ) t1
  55. RIGHT JOIN ehsd_purchase t2 ON t1.id = t2.data_resource_id
  56. RIGHT JOIN ehsd_documentary t3 ON t2.id = t3.business_id
  57. ${ew.customSqlSegment}
  58. ) t1
  59. GROUP BY t1.documentaryType
  60. </select>
  61. </mapper>