diff --git a/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java index 51ca9d34..e5831626 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java @@ -914,7 +914,9 @@ public class CourseInfoService extends CoreBaseService{ if (orgId == null) { return 0L; } - lambdaQuery.andEq(CourseInfo::getOrgId, orgId); + if (orgId != 1) { + lambdaQuery.andEq(CourseInfo::getOrgId, orgId); + } return lambdaQuery.andEq(CourseInfo::getCourseInfoStatus, 1).andEq(CourseInfo::getCourseInfoType, 1).count(); } diff --git a/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java b/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java index d3ccd23c..0a4f8316 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/ResourcesApplicationService.java @@ -301,7 +301,9 @@ public class ResourcesApplicationService extends CoreBaseService adminIndexDetail(Date stime, Date etime, UniversitiesColleges universitiesColleges, Long orgId) { + public Map adminIndexDetail(Date stime, Date etime, UniversitiesColleges universitiesColleges, CoreUser coreUser) { + Long orgId = coreUser.getOrgId(); Long universitiesCollegesId = (universitiesColleges == null ? orgId : universitiesColleges.getUniversitiesCollegesId()); Long uniOrgId = (universitiesColleges == null ? orgId : universitiesColleges.getOrgId()); - List studentList = studentService.getStudentByStimeAndEtime(stime, etime, universitiesCollegesId); + List studentList = studentService.getStudentByStimeAndEtime(stime, etime, uniOrgId); Map data = new HashMap<>(); //注册学生数 data.put("studentNumber", studentList.size()); //注册老师数 - List teachers = teacherService.getTeacherByStimeAndEtime(stime, etime, universitiesCollegesId); + List teachers = teacherService.getTeacherByStimeAndEtime(stime, etime, uniOrgId); data.put("teacherNumber", teachers.size()); - List select = coreUserDao.createLambdaQuery().andEq(CoreUser::getOrgId, uniOrgId).select(); + LambdaQuery lambdaQuery = coreUserDao.createLambdaQuery(); + if (uniOrgId != null && uniOrgId != 1) { + lambdaQuery.andEq(CoreUser::getOrgId, uniOrgId); + } + List select = lambdaQuery.select(); List userIds = select.stream().map(CoreUser::getId).collect(Collectors.toList()); LambdaQuery logDaoLambdaQuery = sysLogDao.createLambdaQuery(); if (stime != null && etime != null) { @@ -322,7 +328,7 @@ public class StatisticalAnalysisService { long loginDistinctCount = loginDistinctCountQuery.count(); // 获取登录次数 - Long loginCount = coreUserDao.getSumLoginCount(stime, etime, orgId); + Long loginCount = coreUserDao.getSumLoginCount(stime, etime, orgId == 1 ? null : orgId); //登录人数 data.put("loginNumber", loginDistinctCount); @@ -336,7 +342,13 @@ public class StatisticalAnalysisService { data.put("applicationNumber", resourcesApplicationCount); TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery = new TeacherOpenCourseQuestionSettingQuery(); - teacherOpenCourseQuestionSettingQuery.setOrgId(uniOrgId); + List select11 = teacherOpenCourseService.createLambdaQuery().andEq(TeacherOpenCourse::getOrgId, uniOrgId) + .andEq(TeacherOpenCourse::getTeacherOpenCourseStatus, 1).select(); + Set collect11 = select11.stream().map(TeacherOpenCourse::getTeacherOpenCourseId).collect(Collectors.toSet()); + if (orgId != null && orgId != 1) { + teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseIdPlural(CollectionUtil.join(collect11, ",")); +// teacherOpenCourseQuestionSettingQuery.setOrgId(uniOrgId); + } teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH); teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingStatus(1); List courseQuestionSettings = teacherOpenCourseQuestionSettingDao.getValuesByQueryNotWithPermission2(teacherOpenCourseQuestionSettingQuery); @@ -352,44 +364,72 @@ public class StatisticalAnalysisService { } //批改作业数 data.put("homeWorkNumber", select1.size()); - //课程学习 - List select2 = teacherOpenCourseQuestionLogDao.createLambdaQuery().andEq(TeacherOpenCourseQuestionLog::getOrgId, uniOrgId) - .andEq(TeacherOpenCourseQuestionLog::getTeacherOpenCourseQuestionLogStatus, 1) - .select(); - data.put("studyNumber", select2.size()); + //课件学习 + TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery(); + tasksQuery.setTeacherOpenCourseIdPlural(CollectionUtil.join(collect11, ",")); + List teacherOpenCourseHandsOnSimulationTasks = teacherOpenCourseHandsOnSimulationTasksService.getValuesByQueryNotWithPermission(tasksQuery); + long count = teacherOpenCourseHandsOnSimulationTasks.stream().filter(v -> "1".equals(v.getTaskType()) || "2".equals(v.getTaskType())).count(); + data.put("studyNumber", count); //学生做题 - data.put("exerciseNumber", select1.size()); + ResourcesQuestionSnapshotQuery resourcesQuestionSnapshotQuery = new ResourcesQuestionSnapshotQuery(); + resourcesQuestionSnapshotQuery.setQuestionStatus(1); + if (uniOrgId != null && uniOrgId != 1) { + resourcesQuestionSnapshotQuery.setTeacherOpenCourseMergeCourseInfoIdPlural(CollectionUtil.join(collect11,",")); + } + List resourcesQuestionSnapshotList = resourcesQuestionSnapshotDao.getValuesByQueryNotWithPermission(resourcesQuestionSnapshotQuery); + + + + data.put("exerciseNumber", teacherOpenCourseHandsOnSimulationTasks.size() + resourcesQuestionSnapshotList.size() + courseQuestionSettings.size()); //学校动态码 data.put("universitiesCollegesAuthCode", universitiesColleges != null ? universitiesColleges.getUniversitiesCollegesAuthCode() : "暂无动态码"); //注册用户数 - int size = coreUserDao.createLambdaQuery().andEq(CoreUser::getDelFlag, DelFlagEnum.NORMAL.getValue()) - .andEq(CoreUser::getOrgId, ofNullable(uniOrgId)) + LambdaQuery lambdaQuery2 = coreUserDao.createLambdaQuery(); + if (uniOrgId!= null && uniOrgId!= 1) { + lambdaQuery2.andEq(CoreUser::getOrgId, uniOrgId); + } + int size = lambdaQuery2.andEq(CoreUser::getDelFlag, DelFlagEnum.NORMAL.getValue()) .andNotEq(CoreUser::getId, 1).select().size(); data.put("userNumber", size); //案例数量 - int values = handsOnService.createLambdaQuery().andEq(HandsOn::getHandsOnStatus, 1) - .andEq(HandsOn::getOrgId, uniOrgId).select().size(); - int values2 = resourcesTrainingService.createLambdaQuery().andEq(ResourcesTraining::getResourcesTrainingStatus, 1) - .andEq(ResourcesTraining::getOrgId, uniOrgId).select().size(); - int values3 = resourcesCompetitionService.createLambdaQuery().andEq(ResourcesCompetition::getResourcesCompetitionStatus, 1) - .andEq(ResourcesCompetition::getOrgId, uniOrgId).select().size(); + LambdaQuery lambdaQuery3 = handsOnService.createLambdaQuery(); + if (uniOrgId!= null && uniOrgId!= 1) { + lambdaQuery3.andEq(HandsOn::getOrgId, uniOrgId); + } + int values = lambdaQuery3.andEq(HandsOn::getHandsOnStatus, 1).select().size(); + LambdaQuery lambdaQuery4 = resourcesTrainingService.createLambdaQuery(); + if (uniOrgId!= null && uniOrgId!= 1) { + lambdaQuery4.andEq(ResourcesTraining::getOrgId, uniOrgId); + } + int values2 = lambdaQuery4.andEq(ResourcesTraining::getResourcesTrainingStatus, 1).select().size(); + LambdaQuery lambdaQuery5 = resourcesCompetitionService.createLambdaQuery(); + if (uniOrgId!= null && uniOrgId!= 1) { + lambdaQuery5.andEq(ResourcesCompetition::getOrgId, uniOrgId); + } + int values3 = lambdaQuery5.andEq(ResourcesCompetition::getResourcesCompetitionStatus, 1).select().size(); data.put("caseNumber", values + values2 + values3); //视频数量 ResourcesInfoQuery resourcesInfoQuery = new ResourcesInfoQuery(); resourcesInfoQuery.setResourcesInfoType(1); - resourcesInfoQuery.setOrgId(uniOrgId); + if (uniOrgId!= null && uniOrgId!=1) { + resourcesInfoQuery.setOrgId(uniOrgId); + } List videoNumber = resourcesInfoService.getValues(resourcesInfoQuery); data.put("videoNumber", videoNumber.size()); //题库数量 ResourcesQuestionQuery paras1 = new ResourcesQuestionQuery(); paras1.setQuestionStatus(1); - paras1.setOrgId(uniOrgId); + if (uniOrgId!= null && uniOrgId!=1) { + paras1.setOrgId(uniOrgId); + } List questionList = resourcesQuestionService.getValues(paras1); data.put("questionNumber", questionList.size()); //院校数量 UniversitiesCollegesQuery paras = new UniversitiesCollegesQuery(); paras.setUniversitiesCollegesStatus(1); - paras.setOrgId(uniOrgId); + if (uniOrgId!= null && uniOrgId!=1) { + paras.setOrgId(uniOrgId); + } List schoolList = universitiesCollegesService.getValues(paras); data.put("schoolNumber", schoolList.size()); return data; diff --git a/web/src/main/java/com/ibeetl/jlw/service/StudentService.java b/web/src/main/java/com/ibeetl/jlw/service/StudentService.java index da22035f..11e00232 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/StudentService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/StudentService.java @@ -941,25 +941,32 @@ public class StudentService extends CoreBaseService{ public List getStudentByStimeAndEtime(Date stime, Date etime, Long universitiesCollegesId) { LambdaQuery lambdaQuery = studentDao.createLambdaQuery(); + lambdaQuery.andEq(Student::getStudentStatus, 1); if (stime != null && etime != null) { - lambdaQuery.andBetween(Student::getAddTime, stime, etime) - .andEq(Student::getStudentStatus, 1); + lambdaQuery.andBetween(Student::getAddTime, stime, etime); } - if (universitiesCollegesId != null) { - SchoolClassQuery schoolClassQuery = new SchoolClassQuery(); - schoolClassQuery.setUniversitiesCollegesId(universitiesCollegesId); - List classList = schoolClassDao.getValuesByQuery(schoolClassQuery); - List classIds = classList.stream().map(SchoolClass::getClassId).collect(Collectors.toList()); - - // 如果院校没有班级,则肯定没有学生 - if (classIds == null || classIds.isEmpty()) { - return Collections.emptyList(); - } - - lambdaQuery.andIn(Student::getClassId, classIds); + if (universitiesCollegesId != null && universitiesCollegesId != 1) { +// SchoolClassQuery schoolClassQuery = new SchoolClassQuery(); +// schoolClassQuery.setUniversitiesCollegesId(universitiesCollegesId); +// schoolClassQuery.setClassStatus(1); +// List classList = schoolClassDao.getValuesByQuery(schoolClassQuery); +// List classIds = classList.stream().map(SchoolClass::getClassId).collect(Collectors.toList()); +// +// // 如果院校没有班级,则肯定没有学生 +// if (classIds == null || classIds.isEmpty()) { +// return Collections.emptyList(); +// } + +// lambdaQuery.andIn(Student::getClassId, classIds); + lambdaQuery.andEq(Student::getOrgId, universitiesCollegesId); } - return lambdaQuery.andEq(Student::getStudentStatus, 1).select(); + List select = lambdaQuery.andEq(Student::getStudentStatus, 1).select(); + Set collect = select.stream().map(Student::getClassId).collect(Collectors.toSet()); + List select1 = schoolClassDao.createLambdaQuery().andIn(SchoolClass::getClassId, collect).select(); + Set collect1 = select1.stream().map(SchoolClass::getClassId).collect(Collectors.toSet()); + select.removeIf(next -> !collect1.contains(next.getClassId())); + return select; } diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseScoreDashboardService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseScoreDashboardService.java index 94b688f5..d8c506a9 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseScoreDashboardService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseScoreDashboardService.java @@ -432,6 +432,7 @@ public class TeacherOpenCourseScoreDashboardService extends CoreBaseService students = mergeStudentDao.getValuesByQueryNotWithPermission(studentQuery); //todo 章节练习成绩,课程实操成绩,作业成绩,考试成绩,互动成绩 diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java index 5e11eb3f..dab3a9e1 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherService.java @@ -740,8 +740,8 @@ public class TeacherService extends CoreBaseService { if (stime != null && etime != null) { lambdaQuery.andBetween(Teacher::getAddTime, stime, etime).andEq(Teacher::getTeacherStatus, 1); } - if (universitiesCollegesId != null) { - lambdaQuery.andEq(Teacher::getUniversitiesCollegesId, universitiesCollegesId); + if (universitiesCollegesId != null && universitiesCollegesId != 1) { + lambdaQuery.andEq(Teacher::getOrgId, universitiesCollegesId); } return lambdaQuery.andEq(Teacher::getTeacherStatus, 1).select(); } diff --git a/web/src/main/java/com/ibeetl/jlw/web/StatisticalAnalysisController.java b/web/src/main/java/com/ibeetl/jlw/web/StatisticalAnalysisController.java index 8acb56cd..ac5d0853 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/StatisticalAnalysisController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/StatisticalAnalysisController.java @@ -65,7 +65,7 @@ public class StatisticalAnalysisController { @RequestParam(value = "etime", required = false) Date etime, @SCoreUser CoreUser coreUser) { UniversitiesColleges uc = universitiesCollegesService.getByOrgId(coreUser.getOrgId()); - Map detail = statisticalAnalysisService.adminIndexDetail(stime, etime, uc, coreUser.getOrgId()); + Map detail = statisticalAnalysisService.adminIndexDetail(stime, etime, uc, coreUser); return JsonResult.success(detail); }