diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java index e685183..788fe79 100644 --- a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java +++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java @@ -231,10 +231,10 @@ public class TrainingScoreController { // } // 老师端报告评分 @PostMapping("/reportGrade") - public Map reportGrade(@RequestBody JSONObject jsonObject) { + public void reportGrade(@RequestBody JSONObject jsonObject) { Integer reportScore = jsonObject.getInteger("reportScore"); Long userId = jsonObject.getLong("userId"); - return trainingScoreService.reportGrade(reportScore, userId); + trainingScoreService.reportGrade(reportScore, userId); } @@ -264,7 +264,7 @@ public class TrainingScoreController { if (!sysTrainingScores.isEmpty()) { for (SysTrainingScore sysTrainingScore : sysTrainingScores) { if (sysTrainingScore.getTrainingReportScore() != null) { - Integer trainingReportScore = sysTrainingScore.getTrainingReportScore(); + Integer trainingReportScore = sysTrainingScore.getPreTrainingReportScore(); Long userid = sysTrainingScore.getUserid(); resultScores.put(userid, trainingReportScore); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTrainingScoreService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTrainingScoreService.java index 84e3010..11846e3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTrainingScoreService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTrainingScoreService.java @@ -35,5 +35,5 @@ public interface ISysTrainingScoreService { AjaxResult downloadReport(HttpServletResponse response, Long id); - Map reportGrade(Integer reportScore, Long userId); + void reportGrade(Integer reportScore, Long userId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java index 8bb7a34..b999375 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java @@ -241,12 +241,14 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService { sysTrainingScore.setTotalscore(totalScore); sysTrainingScore.setTrainingReportScore(resultReportScore.intValue()); sysTrainingScore.setTrainingOperationScore(resultOperationScore.intValue()); + sysTrainingScore.setPreTrainingReportScore(reportScore); trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore); gradeWeightMapper.updateByPrimaryKeySelective(sysGradeWeight); return reportDto; } //当两个成绩有一个时,也需要查询返回已有的 (不能算权重) 只有一个时不计算权重 否则查询一次就会算一次哦 else if (reportScore != null) { // 当只有报告成绩可用时 reportDto.setTrainingReportScore(reportScore.doubleValue() * reportWeight); + sysTrainingScore.setPreTrainingReportScore(reportScore); trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore); return reportDto; } else if (trainingOperationScore != null) { // 当只有操作成绩可用时 @@ -368,14 +370,14 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService { //修改实训报告分数,并重新算分 @Override - public Map reportGrade(Integer reportScore, Long userId) { - Map resultMap = new HashMap<>(); + public void reportGrade(Integer reportScore, Long userId) { SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample(); trainingScoreExample.createCriteria().andUseridEqualTo(userId); List sysTrainingScores = trainingScoreMapper.selectByExample(trainingScoreExample); if (!sysTrainingScores.isEmpty()) { SysTrainingScore sysTrainingScore = sysTrainingScores.get(0); sysTrainingScore.setTrainingReportScore(reportScore); + sysTrainingScore.setPreTrainingReportScore(reportScore); trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore); // 调用重新计算分数和总成绩的逻辑 SysUser user = sysUserMapper.selectUserById(userId); @@ -384,9 +386,6 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService { Double reportWeight = sysGradeWeight.getReportWeight(); //修改完调用算分方法重新算分 createReportDto(sysTrainingScore, user, reportWeight, operatorWeight); - resultMap.put(userId,reportScore); - return resultMap; } - return null; } }