123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?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.BusinessIncomeMapper">
- <select id="myMajorIncome" parameterType="com.dayou.vo.UserCommissionProdVO" resultType="com.dayou.vo.UserCommissionProdVO">
- SELECT
- mpa.id,
- fc.claim_amount as realAmount,
- mp.report_no,
- IF
- ( fc.claim_datetime > mp.save_file_date, fc.claim_datetime, mp.save_file_date ) AS settleDate,
- mp.NAME,
- mp.created,
- dd.NAME AS businessCate,
- bcr.min_ratio AS ratio,
- mpa.user_id,
- mpa.ratio AS allotRatio,
- ( fc.claim_amount * ( bcr.min_ratio / 100 )* mpa.ratio ) AS commissionAmount,
- ( fc.claim_amount * ( bcr.min_ratio / 100 ) ) AS totalAmount,
- u.name as userName,
- (case mpa.user_type when 'EVALUATE' then '评估人员' else '市场人员' end) as userType
- FROM
- (
- SELECT
- claim_amount,
- order_fund_id,
- production_fund_id,
- claim_datetime
- FROM
- finance_claim
- WHERE
- deleted = 0
- AND production_fund_id IS NOT NULL
- AND claim_datetime >= #{vo.startDate}
- AND claim_datetime <= #{vo.endDate}
- UNION ALL
- SELECT
- allot_amount AS claim_amount,
- order_fund_id,
- production_fund_id,
- created AS claim_datetime
- FROM
- order_fund_allot
- WHERE
- deleted = 0
- AND created >= #{vo.startDate}
- AND created <= #{vo.endDate}
- ) fc
- INNER JOIN ( SELECT id,order_fund_id, business_id, production_no FROM production_fund WHERE business_type = 'MAJOR_BUSINESS' AND deleted = 0 ) pf ON ( pf.id = fc.production_fund_id AND pf.order_fund_id = fc.order_fund_id )
- INNER JOIN ( SELECT id, major_id, NAME, report_no, production, save_file_date, delivery_date,created FROM major_production WHERE deleted = 0 ) mp ON mp.report_no = pf.production_no
- LEFT JOIN major m ON m.id = mp.major_id
- INNER JOIN ( SELECT id,business_id, production_id, business_type ,commission_rate_id FROM commission_declare WHERE deleted = 0 AND declare_result = '审核通过' ) cd ON (
- cd.business_id = m.id
- AND ( cd.production_id IS NULL OR cd.production_id = mp.id ))
- LEFT JOIN business_commission_rate bcr ON bcr.id = cd.commission_rate_id
- LEFT JOIN dict_data dd ON dd.id = bcr.business_cate_id
- LEFT JOIN ( SELECT id,major_id,user_type, major_production_id, user_id, ratio ,declare_id FROM major_production_allot WHERE deleted = 0 ) mpa
- ON ( mpa.major_id = m.id and (mpa.major_production_id is null or mpa.major_production_id = mp.id )
- and if(mpa.user_type='MARKET','COMMISSION_DECLARE_MAJOR_MARKET','COMMISSION_DECLARE_MAJOR_EVALUATE') = cd.business_type
- )
- and if(mpa.user_type='MARKET',mp.delivery_date is not null,mp.save_file_date is not null)
- left join user u on u.id = mpa.user_id
- WHERE
- u.id= #{vo.userId}
- order by settleDate DESC
- </select>
- </mapper>
|