From 316964cd0718e6fb8e5036d90530844fead3f028 Mon Sep 17 00:00:00 2001
From: wgf <121463602@qq.com>
Date: Thu, 6 Jul 2023 18:28:56 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=B6=85=E7=AE=A1=E8=AF=95=E9=A2=98?=
 =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=9B=B4=E6=8D=A2=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ...enCourseHandsOnSimulationTasksService.java | 12 ++++----
 .../jlw/web/ResourcesQuestionController.java  | 28 ++++++++++++++++---
 2 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnSimulationTasksService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnSimulationTasksService.java
index 189eae87..b1fcb276 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnSimulationTasksService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnSimulationTasksService.java
@@ -471,7 +471,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
                 studentHandsOnTaskVideoQuery.setHandsOnId(handsOnId);
                 List<StudentHandsOnTaskVideo> valuesByQuery = studentHandsOnTaskVideoService.getValuesByQuery(studentHandsOnTaskVideoQuery);
                 double sum = valuesByQuery.stream().mapToDouble(v -> v.getVideoScore() == null ? 0 : v.getVideoScore().doubleValue()).sum();
-                student.set("sumScore", sum);
+                student.set("sumScore", ObjectUtil.isEmpty(valuesByQuery) ? "-" : sum);
             }
         }
         if (HandsOnTaskEnum.TASK_PPT.status.equals(studentScoreParam.getType())) {
@@ -481,7 +481,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
                 studentHandsOnTaskPptQuery.setHandsOnId(handsOnId);
                 List<StudentHandsOnTaskPpt> valuesByQuery = studentHandsOnTaskPptService.getValuesByQuery(studentHandsOnTaskPptQuery);
                 double sum = valuesByQuery.stream().mapToDouble(v -> v.getPptScore() == null ? 0 : v.getPptScore().doubleValue()).sum();
-                student.set("sumScore", sum);
+                student.set("sumScore",ObjectUtil.isEmpty(valuesByQuery) ? "-" : sum);
             }
         }
         if (HandsOnTaskEnum.TASK_THEORY.status.equals(studentScoreParam.getType())) {
@@ -491,7 +491,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
                 studentHandsOnTaskTheoryQuery.setHandsOnId(handsOnId);
                 List<StudentHandsOnTaskTheory> valuesByQuery = studentHandsOnTaskTheoryService.getValuesByQuery(studentHandsOnTaskTheoryQuery);
                 double sum = valuesByQuery.stream().mapToDouble(v -> v.getTheoryScore() == null ? 0 : v.getTheoryScore().doubleValue()).sum();
-                student.set("sumScore", sum);
+                student.set("sumScore", ObjectUtil.isEmpty(valuesByQuery) ? "-" : sum);
             }
         }
         if (HandsOnTaskEnum.TASK_PRACTICAL_TRAINING.status.equals(studentScoreParam.getType())) {
@@ -501,7 +501,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
                 studentHandsOnTaskStepQuery.setHandsOnId(handsOnId);
                 List<StudentHandsOnTaskStep> valuesByQuery = studentHandsOnTaskStepService.getValuesByQuery(studentHandsOnTaskStepQuery);
                 double sum = valuesByQuery.stream().mapToDouble(v -> v.getTheoryScore() == null ? 0 : v.getTheoryScore().doubleValue()).sum();
-                student.set("sumScore", sum);
+                student.set("sumScore", ObjectUtil.isEmpty(valuesByQuery) ? "-" : sum);
             }
         }
         if (HandsOnTaskEnum.TASK_REPORT_WRITING.status.equals(studentScoreParam.getType())) {
@@ -511,7 +511,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
                 studentHandsOnTaskReportQuery.setHandsOnId(handsOnId);
                 List<StudentHandsOnTaskReport> valuesByQuery = studentHandsOnTaskReportService.getValuesByQuery(studentHandsOnTaskReportQuery);
                 double sum = valuesByQuery.stream().mapToDouble(v -> v.getReportScore() == null ? 0 : v.getReportScore().doubleValue()).sum();
-                student.set("sumScore", sum);
+                student.set("sumScore", ObjectUtil.isEmpty(valuesByQuery) ? "-" : sum);
             }
         }
         if ("ALL".equals(studentScoreParam.getType())) {
@@ -521,7 +521,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
                 handsOnAchievement.setHandOnId(handsOnId);
                 handsOnAchievement.setHandOnAchievementStatus(1);
                 HandsOnAchievement res = studentHandsOnTaskReportService.queryObject(handsOnAchievement);
-                String totalScore = ObjectUtil.isNull(res)? "0" : res.getTotalScore();
+                String totalScore = ObjectUtil.isNull(res)? "-" : res.getTotalScore();
                 student.set("sumScore", totalScore);
             }
         }
diff --git a/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java b/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java
index 36c8d0d6..876577ce 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/ResourcesQuestionController.java
@@ -202,11 +202,31 @@ public class ResourcesQuestionController {
             // 如果为空字符串,那么代表这个学校,还没有授权的课程,所以是不会显示任何东西的。
             condition.setCourseInfoIds(StrUtil.blankToDefault(ids, "未授权应用"));
         }
-        if (coreUser.isAdmin()) {
-            resourcesQuestionService.getTestItemManageSystemOAndUniversities(page);
-        } else {
-            resourcesQuestionService.queryByCondition(page);
+        resourcesQuestionService.queryByCondition(page);
+        return JsonResult.success(page);
+    }
+
+    @PostMapping(MODEL + "/testItemManageList.json")
+    @Function("resourcesQuestion.query")
+    @ResponseBody
+    public JsonResult<PageQuery> getTestItemManageSystemOAndUniversities(ResourcesQuestionQuery condition, @SCoreUser CoreUser coreUser) {
+        PageQuery page = condition.getPageQuery();
+
+        if (coreUser.isUniAdmin()) {
+            condition.setOrgIdPlural(join(Arrays.asList(coreUser.getOrgId(), 1L).toArray(), ","));
+            // 查询已经授权的课程ID。
+            // 理论课程:授权表universities_colleges_jurisdiction_curriculum_resources,查询理论课程授权给院校的数据
+            Serializable courseInfoIds = defaultIfNull(condition.getCourseInfoId(), condition.getCourseInfoIds());
+            ResourcesCourseInfoAuthDetailsVO resourcesCourseInfoAuthDetails =
+                    universitiesCollegesJurisdictionCurriculumResourcesService.getResourcesCourseInfoAuthDetails(coreUser.getOrgId());
+            Serializable ifNullCourseInfoIds = defaultIfNull(courseInfoIds, listJoin(resourcesCourseInfoAuthDetails.getTheoryCourseList(), CourseInfo::getCourseInfoId));
+
+            String ids = Arrays.stream(ifNullCourseInfoIds.toString().split(",")).map(item -> "_" + item + "_").collect(Collectors.joining("|"));
+
+            // 如果为空字符串,那么代表这个学校,还没有授权的课程,所以是不会显示任何东西的。
+            condition.setCourseInfoIds(StrUtil.blankToDefault(ids, "未授权应用"));
         }
+        resourcesQuestionService.getTestItemManageSystemOAndUniversities(page);
         return JsonResult.success(page);
     }