|
|
@ -241,12 +241,14 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
sysTrainingScore.setTotalscore(totalScore);
|
|
|
|
sysTrainingScore.setTotalscore(totalScore);
|
|
|
|
sysTrainingScore.setTrainingReportScore(resultReportScore.intValue());
|
|
|
|
sysTrainingScore.setTrainingReportScore(resultReportScore.intValue());
|
|
|
|
sysTrainingScore.setTrainingOperationScore(resultOperationScore.intValue());
|
|
|
|
sysTrainingScore.setTrainingOperationScore(resultOperationScore.intValue());
|
|
|
|
|
|
|
|
sysTrainingScore.setPreTrainingReportScore(reportScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
gradeWeightMapper.updateByPrimaryKeySelective(sysGradeWeight);
|
|
|
|
gradeWeightMapper.updateByPrimaryKeySelective(sysGradeWeight);
|
|
|
|
return reportDto;
|
|
|
|
return reportDto;
|
|
|
|
} //当两个成绩有一个时,也需要查询返回已有的 (不能算权重) 只有一个时不计算权重 否则查询一次就会算一次哦
|
|
|
|
} //当两个成绩有一个时,也需要查询返回已有的 (不能算权重) 只有一个时不计算权重 否则查询一次就会算一次哦
|
|
|
|
else if (reportScore != null) { // 当只有报告成绩可用时
|
|
|
|
else if (reportScore != null) { // 当只有报告成绩可用时
|
|
|
|
reportDto.setTrainingReportScore(reportScore.doubleValue() * reportWeight);
|
|
|
|
reportDto.setTrainingReportScore(reportScore.doubleValue() * reportWeight);
|
|
|
|
|
|
|
|
sysTrainingScore.setPreTrainingReportScore(reportScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
return reportDto;
|
|
|
|
return reportDto;
|
|
|
|
} else if (trainingOperationScore != null) { // 当只有操作成绩可用时
|
|
|
|
} else if (trainingOperationScore != null) { // 当只有操作成绩可用时
|
|
|
@ -368,14 +370,14 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
|
|
|
|
|
|
|
|
//修改实训报告分数,并重新算分
|
|
|
|
//修改实训报告分数,并重新算分
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Map<Long,Integer> reportGrade(Integer reportScore, Long userId) {
|
|
|
|
public void reportGrade(Integer reportScore, Long userId) {
|
|
|
|
Map<Long,Integer> resultMap = new HashMap<>();
|
|
|
|
|
|
|
|
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
trainingScoreExample.createCriteria().andUseridEqualTo(userId);
|
|
|
|
trainingScoreExample.createCriteria().andUseridEqualTo(userId);
|
|
|
|
List<SysTrainingScore> sysTrainingScores = trainingScoreMapper.selectByExample(trainingScoreExample);
|
|
|
|
List<SysTrainingScore> sysTrainingScores = trainingScoreMapper.selectByExample(trainingScoreExample);
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
SysTrainingScore sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
SysTrainingScore sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
sysTrainingScore.setTrainingReportScore(reportScore);
|
|
|
|
sysTrainingScore.setTrainingReportScore(reportScore);
|
|
|
|
|
|
|
|
sysTrainingScore.setPreTrainingReportScore(reportScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
// 调用重新计算分数和总成绩的逻辑
|
|
|
|
// 调用重新计算分数和总成绩的逻辑
|
|
|
|
SysUser user = sysUserMapper.selectUserById(userId);
|
|
|
|
SysUser user = sysUserMapper.selectUserById(userId);
|
|
|
@ -384,9 +386,6 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
Double reportWeight = sysGradeWeight.getReportWeight();
|
|
|
|
Double reportWeight = sysGradeWeight.getReportWeight();
|
|
|
|
//修改完调用算分方法重新算分
|
|
|
|
//修改完调用算分方法重新算分
|
|
|
|
createReportDto(sysTrainingScore, user, reportWeight, operatorWeight);
|
|
|
|
createReportDto(sysTrainingScore, user, reportWeight, operatorWeight);
|
|
|
|
resultMap.put(userId,reportScore);
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|