etms/WEB-INF/mapping/et_exam_usertest.map.xml
liyuchen c24bea2687 Initial commit: JCDP 教育培训管理系统 v54
- 系统管理模块(用户/角色/组织/权限/日志)
- 教育培训计划管理模块
- 教育培训实施模块
- 考试管理模块
- 调研问卷管理模块
- 外派培训管理模块
- 年度培训总结模块
- 学习资源管理模块
- 任职资格管理模块
- 即时通讯模块
- APP 版本管理
- 统计分析模块(FineReport)
- 代码审查标准和报告(CODE_REVIEW_GUIDE.md, CODE_REVIEW_REPORT.md)
- 项目开发指南(PROJECT_GUIDE.md)
2026-04-16 16:41:34 +08:00

287 lines
14 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<dynamic-sql>
<sql id="getExamTestList"><![CDATA[
select et_exam_usertest.id,
et_exam_exampaper_and_editexampaper.name,et_exam_exampaper_and_editexampaper.description,et_exam_exampaper_and_editexampaper.sc,
et_exam_editexampaper.id ques_id,et_exam_editexampaper.edit_id,et_exam_editexampaper.num,et_exam_editexampaper.subject,et_exam_editexampaper.type,et_exam_editexampaper.type_num,et_exam_editexampaper.ismust,et_exam_editexampaper.score,et_exam_editexampaper.optionA,et_exam_editexampaper.optionB,et_exam_editexampaper.optionC,et_exam_editexampaper.optionD,et_exam_editexampaper.optionE,et_exam_editexampaper.optionF,et_exam_editexampaper.isParagraph,et_exam_editexampaper.answer,
et_exam_usertest.user_answer
from
(et_exam_exampaper_and_editexampaper inner join et_exam_editexampaper
on et_exam_exampaper_and_editexampaper.id = et_exam_editexampaper.edit_id)
left outer join et_exam_usertest
on et_exam_editexampaper.id = et_exam_usertest.question_id
where <@p>edit_id</@p>
]]></sql>
<sql id="getExamResultList"><![CDATA[
select id,user,department,name,total_score,user_time,mark_teacher from
(
select user_id as id,user,department,name,round(sum(user_score),2) as total_score,user_time,mark_teacher
from
et_exam_usertest
where <@p>exam_id</@p>
<@p p=" and (name like ? ">name</@p>
<@p p=" or department like ? ">department</@p>
<@p p=" or user like ? )">user</@p>
group by user_id
) examresult
]]></sql>
<sql id="getExamResultList之前的写法在此备份"><![CDATA[
select et_exam_usertest.user_id as id,et_exam_usertest.user,et_exam_exampaper_and_editexampaper.name,sum(et_exam_usertest.user_score) as total_score,et_exam_usertest.user_time,et_exam_usertest.mark_teacher
from
(et_exam_exampaper_and_editexampaper inner join et_exam_editexampaper
on et_exam_exampaper_and_editexampaper.id = et_exam_editexampaper.edit_id)
left outer join et_exam_usertest
on et_exam_editexampaper.id = et_exam_usertest.question_id
where <@p>edit_id</@p>
<@p p=" and et_exam_exampaper_and_editexampaper.name like ? ">name</@p>
<@p p=" or user like ? ">user</@p>
group by user_id
]]></sql>
<sql id="getExamComboxList"><![CDATA[
select id,name from et_exam_exampaper_and_editexampaper where 1=1
<@p p=" AND name like ? ">name</@p>
<@p p=" and %s">pg</@p>
<@p p=" and %s">card</@p>
<@p p=" and %s">createdepartment</@p>
order by convert(name using gbk)
]]></sql>
<sql id="getExamMarkList"><![CDATA[
select et_exam_usertest.id,
et_exam_exampaper_and_editexampaper.name,et_exam_exampaper_and_editexampaper.description,et_exam_exampaper_and_editexampaper.sc,et_exam_exampaper_and_editexampaper.state,
et_exam_editexampaper.id ques_id,et_exam_editexampaper.edit_id,et_exam_editexampaper.num,et_exam_editexampaper.subject,et_exam_editexampaper.type,et_exam_editexampaper.type_num,et_exam_editexampaper.ismust,et_exam_editexampaper.score,et_exam_editexampaper.optionA,et_exam_editexampaper.optionB,et_exam_editexampaper.optionC,et_exam_editexampaper.optionD,et_exam_editexampaper.optionE,et_exam_editexampaper.optionF,et_exam_editexampaper.isParagraph,et_exam_editexampaper.answer,
et_exam_usertest.user_answer,et_exam_usertest.user_score
from
(et_exam_exampaper_and_editexampaper inner join et_exam_editexampaper
on et_exam_exampaper_and_editexampaper.id = et_exam_editexampaper.edit_id)
left outer join et_exam_usertest
on et_exam_editexampaper.id = et_exam_usertest.question_id
where 1=1
<@p p=" and %s">edit_id</@p>
<@p p=" and %s">user_id</@p>
order by et_exam_editexampaper.num asc
]]></sql>
<sql id="getExamScoreList"><![CDATA[
select name,exam_id,user,user_id,user_time,round(sum(user_score),2) as total_score
from et_exam_usertest where <@p>user_id</@p>
<@p p=" and name like ? ">name</@p>
group by exam_id
]]></sql>
<sql id="getIsNotSubmitList"><![CDATA[
select * from et_exam_usertest where
<@p>user_id</@p>
<@p p=" and %s">exam_id</@p>
]]></sql>
<sql id="truncateExamDetail备份"><![CDATA[
truncate et_exam_detail
]]></sql>
<sql id="getPersonDetail备份"><![CDATA[
insert into et_exam_detail
select md5(uuid()) as id,usertest.name,limitation.exam_id,limitation.user,limitation.user_id
,(select if((SELECT EXISTS(select * from et_exam_usertest where
usertest.user_id = limitation.user_id and <@p>exam_id</@p>)) = 1,"已答","未答")) as userstate
from et_exam_limitation as limitation
left join et_exam_usertest as usertest
on limitation.exam_id = usertest.exam_id
where <@p p=" limitation.exam_id = ?">exam_id</@p>
group by limitation.user_id
]]></sql>
<sql id="getClassDetail备份"><![CDATA[
insert into et_exam_detail
select md5(uuid()) as id,usertest.name,class.exam_id,class.class_person as user,class.class_person_id as user_id
,(select if((SELECT EXISTS(select * from et_exam_usertest where
usertest.user_id = class.class_person_id and <@p>exam_id</@p>)) = 1,"已答","未答")) as userstate
from et_exam_limitation_class as class
left join et_exam_usertest as usertest
on class.exam_id = usertest.exam_id
where <@p p=" class.exam_id = ?">exam_id</@p>
group by class.class_person_id
]]></sql>
<sql id="getCourseDetail备份"><![CDATA[
insert into et_exam_detail
select md5(uuid()) as id,usertest.name,course.exam_id,course.course_person as user,course.course_person_id as user_id
,(select if((SELECT EXISTS(select * from et_exam_usertest where
usertest.user_id = course.course_person_id and <@p>exam_id</@p>)) = 1,"已答","未答")) as userstate
from et_exam_limitation_course as course
left join et_exam_usertest as usertest
on course.exam_id = usertest.exam_id
where <@p p=" course.exam_id = ?">exam_id</@p>
group by course.course_person_id
]]></sql>
<sql id="getDetail"><![CDATA[
select * from et_exam_detail where <@p>exam_id</@p>
]]></sql>
<sql id="getInstitutionDetail"><![CDATA[
select md5(uuid()) as id,b.username as user,b.usercode as user_id,b.orgname as department,'未答' as userstate,'0' as user_score
from et_train_baseuser b
where b.usercode not in (select user_id from et_exam_usertest where <@p>exam_id</@p> group by user_id)
union all
select md5(uuid()) as id,user,user_id,department,'已答' as userstate,round(sum(user_score),2) user_score
from et_exam_usertest
where <@p>exam_id</@p>
group by user_id
]]></sql>
<sql id="getInstitutionDetail 第二种写法 最慢"><![CDATA[
select md5(uuid()) as id,baseuser.exam_id,baseuser.username as user,baseuser.usercode as user_id
,(select if((SELECT EXISTS(select * from et_exam_usertest where
user_id = baseuser.usercode and <@p>exam_id</@p>)) = 1,"已答","未答")) as userstate
from (select e.id as exam_id,b.username,b.usercode from et_exam_exampaper_and_editexampaper e,et_train_baseuser b
where <@p p=" e.id = ? ">exam_id</@p>) as baseuser
left join et_exam_usertest as usertest
on baseuser.exam_id = usertest.exam_id
where <@p p=" baseuser.exam_id = ? ">exam_id</@p>
group by baseuser.usercode
]]></sql>
<sql id="getDepartmentDetail"><![CDATA[
select md5(uuid()) as id,b.username as user,b.usercode as user_id,b.orgname as department,'未答' as userstate,'0' as user_score
from et_train_baseuser b
where b.usercode not in (select user_id from et_exam_usertest where <@p>exam_id</@p> group by user_id)
and <@p p="orgcode in (%s)" f="?">user_id</@p>
union all
select md5(uuid()) as id,user,user_id,department,'已答' as userstate,round(sum(user_score),2) user_score
from et_exam_usertest
where <@p>exam_id</@p>
group by user_id
]]></sql>
<sql id="getDepartmentDetail 第二种写法 最慢"><![CDATA[
select md5(uuid()) as id,baseuser.exam_id,baseuser.username as user,baseuser.usercode as user_id
,(select if((SELECT EXISTS(select * from et_exam_usertest where
user_id = baseuser.usercode and <@p>exam_id</@p>)) = 1,"已答","未答")) as userstate
from (select l.exam_id,b.username,b.usercode from et_exam_limitation l,et_train_baseuser b
where <@p p=" l.exam_id = ? ">exam_id</@p>
and b.orgcode = any (select user_id from et_exam_limitation
where <@p>exam_id</@p>) group by b.usercode) as baseuser
left join et_exam_usertest as usertest
on baseuser.exam_id = usertest.exam_id
where <@p p=" baseuser.exam_id = ? ">exam_id</@p>
group by baseuser.usercode
]]></sql>
<sql id="getPersonDetail"><![CDATA[
select md5(uuid()) as id,l.user,l.user_id,b.orgname as department,'未答' as userstate,'0' as user_score
from et_exam_limitation l
inner join et_train_baseuser b
on l.user_id = b.usercode
where l.user_id not in (select user_id from et_exam_usertest where <@p>exam_id</@p> group by user_id)
and <@p p=" l.exam_id = ? ">exam_id</@p>
group by user_id
union all
select md5(uuid()) as id,user,user_id,department,'已答' as userstate,round(sum(user_score),2) user_score
from et_exam_usertest
where <@p>exam_id</@p>
group by user_id
]]></sql>
<sql id="getPersonDetail第二种写法"><![CDATA[
select md5(uuid()) as id,u.name,l.exam_id,l.user,l.user_id,'未答' as userstate
from et_exam_limitation l
left join (select exam_id,name,user,user_id from et_exam_usertest where exam_id = 'fb5f39fb8a694c30b941bc91c46d8036' group by user_id) u
on l.exam_id = u.exam_id
where (select count(1) as num from (select exam_id,name,user,user_id from et_exam_usertest where exam_id = 'fb5f39fb8a694c30b941bc91c46d8036' group by user_id) u
where u.exam_id = l.exam_id and u.user_id = l.user_id ) = 0
and l.exam_id = 'fb5f39fb8a694c30b941bc91c46d8036' group by user_id
union all
select md5(uuid()) as id,name,exam_id,user,user_id,'已答' as userstate
from et_exam_usertest
where exam_id = 'fb5f39fb8a694c30b941bc91c46d8036'
group by user_id
]]></sql>
<sql id="getPersonDetail第三种写法 最慢"><![CDATA[
select md5(uuid()) as id,usertest.name,limitation.exam_id,limitation.user,limitation.user_id
,(select if((SELECT EXISTS(select * from et_exam_usertest where
usertest.user_id = limitation.user_id and <@p>exam_id</@p>)) = 1,"已答","未答")) as userstate
from et_exam_limitation as limitation
left join et_exam_usertest as usertest
on limitation.exam_id = usertest.exam_id
where <@p p=" limitation.exam_id = ?">exam_id</@p>
group by limitation.user_id
]]></sql>
<sql id="getClassDetail"><![CDATA[
select md5(uuid()) as id,class.class_person as user,class.class_person_id as user_id,b.orgname as department,'未答' as userstate,'0' as user_score
from et_exam_limitation_class as class
inner join et_train_baseuser b
on class.class_person_id = b.usercode
where class.class_person_id not in (select user_id from et_exam_usertest where <@p>exam_id</@p> group by user_id)
and <@p p=" class.exam_id = ?">exam_id</@p>
group by class.class_person_id
union all
select md5(uuid()) as id,user,user_id,department,'已答' as userstate,round(sum(user_score),2) user_score
from et_exam_usertest
where <@p>exam_id</@p>
group by user_id
]]></sql>
<sql id="getClassDetail 第二种写法 最慢"><![CDATA[
select md5(uuid()) as id,usertest.name,class.exam_id,class.class_person as user,class.class_person_id as user_id
,(select if((SELECT EXISTS(select * from et_exam_usertest where
usertest.user_id = class.class_person_id and <@p>exam_id</@p>)) = 1,"已答","未答")) as userstate
from et_exam_limitation_class as class
left join et_exam_usertest as usertest
on class.exam_id = usertest.exam_id
where <@p p=" class.exam_id = ?">exam_id</@p>
group by class.class_person_id
]]></sql>
<sql id="getCourseDetail"><![CDATA[
select md5(uuid()) as id,course.course_person as user,course.course_person_id as user_id,b.orgname as department,'未答' as userstate,'0' as user_score
from et_exam_limitation_course as course
inner join et_train_baseuser b
on course.course_person_id = b.usercode
where course.course_person_id not in (select user_id from et_exam_usertest where <@p>exam_id</@p> group by user_id)
and <@p p=" course.exam_id = ?">exam_id</@p>
group by course.course_person_id
union all
select md5(uuid()) as id,user,user_id,department,'已答' as userstate,round(sum(user_score),2) user_score
from et_exam_usertest
where <@p>exam_id</@p>
group by user_id
]]></sql>
<sql id="getCourseDetail 第二种写法 最慢"><![CDATA[
select md5(uuid()) as id,usertest.name,course.exam_id,course.course_person as user,course.course_person_id as user_id
,(select if((SELECT EXISTS(select * from et_exam_usertest where
usertest.user_id = course.course_person_id and <@p>exam_id</@p>)) = 1,"已答","未答")) as userstate
from et_exam_limitation_course as course
left join et_exam_usertest as usertest
on course.exam_id = usertest.exam_id
where <@p p=" course.exam_id = ?">exam_id</@p>
group by course.course_person_id
]]></sql>
<sql id="updateAnswer"><![CDATA[
update et_exam_usertest u,et_exam_editexampaper e
set u.answer = e.answer
where u.question_id = e.id
and <@p>exam_id</@p>
]]></sql>
<sql id="updateUserScore"><![CDATA[
update et_exam_usertest
set user_score = (
case
when user_answer = answer
then score
else '0'
end
),
mark_teacher = '系统自判'
where <@p>exam_id</@p>
and (type = '单选题' or type = '多选题' or type = '判断题')
and (mark_teacher = '' or mark_teacher is NULL)
]]></sql></dynamic-sql>