FinanceRealFundMapper.xml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  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.FinanceRealFundMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.entity.FinanceRealFund">
  6. <result column="id" property="id" />
  7. <result column="deleted" property="deleted" />
  8. <result column="modified" property="modified" />
  9. <result column="created" property="created" />
  10. <result column="payer" property="payer" />
  11. <result column="payer_bank" property="payerBank" />
  12. <result column="payer_account" property="payerAccount" />
  13. <result column="amount" property="amount" />
  14. <result column="pay_datetime" property="payDatetime" />
  15. <result column="remark" property="remark" />
  16. <result column="creator_id" property="creatorId" />
  17. </resultMap>
  18. <!-- 通用查询结果列 -->
  19. <sql id="Base_Column_List">
  20. id,
  21. deleted,
  22. modified,
  23. created,
  24. payer, payer_bank, payer_account, amount, pay_datetime, remark, creator_id
  25. </sql>
  26. <select id="getPage" parameterType="com.dayou.entity.FinanceRealFund" resultType="com.dayou.vo.FinanceRealFundVO">
  27. SELECT
  28. frf.id,
  29. frf.created,
  30. frf.payer,
  31. frf.payer_bank,
  32. frf.payer_account,
  33. frf.amount,
  34. frf.pay_datetime,
  35. frf.remark,
  36. frf.creator_id,
  37. u.name AS creator,
  38. ifnull(t.ca,0) AS claimAmount,
  39. ( frf.amount - ifnull(t.ca,0) ) AS notClaimAmount
  40. FROM
  41. finance_real_fund frf
  42. LEFT JOIN user u ON u.id = frf.creator_id
  43. LEFT JOIN ( SELECT real_fund_id, sum(ifnull(claim_amount,0)) ca FROM finance_claim WHERE deleted = 0 GROUP BY real_fund_id ) t ON t.real_fund_id = frf.id
  44. WHERE
  45. frf.deleted = 0
  46. <if test="keyword!=null and keyword!='' ">
  47. and (
  48. frf.payer like concat ('%',#{keyword},'%')
  49. or frf.payer_bank like concat('%',#{keyword},'%')
  50. or u.name like concat('%',#{keyword},'%')
  51. or frf.payer_account like concat('%',#{keyword},'%')
  52. or frf.amount like concat('%',#{keyword},'%')
  53. or frf.remark like concat('%',#{keyword},'%')
  54. )
  55. </if>
  56. <if test="vo!=null and vo.startDate!=null and vo.startDate!=''">
  57. and frf.pay_datetime &gt;= #{vo.startDate}
  58. </if>
  59. <if test="vo!=null and vo.endDate!=null and vo.endDate!=''">
  60. and frf.pay_datetime &lt;= #{vo.endDate}
  61. </if>
  62. <if test="vo!=null and vo.xStartDate!=null and vo.xStartDate!=''">
  63. and frf.created &gt;= #{vo.xStartDate}
  64. </if>
  65. <if test="vo!=null and vo.xEndDate!=null and vo.xEndDate!=''">
  66. and frf.created &lt;= #{vo.xEndDate}
  67. </if>
  68. ORDER BY
  69. frf.created DESC
  70. </select>
  71. <select id="getNotClaimAmount" parameterType="java.lang.Long" resultType="java.math.BigDecimal">
  72. SELECT ( frf.amount -( SELECT ifnull( sum( claim_amount ), 0 ) AS ca FROM finance_claim WHERE deleted = 0 AND real_fund_id = #{realFundId} )
  73. ) AS notClaimAmount
  74. FROM
  75. finance_real_fund frf
  76. WHERE
  77. frf.id = #{realFundId}
  78. AND frf.deleted = 0
  79. </select>
  80. <sql id="majorOverdueSql">
  81. SELECT
  82. mp.id,
  83. DATEDIFF(
  84. CURDATE(),
  85. DATE( mp.repertory_out_time )) AS overdueDay,
  86. pf.production_should_amount,
  87. m.allot_type,
  88. m.order_id,
  89. m.business_object_type,
  90. u.NAME AS clientManager,
  91. u1.NAME AS principal,
  92. cc1.NAME AS clientName,
  93. cc2.NAME AS clientSubName,
  94. pf.production_should_amount,
  95. mp.*
  96. FROM
  97. (
  98. SELECT
  99. id,
  100. major_id,
  101. report_no,
  102. ( CASE production WHEN 'STATEMENT' THEN '意见书' WHEN 'REPORT' THEN '报告' WHEN 'LETTER' THEN '复评函' ELSE '' END ) production,
  103. NAME,
  104. evaluate_amount,
  105. repertory_out_time,
  106. standard_amount
  107. FROM
  108. major_production mp
  109. WHERE
  110. deleted = 0
  111. AND repertory_out_time IS NOT NULL
  112. ) mp
  113. LEFT JOIN ( SELECT business_id, production_no, production_should_amount, real_amount FROM production_fund WHERE business_type = 'MAJOR_BUSINESS' AND deleted = 0 ) pf ON ( mp.major_id = pf.business_id AND mp.report_no = pf.production_no )
  114. LEFT JOIN major m ON m.id = mp.major_id
  115. LEFT JOIN user u ON u.id = m.client_manager_id
  116. LEFT JOIN user u1 ON u1.id = m.principal_id
  117. LEFT JOIN customer_company cc1 ON cc1.id = m.clientele_id
  118. LEFT JOIN customer_company cc2 ON cc2.id = m.clientele_sub_id
  119. WHERE
  120. ( pf.production_no IS NULL OR pf.real_amount IS NULL )
  121. AND DATEDIFF(CURDATE(),DATE( mp.repertory_out_time )) &gt;= #{overdueVO.overdueMin}
  122. <if test="overdueVO!=null and overdueVO.overdueMax!=null">
  123. AND DATEDIFF(CURDATE(),DATE( mp.repertory_out_time )) &lt;= #{overdueVO.overdueMax}
  124. </if>
  125. <if test="overdueVO!=null and overdueVO.orderId!=null and overdueVO.orderId!=''">
  126. and m.order_id = #{overdueVO.orderId}
  127. </if>
  128. <if test="overdueVO!=null and overdueVO.reportNo!=null and overdueVO.reportNo!=''">
  129. and mp.report_no like concat ('%',#{overdueVO.reportNo},'%')
  130. </if>
  131. <if test="overdueVO!=null and overdueVO.principal!=null and overdueVO.principal!=''">
  132. and u1.NAME like concat ('%',#{overdueVO.principal},'%')
  133. </if>
  134. order by overdueDay desc
  135. </sql>
  136. <select id="overdueMajor" parameterType="com.dayou.vo.MajorProdOverdueVO" resultType="com.dayou.vo.MajorProdOverdueVO">
  137. <include refid="majorOverdueSql" />
  138. </select>
  139. <select id="overdueMajorExport" parameterType="com.dayou.vo.MajorProdOverdueVO" resultType="com.dayou.vo.MajorProdOverdueVO">
  140. <include refid="majorOverdueSql" />
  141. </select>
  142. </mapper>