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