practitioner.SAL_MST_EPID as practitionerIdEG, -- 业务员
title.SRA_RE_NAME as title, -- 职阶
practitioner.SAL_MST_OFFICIAL_TITLE as title, -- 职阶
pay.MON025_403 as titleRate, -- 职阶率
pay.MON025_403 as titleRate, -- 职阶率
pay.premium as premium, -- 保费
if((pay.MON025_108 = "S02" or pay.MON025_108 = "S01"),convert(policy.INS_MST_TOTAL_PREIUM,decimal(10,2)),0) as premium, -- 保费
policy.INS001_FYCTOTAL as FYC, -- fyc
if((receive.MON024_303=1 and (pay.MON025_108 = "S02" or pay.MON025_108 = "S01")),convert(policy.INS001_FYCTOTAL,decimal(10,2)),0) as FYC, -- fyc
receive.incommission as rightReceiveCommission, -- 来佣金额
if((receive.MON024_303 != 1 and (pay.MON025_108 = "S02" or pay.MON025_108 = "S01")),convert((policy.INS_MST_TOTAL_PREIUM * pay.MON025_402)/100,decimal(10,2)) ,0) as RYC, -- fyc
if((pay.MON025_108 = "S02" or pay.MON025_108 = "S01"),convert(receive.incommission,decimal(10,2)),0) as rightReceiveCommission, -- 来佣金额
pay.paycommission as rightPayCommission, -- 应发佣金
pay.paycommission as rightPayCommission, -- 应发佣金
pay.MON025_108 as commissionType-- 佣奖类型
commissionType.SRA_BS_NAME as commissionType-- 佣奖类型
from ins001 policy INNER JOIN (select MON025_002,MON025_301,MON025_302,MON025_005,MON025_006,mon025_007,MON025_008,MON025_403,sum(MON025_401) as premium,sum(MON025_405) as paycommission,MON025_108 from MON025 group by mon025_002,mon025_301,MON025_007) pay on policy.INS_MST_ID = pay.MON025_002 AND pay.mon025_108 in ('S01','S02')
from ins001 policy left join (select MON024_002,MON024_301,MON024_302,MON024_303,sum(MON024_404) as incommission from MON024 group by MON024_002 ,MON024_301) receive on policy.INS_MST_ID = receive.MON024_002
INNER JOIN (select MON024_002,MON024_301,MON024_302,sum(MON024_404) as incommission from MON024 group by MON024_002 ,MON024_301) receive on policy.INS_MST_ID = receive.MON024_002
left join (select MON025_002,MON025_301,MON025_302,MON025_303,MON025_005,MON025_006,MON025_008,MON025_007,MON025_403,MON025_402,sum(MON025_401) as premium,sum(MON025_405) as paycommission,MON025_108 from MON025 group by mon025_002,mon025_301,MON025_007) pay on policy.INS_MST_ID = pay.MON025_002 and receive.MON024_303 = pay.MON025_303
inner join spc002 dept on dept.SPC_BUS_ID = pay.MON025_005
left join sal001 practitioner on practitioner.SAL_MST_ID = pay.MON025_007
inner join spc001 branch on branch.SPC_AREA_ID = dept.FK_AREA_ID
left join spc002 dept on dept.SPC_BUS_ID = practitioner.FK_SPC_BUS_ID
inner join spc004 divl on divl.SPC_DIV_ID = pay.MON025_006
left join spc001 branch on branch.SPC_AREA_ID = dept.FK_AREA_ID
inner join sal001 practitioner on practitioner.SAL_MST_ID = pay.MON025_007
left join spc004 divl on divl.SPC_DIV_ID = practitioner.FK_SPC_DIV_ID
inner join sra008 title on title.SRA_RRR_ID = pay.MON025_008
left join sra009 commissionType on commissionType.SRA_BS_CODE = pay.MON025_108
where policy.INS_MST_ID = receive.MON024_002
where policy.INS_MST_ID = receive.MON024_002
<iftest="isStatement == 0">
<!-- <if test="isStatement == 0">-->
<choose>
<choose>
<whentest="type == 1">
<whentest="type == 1">
<iftest="inCommissionStartTime != null">
<iftest="inCommissionStartTime != null">
...
@@ -89,11 +90,14 @@
...
@@ -89,11 +90,14 @@
<whentest="deptId != null ">
<whentest="deptId != null ">
and pay.MON025_005 = #{deptId,jdbcType=VARCHAR}
and pay.MON025_005 = #{deptId,jdbcType=VARCHAR}
</when>
</when>
<otherwise>
<whentest="insurerBranchId != null ">
and branch.SPC_AREA_ID = #{insurerBranchId,jdbcType=VARCHAR}
and branch.SPC_AREA_ID = #{insurerBranchId,jdbcType=VARCHAR}