etms/WEB-INF/mapping/et_train_pd.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

519 lines
18 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<dynamic-sql>
<sql id="getCreateClassList"><![CDATA[
select * from et_train_pd_cc where 1=1
<@p p="AND ID IN(%s)" f="?">id</@p>
<@p p="AND (%s)" s=" OR" f="%S LIKE ?">kcmc,bjmc,addgroupname</@p>
<@p p="AND %s">addusercode</@p>
<@p p="AND %s">kcmcid</@p>
<@p p="AND %s">addgroupid</@p>
<@p p="AND %s">status</@p>
<@p p="AND status in (%s)" f="?">audit_status</@p>
]]></sql>
<sql id="getAuditCreateClassList"><![CDATA[
select cc.id,cc.kcmc,cc.jhly,cc.bjmc,cc.bjlb,cc.endtime,cc.addgroupname,cc.starttime,cc.`status`,sp.spusercode from et_train_pd_cc cc join et_train_sp sp on sp.tid = cc.id where 1=1
<@p p="AND %s">spusercode</@p>
GROUP BY cc.id
]]></sql>
<sql id="getClassListForFinish"><![CDATA[
select *,(case when finish_time is null then "待补充" else '已补充' end) finish_status
from et_train_pd_cc
where exists (select 1 from et_train_pd_cc_pg where et_train_pd_cc.id=et_train_pd_cc_pg.ccid and et_train_pd_cc_pg.status=1 and et_train_pd_cc.status = 2)
<@p p="AND %s">addusercode</@p>
<@p p="and (kcmc like ? ">kcmc</@p>
<@p p="or bjmc like ? ">bjmc</@p>
<@p p="or addgroupname like ? )">addgroupname</@p>
]]></sql>
<sql id="getCreateClass_GroupList"><![CDATA[
select * from et_train_pd_cc_group where 1=1
<@p p="AND (%s)">ccid</@p>
]]></sql>
<sql id="deleteCC_Group"><![CDATA[
DELETE FROM et_train_pd_cc_group WHERE ccid IN(<@p f="?">ccid</@p>)
]]>
</sql>
<sql id="getCreateClass_UserList"><![CDATA[
select * from et_train_pd_cc_user where 1=1
<@p p="AND %s">ccid</@p>
<@p p="AND %s">groupid</@p>
<@p p="AND %s">addgroupid</@p>
<@p p="and (username like ? ">key</@p>
<@p p="or usercode like ? )">key</@p>
order by num
]]></sql>
<sql id="deleteCC_User"><![CDATA[
DELETE FROM et_train_pd_cc_user WHERE ccid IN(<@p f="?">ccid</@p>)
]]>
</sql>
<sql id="getPlanToDoPgList"><![CDATA[
SELECT
*,
ifnull( scoreavg1, 0 ) scoreavg,
ifnull( validpaper1, 0 ) validpaper,
ifnull( validpaper2, 0 ) allpaper
FROM
et_train_pd_cc_pg pg
LEFT JOIN ( SELECT pgID, STATUS AS yxxstatus, ID AS yxxID FROM et_train_pd_cc_pgwjyxx ) yxx ON yxx.pgID = pg.id
LEFT JOIN ( SELECT paperid paperid1, count( usercode ) validpaper1 FROM et_train_pd_cc_dt WHERE isanswer = 1 GROUP BY paperid1 ) t1 ON t1.paperid1 = pg.id
LEFT JOIN ( SELECT paperid paperid2, count( usercode ) validpaper2 FROM et_train_pd_cc_dt GROUP BY paperid2 ) t3 ON t3.paperid2 = pg.id
LEFT JOIN (
SELECT
paperid,
classid,
round( avg( score ), 2 ) scoreavg1
FROM
(
SELECT
t.paperid,
t.classid,
score
FROM
et_train_pd_cc_dtda a
INNER JOIN et_train_pd_cc_dt t ON a.dtid = t.id
AND t.isanswer = '1'
WHERE
score IS NOT NULL
) tab
GROUP BY
paperid
) t2 ON t2.paperid = pg.id
WHERE
1 =1
<@p p="AND ID IN(%s)" f="?">id</@p>
<@p p="AND (%s)" s=" OR" f="%S LIKE ?">pgwjmc,addgroupname,ccname</@p>
<@p p="AND addgroupid=%s" f="?">filter2</@p>
<@p p="AND 1=%s" f="?">filter3</@p>
<@p p="AND addusercode = %s" f="?">addusercode</@p>
]]></sql>
<sql id="getPlanToDoPgwjList"><![CDATA[
select * from et_train_pd_cc_pgwj where pgid=<@p f="?">pgid</@p>
order by tmsort
]]></sql>
<sql id="deletePlanToDoPgwj"><![CDATA[
DELETE FROM et_train_pd_cc_pgwj WHERE status=0 and pgid IN(<@p f="?">pgid</@p>)
]]>
</sql>
<sql id="getPdCertificateInfoList"><![CDATA[
select * from et_train_pd_zs where 1=1
<@p p="AND ID IN(%s)" f="?">id</@p>
<@p p="AND (%s)" s=" OR" f="UPPER(%S) LIKE ?">username</@p>
<@p p="AND %s" f="%S LIKE ?">coursename</@p>
<@p p="AND addorgid=%s" f="?">filter2</@p>
<@p p="AND 1=%s" f="?">filter3</@p>
<@p p="AND UPPER(%s)">usercode</@p>
<@p p="AND %s">paperid</@p>
<@p p="AND paperid in (%s)" f="?">exam_ids</@p>
<@p p=" and (coursename like ? ">key</@p>
<@p p=" or username like ? ">key</@p>
<@p p=" or usercode like ? )">key</@p>
<@p p=" and coursename=%s" f="?">course_name</@p>
<@p p=" and zs_type=%s" f="?">zs_type</@p>
]]></sql>
<sql id="issueClass"><![CDATA[
update et_train_pd_cc set status=2 WHERE status=0 and id IN(<@p f="?">ids</@p>)
]]>
</sql>
<sql id="getClass2GroupById"><![CDATA[
select c.status,c.bjmc,c.jhly,g.ccid,c.issue_mode
from et_train_pd_cc c left join et_train_pd_cc_group g on c.id=g.ccid
WHERE c.id IN(<@p f="?">ids</@p>)
]]>
</sql>
<sql id="getClassUserList"><![CDATA[
select * from(
select c.*,
case when g.status = '0' then '未提交' else '已提交' end submit_status,groupname,g.status group_status
from et_train_pd_cc c
inner join et_train_pd_cc_group g on c.id = g.ccid
where 1=1
<@p p=" and %s ">groupid</@p>
<@p p="AND (%s)" s="OR" f="%S LIKE ?">kcmc,bjmc,groupname</@p>
<@p p="AND 1=%s" f="?">filter</@p>
) t
]]></sql>
<sql id="getClassUserList之前的写法"><![CDATA[
select * from et_train_pd_cc c
where exists (select 1 from et_train_pd_cc_group g where c.id=g.ccid
and g.groupid=<@p f="?">groupid</@p>)
<@p p="AND (%s)" s="OR" f="%S LIKE ?">kcmc,bjmc</@p>
<@p p="AND 1=%s" f="?">filter</@p>
]]></sql>
<sql id="getClassUserCount"><![CDATA[
select count(*) count from et_train_pd_cc c
where exists (select 1 from et_train_pd_cc_group g where c.id=g.ccid and g.status=0 and c.status=1
and g.groupid=<@p f="?">groupid</@p>)
]]></sql>
<sql id="getClassGroupByClassIdGroupId"><![CDATA[
select * from et_train_pd_cc_group where
ccid=<@p f="?">ccid</@p>
and groupid=<@p f="?">groupid</@p>
]]></sql>
<sql id="deleteClassUserByClassIdGroupId"><![CDATA[
delete from et_train_pd_cc_user where
ccid=<@p f="?">ccid</@p>
and groupid=<@p f="?">groupid</@p>
]]></sql>
<sql id="getClassGroupListByClassIdGroupId"><![CDATA[
select * from et_train_pd_cc_group where
ccid in (<@p f="?">id</@p>)
and groupid=<@p f="?">groupid</@p>
]]></sql>
<sql id="getClassUserListByClassIdGroupId"><![CDATA[
select * from et_train_pd_cc_user where
ccid in (<@p f="?">id</@p>)
<@p f = "and groupid = ?">groupid</@p>
]]></sql>
<sql id="updateClassGroupListStatus"><![CDATA[
update et_train_pd_cc_group set status=1 WHERE status=0
and ccid IN(<@p f="?">id</@p>)
and groupid=<@p f="?">groupid</@p>
]]>
</sql>
<sql id="getClassGroupListByClassId"><![CDATA[
select * from et_train_pd_cc_group where
ccid=<@p f="?">id</@p>
]]></sql>
<sql id="submitClassById"><![CDATA[
update et_train_pd_cc set status=2 WHERE status=1 and id=<@p f="?">id</@p>
]]>
</sql>
<sql id="startClassById"><![CDATA[
update et_train_pd_cc set status=2 WHERE status=0 and id=<@p f="?">id</@p>
]]>
</sql>
<sql id="getActiveClassList"><![CDATA[
select bjmc,id from et_train_pd_cc where status=2
<@p p="AND %s">addusercode</@p>
<@p p="AND %s">addgroupid</@p>
<@p p=" and bjmc like ? ">bjmc</@p>
<@p p="limit ?">limit</@p>
]]></sql>
<sql id="issuePaperSql"><![CDATA[
update et_train_pd_cc_pg set status=1 WHERE (status=0 or status=2) and id IN(<@p f="?">id</@p>)
]]>
</sql>
<sql id="issueQuestionSql"><![CDATA[
update et_train_pd_cc_pgwj set status=1 WHERE (status=0 or status=2) and pgid IN(<@p f="?">id</@p>)
]]>
</sql>
<sql id="isPlanToDoPgwjQuestion"><![CDATA[
select distinct pgid from et_train_pd_cc_pgwj where pgid IN(<@p f="?">id</@p>)
]]></sql>
<sql id="getActivePgList"><![CDATA[
select * from et_train_pd_cc_pg where status=1
]]></sql>
<sql id="getClassUser2PgListSql"><![CDATA[
select u.usercode,
u.username,
u.groupid,
u.groupname,
u.ccid,
p.ccname,
p.id paperid,
p.pgwjmc,
p.status
from et_train_pd_cc_user u left join et_train_pd_cc_pg p on u.ccid=p.ccid
where u.ccid in (<@p f="?">ccid</@p>)
and p.id in (<@p f="?">id</@p>)
]]></sql>
<!--select * from et_train_pd_cc_pg pg where-->
<!--exists (select 1 from et_train_pd_cc_dt dt where pg.id=dt.paperid and dt.isanswer=0 and dt.usercode=<@p f="?">usercode</@p>)-->
<!--<@p p="AND %s" f="%S LIKE ?">pgwjmc</@p>-->
<sql id="getPgListForUserSql"><![CDATA[
select pg.id,pg.ccname,pg.pgwjmc,dt.id dtid
from et_train_pd_cc_pg pg left join et_train_pd_cc_dt dt on pg.ccid=dt.classid
where dt.isanswer=0 and dt.usercode=<@p f="?">usercode</@p>
<@p p="AND %s" f="%S LIKE ?">pg.pgwjmc</@p>
]]></sql>
<sql id="submitDtById"><![CDATA[
update et_train_pd_cc_dt set isanswer=1,submittime=SYSDATE() WHERE isanswer=0 and id=<@p f="?">id</@p>
]]>
</sql>
<sql id="getExamStuList"><![CDATA[
select exam_id,name,user_id,user,max(user_score) user_score,department,department_id from (
select exam_id,
name,
user_id,
user,
sum(user_score) user_score,
department,
department_id
from et_exam_usertest
where user_score is not null and <@p p="exam_id in (%s)" f="?">exam_id</@p>
group by exam_id,
name,
user_id,
user
<@p p="having sum(user_score)>= %s" f="?">scoreabove</@p> ) a
group by user_id
order by user_score desc
]]></sql>
<sql id="getExamPaperList"><![CDATA[
select id exam_id,name
from et_exam_exampaper_and_editexampaper
where 1=1 and pg='1'
<@p p=" and %s ">createdepartment</@p>
order by convert(name using gbk)
]]></sql>
<sql id="getMaxCertificateCode"><![CDATA[
select max(code) maxcode from et_train_pd_zs where
codeprefix=<@p f="?">codeprefix</@p>
and code like <@p f="?">codelike</@p>
]]></sql>
<sql id="getExamDeptClassCourseList"><![CDATA[
select distinct user,user_id from et_exam_limitation where limitation=<@p f="?">limitation</@p>
]]></sql>
<sql id="getMyCourseList"><![CDATA[
select * from dws_etms_courselist where 1=1
<@p p="AND usercode = ?">usercode</@p>
<@p p="AND (%s)" s="OR" f="%S LIKE ?">kcmc,bjmc</@p>
order by issee desc,addtime desc
]]></sql>
<sql id="getMyCourseList1"><![CDATA[
select * from et_train_courselist where 1=1
<@p p="AND usercode = ?">usercode</@p>
<@p p="AND (%s)" s="OR" f="%S LIKE ?">kcmc,bjmc</@p>
order by issee desc,addtime desc
]]></sql>
<sql id="getMyCourseList旧"><![CDATA[
select c.id,
c.kcmc,
c.kcmcid,
c.bjmc,
c.starttime,
c.endtime,
u.issee
from et_train_pd_cc_user u left join et_train_pd_cc c on u.ccid=c.id
where c.`status`=2 and UPPER(u.usercode)=UPPER(<@p f="?">usercode</@p>)
<@p p="AND (%s)" s="OR" f="%S LIKE ?">c.kcmc,c.bjmc</@p>
order by u.issee desc,u.addtime desc
]]></sql>
<sql id="setClassUserSee"><![CDATA[
update et_train_pd_cc_user set issee=1 WHERE ccid=<@p f="?">id</@p> and UPPER(usercode)=UPPER(<@p f="?">usercode</@p>)
]]>
</sql>
<sql id="setClassUserTwo"><![CDATA[
update dws_etms_courselist set issee=1 WHERE 1=1
<@p p="AND id = ?">id</@p>
<@p p="AND uid = ?">uid</@p>
<@p p="AND usercode = ?">usercode</@p>
]]>
</sql>
<!-- <sql id="getMyCourseCount"><![CDATA[-->
<!--select count(*) count-->
<!--from et_train_pd_cc_user u left join et_train_pd_cc c on u.ccid=c.id-->
<!--where c.`status`=2 and u.issee=0 and UPPER(u.usercode)=UPPER(<@p f="?">usercode</@p>)-->
<!-- ]]></sql>-->
<sql id="getMyCourseCount"><![CDATA[
select count(*) count
from et_train_pd_cc_user u left join et_train_pd_cc c on u.ccid=c.id
where c.`status`=2 and u.issee=0
<@p p="AND UPPER(%s)">usercode</@p>
]]></sql>
<sql id="getNoDtCount"><![CDATA[
select count(*) count from et_train_pd_cc_dt
where isanswer=0
<@p p="AND UPPER(%s)">usercode</@p>
]]></sql>
<sql id="getTrainDetail"><![CDATA[
select username,usercode,deptname,case isanswer when '1' then '已答' when '0' then '未答' when '-1' then '关闭' end as userstate
from et_train_pd_cc_dt
where <@p>classid</@p> and <@p>paperid</@p>
order by userstate desc
]]></sql>
<sql id="getFileId"><![CDATA[
select file_id from et_resource_limitation
where <@p p=" user_id in(%s)" f="?">user_id</@p> and file <> '临时文件'
]]></sql>
<sql id="getTrainFile"><![CDATA[
select title,category,description,provider,uploadtime,fileurl,filename,id
from et_resource_file
where <@p p=" id in(%s)" f="?">id</@p>
]]></sql>
<sql id="getTrainFile同一班级上传多次资料"><![CDATA[
select title,categoryid,description,fileurl,filename,zlqxid from et_resource_file
where id in ('d96a4d4f54d74a92bafc86b4b01f2f8b')
]]></sql>
<sql id="getClassUserForReplace"><![CDATA[
select * from et_train_pd_cc_user where 1=1
<@p p=" AND %s">ccid</@p>
]]></sql>
<sql id="deleteUserForReplace"><![CDATA[
DELETE FROM et_train_pd_cc_user WHERE ccid=<@p f="?">ccid</@p> and usercode=<@p f="?">usercode</@p>
]]>
</sql>
<sql id="truncateBaseUser"><![CDATA[
truncate table et_train_baseuser
]]>
</sql>
<sql id="deleteRetiredPersonFromBaseUser"><![CDATA[
delete from et_train_baseuser where orgname ='退休及离职人员'
]]>
</sql>
<sql id="setClassHours"><![CDATA[
update et_train_pd_cc_user set <@p>realperiod</@p> where <@p>ccid</@p>
]]>
</sql>
<sql id="getAssessmentStatus"><![CDATA[
select papername from et_train_pd_cc_dt where <@p>classid</@p> and <@p>usercode</@p> and isanswer = '0'
group by paperid
]]></sql>
<sql id="getExamStatus"><![CDATA[
select exam_id,name from
(select exam_id,name from et_exam_limitation_class cl inner join et_exam_exampaper_and_editexampaper a on cl.exam_id = a.id
where <@p>class_id</@p> and <@p p="class_person_id = %s " f="?">usercode</@p>
union
select exam_id,name from et_exam_limitation_course co inner join et_exam_exampaper_and_editexampaper a on co.exam_id = a.id
where <@p>course_id</@p> and <@p p="course_person_id = %s " f="?">usercode</@p>
) paper
where exam_id not in
(select exam_id from et_exam_usertest where
exam_id in
(
select exam_id from et_exam_limitation_class
where <@p>class_id</@p> and <@p p="class_person_id = %s " f="?">usercode</@p> group by exam_id
union
select exam_id from et_exam_limitation_course
where <@p>course_id</@p> and <@p p="course_person_id = %s " f="?">usercode</@p> group by exam_id
) and <@p p="user_id = %s " f="?">usercode</@p> group by exam_id
)
]]></sql>
<sql id="checkRepeatedName"><![CDATA[
select * from et_train_pd_cc where <@p>bjmc</@p>
]]></sql>
<sql id="getCourseNameComboxList"><![CDATA[
select coursename id,coursename name from et_train_pd_zs where 1=1
<@p p=" and coursename like ? ">name</@p>
<@p p=" and %s">addorgid</@p>
<@p p=" and %s">addusercode</@p>
<@p p=" and %s">zs_type</@p>
group by coursename
order by convert(coursename using gbk)
]]></sql>
<sql id="checkTeacherCode"><![CDATA[
select count(*) num from et_train_baseuser where <@p>usercode</@p> and <@p>username</@p>
]]></sql>
<sql id="getUserNameAndCodeList"><![CDATA[
select concat(username," (",usercode,") ",orgname) username,concat(username,"|",usercode,"|",orgname) usercode from et_train_baseuser
where 1=1 and orgname!='退休及离职人员'
<@p p=" and username like ? ">username</@p>
<@p p=" or usercode like ? ">usercode</@p>
limit 20
]]></sql>
<sql id="getTeacherList"><![CDATA[
select c.* from et_train_pd_cc c
left join et_train_pd_cc_pg p on c.id = p.ccid
where c.status = '2' and p.status = '1'
<@p p="and (%s)" s=" or" f="%s like ?">teacher,teacher_code,teacher_department</@p>
group by c.id
]]></sql>
<sql id="getCCList"><![CDATA[
select * from et_train_pd_cc where 1=1
<@p p="and %s">id</@p>
]]></sql>
<sql id="getBaseUserList"><![CDATA[
select * from et_train_baseuser where 1=1
]]></sql>
<sql id="getAssessInfo"><![CDATA[
select *
from et_train_pd_cc_pgwjyxx
where 1=1
<@p p="AND deptcode = ?">deptcode</@p>
<@p p="AND status in (%s)" f="?">status</@p>
]]></sql>
<sql id="getPersonList"><![CDATA[
select *
from et_train_up_person
where 1=1
<@p p="AND upid = ?">upid</@p>
<@p p="AND name like ?">name</@p>
]]></sql>
<sql id="getUptrainList"><![CDATA[
SELECT a.* FROM `et_train_up_kc` a left join et_train_up_person b on a.id = b.upid
where 1=1
<@p p="AND a.kcmc like ?">kcmc</@p>
<@p p="AND (%s)" s=" OR" f="UPPER(%S) LIKE ?">name,code</@p>
GROUP BY a.id
]]></sql>
<sql id="getassessByPGID"><![CDATA[
select *
from et_train_pd_cc_pgwjyxx
where 1=1
<@p p="AND pgID = ?">pgID</@p>
]]></sql>
<sql id="updateNoAnswerDtDel"><![CDATA[
UPDATE `et_train_pd_cc_dt` set isanswer='-1' where isanswer='0'
<@p p="AND classid = ?">classid</@p>
]]></sql>
<sql id="getRealClassNum"><![CDATA[
select a.* from (select * from et_train_pd_cc where 1=1
<@p p="AND id = ?">id</@p>
) a left join et_train_pd_cc_user b on a.id = b.ccid
]]></sql>
</dynamic-sql>