AccountRunningWaterMapper.xml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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.account.mapper.account.AccountRunningWaterMapper">
  4. <!--这段代码正常是不需要跨库查询的。但是一开始封装包的时候分装的不合理,pom里面包是不能互相引用的。account包继承sale包会出现依赖冲突,目前不好改动,只能跨库查询-->
  5. <select id="getPage" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">
  6. SELECT arw.*
  7. , if(arw.type = 40, (select GROUP_CONCAT(c.`code`)
  8. from tax_refund_details trd
  9. left join bytesailing_sale.contract c on c.id = trd.contract_id
  10. where trd.account_running_water_id = arw.id),
  11. (SELECT IF
  12. (t1.type = 20, GROUP_CONCAT(c.`code`), GROUP_CONCAT(t4.`code`)) contractCodes
  13. FROM account_payment t1
  14. LEFT JOIN account_request_funds t2 ON t1.business_id = t2.id
  15. LEFT JOIN account_request_funds_detail t3 ON t2.id = t3.account_request_funds_id
  16. LEFT JOIN `bytesailing_sale`.contract t4 ON t3.contract_id = t4.id
  17. --采购付款来源
  18. LEFT JOIN bytesailing_purchase.pay pa ON t1.business_id = pa.id
  19. LEFT JOIN bytesailing_purchase.pay_detail pad
  20. ON pad.pay_id = pa.id
  21. LEFT JOIN bytesailing_purchase.purchase p ON pad.purchase_id = p.id
  22. LEFT JOIN bytesailing_sale.contract c ON p.data_resource_id = c.id
  23. WHERE
  24. t1.id = arw.business_id ) )AS contractCodes
  25. , if(arw.type = 40, (select GROUP_CONCAT(trd.contract_id)
  26. from tax_refund_details trd
  27. where trd.account_running_water_id = arw.id), (SELECT IF
  28. (t1.type = 20,
  29. GROUP_CONCAT(c.id),
  30. GROUP_CONCAT(t4.id)) contractIds
  31. FROM account_payment t1
  32. LEFT JOIN account_request_funds t2
  33. ON t1.business_id = t2.id
  34. LEFT JOIN account_request_funds_detail t3 ON t2.id = t3.account_request_funds_id
  35. LEFT JOIN `bytesailing_sale`.contract t4
  36. ON t3.contract_id = t4.id
  37. --采购付款来源
  38. LEFT JOIN bytesailing_purchase.pay pa ON t1.business_id = pa.id
  39. LEFT JOIN bytesailing_purchase.pay_detail pad ON pad.pay_id = pa.id
  40. LEFT JOIN bytesailing_purchase.purchase p ON pad.purchase_id = p.id
  41. LEFT JOIN bytesailing_sale.contract c ON p.data_resource_id = c.id
  42. WHERE
  43. t1.id = arw.business_id )) AS contractIds
  44. , am.alias accountManagementName
  45. , am.corporation_id
  46. FROM account_running_water arw
  47. LEFT JOIN account_management am
  48. ON arw.account_management_id = am.id
  49. ${ew.customSqlSegment}
  50. </select>
  51. <select id="getDetail" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">
  52. select
  53. arw.id,
  54. arw.account_management_id,
  55. arw.status,
  56. arw.business_id,
  57. arw.amount,
  58. arw.currency,
  59. arw.name,
  60. arw.received,
  61. arw.opening_bank,
  62. arw.account_opening,
  63. arw.transaction_time,
  64. arw.remarks,
  65. arw.create_user,
  66. arw.create_time,
  67. arw.update_user,
  68. arw.update_time,
  69. am.name accountManagementName,
  70. am.corporation_id
  71. from account_running_water arw
  72. left join account_management am on arw.account_management_id = am.id
  73. where arw.id = #{id}
  74. </select>
  75. <select id="getList" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">
  76. select
  77. arw.id,
  78. arw.account_management_id,
  79. arw.status,
  80. arw.business_id,
  81. IF(arw.status =20,CONCAT("-",arw.amount),arw.amount) amount,
  82. arw.currency,
  83. arw.name,
  84. arw.received,
  85. arw.opening_bank,
  86. arw.account_opening,
  87. arw.transaction_time,
  88. arw.remarks,
  89. arw.create_user,
  90. arw.create_time,
  91. arw.update_user,
  92. arw.update_time,
  93. am.alias accountManagementName
  94. from account_running_water arw
  95. left join account_management am on arw.account_management_id = am.id
  96. ${ew.customSqlSegment}
  97. </select>
  98. <select id="getAccountRunningWaterAmount" resultType="com.fjhx.account.entity.account.po.AccountRunningWater">
  99. SELECT arw.`status`,
  100. amount
  101. FROM account_running_water arw ${ew.customSqlSegment}
  102. LIMIT #{size}
  103. </select>
  104. <select id="getTotal" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">
  105. SELECT
  106. arw.`status`,
  107. arw.currency,
  108. sum( ifnull(arw.amount,0) ) as amount
  109. FROM
  110. account_running_water arw
  111. ${ew.customSqlSegment}
  112. </select>
  113. </mapper>