FinanceClaimMapper.xml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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.dayou.mapper.FinanceClaimMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.entity.FinanceClaim">
  6. <result column="id" property="id" />
  7. <result column="created" property="created" />
  8. <result column="deleted" property="deleted" />
  9. <result column="modified" property="modified" />
  10. <result column="real_fund_id" property="realFundId" />
  11. <result column="production_fund_id" property="productionFundId" />
  12. <result column="claim_id" property="claimId" />
  13. <result column="claim_datetime" property="claimDatetime" />
  14. <result column="claim_amount" property="claimAmount" />
  15. </resultMap>
  16. <!-- 通用查询结果列 -->
  17. <sql id="Base_Column_List">
  18. id,
  19. created,
  20. deleted,
  21. modified,
  22. real_fund_id, production_fund_id, claim_id, claim_datetime, claim_amount
  23. </sql>
  24. <select id="getList" parameterType="com.dayou.entity.FinanceClaim" resultType="com.dayou.vo.FinanceClaimVO">
  25. SELECT
  26. fc.id,
  27. fc.real_fund_id,
  28. ( CASE orf.business_type WHEN 'MAJOR_BUSINESS' THEN '大中型业务' WHEN 'PERSONAL_BUSINESS' THEN '个贷业务' ELSE '-' END ) AS businessType,
  29. orf.should_amount,
  30. fc.claim_amount,
  31. u.NAME AS claimName,
  32. fc.created,
  33. orf.order_id,
  34. orf.order_name,
  35. orf.remark
  36. FROM
  37. finance_claim fc
  38. LEFT JOIN order_fund orf ON fc.order_fund_id = orf.id
  39. LEFT JOIN user u ON u.id = fc.claim_id
  40. WHERE
  41. fc.real_fund_id = #{realFundId}
  42. AND fc.deleted = 0
  43. ORDER BY
  44. fc.created DESC
  45. </select>
  46. <select id="getTotalClaimAmountByProductionFundId" parameterType="java.lang.Long" resultType="java.math.BigDecimal">
  47. select ifnull(sum(claim_amount),0) from finance_claim where production_fund_id = #{productionFundId} and deleted = 0
  48. </select>
  49. <select id="residueAmount" parameterType="java.lang.Long" resultType="java.math.BigDecimal">
  50. SELECT amount -( SELECT IFNULL( sum( claim_amount ), 0 ) FROM `finance_claim` WHERE deleted = 0 AND real_fund_id = #{financeFundId} ) AS residueAmount
  51. FROM
  52. finance_real_fund
  53. WHERE
  54. id = #{financeFundId} and deleted = 0
  55. </select>
  56. </mapper>