diff --git a/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseQuestionLogDao.java b/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseQuestionLogDao.java index 4d9c3985..8e692440 100644 --- a/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseQuestionLogDao.java +++ b/web/src/main/java/com/ibeetl/jlw/dao/TeacherOpenCourseQuestionLogDao.java @@ -2,6 +2,8 @@ package com.ibeetl.jlw.dao; import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionLog; import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionLogScoreDetailsInfo; +import com.ibeetl.jlw.entity.dto.TeacherOpenCourseHomeWorkLogDTO; +import com.ibeetl.jlw.entity.vo.TeacherOpenCourseHomeWorkLogExportVO; import com.ibeetl.jlw.enums.QuestionLogAddTypeEnum; import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum; import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionLogQuery; @@ -160,4 +162,17 @@ public interface TeacherOpenCourseQuestionLogDao extends BaseMapper getHomeWorkLogExportList(TeacherOpenCourseHomeWorkLogDTO dto); + + /** + * 查询附件作业-日志(分页) + * @param pageQuery + * @return + */ + PageQuery getHomeWorkLogExportPageList(PageQuery pageQuery); } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherOpenCourseHomeWorkLogDTO.java b/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherOpenCourseHomeWorkLogDTO.java new file mode 100644 index 00000000..6abcf21f --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherOpenCourseHomeWorkLogDTO.java @@ -0,0 +1,17 @@ +package com.ibeetl.jlw.entity.dto; + +import com.ibeetl.admin.core.entity.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/* +* 我的课程-题库-做题日志 附件作业 导出 +* gen by Spring Boot2 Admin 2022-10-05 +*/ +@Data +@EqualsAndHashCode(callSuper=false) +public class TeacherOpenCourseHomeWorkLogDTO extends BaseEntity { + + private String questionSettingIdPlural; + +} diff --git a/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherOpenCourseHomeWorkLogPageDTO.java b/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherOpenCourseHomeWorkLogPageDTO.java new file mode 100644 index 00000000..a633be65 --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/entity/dto/TeacherOpenCourseHomeWorkLogPageDTO.java @@ -0,0 +1,17 @@ +package com.ibeetl.jlw.entity.dto; + +import com.ibeetl.admin.core.web.query.PageParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/* +* 我的课程-题库-做题日志 附件作业 分页参数 +* gen by Spring Boot2 Admin 2022-10-05 +*/ +@Data +@EqualsAndHashCode(callSuper=false) +public class TeacherOpenCourseHomeWorkLogPageDTO extends PageParam { + + private String questionSettingIdPlural; + +} diff --git a/web/src/main/java/com/ibeetl/jlw/entity/vo/TeacherOpenCourseHomeWorkLogExportVO.java b/web/src/main/java/com/ibeetl/jlw/entity/vo/TeacherOpenCourseHomeWorkLogExportVO.java new file mode 100644 index 00000000..d236cc49 --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/entity/vo/TeacherOpenCourseHomeWorkLogExportVO.java @@ -0,0 +1,43 @@ +package com.ibeetl.jlw.entity.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.ibeetl.admin.core.entity.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.FieldNameConstants; + +/* +* 我的课程-题库-做题日志 附件作业 导出 +* gen by Spring Boot2 Admin 2022-10-05 +*/ +@Data +@EqualsAndHashCode(callSuper=false) +@FieldNameConstants +@ExcelIgnoreUnannotated +public class TeacherOpenCourseHomeWorkLogExportVO extends BaseEntity { + + /** + * 题目配置ID + */ + private String questionSettingId; + + @ExcelProperty("学号") + private String studentSn; + + @ExcelProperty("姓名") + private String studentName; + + @ExcelProperty("报告名称") + private String questionSettingName; + +// @ExcelProperty("报告下载") + + private String questionSettingFile; + + @ExcelProperty("教师评语") + private String questionLogReply; + + @ExcelProperty("报告得分") + private String studentScore; +} diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java index 70d8eb3f..17abe8dc 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java @@ -21,6 +21,8 @@ import com.ibeetl.jlw.dao.TeacherOpenCourseQuestionLogDao; import com.ibeetl.jlw.dao.TeacherOpenCourseQuestionSettingDao; import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.entity.dto.QuestionLogAddDTO; +import com.ibeetl.jlw.entity.dto.TeacherOpenCourseHomeWorkLogDTO; +import com.ibeetl.jlw.entity.vo.TeacherOpenCourseHomeWorkLogExportVO; import com.ibeetl.jlw.entity.vo.TeacherOpenCourseQuestionLogAnswerLockVO; import com.ibeetl.jlw.enums.QuestionLogAddTypeEnum; import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum; @@ -1071,4 +1073,22 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService getHomeWorkLogExportList(TeacherOpenCourseHomeWorkLogDTO dto) { + return teacherOpenCourseQuestionLogDao.getHomeWorkLogExportList(dto); + } + + /** + * 查询附件作业-日志(分页) + * @param pageQuery + * @return + */ + public PageQuery getHomeWorkLogExportPageList(PageQuery pageQuery) { + return teacherOpenCourseQuestionLogDao.getHomeWorkLogExportPageList(pageQuery); + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionLogController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionLogController.java index 1f20a99e..57d0aa5e 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionLogController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseQuestionLogController.java @@ -17,6 +17,9 @@ import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot; import com.ibeetl.jlw.entity.Student; import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionLog; import com.ibeetl.jlw.entity.dto.QuestionLogAddDTO; +import com.ibeetl.jlw.entity.dto.TeacherOpenCourseHomeWorkLogDTO; +import com.ibeetl.jlw.entity.dto.TeacherOpenCourseHomeWorkLogPageDTO; +import com.ibeetl.jlw.entity.vo.TeacherOpenCourseHomeWorkLogExportVO; import com.ibeetl.jlw.service.TeacherOpenCourseQuestionLogService; import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionLogQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionLogScoreDetailsInfoQuery; @@ -50,7 +53,7 @@ import static com.ibeetl.jlw.enums.QuestionLogAddTypeEnum.FINALLY_SUBMIT; */ @RestController -public class TeacherOpenCourseQuestionLogController { +public class TeacherOpenCourseQuestionLogController extends BaseController { private final Log log = LogFactory.getLog(this.getClass()); private static final String MODEL = "/jlw/teacherOpenCourseQuestionLog"; @@ -517,4 +520,36 @@ public class TeacherOpenCourseQuestionLogController { teacherOpenCourseQuestionLogService.deleteTeacherOpenCourseQuestionLog(ids); return JsonResult.success(); } + + + /** + * 附件作业日志导出 + * @param query 附件的题目配置IDs (非必传) + * @return + */ + @SneakyThrows + @PostMapping(MODEL + "/homeworkFileLogExport.json") + @ResponseBody + public String homeworkFileLogExport(TeacherOpenCourseHomeWorkLogDTO query, @SCoreUser CoreUser coreUser) { + + List list = teacherOpenCourseQuestionLogService.getHomeWorkLogExportList(query); + + String filename = StrUtil.format("附件作业日志导出{}.xlsx", DateUtil.now()); + write(response, filename, "Sheet1", TeacherOpenCourseHomeWorkLogExportVO.class, list); + return null; + } + + /** + * 附件作业日志导出 + * @param dto 附件的题目配置IDs (非必传) + * @return + */ + @SneakyThrows + @PostMapping(MODEL + "/homeworkFileLogPageList.json") + @ResponseBody + public JsonResult homeworkFileLogPageList(TeacherOpenCourseHomeWorkLogPageDTO dto, @SCoreUser CoreUser coreUser) { + return JsonResult.success(teacherOpenCourseQuestionLogService.getHomeWorkLogExportPageList(dto.getPageQuery())); + } + + } diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionLog.md b/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionLog.md index a809c0b0..3092e33f 100644 --- a/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionLog.md +++ b/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionLog.md @@ -980,4 +980,59 @@ getNotSubmitQuestionLogsCount AND FIND_IN_SET( t.teacher_open_course_question_log_id, ta.question_log_ids ) ) AND t.student_id = #studentId# - AND t.teacher_open_course_question_setting_id = #questionSettingId# \ No newline at end of file + AND t.teacher_open_course_question_setting_id = #questionSettingId# + +getHomeWorkLogExportPageList +=== +* 查询附件作业-日志(分页) + + SELECT + @pageTag() { + ta.student_sn, + ta.student_name, + tb.teacher_open_course_question_setting_id AS question_setting_id, + tb.teacher_open_course_question_setting_name AS question_setting_name, + t.teacher_open_course_question_log_upload_file AS question_setting_file, + t.teacher_open_course_question_log_reply AS question_log_reply, + t.student_score + @} + FROM + teacher_open_course_question_log t + INNER JOIN teacher_open_course_question_setting tb ON tb.teacher_open_course_question_setting_id = t.teacher_open_course_question_setting_id + AND tb.teacher_open_course_question_setting_status = 1 + INNER JOIN student ta ON ta.student_id = t.student_id + AND ta.student_status = 1 + WHERE + 1 + AND t.teacher_open_course_question_log_status = 1 + AND t.student_score is not null + @if(isNotEmpty(questionSettingIdPlural)) { + and find_in_set(t.teacher_open_course_question_setting_id, #questionSettingIdPlural#) + @} + +getHomeWorkLogExportList +=== +* 查询附件作业-日志 + + SELECT + ta.student_sn, + ta.student_name, + tb.teacher_open_course_question_setting_id AS question_setting_id, + tb.teacher_open_course_question_setting_name AS question_setting_name, + t.teacher_open_course_question_log_upload_file AS question_setting_file, + t.teacher_open_course_question_log_reply AS question_log_reply, + t.student_score + FROM + teacher_open_course_question_log t + INNER JOIN teacher_open_course_question_setting tb ON tb.teacher_open_course_question_setting_id = t.teacher_open_course_question_setting_id + AND tb.teacher_open_course_question_setting_status = 1 + INNER JOIN student ta ON ta.student_id = t.student_id + AND ta.student_status = 1 + WHERE + 1 + AND t.teacher_open_course_question_log_status = 1 + AND t.student_score is not null + @if(isNotEmpty(questionSettingIdPlural)) { + and find_in_set(t.teacher_open_course_question_setting_id, #questionSettingIdPlural#) + @} + \ No newline at end of file