From 7e0776dbd8470e21c777de74db1f32c7303eae19 Mon Sep 17 00:00:00 2001 From: Administrator <2863138610@qq.com> Date: 星期五, 02 十二月 2022 11:27:52 +0800 Subject: [PATCH] 成绩管理 --- src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java | 27 +++++++++++++++++++++++++-- 1 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java index 0b95484..ade7300 100644 --- a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java +++ b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java @@ -645,12 +645,35 @@ where(qSubjectProgressTreeV.id.userId.eq(qUser.userId).and(qSubjectProgressTreeV.nodeType.eq(nodeType)) .and(qSubjectProgressTreeV.id.nodeId.eq(nodeId))).orderBy(order).fetch().stream().map(tuple -> { + List<ClsClassReSubject> clsClassReSubjects = find("from ClsClassReSubject where classId = ?",CollectionUtils.newList(nodeId),ClsClassReSubject.class); + Double percent = 0.0; + Double progressValue = 0.0; + Double percentAvg = 0.0; + int size = 0; + for(ClsClassReSubject c : clsClassReSubjects) { + List<MyLectureV> myLectureVList = lectureService.listLectureVBySubjectId(tuple.get(qUser.userId), c.getSubjectId(), "", 1000, 1, null); + if (!myLectureVList.isEmpty()) { + for (MyLectureV myLectureV : myLectureVList) { + if (myLectureV.getPercent() != null && myLectureV.getProgressValue() != null) { + percent += myLectureV.getPercent(); + progressValue += myLectureV.getProgressValue().intValue(); + } + } + size += myLectureVList.size(); + if (percentAvg.isNaN()) { + percentAvg += 0.0; + } + } + } + percentAvg += percent / size; Map<String, Object> map = new HashMap<>(); map.put("userName", tuple.get(qUser.name)); map.put("userId", tuple.get(qUser.userId)); map.put("classId", tuple.get(qSubjectProgressTreeV.id.nodeId)); - map.put("percent", tuple.get(qSubjectProgressTreeV.percent)); - map.put("progressValue", tuple.get(qSubjectProgressTreeV.progressValue)); + map.put("percent", percentAvg); + map.put("progressValue", progressValue); +// map.put("percent", tuple.get(qSubjectProgressTreeV.percent)); +// map.put("progressValue", tuple.get(qSubjectProgressTreeV.progressValue)); return map; }).collect(Collectors.toList()); return lstMap; -- Gitblit v1.8.0