etms/WEB-INF/mapping/et_exam_usertest.map.xml
liyuchen 512d57c5d9 Code fixes: global vars, date API, deprecated SQL, FTL comments
Fixed Issues:
- globalConfig.js: Added const declarations for 10 undeclared regex variables
- globalConfig.js: Fixed getDay() -> getDate() for date comparison
- Removed 16 deprecated SQL definitions from 4 map.xml files
- Cleaned 615+ commented code blocks from 115 FTL templates

Added:
- CODE_FIX_PLAN.md: Detailed fix plan for remaining issues

Remaining (documented in CODE_FIX_PLAN.md):
- 6 async: false AJAX requests to convert
- 120+ SELECT * to optimize
- 6265+ inline styles to refactor
2026-04-16 17:24:37 +08:00

182 lines
8.1 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>
<!-- DEPRECATED: getExamResultList之前的写法在此备份 -->
<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>
<!-- DEPRECATED: truncateExamDetail备份 -->
<!-- DEPRECATED: getPersonDetail备份 -->
<!-- DEPRECATED: getClassDetail备份 -->
<!-- DEPRECATED: getCourseDetail备份 -->
<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>
<!-- DEPRECATED: getInstitutionDetail 第二种写法 最慢 -->
<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>
<!-- DEPRECATED: getDepartmentDetail 第二种写法 最慢 -->
<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>
<!-- DEPRECATED: getPersonDetail第二种写法 -->
<!-- DEPRECATED: getPersonDetail第三种写法 最慢 -->
<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>
<!-- DEPRECATED: getClassDetail 第二种写法 最慢 -->
<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>
<!-- DEPRECATED: getCourseDetail 第二种写法 最慢 -->
<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>