From 29617938fdc6e967fc720d440d11519f06a9bff5 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 30 Jul 2025 10:18:33 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=8C=BA=E5=9F=9F=E8=80=83=E6=A0=B8?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BonusSettleServiceImpl.java | 3 +- .../bonus/detail/CuMemberAssessMapper.xml | 38 ++++++++++--------- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java index 6bd09141..43b4ceb7 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleServiceImpl.java @@ -588,9 +588,10 @@ public class BonusSettleServiceImpl implements IBonusSettleService { // 创建考核月表(cu_member_assess) iCuMemberAssessService.createCuMemberAssessMonth(afterDate); - // TODO 区域考核,当月、次月免考 + // 区域考核,当月、次月免考 iCuMemberAssessService.initAreaMemberAssess(settleDate, currentSettleDate, currentSettleTableName); } + // 奖金计算结束,统计拨比、业绩、4-N拨比 iCuBonusExpandService.updateCuBonusExpandRatio(BonusExpandParam.builder().settleDate(currentSettleDate).build(), "cu_member_bonus"); } catch (Exception e) { diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAssessMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAssessMapper.xml index 61b99128..0ae350af 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAssessMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuMemberAssessMapper.xml @@ -593,28 +593,31 @@ cms.rep_b_sum_pv from ${currentSettleTableName} cms where cms.pk_member in - (select cma.pk_member + (select distinct cma.pk_member from ${accessTableName} cma where cma.del_flag = 0 and cma.assess_type in (6, 7, 8))) a - left join (select cms.pk_member, - cms.a_sum_pv, - cms.b_sum_pv, - cms.rep_a_sum_pv, - cms.rep_b_sum_pv - from ${beforeMonthSettleTableName} cms - where cms.pk_member in - (select cma.pk_member - from ${accessTableName} cma - where cma.del_flag = 0 - and cma.assess_type in (6, 7, 8))) b - on a.pk_member = b.pk_member) t + left join (select cms.pk_member, + cms.a_sum_pv, + cms.b_sum_pv, + cms.rep_a_sum_pv, + cms.rep_b_sum_pv + from ${beforeMonthSettleTableName} cms + where cms.pk_member in + (select distinct cma.pk_member + from ${accessTableName} cma + where cma.del_flag = 0 + and cma.assess_type in (6, 7, 8))) b + on a.pk_member = b.pk_member) t ) tmp - on (cma.pk_member = tmp.pk_member and cma.assess_type in (6, 7, 8) and cma.assess_status != 1 and cma.del_flag = 0) + on (cma.pk_member = tmp.pk_member and cma.assess_type in (6, 7, 8) and cma.del_flag = 0) when matched then - update set cma.pk_awards = tmp.pk_awards, - cma.month_add = tmp.small_pv, - cma.assess_status = 2 + update set cma.pk_awards = tmp.pk_awards, + cma.month_add = tmp.small_pv, + cma.assess_status = (case + when cma.assess_status = 1 then 1 + else 2 + end) @@ -628,6 +631,7 @@ on ba.pk_id = cma.pk_awards where cma.del_flag = 0 and cma.assess_type in (6, 7, 8) + and cma.assess_status != 1 and ba.awards_value >= baa.awards_value and cma.month_add >= cma.assess_target ) tmp