From 1acd391857eadc7fde4d00a67eba4e35457d3dfa Mon Sep 17 00:00:00 2001 From: CYQ <123@163.com> Date: Thu, 23 Oct 2025 17:34:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A1=E7=AE=97=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../batch/processor/biz/BIZ006Processor.java | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/MpsFormalBatch/src/main/java/com/gtsoft/mps/batch/processor/biz/BIZ006Processor.java b/MpsFormalBatch/src/main/java/com/gtsoft/mps/batch/processor/biz/BIZ006Processor.java index 95fad9a..dc38aa2 100644 --- a/MpsFormalBatch/src/main/java/com/gtsoft/mps/batch/processor/biz/BIZ006Processor.java +++ b/MpsFormalBatch/src/main/java/com/gtsoft/mps/batch/processor/biz/BIZ006Processor.java @@ -299,13 +299,16 @@ public class BIZ006Processor extends AbstractBusinessProcessor { logger.warn("未找到部门 {} 的分成比例,使用默认比例", record.branchId); } - // 计算经办人员奖励 - BigDecimal jbReward = baseReward.multiply(percentage.jbPercent).setScale(SCALE, ROUNDING_MODE); - updatePerformanceSummary(performanceMap, record.jbId, record.branchId, jbReward); - - // 计算营销人员奖励 - if (!record.jbId.equals(record.yxId)) { + //计算分成后金额 + if (record.jbId.equals(record.yxId)) { + // 同一人,不分成 + BigDecimal jbReward = baseReward.multiply(BigDecimal.ONE); + updatePerformanceSummary(performanceMap, record.jbId, record.branchId, jbReward); + } else { + // 不同人,分成计算 + BigDecimal jbReward = baseReward.multiply(percentage.jbPercent).setScale(SCALE, ROUNDING_MODE); BigDecimal yxReward = baseReward.multiply(percentage.yxPercent).setScale(SCALE, ROUNDING_MODE); + updatePerformanceSummary(performanceMap, record.jbId, record.branchId, jbReward); updatePerformanceSummary(performanceMap, record.yxId, record.branchId, yxReward); } } @@ -321,6 +324,8 @@ public class BIZ006Processor extends AbstractBusinessProcessor { " fill1 = ? " + "WHERE marketer_code = ? AND branch_id = ? AND record_date = ?", tableName); + //System.out.println("---更新计价>>>"+summary.branchId + "," + summary.marketerCode + "," + summary.recordCount + "," + summary.totalReward); + updatedCount += executeParameterizedSql(connection, updateSql, String.valueOf(summary.recordCount), summary.totalReward.toString(), @@ -366,17 +371,15 @@ public class BIZ006Processor extends AbstractBusinessProcessor { private void updatePerformanceSummary(Map performanceMap, String marketerCode, String branchId, BigDecimal reward) { - // 如果奖励金额为0,不进行任何操作 - if (reward.compareTo(BigDecimal.ZERO) == 0) { - return; - } - String key = marketerCode + "|" + branchId; PerformanceSummary summary = performanceMap.computeIfAbsent(key, k -> new PerformanceSummary(marketerCode, branchId)); summary.recordCount++; summary.totalReward = summary.totalReward.add(reward); + + //System.out.println("----------绩效汇总>>>"+key+","+summary.recordCount+","+summary.totalReward); + } /**