|
|
|
@ -49,11 +49,6 @@ public class RiskScoreRuleServiceImpl implements RiskScoreRuleService { |
|
|
|
if(idCodes != null && !idCodes.isEmpty()) { |
|
|
|
if(idCodes != null && !idCodes.isEmpty()) { |
|
|
|
queryWrapper.in(RiskPersonal::getIdCode, idCodes); |
|
|
|
queryWrapper.in(RiskPersonal::getIdCode, idCodes); |
|
|
|
} |
|
|
|
} |
|
|
|
if(weight != null && !weight.equals("1")) { |
|
|
|
|
|
|
|
Double we = Optional.ofNullable(weight).map(Double::valueOf).orElse(1.0); |
|
|
|
|
|
|
|
int result = riskModelTaskClueRepository.getBaseMapper().updateScoreResult(we); |
|
|
|
|
|
|
|
log.info("修改分数"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<RiskPersonal> riskPersonals = personalRepository.list(queryWrapper); |
|
|
|
List<RiskPersonal> riskPersonals = personalRepository.list(queryWrapper); |
|
|
|
List<RiskScoreRule> rules = riskScoreRuleRepository.list(new LambdaQueryWrapper<>()); |
|
|
|
List<RiskScoreRule> rules = riskScoreRuleRepository.list(new LambdaQueryWrapper<>()); |
|
|
|
@ -68,6 +63,21 @@ public class RiskScoreRuleServiceImpl implements RiskScoreRuleService { |
|
|
|
List<RiskModelTaskClue> clues = riskModelTaskClueRepository.list(new LambdaQueryWrapper<RiskModelTaskClue>() |
|
|
|
List<RiskModelTaskClue> clues = riskModelTaskClueRepository.list(new LambdaQueryWrapper<RiskModelTaskClue>() |
|
|
|
.select(RiskModelTaskClue::getIdCode, RiskModelTaskClue::getModelId, RiskModelTaskClue::getScore, RiskModelTaskClue::getScoreResult) |
|
|
|
.select(RiskModelTaskClue::getIdCode, RiskModelTaskClue::getModelId, RiskModelTaskClue::getScore, RiskModelTaskClue::getScoreResult) |
|
|
|
.eq(RiskModelTaskClue::getDel, 0)); |
|
|
|
.eq(RiskModelTaskClue::getDel, 0)); |
|
|
|
|
|
|
|
log.info("1、修改每项得分\n2、修改人员总分"); |
|
|
|
|
|
|
|
log.info("1、计算分项倍分"); |
|
|
|
|
|
|
|
List<RiskModelTaskClue> updates = new ArrayList<>(); |
|
|
|
|
|
|
|
if(weight != null && !weight.equals("1")) { |
|
|
|
|
|
|
|
for (RiskModelTaskClue clue : clues) { |
|
|
|
|
|
|
|
RiskModelTaskClue update = new RiskModelTaskClue(); |
|
|
|
|
|
|
|
update.setId(clue.getId()); |
|
|
|
|
|
|
|
update.setScoreResult(new BigDecimal(clue.getScoreCalc().toString()).multiply(new BigDecimal(weight)).divide(new BigDecimal("1"), 2, RoundingMode.HALF_UP).doubleValue()); |
|
|
|
|
|
|
|
updates.add(update); |
|
|
|
|
|
|
|
clue.setScoreResult(update.getScoreResult()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
log.info("1、修改每项得分"); |
|
|
|
|
|
|
|
riskModelTaskClueRepository.updateBatchById(updates); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, Map<Integer, List<RiskModelTaskClue>>> clueMap = new HashMap<>(); |
|
|
|
Map<String, Map<Integer, List<RiskModelTaskClue>>> clueMap = new HashMap<>(); |
|
|
|
for (RiskModelTaskClue clue : clues) { |
|
|
|
for (RiskModelTaskClue clue : clues) { |
|
|
|
@ -105,15 +115,15 @@ public class RiskScoreRuleServiceImpl implements RiskScoreRuleService { |
|
|
|
// BigDecimal n2 = new BigDecimal(Double.toString(Math.min(ruleScore.doubleValue(), riskScoreRule.getScore())));
|
|
|
|
// BigDecimal n2 = new BigDecimal(Double.toString(Math.min(ruleScore.doubleValue(), riskScoreRule.getScore())));
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// BigDecimal weight = new BigDecimal(Double.toString(riskScoreRule.getWeight()));
|
|
|
|
// BigDecimal weight = new BigDecimal(Double.toString(riskScoreRule.getWeight()));
|
|
|
|
// n2 = n2.multiply(weight).divide(new BigDecimal("100"), 2, RoundingMode.UP);
|
|
|
|
// n2 = n2.multiply(weight).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
|
|
|
|
Double ruleScore = temp.stream().mapToDouble(RiskModelTaskClue::getScoreResult).sum(); |
|
|
|
Double ruleScore = temp.stream().mapToDouble(RiskModelTaskClue::getScoreResult).sum(); |
|
|
|
BigDecimal rScore = new BigDecimal(riskScoreRule.getScore().toString()).multiply(new BigDecimal(weight)); |
|
|
|
BigDecimal rScore = new BigDecimal(riskScoreRule.getScore().toString()).multiply(new BigDecimal(weight)).divide(new BigDecimal("1"), 2, RoundingMode.HALF_UP); |
|
|
|
BigDecimal n2 = new BigDecimal(Double.toString(Math.min(ruleScore, rScore.doubleValue()))); |
|
|
|
BigDecimal n2 = new BigDecimal(Double.toString(Math.min(ruleScore, rScore.doubleValue()))); |
|
|
|
score=score.add(n2); |
|
|
|
score=score.add(n2); |
|
|
|
} |
|
|
|
} |
|
|
|
// BigDecimal ruleScore = new BigDecimal(Double.toString(rule.getScore()));
|
|
|
|
// BigDecimal ruleScore = new BigDecimal(Double.toString(rule.getScore()));
|
|
|
|
// BigDecimal weight = new BigDecimal(Double.toString(rule.getWeight()));
|
|
|
|
// BigDecimal weight = new BigDecimal(Double.toString(rule.getWeight()));
|
|
|
|
// score = score.multiply(weight).divide(ruleScore, 2, RoundingMode.UP);
|
|
|
|
// score = score.multiply(weight).divide(ruleScore, 2, RoundingMode.HALF_UP);
|
|
|
|
total = total.add(score); |
|
|
|
total = total.add(score); |
|
|
|
} |
|
|
|
} |
|
|
|
//二次改造
|
|
|
|
//二次改造
|
|
|
|
@ -135,6 +145,7 @@ public class RiskScoreRuleServiceImpl implements RiskScoreRuleService { |
|
|
|
log.info("已完成打分: {},共计:{}", count,size); |
|
|
|
log.info("已完成打分: {},共计:{}", count,size); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
personalRepository.updateBatchById(toUpdates, 10000); |
|
|
|
personalRepository.updateBatchById(toUpdates, 10000); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|