Commit 58384739 by wenyang Committed by jianan

发佣检核保单报表优化-4

parent 10e0273d
......@@ -432,7 +432,8 @@
o.policy_no '2',
i.name '3' /*保司*/,
o.order_price '4' ,
p.name '5' /*产品*/,
if(p.name is not null, p.name, (select tp.name from ag_product_plan tp where tp.id = o.plan_id)) '5' /*产品*/,
o.underwriting_date '6',
CONCAT(o.payment_term, (case o.payment_term_unit when 'Y' then '年' when 'M' then '月' else '年' END)) '7',
if(o.fyc_rate,o.fyc_rate,'') '8' /*'FYC%'*/,
......@@ -441,8 +442,8 @@
if(l.achievements_rate is not null,l.achievements_rate,'') '11' /*'业绩%'*/,
if(f.commission_period!=1,f.fyc_rate,'') '12' /*'RYC%'*/,
o.fyc_amount '13'/*保单FYC*/,
o.fyc_amount*l.commission_rate/100*IF(f.grade_commission_rate IS NOT NULL,f.grade_commission_rate,'100')/100 '14' /*佣金FYC*/,
o.fyc_amount*l.achievements_rate/100*IF(f.grade_commission_rate IS NOT NULL,f.grade_commission_rate,'100')/100 '15' /*业绩FYC*/,
round(o.fyc_amount*l.commission_rate/100*IF(f.grade_commission_rate IS NOT NULL,f.grade_commission_rate,'100')/100,2) '14' /*佣金FYC*/,
round(o.fyc_amount*l.achievements_rate/100*IF(f.grade_commission_rate IS NOT NULL,f.grade_commission_rate,'100')/100,2) '15' /*业绩FYC*/,
if(f.commission_period!=1,f.fyc_amount,'') '16' /*保单RYC*/,
if(f.commission_period!=1,f.referral_amount,'') '17' /*佣金RYC*/,
......@@ -455,20 +456,20 @@
sum(case when drop_option_code ='C02' then f.referral_amount else null end) '24' /*续年销售佣金*/,
(SELECT group_concat(t.practitioner_id) from ag_acl_customer_fortune t
LEFT JOIN ag_po_order_commission c on c.id = t.commission_id
where t.drop_option_code ='R03' and t.order_id=f.order_id and t.sale_practitioner_id=l.practitioner_id and c.commission_status='2'
LEFT JOIN ag_acl_practitioner a ON a.customer_id = t.customer_id
WHERE drop_option_code ='R03' AND order_id=f.order_id AND sale_practitioner_id = l.practitioner_id AND a.id=l.mentor_id
and t.id in <foreach collection="list1" item="item" open="(" separator="," close=")">#{item,jdbcType=BIGINT}</foreach>
) '25' /*续期辅导人*/,
(SELECT group_concat(CONCAT_WS('-', t.practitioner_id, referral_amount))
(SELECT group_concat(calculation_rate)
from ag_acl_customer_fortune t
LEFT JOIN ag_po_order_commission c on c.id = t.commission_id
where t.drop_option_code ='R03' and t.order_id=f.order_id and t.sale_practitioner_id=l.practitioner_id and c.commission_status='2'
LEFT JOIN ag_acl_practitioner a ON a.customer_id = t.customer_id
WHERE drop_option_code ='R03' AND order_id=f.order_id AND sale_practitioner_id = l.practitioner_id AND a.id=l.mentor_id
and t.id in <foreach collection="list1" item="item" open="(" separator="," close=")">#{item,jdbcType=BIGINT}</foreach>
) '26' /*续期辅导奖金率*/,
(SELECT group_concat(CONCAT_WS('-', t.practitioner_id, referral_amount))
(SELECT group_concat(referral_amount)
from ag_acl_customer_fortune t
LEFT JOIN ag_po_order_commission c on c.id = t.commission_id
where t.drop_option_code ='R03' and t.order_id=f.order_id and t.sale_practitioner_id=l.practitioner_id and c.commission_status='2'
LEFT JOIN ag_acl_practitioner a ON a.customer_id = t.customer_id
WHERE drop_option_code ='R03' AND order_id=f.order_id AND sale_practitioner_id = l.practitioner_id AND a.id=l.mentor_id
and t.id in <foreach collection="list1" item="item" open="(" separator="," close=")">#{item,jdbcType=BIGINT}</foreach>
) '27' /*续期辅导奖*/,
......@@ -692,25 +693,26 @@
if(o.settlement_rule_type=1,'简单基本法','标准基本法') '66' /*基本法属性*/,
sum(case when drop_option_code ='S01' then f.referral_amount else null end) '67' /*S01-首年度销售佣金*/,
(SELECT group_concat(CONCAT_WS('-', t.practitioner_id, referral_amount))
from ag_acl_customer_fortune t
LEFT JOIN ag_po_order_commission c on c.id = t.commission_id
where t.drop_option_code ='S03' and t.order_id=f.order_id and t.sale_practitioner_id=l.practitioner_id and c.commission_status='2'
(SELECT GROUP_CONCAT(CONCAT_WS('-', t.practitioner_id, referral_amount))
FROM ag_acl_customer_fortune t
LEFT JOIN ag_acl_practitioner a ON a.customer_id = t.customer_id
WHERE drop_option_code ='S03' AND order_id=f.order_id AND sale_practitioner_id = l.practitioner_id
and t.id in <foreach collection="list1" item="item" open="(" separator="," close=")">#{item,jdbcType=BIGINT}</foreach>
) '68' /*S03-首年度辅导奖金*/,
null as '69' /*R01-首年度直接销售佣金(旧)*/,
sum(case when drop_option_code ='R02' then f.referral_amount else null end) '70' /*R02-续年度直接销售拥金(旧)*/,
(SELECT group_concat(CONCAT_WS('-', t.practitioner_id, referral_amount))
from ag_acl_customer_fortune t
LEFT JOIN ag_po_order_commission c on c.id = t.commission_id
where t.drop_option_code ='R03' and t.order_id=f.order_id and t.sale_practitioner_id=l.practitioner_id and c.commission_status='2'
(SELECT GROUP_CONCAT(CONCAT_WS('-', t.practitioner_id, referral_amount))
FROM ag_acl_customer_fortune t
LEFT JOIN ag_acl_practitioner a ON a.customer_id = t.customer_id
WHERE drop_option_code ='R03' AND order_id=f.order_id AND sale_practitioner_id = l.practitioner_id AND a.id=l.mentor_id
and t.id in <foreach collection="list1" item="item" open="(" separator="," close=")">#{item,jdbcType=BIGINT}</foreach>
) '71' /*R03-续年度辅导佣金(旧)*/,
(SELECT group_concat(CONCAT_WS('-', t.practitioner_id, referral_amount))
from ag_acl_customer_fortune t
LEFT JOIN ag_po_order_commission c on c.id = t.commission_id
where t.drop_option_code ='R04' and t.order_id=f.order_id and t.sale_practitioner_id=l.practitioner_id and c.commission_status='2'
where t.drop_option_code ='R04' and t.order_id=f.order_id and t.sale_practitioner_id=l.practitioner_id
and t.id in <foreach collection="list1" item="item" open="(" separator="," close=")">#{item,jdbcType=BIGINT}</foreach>
) '72' /*R04-续年度绩效奖金(旧)*/,
......@@ -839,30 +841,27 @@
o.policy_no '2',
i.name '3' /*保司*/,
o.order_price '4' ,
p.name '5' /*产品*/,
if(p.name is not null, p.name, (select tp.name from ag_product_plan tp where tp.id = o.plan_id)) '5' /*产品*/,
o.underwriting_date '6',
CONCAT(o.payment_term, (case o.payment_term_unit when 'Y' then '年' when 'M' then '月' else '年' END)) '7',
ifnull(f.fyc_rate,'') '8' /*'FYC%'*/,
if(o.fyc_rate,o.fyc_rate,'') '8' /*'FYC%'*/,
if(f.order_id is not null, o.is_achievement_statistic, '100') '9' /*'业绩折标率%'*/,
ifnull( f.share_rate,'') '10' /*'分佣%'*/,
ifnull( f.achievements_rate,'') '11' /*'业绩%'*/,
if(l.commission_rate is not null,l.commission_rate,'') '10' /*'分佣%'*/,
if(l.achievements_rate is not null,l.achievements_rate,'') '11' /*'业绩%'*/,
if(f.commission_period!=1,f.fyc_rate,'') '12' /*'RYC%'*/,
ifnull( f.fyc_amount,'') '13'/*保单FYC*/,
ifnull( f.referral_amount,'') '14' /*佣金FYC*/,
ifnull( f.achievements,'') '15' /*业绩FYC*/,
o.fyc_amount '13'/*保单FYC*/,
round(o.fyc_amount*l.commission_rate/100*IF(f.grade_commission_rate IS NOT NULL,f.grade_commission_rate,'100')/100,2) '14' /*佣金FYC*/,
round(o.fyc_amount*l.achievements_rate/100*IF(f.grade_commission_rate IS NOT NULL,f.grade_commission_rate,'100')/100,2) '15' /*业绩FYC*/,
if(f.commission_period!=1,f.fyc_amount,'') '16' /*保单RYC*/,
if(f.commission_period!=1,f.referral_amount,'') '17' /*佣金RYC*/,
(select name from ag_acl_channel where id = f.channel_id) '18' /*渠道*/,
null as '19' /*FYC体系*/,
(select name from ag_acl_practitioner where id = f.sale_practitioner_id) '20' /*销售经纪人*/,
(SELECT b.practitioner_level
from ag_acl_practitioner a
LEFT JOIN ag_acl_practitioner_setting b on b.practitioner_id = a.id
where a.id = f.sale_practitioner_id
) '21' /*经纪人职级*/,
ifnull(f.grade_commission_rate,'') '22' /*职级率*/,
coalesce(l.s1_id,l.s2_id,l.s3_id) as '19' /*FYC体系*/,
l.practitioner_name '20' /*销售经纪人*/,
l.practitioner_level '21' /*经纪人职级*/,
if(f.grade_commission_rate is not null,f.grade_commission_rate,'100') '22' /*职级率*/,
null as '23' /*首年销售佣金*/,
null as '24' /*续年销售佣金*/,
......@@ -956,6 +955,7 @@
f.customer_id
FROM ag_acl_customer_fortune f
INNER JOIN ag_acl_life_insurance_practitioner l on l.order_id = f.order_id and l.practitioner_id = f.sale_practitioner_id
LEFT JOIN ag_acl_practitioner pra on pra.customer_id = f.customer_id
LEFT JOIN ag_acl_practitioner_setting ps on ps.practitioner_id = pra.id
LEFT JOIN ag_md_drop_options op1 ON op1.id = ps.practitioner_level
......@@ -963,10 +963,7 @@
LEFT JOIN ag_acl_insurer i on i.id = o.insurer_id
LEFT JOIN ag_product p on p.id = o.product_id
WHERE
f.id in
<foreach collection="list2" item="item" open="(" separator="," close=")">
#{item,jdbcType=BIGINT}
</foreach>
f.id in <foreach collection="list2" item="item" open="(" separator="," close=")"> #{item,jdbcType=BIGINT} </foreach>
</if>
ORDER BY '2'
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment