diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAssessMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAssessMapper.java index 1105c2d0..207ead5e 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAssessMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuMemberAssessMapper.java @@ -254,6 +254,14 @@ public interface CuMemberAssessMapper extends BaseMapper { @Param("currentSettleTableName") String currentSettleTableName, @Param("beforeMonthSettleTableName") String beforeMonthSettleTableName); + /** + * 更新区域考核考核状态 + * + * @param accessTableName + * @return + */ + int updateAreaAssessStatus(@Param("accessTableName") String accessTableName); + /** * 更新会员区域失效 * diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java index d7828950..9ee83a16 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuMemberAssessServiceImpl.java @@ -439,10 +439,9 @@ public class CuMemberAssessServiceImpl extends ServiceImpl merge into ${accessTableName} cma using (select t.pk_member, + t.pk_awards, case when t.a_sum_pv > t.b_sum_pv then t.b_sum_pv @@ -578,11 +580,13 @@ t.a_sum_pv end small_pv from (select a.pk_member, + a.pk_awards, nvl(a.a_sum_pv, 0) + nvl(a.rep_a_sum_pv, 0) - nvl(b.a_sum_pv, 0) - nvl(b.rep_a_sum_pv, 0) a_sum_pv, nvl(a.b_sum_pv, 0) + nvl(a.rep_b_sum_pv, 0) - nvl(b.b_sum_pv, 0) - nvl(b.rep_b_sum_pv, 0) b_sum_pv from (select cms.pk_member, + cms.pk_awards, cms.a_sum_pv, cms.b_sum_pv, cms.rep_a_sum_pv, @@ -604,17 +608,32 @@ 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.del_flag = 0) + 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) when matched then - update set cma.month_add = tmp.small_pv, - cma.ASSESS_STATUS = - (case - when tmp.small_pv >= cma.assess_target then - 1 - else - 2 - end) + update set cma.pk_awards = tmp.pk_awards, + cma.month_add = tmp.small_pv, + cma.assess_status = 2 + + + + + merge into ${accessTableName} cma + using (select cma.pk_member, cma.assess_type + from ${accessTableName} cma + left join bd_awards baa + on baa.pk_id = cma.assess_pk_awards + left join bd_awards ba + on ba.pk_id = cma.pk_awards + where cma.del_flag = 0 + and cma.assess_type in (6, 7, 8) + and ba.awards_value >= baa.awards_value + and cma.month_add >= cma.assess_target + ) tmp + on (cma.pk_member = tmp.pk_member and cma.assess_type = tmp.assess_type) + when matched then + update set cma.assess_status = 0 diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssess.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssess.java index b193f448..e247cc58 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssess.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuMemberAssess.java @@ -49,7 +49,7 @@ public class CuMemberAssess extends BaseEntity { private Integer assessType; /** - * 考核奖衔 + * 奖衔 */ @TableField("PK_AWARDS") private Integer pkAwards; @@ -60,6 +60,13 @@ public class CuMemberAssess extends BaseEntity { @TableField("ASSESS_TARGET") private BigDecimal assessTarget; + /** + * 考核奖衔 + */ + @TableField("ASSESS_PK_AWARDS") + private Integer assessPkAwards; + + /** * 是否免考(0=是,1=否) */