完成用户征信,企业征信的主观题多次提交分数计算和总成绩重新计算

master
whb 11 months ago
parent 4d93232ee0
commit cd913642bc

@ -65,6 +65,9 @@ public class StuRateServiceImpl implements StuRateService {
@Autowired
StuUserMapper userMapper;
@Autowired
private StuScoreCenterMapper stuScoreCenterMapper;
@ -358,6 +361,14 @@ public class StuRateServiceImpl implements StuRateService {
creditEnhanceMeasureMapper.updateByPrimaryKeySelective(creditEnhanceMeasureList.get(0));
//先将成绩写入stu_score_center 根据重新实训次数(最多两次) 累加到对应成绩,求取平均分,然后再写入用户表对应的总成绩 累加总分
enhanceMeasureWriteInByAutoRating(creditEnhanceMeasureList.get(0));
return new ResultEntity<>(HttpStatus.OK,"保存成功",scoreByAuto);
}
@ -376,10 +387,98 @@ public class StuRateServiceImpl implements StuRateService {
enhanceMeasure.setErrorNumber(20-scoreByAuto);
creditEnhanceMeasureMapper.insertSelective(enhanceMeasure);
enhanceMeasureWriteInByAutoRating(enhanceMeasure);
return new ResultEntity<>(HttpStatus.OK,"保存成功!",scoreByAuto);
}
//先将成绩写入stu_score_center 根据重新实训次数(最多两次) 累加到对应成绩,求取平均分,然后再写入用户表对应的总成绩 累加总分
private void enhanceMeasureWriteInByAutoRating(StuCreditEnhanceMeasure enhanceMeasure) {
StuScoreCenterExample stuScoreCenterExample = new StuScoreCenterExample();
stuScoreCenterExample.createCriteria().andUserIdEqualTo(enhanceMeasure.getUserId()).andModuleEqualTo(enhanceMeasure.getModule());
List<StuScoreCenter> stuScoreCenterList = stuScoreCenterMapper.selectByExample(stuScoreCenterExample);
if (stuScoreCenterList.isEmpty()){
return;
}
Integer numberOfTraining = stuScoreCenterList.get(0).getNumberOfTraining();
if (numberOfTraining == 0)
{
if (stuScoreCenterList.get(0).getTrainingScoreOne() == null)
{
stuScoreCenterList.get(0).setTrainingScoreOne(BigDecimal.valueOf(0.00)) ;
}
//第一次得分
stuScoreCenterList.get(0).setTrainingScore(stuScoreCenterList.get(0).getTrainingScoreOne().add(Convert.toBigDecimal(enhanceMeasure.getSysScore())));
stuScoreCenterList.get(0).setTrainingScoreOne(stuScoreCenterList.get(0).getTrainingScoreOne().add(Convert.toBigDecimal(enhanceMeasure.getSysScore())));
}
if (numberOfTraining == 1)
{
if (stuScoreCenterList.get(0).getTrainingScoreTwo() == null)
{
stuScoreCenterList.get(0).setTrainingScoreTwo(BigDecimal.valueOf(0.00)) ;
}
//第2次得分
BigDecimal info = stuScoreCenterList.get(0).getTrainingScoreTwo().add(Convert.toBigDecimal(enhanceMeasure.getSysScore()));
//求2次平均分写入成绩
BigDecimal avg = (stuScoreCenterList.get(0).getTrainingScoreOne().add(info)).divide(BigDecimal.valueOf(2), 2, BigDecimal.ROUND_HALF_UP);
stuScoreCenterList.get(0).setTrainingScore(avg);
stuScoreCenterList.get(0).setTrainingScoreTwo(avg);
}
if (numberOfTraining == 2)
{
if (stuScoreCenterList.get(0).getTrainingScoreThree() == null)
{
stuScoreCenterList.get(0).setTrainingScoreThree(BigDecimal.valueOf(0.00)) ;
}
//第3次得分
BigDecimal info = stuScoreCenterList.get(0).getTrainingScoreThree().add(Convert.toBigDecimal(enhanceMeasure.getSysScore()));
BigDecimal scoreTwo = stuScoreCenterList.get(0).getTrainingScoreTwo();
//求3次平均分写入成绩
BigDecimal avg = (stuScoreCenterList.get(0).getTrainingScoreOne().add(info).add(scoreTwo)).divide(BigDecimal.valueOf(3), 2, BigDecimal.ROUND_HALF_UP);
stuScoreCenterList.get(0).setTrainingScore(avg);
stuScoreCenterList.get(0).setTrainingScoreThree(avg);
}
stuScoreCenterMapper.updateByPrimaryKeySelective(stuScoreCenterList.get(0));
StuUser stuUser = userMapper.selectByPrimaryKey(enhanceMeasure.getUserId());
if ("个人征信".equals(enhanceMeasure.getModule()))
{
//个人征信客观成绩
stuUser.setCasePersonalCreditSubScore(BigDecimal.valueOf(enhanceMeasure.getSysScore()));
//个人征信总成绩
stuUser.setCasePersonalCreditScore(stuScoreCenterList.get(0).getTrainingScore());
}
if ("企业征信".equals(enhanceMeasure.getModule()))
{
//企业征信客观成绩
stuUser.setCaseCorporateCreditObjScore(BigDecimal.valueOf(enhanceMeasure.getSysScore()));
//企业征信总成绩
stuUser.setCaseCorporateCreditScore(stuScoreCenterList.get(0).getTrainingScore());
}
//获取用户画像总成绩 企业征信总成绩 个人征信总成绩 累加 写入实训案例总成绩
BigDecimal allScore = stuUser.getCasePersonalCreditScore().add(stuUser.getCaseCorporateCreditScore()).add(stuUser.getCaseUserProfileSocre());
//综合案例总成绩
stuUser.setComprehensiveCaseScore(allScore);
userMapper.updateByPrimaryKeySelective(stuUser);
}
/**
* :

Loading…
Cancel
Save