AccountRunningWaterMapper.xml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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
  8. (
  9. arw.type = 40,
  10. (SELECT GROUP_CONCAT(c.`code`)
  11. FROM tax_refund_details trd
  12. LEFT JOIN bytesailing_sale.contract c ON c.id = trd.contract_id
  13. WHERE trd.account_running_water_id = arw.id),
  14. IF
  15. (
  16. arw.type = 30, (SELECT GROUP_CONCAT(clc.contract_code)
  17. FROM bytesailing_sale.claim cl
  18. LEFT JOIN bytesailing_sale.claim_contract clc ON clc.claim_id = cl.id
  19. WHERE cl.business_id = arw.id),
  20. (SELECT IF
  21. (
  22. t1.type = 20,
  23. (SELECT GROUP_CONCAT(c.`code`)
  24. FROM bytesailing_purchase.pay pa
  25. LEFT JOIN bytesailing_purchase.pay_detail pad ON pad.pay_id = pa.id
  26. LEFT JOIN bytesailing_purchase.purchase p ON pad.purchase_id = p.id
  27. LEFT JOIN bytesailing_sale.contract c ON p.data_resource_id = c.id
  28. WHERE
  29. t1.business_id = pa.id ),(
  30. SELECT
  31. GROUP_CONCAT( t4.`code` )
  32. FROM
  33. account_request_funds t2
  34. LEFT JOIN account_request_funds_detail t3 ON t2.id = t3.account_request_funds_id
  35. LEFT JOIN `bytesailing_sale`.contract t4 ON t3.contract_id = t4.id
  36. WHERE
  37. t1.business_id = t2.id
  38. )
  39. ) contractCodes
  40. FROM account_payment t1
  41. WHERE t1.id = arw.business_id)
  42. )
  43. ) AS contractCodes,
  44. IF
  45. (
  46. arw.type = 40,
  47. (SELECT GROUP_CONCAT(c.`id`)
  48. FROM tax_refund_details trd
  49. LEFT JOIN bytesailing_sale.contract c ON c.id = trd.contract_id
  50. WHERE trd.account_running_water_id = arw.id),
  51. IF
  52. (
  53. arw.type = 30, (SELECT GROUP_CONCAT(clc.contract_id)
  54. FROM bytesailing_sale.claim cl
  55. LEFT JOIN bytesailing_sale.claim_contract clc ON clc.claim_id = cl.id
  56. WHERE cl.business_id = arw.id),
  57. (SELECT IF
  58. (
  59. t1.type = 20,
  60. (SELECT GROUP_CONCAT(c.`id`)
  61. FROM bytesailing_purchase.pay pa
  62. LEFT JOIN bytesailing_purchase.pay_detail pad ON pad.pay_id = pa.id
  63. LEFT JOIN bytesailing_purchase.purchase p ON pad.purchase_id = p.id
  64. LEFT JOIN bytesailing_sale.contract c ON p.data_resource_id = c.id
  65. WHERE
  66. t1.business_id = pa.id ),(
  67. SELECT
  68. GROUP_CONCAT( t4.`id` )
  69. FROM
  70. account_request_funds t2
  71. LEFT JOIN account_request_funds_detail t3 ON t2.id = t3.account_request_funds_id
  72. LEFT JOIN `bytesailing_sale`.contract t4 ON t3.contract_id = t4.id
  73. WHERE
  74. t1.business_id = t2.id
  75. )
  76. ) contractCodes
  77. FROM account_payment t1
  78. WHERE t1.id = arw.business_id)
  79. )
  80. ) AS contractIds,
  81. am.alias accountManagementName,
  82. am.corporation_id
  83. FROM account_running_water arw
  84. LEFT JOIN account_management am ON arw.account_management_id = am.id
  85. ${ew.customSqlSegment}
  86. </select>
  87. <select id="getDetail" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">
  88. select
  89. arw.id,
  90. arw.account_management_id,
  91. arw.status,
  92. arw.business_id,
  93. arw.amount,
  94. arw.currency,
  95. arw.name,
  96. arw.received,
  97. arw.opening_bank,
  98. arw.account_opening,
  99. arw.transaction_time,
  100. arw.remarks,
  101. arw.create_user,
  102. arw.create_time,
  103. arw.update_user,
  104. arw.update_time,
  105. am.name accountManagementName,
  106. am.corporation_id,
  107. ifnull(arw.is_transaction, 0) isTransaction,
  108. arw.transaction_dept_id
  109. from account_running_water arw
  110. left join account_management am on arw.account_management_id = am.id
  111. where arw.id = #{id}
  112. </select>
  113. <select id="getList" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">
  114. select
  115. arw.id,
  116. arw.account_management_id,
  117. arw.status,
  118. arw.business_id,
  119. IF(arw.status =20,CONCAT("-",arw.amount),arw.amount) amount,
  120. arw.currency,
  121. arw.name,
  122. arw.received,
  123. arw.opening_bank,
  124. arw.account_opening,
  125. arw.transaction_time,
  126. arw.remarks,
  127. arw.create_user,
  128. arw.create_time,
  129. arw.update_user,
  130. arw.update_time,
  131. am.alias accountManagementName
  132. from account_running_water arw
  133. left join account_management am on arw.account_management_id = am.id
  134. ${ew.customSqlSegment}
  135. </select>
  136. <select id="getAccountRunningWaterAmount" resultType="com.fjhx.account.entity.account.po.AccountRunningWater">
  137. SELECT arw.`status`,
  138. amount
  139. FROM account_running_water arw ${ew.customSqlSegment}
  140. LIMIT #{size}
  141. </select>
  142. </mapper>