修改计算逻辑
This commit is contained in:
parent
614b4fee13
commit
1acd391857
@ -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<String, PerformanceSummary> 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);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user