修复 题目配置编辑页面,回显

beetlsql3-dev
Mlxa0324 2 years ago
parent 3da9be592a
commit 08e5252835

@ -63,4 +63,12 @@ public interface TeacherOpenCourseMergeResourcesQuestionDao extends BaseMapper<T
*/
List<QuestionTypeCountVO> getGroupQuestionTypeCount(@NotNull(message = "开课ID不能为空") Long teacherOpenCourseId);
/**
* 线
*
* @param teacherOpenCourseId ID
* @param questionSettingId ID
* @return
*/
List<QuestionSettingDTO> getGroupQuestionTypeCountAndSelectInfo(Long teacherOpenCourseId, Long questionSettingId);
}

@ -157,23 +157,6 @@ public class TeacherOpenCourseQuestionSetting extends BaseEntity {
*
*
*/
@FetchSql("SELECT " +
" t.question_type AS question_type, " +
" ( SELECT count( 1 ) FROM teacher_open_course_merge_resources_question ta WHERE ta.question_type = t.question_type AND ta.question_status = 1 ) AS total_count, " +
" count( 1 ) AS select_count, " +
" min( t.question_score ) single_score, " +
" min( t.question_score ) * count( 1 ) AS single_type_total_score, " +
" GROUP_CONCAT( t.teacher_open_course_merge_resources_question_id ) AS resources_question_id_plural " +
"FROM " +
" resources_question_snapshot t " +
"WHERE " +
" 1 = 1 " +
" AND t.teacher_open_course_question_setting_id = #teacherOpenCourseQuestionSettingId# " +
" " +
" AND t.question_status = 1 " +
"GROUP BY " +
" t.question_type "
)
@UpdateIgnore
@InsertIgnore
private List<QuestionSettingDTO> questionSettingOptions;

@ -609,6 +609,16 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ
return g;
}
/**
* ID
* @param teacherOpenCourseId
* @return
*/
public List<QuestionSettingDTO> getGroupQuestionTypeCountAndSelectInfo(@NotNull(message = "开课ID不能为空") Long teacherOpenCourseId,
@NotNull(message = "开课题目配置ID不能为空") Long quesitonSettingId) {
return teacherOpenCourseMergeResourcesQuestionDao.getGroupQuestionTypeCountAndSelectInfo(teacherOpenCourseId, quesitonSettingId);
}
/**
*
*

@ -964,4 +964,29 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService<Tea
return analysisAvgVO;
}
/**
*
* @param list
*/
public void fullQuestionSettingOptions(List<TeacherOpenCourseQuestionSetting> list) {
if (list == null) {
return;
}
for (TeacherOpenCourseQuestionSetting questionSetting : list) {
final Long teacherOpenCourseId = questionSetting.getTeacherOpenCourseId();
final Long questionSettingId = questionSetting.getTeacherOpenCourseQuestionSettingId();
if (teacherOpenCourseId == null || questionSettingId == null) {
continue;
}
List<QuestionSettingDTO> questionSettingDTOList =
teacherOpenCourseMergeResourcesQuestionService.getGroupQuestionTypeCountAndSelectInfo(
teacherOpenCourseId, questionSettingId);
questionSetting.setQuestionSettingOptions(questionSettingDTOList);
}
}
}

@ -58,6 +58,7 @@ public class TeacherOpenCourseQuestionSettingController{
PageQuery page = condition.getPageQuery();
teacherOpenCourseQuestionSettingService.queryByConditionQuery(page);
teacherOpenCourseQuestionSettingService.fullQuestionSettingOptions(page.getList());
if (!condition.getNotSelectOther()) {
// 设置分数和完成时间
teacherOpenCourseQuestionSettingService.setMyQuestionLogScoreInfo(page.getList(), getStudent());

@ -363,7 +363,7 @@ getValuesByQuery
where 1=1 and #function("teacherOpenCourseMergeResourcesQuestion.query")#
@if(!isEmpty(teacherOpenCourseMergeResourcesQuestionId)){
and t.teacher_open_course_merge_resources_question_id =#teacherOpenCourseMergeResourcesQuestionId#
@}
@}
@if(!isEmpty(teacherOpenCourseMergeResourcesQuestionIdPlural)){
and find_in_set(t.teacher_open_course_merge_resources_question_id,#teacherOpenCourseMergeResourcesQuestionIdPlural#)
@}
@ -883,4 +883,43 @@ getGroupQuestionTypeCount
GROUP BY
t.question_type
ORDER BY
t.question_type ASC
t.question_type ASC
getGroupQuestionTypeCountAndSelectInfo
===
* 开课离线题库,根据题目类型分组查询数量,和选中的情况
select
z.*,
z.select_count * z.single_score as single_type_total_score
from (
SELECT
t.question_type,
count( 1 ) AS total_count,
@// 该题目类型下,选择的数据
( SELECT count( 1 ) FROM resources_question_snapshot
WHERE teacher_open_course_question_setting_id = ta.teacher_open_course_question_setting_id
AND question_type = t.question_type AND question_status = 1 ) AS select_count,
@// 该题目类型下设置的分数,可能会有不同分数的情况,默认取最大分数
( SELECT max( question_score ) FROM resources_question_snapshot
WHERE teacher_open_course_question_setting_id = ta.teacher_open_course_question_setting_id
AND question_type = t.question_type AND question_status = 1 ) AS single_score
FROM
teacher_open_course_merge_resources_question t
LEFT JOIN teacher_open_course_question_setting ta ON ta.teacher_open_course_id = t.teacher_open_course_id
WHERE
1 = 1
AND t.question_status = 1
@ // 开课ID
@if(!isEmpty(teacherOpenCourseId)){
AND t.teacher_open_course_id = #teacherOpenCourseId#
@}
@ // 开课题目配置ID
@if(!isEmpty(questionSettingId)){
AND ta.teacher_open_course_question_setting_id = #questionSettingId#
@}
GROUP BY
t.question_type
ORDER BY
t.question_type ASC
) z
Loading…
Cancel
Save