You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tianze-pro/web/src/main/resources/sql/jlw/generalResourcesQuestionSna...

965 lines
28 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

queryByCondition
===
* 根据不为空的参数进行分页查询
select
@pageTag(){
t.*
#use("selectStudentAnswerFragment")#
@}
from general_resources_question_snapshot t
where 1=1
@//数据权限该sql语句功能点,如果不考虑数据权限,可以删除此行
and #function("generalResourcesQuestionSnapshot.query")#
@if(!isEmpty(generalResourcesQuestionSnapshotId)){
and t.general_resources_question_snapshot_id =#generalResourcesQuestionSnapshotId#
@}
@if(!isEmpty(generalResourcesQuestionSnapshotIdPlural)){
and find_in_set(t.general_resources_question_snapshot_id,#generalResourcesQuestionSnapshotIdPlural#)
@}
@if(!isEmpty(generalQuestionSettingId)){
and t.general_question_setting_id =#generalQuestionSettingId#
@}
@if(!isEmpty(generalQuestionSettingIdPlural)){
and find_in_set(t.general_question_setting_id,#generalQuestionSettingIdPlural#)
@}
@if(!isEmpty(businessCourseInfoId)){
and t.business_course_info_id =#businessCourseInfoId#
@}
@if(!isEmpty(businessCourseInfoIdPlural)){
and find_in_set(t.business_course_info_id,#businessCourseInfoIdPlural#)
@}
@if(!isEmpty(businessCourseInfoType)){
and t.business_course_info_type =#businessCourseInfoType#
@}
@if(!isEmpty(questionType)){
and t.question_type =#questionType#
@}
@if(!isEmpty(questionTypePlural)){
and find_in_set(t.question_type,#questionTypePlural#)
@}
@if(!isEmpty(questionScore)){
and t.question_score =#questionScore#
@}
@if(!isEmpty(questionStem)){
and t.question_stem =#questionStem#
@}
@if(!isEmpty(questionOptionA)){
and t.question_option_a =#questionOptionA#
@}
@if(!isEmpty(questionOptionB)){
and t.question_option_b =#questionOptionB#
@}
@if(!isEmpty(questionOptionC)){
and t.question_option_c =#questionOptionC#
@}
@if(!isEmpty(questionOptionD)){
and t.question_option_d =#questionOptionD#
@}
@if(!isEmpty(questionOptionE)){
and t.question_option_e =#questionOptionE#
@}
@if(!isEmpty(questionAnswer)){
and t.question_answer =#questionAnswer#
@}
@if(!isEmpty(questionAnalysis)){
and t.question_analysis =#questionAnalysis#
@}
@if(!isEmpty(questionStatus)){
and t.question_status =#questionStatus#
@}
@if(!isEmpty(questionStatusPlural)){
and find_in_set(t.question_status,#questionStatusPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
queryByConditionQuery
===
* 根据不为空的参数进行分页查询(无权限)
select
@pageTag(){
t.*
#use("selectStudentAnswerFragment")#
@}
from general_resources_question_snapshot t
where 1=1
@if(!isEmpty(generalResourcesQuestionSnapshotId)){
and t.general_resources_question_snapshot_id =#generalResourcesQuestionSnapshotId#
@}
@if(!isEmpty(generalResourcesQuestionSnapshotIdPlural)){
and find_in_set(t.general_resources_question_snapshot_id,#generalResourcesQuestionSnapshotIdPlural#)
@}
@if(!isEmpty(generalQuestionSettingId)){
and t.general_question_setting_id =#generalQuestionSettingId#
@}
@if(!isEmpty(generalQuestionSettingIdPlural)){
and find_in_set(t.general_question_setting_id,#generalQuestionSettingIdPlural#)
@}
@if(!isEmpty(businessCourseInfoId)){
and t.business_course_info_id =#businessCourseInfoId#
@}
@if(!isEmpty(businessCourseInfoIdPlural)){
and find_in_set(t.business_course_info_id,#businessCourseInfoIdPlural#)
@}
@if(!isEmpty(businessCourseInfoType)){
and t.business_course_info_type =#businessCourseInfoType#
@}
@if(!isEmpty(questionType)){
and t.question_type =#questionType#
@}
@if(!isEmpty(questionTypePlural)){
and find_in_set(t.question_type,#questionTypePlural#)
@}
@if(!isEmpty(questionScore)){
and t.question_score =#questionScore#
@}
@if(!isEmpty(questionStem)){
and t.question_stem =#questionStem#
@}
@if(!isEmpty(questionOptionA)){
and t.question_option_a =#questionOptionA#
@}
@if(!isEmpty(questionOptionB)){
and t.question_option_b =#questionOptionB#
@}
@if(!isEmpty(questionOptionC)){
and t.question_option_c =#questionOptionC#
@}
@if(!isEmpty(questionOptionD)){
and t.question_option_d =#questionOptionD#
@}
@if(!isEmpty(questionOptionE)){
and t.question_option_e =#questionOptionE#
@}
@if(!isEmpty(questionAnswer)){
and t.question_answer =#questionAnswer#
@}
@if(!isEmpty(questionAnalysis)){
and t.question_analysis =#questionAnalysis#
@}
@if(!isEmpty(questionStatus)){
and t.question_status =#questionStatus#
@}
@if(!isEmpty(questionStatusPlural)){
and find_in_set(t.question_status,#questionStatusPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
deleteGeneralResourcesQuestionSnapshotByIds
===
* 批量删除
delete from general_resources_question_snapshot where find_in_set(general_resources_question_snapshot_id,#ids#)
deleteBySettingIds
===
* 批量删除通过题目配置IDs
delete from general_resources_question_snapshot where find_in_set(general_question_setting_id,#settingIds#)
getByIds
===
select * from general_resources_question_snapshot where find_in_set(general_resources_question_snapshot_id,#ids#)
updateGivenByIds
===
* 批量更新指定字段,无论此字段是否有值
update general_resources_question_snapshot
set
@if(contain("generalQuestionSettingId",_given)){
@if(isEmpty(generalQuestionSettingId)){
general_question_setting_id = null ,
@}else{
general_question_setting_id = #generalQuestionSettingId# ,
@}
@}
@if(contain("businessCourseInfoId",_given)){
@if(isEmpty(businessCourseInfoId)){
business_course_info_id = null ,
@}else{
business_course_info_id = #businessCourseInfoId# ,
@}
@}
@if(contain("businessCourseInfoType",_given)){
@if(isEmpty(businessCourseInfoType)){
business_course_info_type = null ,
@}else{
business_course_info_type = #businessCourseInfoType# ,
@}
@}
@if(contain("questionType",_given)){
@if(isEmpty(questionType)){
question_type = null ,
@}else{
question_type = #questionType# ,
@}
@}
@if(contain("questionScore",_given)){
@if(isEmpty(questionScore)){
question_score = null ,
@}else{
question_score = #questionScore# ,
@}
@}
@if(contain("questionStem",_given)){
@if(isEmpty(questionStem)){
question_stem = null ,
@}else{
question_stem = #questionStem# ,
@}
@}
@if(contain("questionOptionA",_given)){
@if(isEmpty(questionOptionA)){
question_option_a = null ,
@}else{
question_option_a = #questionOptionA# ,
@}
@}
@if(contain("questionOptionB",_given)){
@if(isEmpty(questionOptionB)){
question_option_b = null ,
@}else{
question_option_b = #questionOptionB# ,
@}
@}
@if(contain("questionOptionC",_given)){
@if(isEmpty(questionOptionC)){
question_option_c = null ,
@}else{
question_option_c = #questionOptionC# ,
@}
@}
@if(contain("questionOptionD",_given)){
@if(isEmpty(questionOptionD)){
question_option_d = null ,
@}else{
question_option_d = #questionOptionD# ,
@}
@}
@if(contain("questionOptionE",_given)){
@if(isEmpty(questionOptionE)){
question_option_e = null ,
@}else{
question_option_e = #questionOptionE# ,
@}
@}
@if(contain("questionAnswer",_given)){
@if(isEmpty(questionAnswer)){
question_answer = null ,
@}else{
question_answer = #questionAnswer# ,
@}
@}
@if(contain("questionAnalysis",_given)){
@if(isEmpty(questionAnalysis)){
question_analysis = null ,
@}else{
question_analysis = #questionAnalysis# ,
@}
@}
@if(contain("questionStatus",_given)){
@if(isEmpty(questionStatus)){
question_status = null ,
@}else{
question_status = #questionStatus# ,
@}
@}
@if(contain("userId",_given)){
@if(isEmpty(userId)){
user_id = null ,
@}else{
user_id = #userId# ,
@}
@}
@if(contain("orgId",_given)){
@if(isEmpty(orgId)){
org_id = null ,
@}else{
org_id = #orgId# ,
@}
@}
general_resources_question_snapshot_id = general_resources_question_snapshot_id
where find_in_set(general_resources_question_snapshot_id,#generalResourcesQuestionSnapshotIdPlural#)
getGeneralResourcesQuestionSnapshotValues
===
* 根据不为空的参数进行查询
select t.*
#use("selectStudentAnswerFragment")#
from general_resources_question_snapshot t
where 1=1
@if(!isEmpty(generalResourcesQuestionSnapshotId)){
and t.general_resources_question_snapshot_id =#generalResourcesQuestionSnapshotId#
@}
@if(!isEmpty(generalQuestionSettingId)){
and t.general_question_setting_id =#generalQuestionSettingId#
@}
@if(!isEmpty(businessCourseInfoId)){
and t.business_course_info_id =#businessCourseInfoId#
@}
@if(!isEmpty(businessCourseInfoType)){
and t.business_course_info_type =#businessCourseInfoType#
@}
@if(!isEmpty(questionType)){
and t.question_type =#questionType#
@}
@if(!isEmpty(questionScore)){
and t.question_score =#questionScore#
@}
@if(!isEmpty(questionStem)){
and t.question_stem =#questionStem#
@}
@if(!isEmpty(questionOptionA)){
and t.question_option_a =#questionOptionA#
@}
@if(!isEmpty(questionOptionB)){
and t.question_option_b =#questionOptionB#
@}
@if(!isEmpty(questionOptionC)){
and t.question_option_c =#questionOptionC#
@}
@if(!isEmpty(questionOptionD)){
and t.question_option_d =#questionOptionD#
@}
@if(!isEmpty(questionOptionE)){
and t.question_option_e =#questionOptionE#
@}
@if(!isEmpty(questionAnswer)){
and t.question_answer =#questionAnswer#
@}
@if(!isEmpty(questionAnalysis)){
and t.question_analysis =#questionAnalysis#
@}
@if(!isEmpty(questionStatus)){
and t.question_status =#questionStatus#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
getValuesByQuery
===
* 根据不为空的参数进行查询
select t.*
#use("selectStudentAnswerFragment")#
from general_resources_question_snapshot t
where 1=1 and #function("generalResourcesQuestionSnapshot.query")#
@if(!isEmpty(generalResourcesQuestionSnapshotId)){
and t.general_resources_question_snapshot_id =#generalResourcesQuestionSnapshotId#
@}
@if(!isEmpty(generalResourcesQuestionSnapshotIdPlural)){
and find_in_set(t.general_resources_question_snapshot_id,#generalResourcesQuestionSnapshotIdPlural#)
@}
@if(!isEmpty(generalQuestionSettingId)){
and t.general_question_setting_id =#generalQuestionSettingId#
@}
@if(!isEmpty(generalQuestionSettingIdPlural)){
and find_in_set(t.general_question_setting_id,#generalQuestionSettingIdPlural#)
@}
@if(!isEmpty(businessCourseInfoId)){
and t.business_course_info_id =#businessCourseInfoId#
@}
@if(!isEmpty(businessCourseInfoIdPlural)){
and find_in_set(t.business_course_info_id,#businessCourseInfoIdPlural#)
@}
@if(!isEmpty(businessCourseInfoType)){
and t.business_course_info_type =#businessCourseInfoType#
@}
@if(!isEmpty(questionType)){
and t.question_type =#questionType#
@}
@if(!isEmpty(questionTypePlural)){
and find_in_set(t.question_type,#questionTypePlural#)
@}
@if(!isEmpty(questionScore)){
and t.question_score =#questionScore#
@}
@if(!isEmpty(questionStem)){
and t.question_stem =#questionStem#
@}
@if(!isEmpty(questionOptionA)){
and t.question_option_a =#questionOptionA#
@}
@if(!isEmpty(questionOptionB)){
and t.question_option_b =#questionOptionB#
@}
@if(!isEmpty(questionOptionC)){
and t.question_option_c =#questionOptionC#
@}
@if(!isEmpty(questionOptionD)){
and t.question_option_d =#questionOptionD#
@}
@if(!isEmpty(questionOptionE)){
and t.question_option_e =#questionOptionE#
@}
@if(!isEmpty(questionAnswer)){
and t.question_answer =#questionAnswer#
@}
@if(!isEmpty(questionAnalysis)){
and t.question_analysis =#questionAnalysis#
@}
@if(!isEmpty(questionStatus)){
and t.question_status =#questionStatus#
@}
@if(!isEmpty(questionStatusPlural)){
and find_in_set(t.question_status,#questionStatusPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
selectStudentAnswerFragment
===
* 查询学生的分数
@if(!isEmpty(studentId!)){
,(select b.general_question_log_answer
from general_question_log b
where 1 = 1 and b.student_id = #studentId#
and b.general_question_log_status = 1
and b.general_question_setting_id = t.general_question_setting_id
and b.general_resources_question_snapshot_id = t.general_resources_question_snapshot_id
order by general_question_log_add_time desc limit 1
) as general_question_log_answer
@}
getValuesByQueryNotWithPermission
===
* 根据不为空的参数进行查询(不包含权限)
select t.*
#use("selectStudentAnswerFragment")#
from general_resources_question_snapshot t
where 1=1
@if(!isEmpty(generalResourcesQuestionSnapshotId)){
and t.general_resources_question_snapshot_id =#generalResourcesQuestionSnapshotId#
@}
@if(!isEmpty(generalResourcesQuestionSnapshotIdPlural)){
and find_in_set(t.general_resources_question_snapshot_id,#generalResourcesQuestionSnapshotIdPlural#)
@}
@if(!isEmpty(generalQuestionSettingId)){
and t.general_question_setting_id =#generalQuestionSettingId#
@}
@if(!isEmpty(generalQuestionSettingIdPlural)){
and find_in_set(t.general_question_setting_id,#generalQuestionSettingIdPlural#)
@}
@if(!isEmpty(businessCourseInfoId)){
and t.business_course_info_id =#businessCourseInfoId#
@}
@if(!isEmpty(businessCourseInfoIdPlural)){
and find_in_set(t.business_course_info_id,#businessCourseInfoIdPlural#)
@}
@if(!isEmpty(businessCourseInfoType)){
and t.business_course_info_type =#businessCourseInfoType#
@}
@if(!isEmpty(questionType)){
and t.question_type =#questionType#
@}
@if(!isEmpty(questionTypePlural)){
and find_in_set(t.question_type,#questionTypePlural#)
@}
@if(!isEmpty(questionScore)){
and t.question_score =#questionScore#
@}
@if(!isEmpty(questionStem)){
and t.question_stem =#questionStem#
@}
@if(!isEmpty(questionOptionA)){
and t.question_option_a =#questionOptionA#
@}
@if(!isEmpty(questionOptionB)){
and t.question_option_b =#questionOptionB#
@}
@if(!isEmpty(questionOptionC)){
and t.question_option_c =#questionOptionC#
@}
@if(!isEmpty(questionOptionD)){
and t.question_option_d =#questionOptionD#
@}
@if(!isEmpty(questionOptionE)){
and t.question_option_e =#questionOptionE#
@}
@if(!isEmpty(questionAnswer)){
and t.question_answer =#questionAnswer#
@}
@if(!isEmpty(questionAnalysis)){
and t.question_analysis =#questionAnalysis#
@}
@if(!isEmpty(questionStatus)){
and t.question_status =#questionStatus#
@}
@if(!isEmpty(questionStatusPlural)){
and find_in_set(t.question_status,#questionStatusPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
getExcelValues
===
* 根据不为空的参数进行查询导入需要的参数
SELECT * FROM (
(
select
MAX(LENGTH(t.general_question_setting_id)) general_question_setting_id,
MAX(LENGTH(t.business_course_info_id)) business_course_info_id,
MAX(LENGTH(t.business_course_info_type)) business_course_info_type,
MAX(LENGTH(t.question_type)) question_type,
MAX(LENGTH(t.question_score)) question_score,
MAX(LENGTH(t.question_stem)) question_stem,
MAX(LENGTH(t.question_option_a)) question_option_a,
MAX(LENGTH(t.question_option_b)) question_option_b,
MAX(LENGTH(t.question_option_c)) question_option_c,
MAX(LENGTH(t.question_option_d)) question_option_d,
MAX(LENGTH(t.question_option_e)) question_option_e,
MAX(LENGTH(t.question_answer)) question_answer,
MAX(LENGTH(t.question_analysis)) question_analysis,
MAX(LENGTH(t.question_status)) question_status,
from general_resources_question_snapshot t
where 1=1 and #function("generalResourcesQuestionSnapshot.query")#
@if(!isEmpty(generalResourcesQuestionSnapshotId)){
and t.general_resources_question_snapshot_id =#generalResourcesQuestionSnapshotId#
@}
@if(!isEmpty(generalResourcesQuestionSnapshotIdPlural)){
and find_in_set(t.general_resources_question_snapshot_id,#generalResourcesQuestionSnapshotIdPlural#)
@}
@if(!isEmpty(generalQuestionSettingId)){
and t.general_question_setting_id =#generalQuestionSettingId#
@}
@if(!isEmpty(generalQuestionSettingIdPlural)){
and find_in_set(t.general_question_setting_id,#generalQuestionSettingIdPlural#)
@}
@if(!isEmpty(businessCourseInfoId)){
and t.business_course_info_id =#businessCourseInfoId#
@}
@if(!isEmpty(businessCourseInfoIdPlural)){
and find_in_set(t.business_course_info_id,#businessCourseInfoIdPlural#)
@}
@if(!isEmpty(businessCourseInfoType)){
and t.business_course_info_type =#businessCourseInfoType#
@}
@if(!isEmpty(questionType)){
and t.question_type =#questionType#
@}
@if(!isEmpty(questionTypePlural)){
and find_in_set(t.question_type,#questionTypePlural#)
@}
@if(!isEmpty(questionScore)){
and t.question_score =#questionScore#
@}
@if(!isEmpty(questionStem)){
and t.question_stem =#questionStem#
@}
@if(!isEmpty(questionOptionA)){
and t.question_option_a =#questionOptionA#
@}
@if(!isEmpty(questionOptionB)){
and t.question_option_b =#questionOptionB#
@}
@if(!isEmpty(questionOptionC)){
and t.question_option_c =#questionOptionC#
@}
@if(!isEmpty(questionOptionD)){
and t.question_option_d =#questionOptionD#
@}
@if(!isEmpty(questionOptionE)){
and t.question_option_e =#questionOptionE#
@}
@if(!isEmpty(questionAnswer)){
and t.question_answer =#questionAnswer#
@}
@if(!isEmpty(questionAnalysis)){
and t.question_analysis =#questionAnalysis#
@}
@if(!isEmpty(questionStatus)){
and t.question_status =#questionStatus#
@}
@if(!isEmpty(questionStatusPlural)){
and find_in_set(t.question_status,#questionStatusPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
)
UNION ALL
(
select
t.general_question_setting_id ,
t.business_course_info_id ,
t.business_course_info_type ,
t.question_type ,
t.question_score ,
t.question_stem ,
t.question_option_a ,
t.question_option_b ,
t.question_option_c ,
t.question_option_d ,
t.question_option_e ,
t.question_answer ,
t.question_analysis ,
t.question_status ,
from general_resources_question_snapshot t
where 1=1 and #function("generalResourcesQuestionSnapshot.query")#
@if(!isEmpty(generalResourcesQuestionSnapshotId)){
and t.general_resources_question_snapshot_id =#generalResourcesQuestionSnapshotId#
@}
@if(!isEmpty(generalResourcesQuestionSnapshotIdPlural)){
and find_in_set(t.general_resources_question_snapshot_id,#generalResourcesQuestionSnapshotIdPlural#)
@}
@if(!isEmpty(generalQuestionSettingId)){
and t.general_question_setting_id =#generalQuestionSettingId#
@}
@if(!isEmpty(generalQuestionSettingIdPlural)){
and find_in_set(t.general_question_setting_id,#generalQuestionSettingIdPlural#)
@}
@if(!isEmpty(businessCourseInfoId)){
and t.business_course_info_id =#businessCourseInfoId#
@}
@if(!isEmpty(businessCourseInfoIdPlural)){
and find_in_set(t.business_course_info_id,#businessCourseInfoIdPlural#)
@}
@if(!isEmpty(businessCourseInfoType)){
and t.business_course_info_type =#businessCourseInfoType#
@}
@if(!isEmpty(questionType)){
and t.question_type =#questionType#
@}
@if(!isEmpty(questionTypePlural)){
and find_in_set(t.question_type,#questionTypePlural#)
@}
@if(!isEmpty(questionScore)){
and t.question_score =#questionScore#
@}
@if(!isEmpty(questionStem)){
and t.question_stem =#questionStem#
@}
@if(!isEmpty(questionOptionA)){
and t.question_option_a =#questionOptionA#
@}
@if(!isEmpty(questionOptionB)){
and t.question_option_b =#questionOptionB#
@}
@if(!isEmpty(questionOptionC)){
and t.question_option_c =#questionOptionC#
@}
@if(!isEmpty(questionOptionD)){
and t.question_option_d =#questionOptionD#
@}
@if(!isEmpty(questionOptionE)){
and t.question_option_e =#questionOptionE#
@}
@if(!isEmpty(questionAnswer)){
and t.question_answer =#questionAnswer#
@}
@if(!isEmpty(questionAnalysis)){
and t.question_analysis =#questionAnalysis#
@}
@if(!isEmpty(questionStatus)){
and t.question_status =#questionStatus#
@}
@if(!isEmpty(questionStatusPlural)){
and find_in_set(t.question_status,#questionStatusPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
)
)t
getQuestionBySettingOptionDTO
===
* 根据题目设置随机出题(从系统的题库获取)
select
@if(!isEmpty(singleScore)){
'' as general_resources_question_snapshot_id,
'' as general_question_setting_id,
'' as business_course_info_type,
t.course_info_id as business_course_info_id,
t.question_type,
t.question_stem,
t.question_option_a,
t.question_option_b,
t.question_option_c,
t.question_option_d,
t.question_option_e,
t.question_answer,
#singleScore# as question_score,
t.question_analysis,
t.question_status,
t.user_id,
t.org_id
@} else {
t.*,
t.course_info_id as business_course_info_id
@}
from resources_question t
where 1=1
and t.question_status = 1
@// 题目ID优先级高
@if(!isEmpty(resourcesQuestionIdPlural)) {
and find_in_set(t.resources_question_id, #resourcesQuestionIdPlural#)
@} else {
@// 随机抽题,根据题目配置动态抽取题目。会存在题库抽不够数的情况。
@if(!isEmpty(questionType)){
and find_in_set(t.question_type, #questionType#)
@}
@if(!isEmpty(selectCount)){
ORDER BY RAND()
limit #selectCount#
@}
@}
getQuestionTestSimpleInfo
===
* 学生端- 题目的简单信息(包含学生得分)
SELECT
@pageTag(){
t.general_question_setting_id,
t.general_question_setting_name,
t.general_question_setting_type,
t.general_question_start_time,
t.general_question_end_time,
(
SELECT
sum(
@ // 已经交卷的状态才算分
CASE WHEN ta.question_log_add_type = 'FINALLY_SUBMIT' THEN IFNULL( ta.student_score, 0 ) ELSE 0 END
)
FROM
general_question_log ta
WHERE
ta.general_question_setting_id = t.general_question_setting_id
and ta.general_question_log_status = 1
AND t.general_question_setting_status = 1
AND t.general_question_setting_push_status = 1
AND ta.student_id = #studentId#
) AS my_score,
(
SELECT
count( 1 )
FROM
resources_question_snapshot tb
WHERE
tb.general_question_setting_id = t.general_question_setting_id
AND tb.question_status = 1
) AS question_total_count,
(
SELECT
count( 1 ) > 0
FROM
general_question_log tc
WHERE
tc.general_question_setting_id = t.general_question_setting_id
AND tc.general_question_log_status = 1
@ // 是否已交卷
AND tc.question_log_add_type = 'FINALLY_SUBMIT'
LIMIT 1
) AS is_finished,
(
SELECT max(TIMEDIFF( td.general_question_log_update_time , td.general_question_log_add_time )) as finish_time
FROM general_question_log td
WHERE td.general_question_log_status = 1
@if(!isEmpty(studentId)) {
and td.student_id = #studentId#
@}
and td.question_log_add_type = 'FINALLY_SUBMIT'
and td.general_question_setting_id = t.general_question_setting_id
AND td.general_question_log_update_time IS NOT NULL
) as finish_time,
(
SELECT abs(max(TIMESTAMPDIFF(SECOND, te.general_question_log_update_time , te.general_question_log_add_time ))) as finish_second_time
FROM general_question_log te
WHERE te.general_question_log_status = 1
@if(!isEmpty(studentId)) {
and te.student_id = #studentId#
@}
and te.question_log_add_type = 'FINALLY_SUBMIT'
and te.general_question_setting_id = t.general_question_setting_id
AND te.general_question_log_update_time IS NOT NULL
) as finish_second_time,
(
SELECT round(sum(case when tf.question_score = tf.student_score then 1 else 0 end)
/ ifnull(count(distinct(tf.general_resources_question_snapshot_id)), 0) * 100, 2) as finish_second_time
FROM general_question_log tf
WHERE tf.general_question_log_status = 1
@if(!isEmpty(studentId)) {
and tf.student_id = #studentId#
@}
and tf.question_log_add_type = 'FINALLY_SUBMIT'
and tf.general_question_setting_id = t.general_question_setting_id
AND tf.general_question_log_update_time IS NOT NULL
) as correct_rate
@}
FROM
general_question_setting t
WHERE
1 = 1
AND t.general_question_setting_type = #teacherOpenCourseQuestionSettingType#
AND t.general_question_setting_push_status = 1
AND t.general_question_setting_status = 1
AND t.general_id = #teacherOpenCourseId#
order by t.general_question_setting_name asc
questionTestResults
===
* 教师端-题目的练习详情
SELECT
@pageTag(){
z.*
@}
FROM
(SELECT
t.student_id,
t.student_sn,
t.student_name,
th.class_name,
@ // 完成用时
max(TIMEDIFF( te.general_question_log_update_time , te.general_question_log_add_time )) AS finish_time,
@ // 题目总数
count(td.general_resources_question_snapshot_id) AS question_total_count,
@ // 正确的题数
count(case when te.question_score > 0 then 1 else 0 end) AS correct_count,
@ // 错误的题数
count(case when te.question_score = 0 then 1 else 0 end) AS wrong_count,
@ // 正确率 100为最大值
count(case when te.question_score > 0 then 1 else 0 end)
/ IF(count(td.general_resources_question_snapshot_id) = 0,1, count(td.general_resources_question_snapshot_id)) * 100 AS correct_rate,
@ // 该学生的总得分
sum(IFNULL(te.question_score, 0)) AS total_score
FROM
student t
LEFT JOIN general_merge_student tc ON tc.student_id = t.student_id
LEFT JOIN teacher_open_course ta ON ta.general_id = tc.general_id
LEFT JOIN general_question_setting tb ON tb.general_id = ta.general_id
LEFT JOIN resources_question_snapshot td ON td.general_question_setting_id = tb.general_question_setting_id
LEFT JOIN general_question_log te ON te.general_question_setting_id = tb.general_question_setting_id
LEFT JOIN school_class th ON th.class_id = t.class_id
@if(!isEmpty(teacherOpenCourseMergeSchoolClassIds)) {
LEFT JOIN general_merge_school_class ti ON ti.general_id = ta.general_id
@}
@if(!isEmpty(teacherOpenCourseMergeCourseInfoId)) {
LEFT JOIN general_merge_course_info tj ON tj.general_id = ta.general_id
@}
WHERE
1 = 1
AND ta.general_status = 1
AND tb.general_question_setting_status = 1
AND tc.general_school_class_merge_student_status = 1
AND td.question_status = 1
AND te.general_question_log_status = 1
AND th.class_status = 1
@if(!isEmpty(teacherOpenCourseMergeSchoolClassIds)) {
AND ti.general_merge_school_class_status = 1
@}
@if(!isEmpty(teacherOpenCourseMergeCourseInfoId)) {
AND tj.course_info_status = 1
@}
@ // 开课关联的班级ID
@if(!isEmpty(teacherOpenCourseMergeSchoolClassIds)) {
AND FIND_IN_SET(ti.general_merge_school_class_id, #teacherOpenCourseMergeSchoolClassIds#)
@}
@if(!isEmpty(studentSnOrStudentName)) {
AND CONCAT( t.student_sn, t.student_name ) LIKE #'%' + studentSnOrStudentName + '%'#
@}
@if(!isEmpty(teacherOpenCourseMergeCourseInfoId)) {
AND tj.general_merge_course_info_id = #teacherOpenCourseMergeCourseInfoId#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingId)) {
AND tb.general_question_setting_id = #teacherOpenCourseQuestionSettingId#
@}
GROUP BY
t.student_id,
t.student_sn,
t.student_name,
th.class_name
) z