From cf59c6f2051a0fb90f868ed1d75a3b151ee6a1f5 Mon Sep 17 00:00:00 2001 From: xiaoCJ <406612557@qq.com> Date: Mon, 6 May 2024 09:52:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E5=92=8Cmapper=20xml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tea/impl/TeaGradeManageServiceImpl.java | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/sztzjy/financial_bigdata/service/tea/impl/TeaGradeManageServiceImpl.java b/src/main/java/com/sztzjy/financial_bigdata/service/tea/impl/TeaGradeManageServiceImpl.java index 95947c2..a0e5714 100644 --- a/src/main/java/com/sztzjy/financial_bigdata/service/tea/impl/TeaGradeManageServiceImpl.java +++ b/src/main/java/com/sztzjy/financial_bigdata/service/tea/impl/TeaGradeManageServiceImpl.java @@ -296,39 +296,34 @@ public class TeaGradeManageServiceImpl implements ITeaGradeManageService { userExample.or().andSchoolIdEqualTo(schoolId).andNameEqualTo(keyWord); } - int chapterNum = sysCourseChapterMapper.selectChapterBySchoolId(schoolId); List stuUsers = userMapper.selectByExample(userExample); List list = new ArrayList<>(); if (stuUsers.isEmpty()) { return null; } else { for (StuUser stuUser : stuUsers) { //先查出学校下所有的用户ID,再根据USERid去实训表中查实训记录,实训记录为空就跳过,有数据就封装 - TeaTrainingInfoDTO teaTrainingInfoDTO = new TeaTrainingInfoDTO(); StuClass stuClass = classMapper.selectByPrimaryKey(stuUser.getClassId()); - //封装user表的数据 - teaTrainingInfoDTO.setClassName(stuClass.getClassName()); - teaTrainingInfoDTO.setStudentId(stuUser.getStudentId()); - teaTrainingInfoDTO.setName(stuUser.getName()); - teaTrainingInfoDTO.setUserId(stuUser.getUserid()); //看用户在实训表有没有记录 StuTrainingExample stuTrainingExample = new StuTrainingExample(); stuTrainingExample.createCriteria().andUserIdEqualTo(stuUser.getUserid()); List stuTrainings = trainingMapper.selectByExampleWithBLOBs(stuTrainingExample); - int trainingSize = stuTrainingMapper.selectProgressFinish(stuUser.getUserid()); //已学任务数量 if (stuTrainings.isEmpty()) { //实训为空跳过这个用户 continue; } - for (StuTrainingWithBLOBs stuTrainingWithBLOB : stuTrainings) { - if (trainingSize != 0 && chapterNum != 0) { - int i = trainingSize / chapterNum; //综合进度 - teaTrainingInfoDTO.setProgress(BigDecimal.valueOf(i)); - } + for (StuTrainingWithBLOBs stuTrainingWithBLOB : stuTrainings) { + TeaTrainingInfoDTO teaTrainingInfoDTO = new TeaTrainingInfoDTO(); + //封装user表的数据 + teaTrainingInfoDTO.setClassName(stuClass.getClassName()); + teaTrainingInfoDTO.setStudentId(stuUser.getStudentId()); + teaTrainingInfoDTO.setName(stuUser.getName()); + teaTrainingInfoDTO.setUserId(stuUser.getUserid()); //求综合得分 拿到每个已完成的章节分数 BigDecimal totalScore = BigDecimal.valueOf(0); teaTrainingInfoDTO.setTrainingId(stuTrainingWithBLOB.getTrainingId()); + teaTrainingInfoDTO.setProgress(stuTrainingWithBLOB.getProgress()); TrainingReport trainingReport = trainingReportMapper.selectByPrimaryKey(stuTrainingWithBLOB.getReportId()); BigDecimal reportScore = null; if (trainingReport != null) { @@ -353,6 +348,7 @@ public class TeaGradeManageServiceImpl implements ITeaGradeManageService { if (learningEvalScore != null && BigDecimal.ZERO.compareTo(learningEvalScore) == 0) { totalScore = totalScore.add(learningEvalScore); } + int chapterNum = sysCourseChapterMapper.selectChapterBySchoolId(schoolId); int score = totalScore.intValue() / chapterNum; //已完成的模块分数/总模块数量 teaTrainingInfoDTO.setTotalScore(BigDecimal.valueOf(score)); }