|
@@ -191,9 +191,10 @@
|
|
|
deleted = 0
|
|
|
AND production_fund_id IS NOT NULL
|
|
|
AND claim_datetime >= #{settleVO.startDate}
|
|
|
- AND claim_datetime <= #{settleVO.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 >= #{settleVO.startDate}
|
|
|
- AND created <= #{settleVO.endDate}
|
|
|
+ AND claim_datetime <= #{settleVO.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 >= #{settleVO.startDate}
|
|
|
+ AND created <= #{settleVO.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, evaluate_amount, save_file_date FROM major_production WHERE deleted = 0 AND save_file_date IS NOT NULL ) mp ON mp.report_no = pf.production_no
|
|
@@ -271,9 +272,10 @@
|
|
|
deleted = 0
|
|
|
AND production_fund_id IS NOT NULL
|
|
|
AND claim_datetime >= #{settleVO.startDate}
|
|
|
- AND claim_datetime <= #{settleVO.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 >= #{settleVO.startDate}
|
|
|
- AND created <= #{settleVO.endDate}
|
|
|
+ AND claim_datetime <= #{settleVO.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 >= #{settleVO.startDate}
|
|
|
+ AND created <= #{settleVO.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, evaluate_amount, delivery_date FROM major_production WHERE deleted = 0 AND delivery_date IS NOT NULL ) mp ON mp.report_no = pf.production_no
|
|
@@ -344,10 +346,18 @@
|
|
|
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 major_id, major_production_id, user_id, ratio FROM major_production_allot WHERE deleted = 0 AND user_type = 'EVALUATE' ) mpa ON ( mpa.major_id = m.id AND mpa.major_production_id = mp.id )
|
|
|
+ LEFT JOIN ( SELECT major_id, major_production_id, user_id, ratio FROM major_production_allot WHERE deleted = 0 AND user_type = 'EVALUATE'
|
|
|
+
|
|
|
+ ) mpa ON ( mpa.major_id = m.id AND mpa.major_production_id = mp.id)
|
|
|
LEFT JOIN user u ON u.id = mpa.user_id
|
|
|
+
|
|
|
GROUP BY
|
|
|
mpa.user_id
|
|
|
+ having 1=1
|
|
|
+ <if test="vo!=null and vo.userName!=null and vo.userName!=''">
|
|
|
+ and u.name like concat ('%',#{vo.userName},'%')
|
|
|
+ </if>
|
|
|
+ order by commissionTotalAmount DESC
|
|
|
</select>
|
|
|
|
|
|
<select id="majorEvaluatorCommissionDetail" parameterType="com.dayou.vo.UserCommissionProdVO" resultType="com.dayou.vo.UserCommissionProdVO">
|
|
@@ -364,7 +374,8 @@
|
|
|
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
|
|
|
+ ( fc.claim_amount * ( bcr.min_ratio / 100 ) ) AS totalAmount,
|
|
|
+ u.name as userName
|
|
|
FROM
|
|
|
(
|
|
|
SELECT
|
|
@@ -400,9 +411,326 @@
|
|
|
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 major_id, major_production_id, user_id, ratio FROM major_production_allot WHERE deleted = 0 AND user_type = 'EVALUATE' ) mpa ON ( mpa.major_id = m.id AND mpa.major_production_id = mp.id )
|
|
|
+ LEFT JOIN ( SELECT major_id, major_production_id, user_id, ratio FROM major_production_allot WHERE deleted = 0 AND user_type = 'EVALUATE' ) mpa ON ( mpa.major_id = m.id AND mpa.major_production_id = mp.id)
|
|
|
+ LEFT JOIN user u on u.id = mpa.user_id
|
|
|
WHERE
|
|
|
mpa.user_id = #{vo.userId}
|
|
|
order by settleDate DESC
|
|
|
</select>
|
|
|
-</mapper>
|
|
|
+
|
|
|
+ <select id="majorEvaluatorTotalAmountExport" parameterType="com.dayou.vo.UserCommissionTotalAmountVO" resultType="com.dayou.vo.UserCommissionTotalAmountVO">
|
|
|
+ SELECT mpa.user_id as id, u.name as userName, ROUND(sum(( fc.claim_amount * ( bcr.min_ratio / 100 )* mpa.ratio )),2) AS commissionTotalAmount,
|
|
|
+ '评估人员' as userType,
|
|
|
+ '大中型业务' as businessType,
|
|
|
+ #{vo.startDate} as startDate,
|
|
|
+ #{vo.endDate} as endDate
|
|
|
+ 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, created FROM major_production WHERE deleted = 0 AND save_file_date IS NOT NULL ) 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, commission_rate_id FROM commission_declare WHERE business_type = 'COMMISSION_DECLARE_MAJOR_EVALUATE' AND 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 major_id, major_production_id, user_id, ratio FROM major_production_allot WHERE deleted = 0 AND user_type = 'EVALUATE'
|
|
|
+
|
|
|
+ ) mpa ON ( mpa.major_id = m.id AND mpa.major_production_id = mp.id)
|
|
|
+ LEFT JOIN user u ON u.id = mpa.user_id
|
|
|
+ GROUP BY
|
|
|
+ mpa.user_id
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="evaluatorUserDetailExport" parameterType="com.dayou.vo.UserCommissionProdVO" resultType="com.dayou.vo.UserCommissionProdVO">
|
|
|
+ SELECT
|
|
|
+ mp.id,
|
|
|
+ ROUND(fc.claim_amount,2) 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,
|
|
|
+ ROUND(bcr.min_ratio,2) AS ratio,
|
|
|
+ mpa.user_id,
|
|
|
+ ROUND(mpa.ratio*100,2) AS allotRatio,
|
|
|
+ ROUND(( fc.claim_amount * ( bcr.min_ratio / 100 )* mpa.ratio ),2) AS commissionAmount,
|
|
|
+ ROUND(( fc.claim_amount * ( bcr.min_ratio / 100 ) ),2) AS totalAmount,
|
|
|
+ u.name as userName
|
|
|
+ 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, created FROM major_production WHERE deleted = 0 AND save_file_date IS NOT NULL ) 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, commission_rate_id FROM commission_declare WHERE business_type = 'COMMISSION_DECLARE_MAJOR_EVALUATE' AND 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 major_id, major_production_id, user_id, ratio FROM major_production_allot WHERE deleted = 0 AND user_type = 'EVALUATE' ) mpa ON ( mpa.major_id = m.id AND mpa.major_production_id = mp.id)
|
|
|
+ LEFT JOIN user u on u.id = mpa.user_id
|
|
|
+ <where>
|
|
|
+ <if test="vo!=null and vo.userId!=null">
|
|
|
+ and mpa.user_id = #{vo.userId}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ order by mpa.user_id
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="majorMarketCommission" parameterType="com.dayou.vo.UserCommissionTotalAmountVO" resultType="com.dayou.vo.UserCommissionTotalAmountVO">
|
|
|
+ SELECT mpa.user_id as id, u.name as userName, sum(( fc.claim_amount * ( bcr.min_ratio / 100 )* mpa.ratio )) AS commissionTotalAmount
|
|
|
+ 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, created FROM major_production WHERE deleted = 0 AND delivery_date IS NOT NULL ) 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, commission_rate_id FROM commission_declare WHERE business_type = 'COMMISSION_DECLARE_MAJOR_MARKET' AND 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 major_id, major_production_id,declare_id, user_id, ratio FROM major_production_allot WHERE deleted = 0 AND user_type = 'MARKET'
|
|
|
+
|
|
|
+ ) mpa ON ( mpa.major_id = m.id AND cd.id = mpa.declare_id AND (mpa.major_production_id is null or mpa.major_production_id = mp.id ))
|
|
|
+ LEFT JOIN user u ON u.id = mpa.user_id
|
|
|
+
|
|
|
+ GROUP BY
|
|
|
+ mpa.user_id
|
|
|
+ having 1=1
|
|
|
+ <if test="vo!=null and vo.userName!=null and vo.userName!=''">
|
|
|
+ and u.name like concat ('%',#{vo.userName},'%')
|
|
|
+ </if>
|
|
|
+ order by commissionTotalAmount DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="majorMarketCommissionDetail" parameterType="com.dayou.vo.UserCommissionProdVO" resultType="com.dayou.vo.UserCommissionProdVO">
|
|
|
+ SELECT
|
|
|
+ mp.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
|
|
|
+ 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, created FROM major_production WHERE deleted = 0 AND delivery_date IS NOT NULL ) 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, commission_rate_id FROM commission_declare WHERE business_type = 'COMMISSION_DECLARE_MAJOR_MARKET' AND 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 major_id, major_production_id, user_id, ratio,declare_id FROM major_production_allot WHERE deleted = 0 AND user_type = 'MARKET' ) mpa ON ( mpa.major_id = m.id AND cd.id = mpa.declare_id AND (mpa.major_production_id is null or mpa.major_production_id = mp.id ))
|
|
|
+ LEFT JOIN user u on u.id = mpa.user_id
|
|
|
+ WHERE
|
|
|
+ mpa.user_id = #{vo.userId}
|
|
|
+ order by settleDate DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="majorMarketTotalAmountExport" parameterType="com.dayou.vo.UserCommissionTotalAmountVO" resultType="com.dayou.vo.UserCommissionTotalAmountVO">
|
|
|
+ SELECT mpa.user_id as id, u.name as userName, ROUND(sum(( fc.claim_amount * ( bcr.min_ratio / 100 )* mpa.ratio )),2) AS commissionTotalAmount,
|
|
|
+ '市场人员' as userType,
|
|
|
+ '大中型业务' as businessType,
|
|
|
+ #{vo.startDate} as startDate,
|
|
|
+ #{vo.endDate} as endDate
|
|
|
+ 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, created FROM major_production WHERE deleted = 0 AND delivery_date IS NOT NULL ) 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, commission_rate_id FROM commission_declare WHERE business_type = 'COMMISSION_DECLARE_MAJOR_MARKET' AND 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 major_id, major_production_id,declare_id, user_id, ratio FROM major_production_allot WHERE deleted = 0 AND user_type = 'MARKET'
|
|
|
+
|
|
|
+ ) mpa ON ( mpa.major_id = m.id AND cd.id = mpa.declare_id AND (mpa.major_production_id is null or mpa.major_production_id = mp.id ))
|
|
|
+ LEFT JOIN user u ON u.id = mpa.user_id
|
|
|
+
|
|
|
+ GROUP BY
|
|
|
+ mpa.user_id
|
|
|
+ order by commissionTotalAmount DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="marketUserDetailExport" parameterType="com.dayou.vo.UserCommissionProdVO" resultType="com.dayou.vo.UserCommissionProdVO">
|
|
|
+ SELECT
|
|
|
+ mp.id,
|
|
|
+ ROUND(fc.claim_amount,2) 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,
|
|
|
+ ROUND(bcr.min_ratio,2) AS ratio,
|
|
|
+ mpa.user_id,
|
|
|
+ ROUND(mpa.ratio*100,2) AS allotRatio,
|
|
|
+ ROUND(( fc.claim_amount * ( bcr.min_ratio / 100 )* mpa.ratio ),2) AS commissionAmount,
|
|
|
+ ROUND(( fc.claim_amount * ( bcr.min_ratio / 100 ) ),2) AS totalAmount,
|
|
|
+ u.name as userName
|
|
|
+ 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, created FROM major_production WHERE deleted = 0 AND delivery_date IS NOT NULL ) 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, commission_rate_id FROM commission_declare WHERE business_type = 'COMMISSION_DECLARE_MAJOR_MARKET' AND 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 major_id, major_production_id, user_id, ratio,declare_id FROM major_production_allot WHERE deleted = 0 AND user_type = 'MARKET' ) mpa ON ( mpa.major_id = m.id AND cd.id = mpa.declare_id AND (mpa.major_production_id is null or mpa.major_production_id = mp.id ))
|
|
|
+ LEFT JOIN user u on u.id = mpa.user_id
|
|
|
+ <where>
|
|
|
+ <if test="vo!=null and vo.userId!=null">
|
|
|
+ and mpa.user_id = #{vo.userId}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ order by mpa.user_id
|
|
|
+ </select>
|
|
|
+ </mapper>
|