From cad52933e7630422f08f5eab048f55ca74af786f Mon Sep 17 00:00:00 2001 From: wgf <121463602@qq.com> Date: Tue, 25 Apr 2023 11:34:15 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E8=80=83=E8=AF=81=E8=BE=85=E5=AF=BC?= =?UTF-8?q?=E6=88=90=E7=BB=A9=E8=AF=A6=E6=83=85=E9=A2=98=E7=9B=AE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=87=BA=E7=8E=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ibeetl/jlw/entity/GeneralQuestionLogScoreInfo1.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/src/main/java/com/ibeetl/jlw/entity/GeneralQuestionLogScoreInfo1.java b/web/src/main/java/com/ibeetl/jlw/entity/GeneralQuestionLogScoreInfo1.java index 7bef00c9..bf1d2a23 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/GeneralQuestionLogScoreInfo1.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/GeneralQuestionLogScoreInfo1.java @@ -58,7 +58,8 @@ public class GeneralQuestionLogScoreInfo1 extends BaseEntity { "where ta.question_setting_id = #generalQuestionSettingId# " + "and ta.question_log_summary_status = 1 " + "and ta.person_id = #studentId# " + - ")) " + ")) " + + "AND t.student_id = #studentId#" ) private List questionLogList; } From 52be3a15164fd2df973579551dfd0811b553e2d2 Mon Sep 17 00:00:00 2001 From: yaodan <1421553879@qq.com> Date: Tue, 25 Apr 2023 13:28:41 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E6=8B=B7=E8=B4=9D=E6=97=B6=EF=BC=8C=E6=9B=BF=E6=8D=A2=E6=96=B0?= =?UTF-8?q?=E6=97=A7Id=E4=BA=A7=E7=94=9F=E7=9A=84=E6=97=A0=E9=99=90?= =?UTF-8?q?=E9=80=92=E5=BD=92=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...acherOpenCourseMergeCourseInfoService.java | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java index 11f4f58f..4ab9936c 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java @@ -749,14 +749,20 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService courseInfoList, @NotEmpty(message = "ID对不能为空!") Map somecourseInfoIdPair) { for (TeacherOpenCourseMergeCourseInfo courseInfo : courseInfoList) { - somecourseInfoIdPair.forEach((oldId, newId) -> { - if (courseInfo.getTeacherOpenCourseMergeCourseInfoId().equals(oldId)) { - courseInfo.setTeacherOpenCourseMergeCourseInfoId(newId); - } - if (courseInfo.getCourseInfoParentId().equals(oldId)) { - courseInfo.setCourseInfoParentId(newId); - } - }); + if (somecourseInfoIdPair.containsKey(courseInfo.getTeacherOpenCourseMergeCourseInfoId())) { + courseInfo.setTeacherOpenCourseMergeCourseInfoId(somecourseInfoIdPair.get(courseInfo.getTeacherOpenCourseMergeCourseInfoId())); + } + if (somecourseInfoIdPair.containsKey(courseInfo.getCourseInfoParentId())) { + courseInfo.setCourseInfoParentId(somecourseInfoIdPair.get(courseInfo.getCourseInfoParentId())); + } + //somecourseInfoIdPair.forEach((oldId, newId) -> { + // if (courseInfo.getTeacherOpenCourseMergeCourseInfoId().equals(oldId)) { + // courseInfo.setTeacherOpenCourseMergeCourseInfoId(newId); + // } + // if (courseInfo.getCourseInfoParentId().equals(oldId)) { + // courseInfo.setCourseInfoParentId(newId); + // } + //}); } } @@ -1110,7 +1116,8 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService oldTeacherOpenCourseIds, Long teacherOpenCourseId) { - if (teacherOpenCourseId==null||CollectionUtil.isEmpty(oldTeacherOpenCourseIds)){ + if (teacherOpenCourseId == null || CollectionUtil.isEmpty(oldTeacherOpenCourseIds)) { throw new PlatformException("参数错误"); } - if (oldTeacherOpenCourseIds.contains(teacherOpenCourseId)){ + if (oldTeacherOpenCourseIds.contains(teacherOpenCourseId)) { throw new PlatformException("不能自己导入自己"); } From cd40990a37f132097ed4c9755fff0ef969015f11 Mon Sep 17 00:00:00 2001 From: yaodan <1421553879@qq.com> Date: Tue, 25 Apr 2023 16:15:10 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=80=E8=AF=BE?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=95=B0=E6=8D=AE=E4=B8=8D=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E4=BF=AE=E5=A4=8D=E7=AD=BE?= =?UTF-8?q?=E5=88=B0=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/StatisticalAnalysisService.java | 153 +++++++++++------- ...acherOpenCourseMergeCourseInfoService.java | 28 +--- ...cherOpenCourseStudentSigninLogService.java | 8 +- ...OpenCourseStudentSigninSettingService.java | 92 ++++++----- .../web/StatisticalAnalysisController.java | 1 - 5 files changed, 161 insertions(+), 121 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java b/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java index cb836a68..da69be42 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java @@ -8,10 +8,7 @@ import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.util.enums.DelFlagEnum; import com.ibeetl.jlw.dao.*; import com.ibeetl.jlw.entity.*; -import com.ibeetl.jlw.enums.ChatLogSendTypeEnum; -import com.ibeetl.jlw.enums.GlobalPushStatusEnum; -import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum; -import com.ibeetl.jlw.enums.SignInTypeEnum; +import com.ibeetl.jlw.enums.*; import com.ibeetl.jlw.web.query.*; import org.apache.commons.lang3.StringUtils; import org.beetl.sql.core.query.LambdaQuery; @@ -28,48 +25,79 @@ import static com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum.HOMEWOR /** * 统计分析service + * * @Version 0.0.1 * @Author 许良彤 * @Date 2022/10/7 12:25 - * */ @Service public class StatisticalAnalysisService { - @Autowired private StatisticalAnalysisDao statisticalAnalysisDao; - @Autowired private TeacherOpenCourseMergeSchoolClassService teacherOpenCourseMergeSchoolClassService; - @Autowired private TeacherOpenCourseMergeStudentService teacherOpenCourseMergeStudentService; - @Autowired private TeacherOpenCourseNoticeService teacherOpenCourseNoticeService; - @Autowired private StudentService studentService; - @Autowired private TeacherService teacherService; - @Autowired private CourseInfoService courseInfoService; - @Autowired private ResourcesApplicationService resourcesApplicationService; - @Autowired private UniversitiesCollegesDao universitiesCollegesDao; - @Autowired private SysLogDao sysLogDao; - @Autowired private UniversitiesCollegesService universitiesCollegesService; - @Autowired private CoreUserDao coreUserDao; - @Autowired private ResourcesTrainingDao resourcesTrainingService; - @Autowired private ResourcesInfoService resourcesInfoService; - @Autowired private ResourcesQuestionService resourcesQuestionService; - @Autowired private TeacherOpenCourseStudentSigninLogService teacherOpenCourseStudentSigninLogService; - @Autowired private TeacherOpenCourseQuestionSettingService teacherOpenCourseQuestionSettingService; - @Autowired private TeacherOpenCourseMergeCourseInfoService teacherOpenCourseMergeCourseInfoService; - @Autowired private TeacherOpenCourseQuestionLogService teacherOpenCourseQuestionLogService; - @Autowired private TeacherOpenCourseHandsOnService teacherOpenCourseHandsOnService; - @Autowired private TeacherOpenCourseHandsOnSimulationTasksService teacherOpenCourseHandsOnSimulationTasksService; - @Autowired private HandsOnAchievementService handsOnAchievementService; - @Autowired private TeacherOpenCourseChatLogService teacherOpenCourseChatLogService; - @Autowired private TeacherOpenCourseDao teacherOpenCourseService; - @Autowired private TeacherOpenCourseQuestionSettingDao teacherOpenCourseQuestionSettingDao; - @Autowired private HandsOnDao handsOnService; - @Autowired private ResourcesCompetitionDao resourcesCompetitionService; - @Autowired private TeacherOpenCourseScoreDashboardDao teacherOpenCourseScoreDashboardDao; - @Autowired private QuestionLogSummaryDao questionLogSummaryDao; - @Autowired private TeacherOpenCourseQuestionLogDao teacherOpenCourseQuestionLogDao; - @Autowired private ResourcesQuestionSnapshotService resourcesQuestionSnapshotService; - @Autowired private ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao; - @Autowired private UniversitiesCollegesJurisdictionExperimentalSystemDao universitiesCollegesJurisdictionExperimentalSystemDao; - @Autowired private UniversitiesCollegesJurisdictionCurriculumResourcesService universitiesCollegesJurisdictionCurriculumResourcesService; + + @Autowired + private TeacherOpenCourseMergeSchoolClassService teacherOpenCourseMergeSchoolClassService; + @Autowired + private TeacherOpenCourseMergeStudentService teacherOpenCourseMergeStudentService; + @Autowired + private TeacherOpenCourseNoticeService teacherOpenCourseNoticeService; + @Autowired + private StudentService studentService; + @Autowired + private TeacherService teacherService; + + @Autowired + private ResourcesApplicationService resourcesApplicationService; + @Autowired + private UniversitiesCollegesDao universitiesCollegesDao; + @Autowired + private SysLogDao sysLogDao; + @Autowired + private UniversitiesCollegesService universitiesCollegesService; + @Autowired + private CoreUserDao coreUserDao; + @Autowired + private ResourcesTrainingDao resourcesTrainingService; + @Autowired + private ResourcesInfoService resourcesInfoService; + @Autowired + private ResourcesQuestionService resourcesQuestionService; + @Autowired + private TeacherOpenCourseStudentSigninLogService teacherOpenCourseStudentSigninLogService; + @Autowired + private TeacherOpenCourseQuestionSettingService teacherOpenCourseQuestionSettingService; + @Autowired + private TeacherOpenCourseMergeCourseInfoService teacherOpenCourseMergeCourseInfoService; + @Autowired + private TeacherOpenCourseQuestionLogService teacherOpenCourseQuestionLogService; + @Autowired + private TeacherOpenCourseHandsOnService teacherOpenCourseHandsOnService; + @Autowired + private TeacherOpenCourseHandsOnSimulationTasksService teacherOpenCourseHandsOnSimulationTasksService; + @Autowired + private HandsOnAchievementService handsOnAchievementService; + @Autowired + private TeacherOpenCourseChatLogService teacherOpenCourseChatLogService; + @Autowired + private TeacherOpenCourseDao teacherOpenCourseService; + @Autowired + private TeacherOpenCourseQuestionSettingDao teacherOpenCourseQuestionSettingDao; + @Autowired + private HandsOnDao handsOnService; + @Autowired + private ResourcesCompetitionDao resourcesCompetitionService; + @Autowired + private TeacherOpenCourseScoreDashboardDao teacherOpenCourseScoreDashboardDao; + + @Autowired + private UniversitiesCollegesJurisdictionExperimentalSystemDao universitiesCollegesJurisdictionExperimentalSystemDao; + @Autowired + private UniversitiesCollegesJurisdictionCurriculumResourcesService universitiesCollegesJurisdictionCurriculumResourcesService; + + @Autowired + private TeacherOpenCourseMergeResourcesInfoService teacherOpenCourseMergeResourcesInfoService; + + @Autowired + private TeacherOpenCourseMergeResourcesQuestionService teacherOpenCourseMergeResourcesQuestionService; private static final String PATTERN = "(?<=\"code\":\\[\").*?(?=\"\\],)"; @@ -77,6 +105,7 @@ public class StatisticalAnalysisService { /** * 统计分析 + * * @param */ public Map detail(Long teacherOpenCourseId, Date stime, Date etime) { @@ -101,9 +130,9 @@ public class StatisticalAnalysisService { long count1 = scoreDashboards.stream().filter(v -> "不及格".equals(v.getLastStatus()) || "E".equals(v.getLastStatus())).count(); long l = scoreDashboards.size() - count1; - data.put("passRate", NumberUtil.formatPercent(NumberUtil.div(l,studentList.size()), 0)); - data.put("studentPassNum",l ); - }else { + data.put("passRate", NumberUtil.formatPercent(NumberUtil.div(l, studentList.size()), 0)); + data.put("studentPassNum", l); + } else { data.put("passRate", "0%"); data.put("studentPassNum", 0); } @@ -130,9 +159,9 @@ public class StatisticalAnalysisService { //签到数量 data.put("signInNum", collect.size()); //到课率 - if(CollectionUtil.isNotEmpty(collect)) { + if (CollectionUtil.isNotEmpty(collect)) { data.put("signInRate", NumberUtil.div(NumberUtil.toBigDecimal(collect.size()), NumberUtil.toBigDecimal(signinLogs.size()), 2).multiply(BigDecimal.valueOf(100)).intValue()); - }else { + } else { data.put("signInRate", 0); } //章节练习 @@ -156,7 +185,7 @@ public class StatisticalAnalysisService { List values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery); int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size(); data.put("chapterPeople", size); - }else { + } else { data.put("chapterPeople", 0); } //课程实操 @@ -178,7 +207,7 @@ public class StatisticalAnalysisService { List assessmentList = handsOnAchievementService.getValues(achievementQuery); long count = assessmentList.stream().map(HandsOnAchievement::getStudentId).count(); data.put("handsOnPeople", count); - }else { + } else { data.put("handsOnPeople", 0); } //作业 @@ -193,7 +222,7 @@ public class StatisticalAnalysisService { List values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery); int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size(); data.put("homeworkPeople", size); - }else { + } else { //作业参与人数 data.put("homeworkPeople", 0); } @@ -207,7 +236,7 @@ public class StatisticalAnalysisService { List values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery); int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size(); data.put("examPeople", size); - }else { + } else { //考试参与人数 data.put("examPeople", 0); } @@ -232,6 +261,7 @@ public class StatisticalAnalysisService { /** * 首页 + * * @param * @return */ @@ -261,24 +291,37 @@ public class StatisticalAnalysisService { List studentList = teacherOpenCourseMergeStudentService.getValuesByQueryNotWithPermission(studentQuery); data.put("studentNum", studentList.size()); //课件 + TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery = new TeacherOpenCourseMergeResourcesInfoQuery(); + teacherOpenCourseMergeResourcesInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId); + teacherOpenCourseMergeResourcesInfoQuery.setResourcesInfoStatus(GlobalUpStatusEnum.UP); + List resourcesInfoList = teacherOpenCourseMergeResourcesInfoService.getValuesByQueryNotWithPermission(teacherOpenCourseMergeResourcesInfoQuery); + data.put("coursewareNum", resourcesInfoList.size()); + TeacherOpenCourseMergeCourseInfoQuery courseInfoQuery = new TeacherOpenCourseMergeCourseInfoQuery(); courseInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId); courseInfoQuery.setCourseInfoStatus(1); List courseInfos = teacherOpenCourseMergeCourseInfoService.getValuesByQueryNotWithPermission(courseInfoQuery); - data.put("coursewareNum", courseInfos.size()); //视频 List videoCount = courseInfos.stream().filter(v -> v.getCourseVideoId() != null).collect(Collectors.toList()); data.put("videoNum", videoCount.size()); + //题目 //习题总数 + + TeacherOpenCourseMergeResourcesQuestionQuery teacherOpenCourseMergeResourcesQuestionQuery = new TeacherOpenCourseMergeResourcesQuestionQuery(); + teacherOpenCourseMergeResourcesQuestionQuery.setTeacherOpenCourseId(teacherOpenCourseId); + teacherOpenCourseMergeResourcesQuestionQuery.setQuestionStatus(1); + List questionList = teacherOpenCourseMergeResourcesQuestionService.getValuesByQueryNotWithPermission(teacherOpenCourseMergeResourcesQuestionQuery); + data.put("subjectNum", questionList.size()); + + TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery = new TeacherOpenCourseQuestionSettingQuery(); teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseId(teacherOpenCourseId); teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH); teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingStatus(1); - List courseQuestionSettings = teacherOpenCourseQuestionSettingDao.getValuesByQueryNotWithPermission2(teacherOpenCourseQuestionSettingQuery); - List collect1 = courseQuestionSettings.stream().filter(v -> v.getTeacherOpenCourseQuestionSettingType().equals(ResourcesQuestionSnapshotFromTypeEnum.CHAPTER_EXERCISE)).collect(Collectors.toList()); - data.put("subjectNum", collect1.size()); + //List collect1 = courseQuestionSettings.stream().filter(v -> v.getTeacherOpenCourseQuestionSettingType().equals(ResourcesQuestionSnapshotFromTypeEnum.CHAPTER_EXERCISE)).collect(Collectors.toList()); + //案例 TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery = new TeacherOpenCourseHandsOnQuery(); teacherOpenCourseHandsOnQuery.setTeacherOpenCourseId(teacherOpenCourseId); @@ -459,13 +502,13 @@ public class StatisticalAnalysisService { List xList = new ArrayList<>(); List yList = new ArrayList<>(); - collect.forEach((x,y) -> { + collect.forEach((x, y) -> { xList.add(x); yList.add(y); }); Map map = new HashMap<>(); - map.put("xList" , xList); - map.put("yList" , yList); + map.put("xList", xList); + map.put("yList", yList); return map; } } \ No newline at end of file diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java index 4ab9936c..8ec8af99 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java @@ -720,25 +720,6 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService courseInfoList, - @NotEmpty(message = "ID对不能为空!") Map somecourseInfoIdPair) { - for (CourseInfo courseInfo : courseInfoList) { - somecourseInfoIdPair.forEach((oldId, newId) -> { - if (courseInfo.getCourseInfoId().equals(oldId)) { - courseInfo.setCourseInfoId(newId); - } - if (courseInfo.getCourseInfoParentId().equals(oldId)) { - courseInfo.setCourseInfoParentId(newId); - } - }); - } - } /** * 修改章节点的父类ID字段 @@ -755,14 +736,7 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService { - // if (courseInfo.getTeacherOpenCourseMergeCourseInfoId().equals(oldId)) { - // courseInfo.setTeacherOpenCourseMergeCourseInfoId(newId); - // } - // if (courseInfo.getCourseInfoParentId().equals(oldId)) { - // courseInfo.setCourseInfoParentId(newId); - // } - //}); + } } diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseStudentSigninLogService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseStudentSigninLogService.java index 33026eb2..312ca84c 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseStudentSigninLogService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseStudentSigninLogService.java @@ -372,7 +372,7 @@ public class TeacherOpenCourseStudentSigninLogService extends CoreBaseService implements DeleteResourcesBy{ +public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseService implements DeleteResourcesBy { - @Autowired private TeacherOpenCourseStudentSigninSettingDao teacherOpenCourseStudentSigninSettingDao; - @Autowired private TeacherOpenCourseStudentSigninLogDao teacherOpenCourseStudentSigninLogDao; - @Autowired private TeacherOpenCourseStudentSigninSettingQueryValidator settingQueryValidator; + @Autowired + private TeacherOpenCourseStudentSigninSettingDao teacherOpenCourseStudentSigninSettingDao; + @Autowired + private TeacherOpenCourseStudentSigninLogDao teacherOpenCourseStudentSigninLogDao; + @Autowired + private TeacherOpenCourseStudentSigninSettingQueryValidator settingQueryValidator; - public PageQueryqueryByCondition(PageQuery query){ - PageQuery ret = teacherOpenCourseStudentSigninSettingDao.queryByCondition(query); + public PageQuery queryByCondition(PageQuery query) { + PageQuery ret = teacherOpenCourseStudentSigninSettingDao.queryByCondition(query); queryListAfter(ret.getList()); // setSummaryInfo(ret.getList()); return ret; @@ -59,6 +63,7 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic /** * 根据签到ID,设置汇总数据 + * * @param list */ private void setSummaryInfo(List list) { @@ -82,24 +87,24 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic } } - public PageQueryqueryByConditionQuery(PageQuery query){ - PageQuery ret = teacherOpenCourseStudentSigninSettingDao.queryByConditionQuery(query); + public PageQuery queryByConditionQuery(PageQuery query) { + PageQuery ret = teacherOpenCourseStudentSigninSettingDao.queryByConditionQuery(query); queryListAfter(ret.getList()); return ret; } - public void deleteByList(List list){ + public void deleteByList(List list) { String ids = ""; ToolUtils.deleteNullList(list); - for(int i=0;null != list && i teacherOpenCourseStudentSigninSettingList = new ArrayList<>(); try { @@ -115,11 +120,12 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic } catch (Exception e) { try { teacherOpenCourseStudentSigninSettingList.add(JSONObject.parseObject(teacherOpenCourseStudentSigninSettingQuery.getTeacherOpenCourseStudentSigninSettingJsonStr(), TeacherOpenCourseStudentSigninSetting.class)); - } catch (Exception e1) {} + } catch (Exception e1) { + } } ToolUtils.deleteNullList(teacherOpenCourseStudentSigninSettingList); - if(null != teacherOpenCourseStudentSigninSettingList && teacherOpenCourseStudentSigninSettingList.size()>0){ - for(int i=0;i 0) { + for (int i = 0; i < teacherOpenCourseStudentSigninSettingList.size(); i++) { TeacherOpenCourseStudentSigninSetting teacherOpenCourseStudentSigninSetting = teacherOpenCourseStudentSigninSettingList.get(i); teacherOpenCourseStudentSigninSetting.setUserId(teacherOpenCourseStudentSigninSettingQuery.getUserId()); teacherOpenCourseStudentSigninSetting.setOrgId(teacherOpenCourseStudentSigninSettingQuery.getOrgId()); @@ -136,6 +142,17 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic teacherOpenCourseStudentSigninSetting.setTeacherOpenCourseStudentSigninSettingAddTime(new Date()); // 默认是未开始的状态 teacherOpenCourseStudentSigninSetting.setTeacherOpenCourseStudentSigninSettingStartStatus(StartStatusEnum.READY); + //获取现在时间 只保留到分钟 + Date now = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String nowTime = dateFormat.format(now); + try { + now = dateFormat.parse(nowTime); + }catch (Exception e){ + throw new PlatformException("时间转换异常", e); + } + + teacherOpenCourseStudentSigninSetting.setTeacherOpenCourseStudentSigninSettingSessionTime(now); teacherOpenCourseStudentSigninSettingDao.insert(teacherOpenCourseStudentSigninSetting); teacherOpenCourseStudentSigninSettingQuery.setTeacherOpenCourseStudentSigninSettingId(teacherOpenCourseStudentSigninSetting.getTeacherOpenCourseStudentSigninSettingId()); JsonResult jsonResult = new JsonResult(); @@ -145,35 +162,35 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic return jsonResult; } - public String edit(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ + public String edit(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) { String msg = ""; TeacherOpenCourseStudentSigninSetting teacherOpenCourseStudentSigninSetting = teacherOpenCourseStudentSigninSettingQuery.pojo(); teacherOpenCourseStudentSigninSettingDao.updateTemplateById(teacherOpenCourseStudentSigninSetting); return msg; } - public String updateGivenByIds(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ + public String updateGivenByIds(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) { String msg = ""; - if(StringUtils.isNotBlank(teacherOpenCourseStudentSigninSettingQuery.get_given())){ + if (StringUtils.isNotBlank(teacherOpenCourseStudentSigninSettingQuery.get_given())) { boolean flag = teacherOpenCourseStudentSigninSettingDao.updateGivenByIds(teacherOpenCourseStudentSigninSettingQuery) > 0; - if(!flag){ + if (!flag) { msg = "更新指定参数失败"; } - }else{ + } else { msg = "指定参数为空"; } return msg; } - public List getValues (Object paras){ + public List getValues(Object paras) { return sqlManager.select(SqlId.of("jlw.teacherOpenCourseStudentSigninSetting.getTeacherOpenCourseStudentSigninSettingValues"), TeacherOpenCourseStudentSigninSetting.class, paras); } - public List getValuesByQuery (TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ + public List getValuesByQuery(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) { return teacherOpenCourseStudentSigninSettingDao.getValuesByQuery(teacherOpenCourseStudentSigninSettingQuery); } - public List getValuesByQueryNotWithPermission (TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ + public List getValuesByQueryNotWithPermission(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) { return teacherOpenCourseStudentSigninSettingDao.getValuesByQueryNotWithPermission(teacherOpenCourseStudentSigninSettingQuery); } @@ -181,35 +198,36 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic dictParser(obj); } - public TeacherOpenCourseStudentSigninSetting getInfo (Long teacherOpenCourseStudentSigninSettingId){ + public TeacherOpenCourseStudentSigninSetting getInfo(Long teacherOpenCourseStudentSigninSettingId) { TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery = new TeacherOpenCourseStudentSigninSettingQuery(); teacherOpenCourseStudentSigninSettingQuery.setTeacherOpenCourseStudentSigninSettingId(teacherOpenCourseStudentSigninSettingId); teacherOpenCourseStudentSigninSettingQuery.setTeacherOpenCourseStudentSigninSettingStatusPlural("1,2");//需要根据实际情况来 List list = teacherOpenCourseStudentSigninSettingDao.getValuesByQuery(teacherOpenCourseStudentSigninSettingQuery); - if(null != list && list.size()>0){ + if (null != list && list.size() > 0) { return list.get(0); - }else{ + } else { return null; } } - public TeacherOpenCourseStudentSigninSetting getInfo (TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ + public TeacherOpenCourseStudentSigninSetting getInfo(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) { List list = teacherOpenCourseStudentSigninSettingDao.getValuesByQuery(teacherOpenCourseStudentSigninSettingQuery); - if(null != list && list.size()>0){ + if (null != list && list.size() > 0) { return list.get(0); - }else{ + } else { return null; } } /** * 设置签到配置的状态 开始,结束 + * * @param id * @param status */ public void updateStatus(@NotNull(message = "签到配置ID不能为空!") Long id, @NotNull(message = "签到状态不能为空!") - Integer status) { + Integer status) { TeacherOpenCourseStudentSigninSetting model = new TeacherOpenCourseStudentSigninSetting(); model.setTeacherOpenCourseStudentSigninSettingId(id); @@ -226,17 +244,19 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic settingQuery.set_given( "teacherOpenCourseStudentSigninSettingAddTime," + - "teacherOpenCourseStudentSigninSettingEndTime," + - "teacherOpenCourseStudentSigninSettingStartStatus"); + "teacherOpenCourseStudentSigninSettingEndTime," + + "teacherOpenCourseStudentSigninSettingStartStatus"); updateGivenByIds(settingQuery); - } break; + } + break; case 2: { // 结束时间,赋值 model.setTeacherOpenCourseStudentSigninSettingEndTime(new Date()); model.setTeacherOpenCourseStudentSigninSettingStartStatus(StartStatusEnum.END); updateTemplate(model); - } break; + } + break; } 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 ac5d0853..17148806 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/StatisticalAnalysisController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/StatisticalAnalysisController.java @@ -45,7 +45,6 @@ public class StatisticalAnalysisController { /** * 首页数据 - * @param map * @return */ @RequestMapping("/indexDetail.do") From 4f4a592683b4af734ba783a9c1b6ecd77ed610b1 Mon Sep 17 00:00:00 2001 From: yaodan <1421553879@qq.com> Date: Tue, 25 Apr 2023 18:07:04 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E8=80=83=E8=AF=95=E5=AF=BC=E5=87=BAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TeacherOpenCourseQuestionSettingDao.java | 2 + ...acherOpenCourseQuestionSettingService.java | 4 + ...erOpenCourseQuestionSettingController.java | 44 +++++---- .../jlw/teacherOpenCourseQuestionSetting.md | 91 ++++++++++++++++++- 4 files changed, 120 insertions(+), 21 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseQuestionSettingDao.java b/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseQuestionSettingDao.java index 482954eb..e413b17d 100644 --- a/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseQuestionSettingDao.java +++ b/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseQuestionSettingDao.java @@ -81,4 +81,6 @@ public interface TeacherOpenCourseQuestionSettingDao extends BaseMapper queryByConditionQueryNotPage(TeacherOpenCourseQuestionSettingQuery condition); } diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java index 89c96e80..626612c0 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java @@ -1051,4 +1051,8 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService queryByConditionQueryNotPage(TeacherOpenCourseQuestionSettingQuery condition) { + return teacherOpenCourseQuestionSettingDao.queryByConditionQueryNotPage(condition); + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionSettingController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionSettingController.java index 6d86f321..ad329ceb 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionSettingController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionSettingController.java @@ -1,5 +1,6 @@ package com.ibeetl.jlw.web; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import cn.jlw.Interceptor.SCoreUser; import cn.jlw.validate.ValidateConfig; @@ -27,10 +28,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import static cn.jlw.util.CacheUserUtil.getStudent; import static com.ibeetl.admin.core.util.ExcelUtil.convertData; @@ -86,22 +84,30 @@ public class TeacherOpenCourseQuestionSettingController { if (condition.getTeacherOpenCourseQuestionSettingType() == null) { throw new PlatformException("参数错误"); } + if (coreUser.isStudent()) { condition.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH); condition.setTeacherOpenCourseQuestionSettingStatus(1); } - condition.setPage(1); - condition.setLimit(Long.MAX_VALUE); - PageQuery page = condition.getPageQuery(); - teacherOpenCourseQuestionSettingService.queryByConditionQuery(page); - String baseName = ""; - for (Object o : page.getList()) { - TeacherOpenCourseQuestionSetting setting = (TeacherOpenCourseQuestionSetting) o; + List list = teacherOpenCourseQuestionSettingService.queryByConditionQueryNotPage(condition); + teacherOpenCourseQuestionSettingService.fullQuestionSettingOptions(list); + if (!condition.getNotSelectOther()) { + // 设置分数和完成时间 + teacherOpenCourseQuestionSettingService.setMyQuestionLogScoreInfo(list, getStudent()); + } + String baseName = ""; + for (TeacherOpenCourseQuestionSetting setting :list) { GlobalPushStatusEnum teacherOpenCourseQuestionSettingPushStatus = setting.getTeacherOpenCourseQuestionSettingPushStatus(); setting.set("teacherOpenCourseQuestionSettingPushStatusText",teacherOpenCourseQuestionSettingPushStatus.getText()); + + String teacherOpenCourseQuestionStartAndEndTime = + ( setting.getTeacherOpenCourseQuestionStartTime()!=null?DateUtil.format(setting.getTeacherOpenCourseQuestionStartTime(),"yyyy-MM-dd HH:mm:ss"):"" ) + + " ~ " + + ( setting.getTeacherOpenCourseQuestionEndTime()!=null?DateUtil.format(setting.getTeacherOpenCourseQuestionEndTime(),"yyyy-MM-dd HH:mm:ss"):"" ); + setting.set("teacherOpenCourseQuestionStartAndEndTime",teacherOpenCourseQuestionStartAndEndTime); } /** 构建表头 */ @@ -112,9 +118,7 @@ public class TeacherOpenCourseQuestionSettingController { case EXAM: header.put("teacherOpenCourseQuestionSettingName", "考试名称"); header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "考试班级"); - header.put("teacherOpenCourseQuestionStartTime", "考试开始时间"); - header.put("teacherOpenCourseQuestionEndTime", "考试结束时间"); - + header.put("teacherOpenCourseQuestionStartAndEndTime", "考试时间"); header.put("avgSuccessCount", "平均答对数量"); header.put("avgErrorCount", "平均答错数量"); header.put("avgSuccessRate", "平均正确率"); @@ -126,8 +130,7 @@ public class TeacherOpenCourseQuestionSettingController { case HOMEWORK_QUESTION: header.put("teacherOpenCourseQuestionSettingName", "题库作业名称"); header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "考试班级"); - header.put("teacherOpenCourseQuestionStartTime", "作业开始时间"); - header.put("teacherOpenCourseQuestionEndTime", "作业结束时间"); + header.put("teacherOpenCourseQuestionStartAndEndTime", "作业时间"); header.put("avgPassRate", "及格率"); header.put("avgScore", "平均得分"); header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态"); @@ -137,11 +140,10 @@ public class TeacherOpenCourseQuestionSettingController { case HOMEWORK_FILE: header.put("teacherOpenCourseQuestionSettingName", "题库作业名称"); header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "作业班级"); - header.put("messageAddTime", "作业附件"); + //header.put("messageAddTime", "作业附件"); header.put("avgScore", "平均得分"); header.put("avgPassRate", "及格率"); - header.put("teacherOpenCourseQuestionStartTime", "作业开始时间"); - header.put("teacherOpenCourseQuestionEndTime", "作业结束时间"); + header.put("teacherOpenCourseQuestionStartAndEndTime", "作业时间"); header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态"); baseName = "附件作业-导出"; break; @@ -150,7 +152,9 @@ public class TeacherOpenCourseQuestionSettingController { throw new PlatformException("参数错误"); } - List> maps = BeanCopyUtil.baseEntity2MapWithParallel(page.getList()); + List> maps = BeanCopyUtil.baseEntity2MapWithParallel(list); + + String filename = StrUtil.format("{} {}.xlsx", baseName, System.currentTimeMillis()); write(response, filename, "Sheet1", header.values(), convertData(header.keySet(), maps)); diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionSetting.md b/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionSetting.md index 79982189..0a69c359 100644 --- a/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionSetting.md +++ b/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionSetting.md @@ -679,4 +679,93 @@ getQuestionSettingScoreInfo and t.question_log_add_type = 'FINALLY_SUBMIT' and t.teacher_open_course_question_setting_id = #questionSettingId# and t.student_id = #studentId# - \ No newline at end of file + +queryByConditionQueryNotPage +=== +* 根据不为空的条件进行查询 + select + t.* + from teacher_open_course_question_setting t + where 1=1 + @//数据权限,该sql语句功能点,如果不考虑数据权限,可以删除此行 + and #function("teacherOpenCourseQuestionSetting.query")# + @if(!isEmpty(teacherOpenCourseQuestionSettingId)){ + and t.teacher_open_course_question_setting_id =#teacherOpenCourseQuestionSettingId# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingIdPlural)){ + and find_in_set(t.teacher_open_course_question_setting_id,#teacherOpenCourseQuestionSettingIdPlural#) + @} + @if(!isEmpty(teacherOpenCourseId)){ + and t.teacher_open_course_id =#teacherOpenCourseId# + @} + @if(!isEmpty(teacherOpenCourseIdPlural)){ + and find_in_set(t.teacher_open_course_id,#teacherOpenCourseIdPlural#) + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingSchoolClassIds)){ + and t.teacher_open_course_question_setting_school_class_ids =#teacherOpenCourseQuestionSettingSchoolClassIds# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingDoCount)){ + and t.teacher_open_course_question_setting_do_count =#teacherOpenCourseQuestionSettingDoCount# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingQuestionNoOrder)){ + and t.teacher_open_course_question_setting_question_no_order =#teacherOpenCourseQuestionSettingQuestionNoOrder# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingOptionNoOrder)){ + and t.teacher_open_course_question_setting_option_no_order =#teacherOpenCourseQuestionSettingOptionNoOrder# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingEndShowQa)){ + and t.teacher_open_course_question_setting_end_show_qa =#teacherOpenCourseQuestionSettingEndShowQa# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingEndShowTrueFalse)){ + and t.teacher_open_course_question_setting_end_show_true_false =#teacherOpenCourseQuestionSettingEndShowTrueFalse# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingName)){ + and t.teacher_open_course_question_setting_name =#teacherOpenCourseQuestionSettingName# + @} + @if(!isEmpty(teacherOpenCourseQuestionStartTime)){ + and t.teacher_open_course_question_start_time =#teacherOpenCourseQuestionStartTime# + @} + @if(!isEmpty(teacherOpenCourseQuestionEndTime)){ + and t.teacher_open_course_question_end_time =#teacherOpenCourseQuestionEndTime# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingType)){ + and t.teacher_open_course_question_setting_type =#teacherOpenCourseQuestionSettingType# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingFile)){ + and t.teacher_open_course_question_setting_file =#teacherOpenCourseQuestionSettingFile# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingPushStatus)){ + and t.teacher_open_course_question_setting_push_status =#teacherOpenCourseQuestionSettingPushStatus# + @} + @if(isEmpty(teacherOpenCourseQuestionSettingStatus) && isEmpty(teacherOpenCourseQuestionSettingStatusPlural)){ + and t.teacher_open_course_question_setting_status != 2 + @}else{ + @if(!isEmpty(teacherOpenCourseQuestionSettingStatus)){ + and t.teacher_open_course_question_setting_status =#teacherOpenCourseQuestionSettingStatus# + @}else if(!isEmpty(teacherOpenCourseQuestionSettingStatusPlural)){ + and find_in_set(t.teacher_open_course_question_setting_status,#teacherOpenCourseQuestionSettingStatusPlural#) + @} + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingAddTime)){ + and t.teacher_open_course_question_setting_add_time =#teacherOpenCourseQuestionSettingAddTime# + @} + @if(!isEmpty(teacherOpenCourseQuestionSettingRequire)){ + and t.teacher_open_course_question_setting_require =#teacherOpenCourseQuestionSettingRequire# + @} + @if(!isEmpty(teacherOpenCourseMergeCourseInfoId)){ + and t.teacher_open_course_merge_course_info_id =#teacherOpenCourseMergeCourseInfoId# + @} + @if(!isEmpty(orgId)){ + and t.org_id =#orgId# + @} + @if(!isEmpty(orgIdPlural)){ + and find_in_set(t.org_id,#orgIdPlural#) + @} + @if(!isEmpty(userId)){ + and t.user_id =#userId# + @} + @if(!isEmpty(userIdPlural)){ + and find_in_set(t.user_id,#userIdPlural#) + @} + ORDER BY + CONVERT(regexp_replace ( t.teacher_open_course_question_setting_name, '[^0-9]+', '' ),unsigned) asc From 21d9d5c085c3198662b3427d699f47b9f8d78260 Mon Sep 17 00:00:00 2001 From: yaodan <1421553879@qq.com> Date: Tue, 25 Apr 2023 18:56:09 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E5=AE=9E=E6=93=8D=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jlw/dao/TeacherOpenCourseHandsOnDao.java | 2 + .../entity/TeacherOpenCourseHandsOnList.java | 4 +- .../TeacherOpenCourseHandsOnService.java | 15 ++++++-- .../TeacherOpenCourseHandsOnController.java | 38 +++++++++++++++++++ .../sql/jlw/teacherOpenCourseHandsOn.md | 9 +++++ 5 files changed, 64 insertions(+), 4 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseHandsOnDao.java b/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseHandsOnDao.java index 0b213e3d..0c99fc59 100644 --- a/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseHandsOnDao.java +++ b/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseHandsOnDao.java @@ -2,6 +2,7 @@ package com.ibeetl.jlw.dao; import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOn; import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOnList; +import com.ibeetl.jlw.web.query.GetHandsOnListParam; import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnQuery; import org.beetl.sql.core.engine.PageQuery; import org.beetl.sql.mapper.BaseMapper; @@ -33,4 +34,5 @@ public interface TeacherOpenCourseHandsOnDao extends BaseMapper> getExcelValues(TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery); + List getHandsOnListNotPage(GetHandsOnListParam getHandsOnListParam); } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOnList.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOnList.java index 929b1277..7adddb9f 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOnList.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseHandsOnList.java @@ -1,5 +1,7 @@ package com.ibeetl.jlw.entity; +import com.ibeetl.admin.core.entity.BaseEntity; + /** * 类功能说明 * @@ -7,7 +9,7 @@ package com.ibeetl.jlw.entity; * @Author 许良彤 * @Date 2022/10/29 20:47 */ -public class TeacherOpenCourseHandsOnList { +public class TeacherOpenCourseHandsOnList extends BaseEntity { /** * 项目名称 diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnService.java index 25c7c5ae..70015e0d 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseHandsOnService.java @@ -208,7 +208,16 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService getHandsOnList(GetHandsOnListParam param) { PageQuery teacherOpenCourseHandsOns = teacherOpenCourseHandsOnDao.getHandsOnList(param.getPageQuery()); - List teacherOpenCourseHandsOnLists = teacherOpenCourseHandsOns.getList(); + handsOnListHandler(teacherOpenCourseHandsOns.getList(),param); + return teacherOpenCourseHandsOns; + } + public List getHandsOnListNotPage(GetHandsOnListParam param) { + List teacherOpenCourseHandsOns = teacherOpenCourseHandsOnDao.getHandsOnListNotPage(param); + handsOnListHandler(teacherOpenCourseHandsOns,param); + return teacherOpenCourseHandsOns; + } + + private void handsOnListHandler(List teacherOpenCourseHandsOnLists,GetHandsOnListParam param){ List handIds = teacherOpenCourseHandsOnLists.stream().map(TeacherOpenCourseHandsOnList::getHandsOnId).collect(Collectors.toList()); List achievementList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(handIds)) { @@ -227,10 +236,10 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService> getExcelValues(TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery) { return teacherOpenCourseHandsOnDao.getExcelValues(teacherOpenCourseHandsOnQuery); } diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java index b59bfb3d..b5e10a8a 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseHandsOnController.java @@ -1,5 +1,6 @@ package com.ibeetl.jlw.web; +import cn.hutool.core.util.StrUtil; import cn.jlw.Interceptor.SCoreUser; import cn.jlw.util.ToolUtils; import cn.jlw.validate.ValidateConfig; @@ -7,6 +8,8 @@ import com.alibaba.fastjson.JSON; import com.ibeetl.admin.core.annotation.Function; import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.file.FileService; +import com.ibeetl.admin.core.util.BeanCopyUtil; +import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.admin.core.util.TimeTool; import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOn; @@ -33,9 +36,14 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import static com.ibeetl.admin.core.util.ExcelUtil.convertData; +import static com.ibeetl.admin.core.util.ExcelUtil.write; + /** * 教师开课-课程实操 教师开课-课程实操 接口 * 切记不要对非线程安全的静态变量进行写操作 @@ -315,6 +323,36 @@ public class TeacherOpenCourseHandsOnController{ } } + /** + * 导出实操列表 + * @param coreUser + * @return + */ + @GetMapping(MODEL + "/exportHandsOnList.do") + public void exportHandsOnList(GetHandsOnListParam param, HttpServletResponse response, @SCoreUser CoreUser coreUser) throws IOException { + if (null == coreUser) { + throw new PlatformException("请登录后再操作"); + } else { + + /** 构建表头 */ + Map header = new LinkedHashMap<>(11); + header.put("handsOnName", "项目名称"); + header.put("videoAvgScore", "观看视频平均得分"); + header.put("pptAvgScore", "观看PPT平均得分"); + header.put("theoryAvgScore", "理论测评平均得分"); + header.put("stepAvgScore", "实训操作步骤平均得分"); + header.put("reportAvgScore", "报告撰写平均得分"); + + List list = teacherOpenCourseHandsOnService.getHandsOnListNotPage(param); + + List> maps = BeanCopyUtil.baseEntity2MapWithParallel(list); + + + String filename = StrUtil.format("实操列表 {}.xlsx", System.currentTimeMillis()); + write(response, filename, "Sheet1", header.values(), convertData(header.keySet(), maps)); + + } + } // /** diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourseHandsOn.md b/web/src/main/resources/sql/jlw/teacherOpenCourseHandsOn.md index acf88fc0..4cf9cf45 100644 --- a/web/src/main/resources/sql/jlw/teacherOpenCourseHandsOn.md +++ b/web/src/main/resources/sql/jlw/teacherOpenCourseHandsOn.md @@ -343,6 +343,15 @@ getHandsOnList from teacher_open_course_hands_on t where t.teacher_open_course_id =#teacherOpenCourseId# +getHandsOnListNotPage +=== +* 查询参数 + + select + t.* + from teacher_open_course_hands_on t + where t.teacher_open_course_id =#teacherOpenCourseId# + getExcelValues ===