123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.dayou.mapper.FinanceRealFundMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="BaseResultMap" type="com.dayou.entity.FinanceRealFund">
- <result column="id" property="id" />
- <result column="deleted" property="deleted" />
- <result column="modified" property="modified" />
- <result column="created" property="created" />
- <result column="payer" property="payer" />
- <result column="payer_bank" property="payerBank" />
- <result column="payer_account" property="payerAccount" />
- <result column="amount" property="amount" />
- <result column="pay_datetime" property="payDatetime" />
- <result column="remark" property="remark" />
- <result column="creator_id" property="creatorId" />
- </resultMap>
- <!-- 通用查询结果列 -->
- <sql id="Base_Column_List">
- id,
- deleted,
- modified,
- created,
- payer, payer_bank, payer_account, amount, pay_datetime, remark, creator_id
- </sql>
- <select id="getPage" parameterType="com.dayou.entity.FinanceRealFund" resultType="com.dayou.vo.FinanceRealFundVO">
- SELECT
- frf.id,
- frf.created,
- frf.payer,
- frf.payer_bank,
- frf.payer_account,
- frf.amount,
- frf.pay_datetime,
- frf.remark,
- frf.creator_id,
- u.name AS creator,
- ifnull(t.ca,0) AS claimAmount,
- ( frf.amount - ifnull(t.ca,0) ) AS notClaimAmount
- FROM
- finance_real_fund frf
- LEFT JOIN user u ON u.id = frf.creator_id
- 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
- WHERE
- frf.deleted = 0
- <if test="keyword!=null and keyword!='' ">
- and (
- frf.payer like concat ('%',#{keyword},'%')
- or frf.payer_bank like concat('%',#{keyword},'%')
- or u.name like concat('%',#{keyword},'%')
- or frf.payer_account like concat('%',#{keyword},'%')
- or frf.amount like concat('%',#{keyword},'%')
- or frf.remark like concat('%',#{keyword},'%')
- )
- </if>
- <if test="vo!=null and vo.startDate!=null and vo.startDate!=''">
- and frf.pay_datetime >= #{vo.startDate}
- </if>
- <if test="vo!=null and vo.endDate!=null and vo.endDate!=''">
- and frf.pay_datetime <= #{vo.endDate}
- </if>
- <if test="vo!=null and vo.xStartDate!=null and vo.xStartDate!=''">
- and frf.created >= #{vo.xStartDate}
- </if>
- <if test="vo!=null and vo.xEndDate!=null and vo.xEndDate!=''">
- and frf.created <= #{vo.xEndDate}
- </if>
- ORDER BY
- frf.created DESC
- </select>
- <select id="getNotClaimAmount" parameterType="java.lang.Long" resultType="java.math.BigDecimal">
- SELECT ( frf.amount -( SELECT ifnull( sum( claim_amount ), 0 ) AS ca FROM finance_claim WHERE deleted = 0 AND real_fund_id = #{realFundId} )
- ) AS notClaimAmount
- FROM
- finance_real_fund frf
- WHERE
- frf.id = #{realFundId}
- AND frf.deleted = 0
- </select>
- <sql id="majorOverdueSql">
- SELECT
- mp.id,
- DATEDIFF(
- CURDATE(),
- DATE( mp.repertory_out_time )) AS overdueDay,
- pf.production_should_amount,
- m.allot_type,
- m.order_id,
- m.business_object_type,
- u.NAME AS clientManager,
- u1.NAME AS principal,
- cc1.NAME AS clientName,
- cc2.NAME AS clientSubName,
- pf.production_should_amount,
- mp.*
- FROM
- (
- SELECT
- id,
- major_id,
- report_no,
- ( CASE production WHEN 'STATEMENT' THEN '意见书' WHEN 'REPORT' THEN '报告' WHEN 'LETTER' THEN '复评函' ELSE '' END ) production,
- NAME,
- evaluate_amount,
- repertory_out_time,
- standard_amount
- FROM
- major_production mp
- WHERE
- deleted = 0
- AND repertory_out_time IS NOT NULL
- ) mp
- 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 )
- LEFT JOIN major m ON m.id = mp.major_id
- LEFT JOIN user u ON u.id = m.client_manager_id
- LEFT JOIN user u1 ON u1.id = m.principal_id
- LEFT JOIN customer_company cc1 ON cc1.id = m.clientele_id
- LEFT JOIN customer_company cc2 ON cc2.id = m.clientele_sub_id
- WHERE
- ( pf.production_no IS NULL OR pf.real_amount IS NULL )
- AND DATEDIFF(CURDATE(),DATE( mp.repertory_out_time )) >= #{overdueVO.overdueMin}
- <if test="overdueVO!=null and overdueVO.overdueMax!=null">
- AND DATEDIFF(CURDATE(),DATE( mp.repertory_out_time )) <= #{overdueVO.overdueMax}
- </if>
- <if test="overdueVO!=null and overdueVO.orderId!=null and overdueVO.orderId!=''">
- and m.order_id = #{overdueVO.orderId}
- </if>
- <if test="overdueVO!=null and overdueVO.reportNo!=null and overdueVO.reportNo!=''">
- and mp.report_no like concat ('%',#{overdueVO.reportNo},'%')
- </if>
- <if test="overdueVO!=null and overdueVO.principal!=null and overdueVO.principal!=''">
- and u1.NAME like concat ('%',#{overdueVO.principal},'%')
- </if>
- order by overdueDay desc
- </sql>
- <select id="overdueMajor" parameterType="com.dayou.vo.MajorProdOverdueVO" resultType="com.dayou.vo.MajorProdOverdueVO">
- <include refid="majorOverdueSql" />
- </select>
- <select id="overdueMajorExport" parameterType="com.dayou.vo.MajorProdOverdueVO" resultType="com.dayou.vo.MajorProdOverdueVO">
- <include refid="majorOverdueSql" />
- </select>
- </mapper>
|