BankCoopReportMapper.xml

<!-- 银行合作-还款计划表(银行合作) 刘子良 2017-10-09 16:53             to_char(nvl(o.SERVICE_FEE,0), 'fm99999999990.00') as "serviceFee",-->
    <!-- (select CODE_VALUE from PLOAN_CODE_LIBRARY where CODE_TYPE='loan_type' and CODE_NO=o.loan_type) as "loanType",  -->
    <select id = "findRepayCooperAtionInfo" parameterType="java.util.HashMap" resultType="java.util.HashMap">
        select 
             o.id_order as "applyNo",
             po.name as "name",
             (select CODE_VALUE from PLOAN_CODE_LIBRARY where CODE_TYPE='channel_no' and CODE_NO=o.channel_no) as "channelNo",
             pli.PRODUCT_NAME as "productName",             
             case 
                  when o.CHANNEL_NO ='red' then (select CODE_VALUE  from PLOAN_CODE_LIBRARY  where (CODE_TYPE='intent_loan_plan' and CODE_NO=o.lending_type))
             else
                (select CODE_VALUE  from PLOAN_CODE_LIBRARY  where (CODE_TYPE='loan_type' and CODE_NO=o.loan_type)) 
                end as "loanType",                         
             l.code_value AS "loanPurpose",
             nvl((to_char(o.cust_apply_time,'yyyy-mm-dd')),' ') AS "applyTime",             
            (select bad.division_name from bankcoop_admin_division bad where bad.division_code = o.REQ_PROVINCE) as "reqProvince", 
            (select bad.division_name from bankcoop_admin_division bad where bad.division_code = o.REQ_CITY) as "reqCity", 
             to_char((c.loan_amt), 'fm99999999990.00') as "loanAmt",
             to_char((nvl(o.loan_amount,0)), 'fm99999999990.00') as "reqCapital",             
             p.RPTERM as "rpTerm",
             case 
                 when o.monthly_fee_rate is not null then to_char(o.monthly_fee_rate,'fm999990.099')||'%'
             else to_char(o.monthly_fee_rate,'fm999990.099') end AS "monthFeeRate",                           
             case 
              when c.channel_no ='jiujiang'  then to_char(nvl(p.PAY_FEE,0),'fm99999999990.00') 
              when c.channel_no ='mtb' 
                  then to_char(nvl(o.monthly_fee_rate/100,0) * nvl(c.loan_amt,0),'fm99999999990.00') 
              when c.channel_no ='pds' then to_char(nvl(pf.PAY_AMOUNT,0),'fm99999999990.00')
              else to_char(nvl(p.PAY_FEE,0),'fm99999999990.00') 
              end as "handfeeMth",                               
           case 
                 when o.MONTHLY_RATE is not null then to_char(nvl(o.MONTHLY_RATE,0),'fm999990.099')||'%'
           else to_char(nvl(c.RATE,0)/12,'fm999990.099') end AS "monthRate", 
                      
           to_char(p.PAY_CAPITAL, 'fm99999999990.00') as "capital",
           to_char(p.pay_aint, 'fm99999999990.00') as "aInt",
           case 
                 when c.RATE is not null then to_char(nvl(c.RATE,0),'fm999990.099')||'%'
                else to_char(nvl(o.MONTHLY_RATE * 12,0),'fm999990.099') end AS "loanRate",           
           case 
              when c.channel_no ='jiujiang' then nvl(service.FEE_AMOUNT,0)
              when c.channel_no ='mtb'    then nvl(service.FEE_AMOUNT,0)
              when c.channel_no ='pds' then nvl(pfs.PAY_AMOUNT,0)
              else nvl(service.FEE_AMOUNT,0)
           end as "serviceFee" ,           
           case 
                 when o.service_fee_rate is not null then to_char(o.service_fee_rate,'fm999990.099')||'%'
           else to_char(o.service_fee_rate,'fm999990.099') end AS "oneFeeRate",  
                    
           '--' as "repayPenalty",           
           '--' AS "penaltyRate",
                  
           o.term as "loanTerm",
           substr(c.loan_time, 1, 8) as "putoutDate",
           p.PAY_DATE as "repayDate",
           (select code_value from ploan_code_library where code_type ='repay_type' and  code_no = o.REPAY_TYPE) as "repaymentType",
             case               
                 when c.channel_no ='mtb' and cur.PAY_DATE &lt; to_char(sysdate-1,'yyyyMMdd') and cur.PAY_CAPITAL > cur.ACTUAL_CAPITAL  then  '逾期'                          
             else decode(p.status,'00','初始化','01','正常','02','逾期','03','代扣中','04','结清','05','提前结清','07','代偿中','09','代偿结清','10','追偿结算')
              end as "status",
           
           o.manager_name as "managerName",
           o.MANAGER_UM as "managerUM",
           o.MANAGER_ORG_NAME as "managerOrgName",
           o.manager_org as "parterOrg"
        from BANKCOOP_LOAN_REPAY_PLAN p 
        left join BANKCOOP_LOAN c on c.bank_loan_no=p.bank_loan_no
        left join ploan_order o on c.apply_no=o.id_order
        left join PLOAN_LPRODUCT_INFO pli on (pli.product_no = o.product_type and pli.PRODUCT_STATUS = '003000')
        left join ploan_order_cust_person po on po.id_cust=o.id_cust
        LEFT JOIN ploan_code_library l1 on l1.code_type = 'loan_type' and l1.code_no = o.loan_type
        LEFT JOIN ploan_code_library l2 on l2.code_type = 'intent_loan_plan' and l2.code_no = o.lending_type
        LEFT JOIN ploan_code_library l ON o.loan_purpose = l.code_no AND l.code_type = 'loan_purpose'
        LEFT JOIN CORE_CONTRACT_INFO cci on cci.apply_no = c.apply_no
        LEFT JOIN core_contract_source_fund csf on csf.contract_no=cci.contract_no
        Left join bankcoop_loan_feeplan f on(f.loan_no=c.bank_loan_no and f.fee_code='HAND_FEE_MTH' and f.term=p.rpterm)
        Left join bankcoop_loan_feeplan pf on(pf.loan_no=c.bank_loan_no and pf.fee_code='HAND_FEE_MTH' and to_char(pf.PAY_DATE,'yyyyMMdd')=p.PAY_DATE)
        Left join bankcoop_loan_feeplan pfs on(pfs.loan_no=c.bank_loan_no and pfs.fee_code='PFM_FEE_ONE')
        left join (
             select bl.FEE_AMOUNT as FEE_AMOUNT,
             bl.BANK_LOAN_NO as bank_loan_no
             from BANKCOOP_LOAN bl 
             left join bankcoop_loan_feeplan pf
             on (pf.loan_no=bl.bank_loan_no and pf.fee_code='PFM_FEE_ONE')        
        ) service on (service.bank_loan_no = p.BANK_LOAN_NO )
        left join (
                select p.BANK_LOAN_NO,p.RPTERM,p.PAY_CAPITAL,p.ACTUAL_CAPITAL,p.PAY_DATE from BANKCOOP_LOAN_REPAY_PLAN p
            )cur on (cur.BANK_LOAN_NO = p.BANK_LOAN_NO and cur.RPTERM = p.RPTERM)
        where (c.state = '1' and p.PAY_DATE is not null)
        <!-- 入件渠道 -->
        <if test = "channelNoMap!=null and channelNoMap.size > 0">
            and o.CHANNEL_NO in
           <foreach item="channelNo" collection="channelNoMap" open="(" separator="," close=")">
                #{channelNo}
           </foreach>
        </if>
        <!-- 贷款产品 -->
        <if test="productMap!=null and productMap.size > 0">
            and pli.product_no in
            <foreach collection="productMap" item="procode"  open="(" separator="," close=")">
                #{procode}
            </foreach>
        </if>
        <!-- 贷款姓名 -->
        <if test="name!=null and name!=''">
            and po.name =#{name,jdbcType=VARCHAR}
        </if>
        <!-- 机构名称 -->
        <if test="managerOrgName!=null and managerOrgName!=''">
            and o.MANAGER_ORG_NAME =#{managerOrgName,jdbcType=VARCHAR}
        </if>
        <!-- 合作商代码 -->
        <if test="parterOrg!=null and parterOrg!=''">
            and o.manager_org =#{parterOrg,jdbcType=VARCHAR}
        </if>
        <!-- 客户经理姓名 -->
        <if test="managerName!=null and managerName!=''">
            and o.manager_name =#{managerName,jdbcType=VARCHAR}
        </if>
        <!-- 进件省份 -->
        <if test="reqProvince!=null and reqProvince!=''">
            and o.REQ_PROVINCE =#{reqProvince,jdbcType=VARCHAR}
        </if>
        <!-- 进件省份 -->
        <if test="reqCity!=null and reqCity!=''">
            and o.REQ_CITY =#{reqCity,jdbcType=VARCHAR}
        </if>
        <if test="startTime!=null and startTime!=''">
            and substr(c.loan_time, 1, 8) &gt;=#{startTime,jdbcType=VARCHAR}
        </if>
        <if test="endTime!=null and endTime!=''">
            and substr(c.loan_time, 1, 8) &lt;=#{endTime,jdbcType=VARCHAR}
        </if>
            order by c.loan_time desc,p.BANK_LOAN_NO,to_number(p.RPTERM) asc
    </select>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值