271 lines
12 KiB
XML
271 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!DOCTYPE mapper
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.bonus.exam.mapper.TrainingTasksMapper">
|
|
<insert id="addTrainingTask" useGeneratedKeys="true" keyProperty="id">
|
|
INSERT INTO edu_train_task
|
|
(train_theme,train_content, train_level, train_target, start_time, end_time, train_location,qr_code_uuid,
|
|
train_lduration,
|
|
speaker,
|
|
train_num, sign_status,create_id,create_user, is_active)
|
|
VALUES
|
|
(#{trainingName},#{trainingContent}, #{trainingLevel}, #{studyObject}, #{startDate},#{endDate},
|
|
#{trainingPlace},#{qrCodeUuid},
|
|
#{trainingDuration}, #{lecturer}, #{trainingNumber}, '0', #{createUser},#{createUserName}, '1')
|
|
</insert>
|
|
<insert id="addExamLink" parameterType="java.lang.String">
|
|
INSERT INTO ek_study_task_paper
|
|
(study_task_id, exam_paper_id, task_type,exam_template_type)
|
|
VALUES
|
|
(#{studyId}, #{examId}, #{type},'1')
|
|
</insert>
|
|
<insert id="addPersonLink">
|
|
INSERT INTO ek_task_user
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="uuid != null and uuid != ''">user_uuid,</if>
|
|
<if test="userId != null and userId!=''">user_id,</if>
|
|
<if test="userType != null and userType!=''">user_type,</if>
|
|
<if test="deptId != null and deptId!=''">dept_id,</if>
|
|
<if test="deptName != null and deptName!=''">dept_name,</if>
|
|
<if test="proId != null and proId!=''">pro_id,</if>
|
|
<if test="proName != null and proName!=''">pro_name,</if>
|
|
<if test="consId != null and consId!=''">sub_id,</if>
|
|
<if test="consName != null and consName!=''">sub_name,</if>
|
|
<if test="postId != null and postId!=''">post_id,</if>
|
|
<if test="postName != null and postName!=''">post_name,</if>
|
|
<if test="taskType != null and taskType!=''">task_type,</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="uuid != null and uuid != ''">#{uuid},</if>
|
|
<if test="userId != null and userId!=''">#{userId},</if>
|
|
<if test="userType != null and userType!=''">#{userType},</if>
|
|
<if test="deptId != null and deptId!=''">#{deptId},</if>
|
|
<if test="deptName != null and deptName!=''">#{deptName},</if>
|
|
<if test="proId != null and proId!=''">#{proId},</if>
|
|
<if test="proName != null and proName!=''">#{proName},</if>
|
|
<if test="consId != null and consId!=''">#{consId},</if>
|
|
<if test="consName != null and consName!=''">#{consName},</if>
|
|
<if test="postId != null and postId != ''">#{postId},</if>
|
|
<if test="postName != null and postName!=''">#{postName},</if>
|
|
<if test="taskType != null and taskType!=''">#{taskType},</if>
|
|
</trim>
|
|
</insert>
|
|
<insert id="uploadPath">
|
|
INSERT INTO edu_train_task_photo
|
|
(train_task_id, photo_path, file_size,file_name)
|
|
VALUES
|
|
(#{id}, #{filePath}, #{fileSize},#{fileName})
|
|
</insert>
|
|
<insert id="addTrainingTaskCourseware">
|
|
INSERT INTO edu_train_task_courseware(train_task_id, courseware_id,is_active)
|
|
VALUES
|
|
<foreach collection="list" item="item" separator=",">
|
|
(
|
|
#{trainTaskId},
|
|
#{item},
|
|
'1'
|
|
)
|
|
</foreach>
|
|
</insert>
|
|
<update id="changeSignStatus">
|
|
UPDATE edu_train_task
|
|
SET sign_status = #{status}
|
|
WHERE train_task_id = #{id}
|
|
</update>
|
|
<update id="editTrainingTask">
|
|
UPDATE edu_train_task
|
|
SET train_theme = #{trainingName},
|
|
train_content = #{trainingContent},
|
|
train_level = #{trainingLevel},
|
|
qr_code_uuid = #{qrCodeUuid},
|
|
train_target = #{studyObject},
|
|
start_time = #{startDate},
|
|
end_time = #{endDate},
|
|
train_location = #{trainingPlace},
|
|
train_lduration = #{trainingDuration},
|
|
speaker = #{lecturer},
|
|
train_num = #{trainingNumber}
|
|
WHERE train_task_id = #{id}
|
|
</update>
|
|
<delete id="delTrainingTaskById">
|
|
update edu_train_task set is_active = '0' where train_task_id = #{id}
|
|
</delete>
|
|
<delete id="deleteFile">
|
|
delete from edu_train_task_photo
|
|
where train_photo_id in
|
|
<foreach item="id" index="index" collection="delFileIds.split(',')" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
|
|
</delete>
|
|
<delete id="delTrainingTaskCourseware">
|
|
DELETE FROM edu_train_task_courseware WHERE train_task_id = #{trainId} AND is_active = '1'
|
|
</delete>
|
|
<select id="getTrainingTasksList" resultType="com.bonus.common.exam.vo.TrainingTasksVo">
|
|
SELECT
|
|
ett.train_task_id as id,
|
|
ett.train_theme as trainingName,
|
|
sdd.dict_label as trainingLevel,
|
|
if(ett.train_target = '1', '内部人员', '外委人员') as studyObject,
|
|
concat(ett.start_time, ' - ', ett.end_time) as trainingDate,
|
|
ett.start_time as startDate,
|
|
ett.end_time as endDate,
|
|
ett.train_location as trainingPlace,
|
|
ett.train_lduration as trainingDuration,
|
|
ett.speaker as lecturer,
|
|
ett.train_num as trainingNumber,
|
|
ett.sign_status as trainingStatus,
|
|
CASE
|
|
when ett.sign_status = '0' then '未签到'
|
|
when ett.sign_status = '1' then '签到中'
|
|
when ett.sign_status = '2' then '已结束'
|
|
end as trainingStatusName,
|
|
ett.create_user as createUser,
|
|
ett.create_time as createTime
|
|
FROM edu_train_task ett
|
|
left join sys_dict_data sdd on sdd.dict_value = ett.train_level and sdd.dict_type = 'edu_train_level' and
|
|
sdd.status = '0'
|
|
<where>
|
|
<if test="keyWord != null and keyWord != ''">
|
|
and (
|
|
ett.train_theme like concat('%', #{keyWord}, '%') or
|
|
ett.train_target like concat('%', #{keyWord}, '%') or
|
|
ett.create_user like concat('%', #{keyWord}, '%')
|
|
)
|
|
</if>
|
|
<if test="studyObject != null and studyObject != ''">
|
|
AND ett.train_target = #{studyObject}
|
|
</if>
|
|
<if test="trainingLevel != null and trainingLevel != ''">
|
|
AND ett.train_level = #{trainingLevel}
|
|
</if>
|
|
<if test="trainingStatus != null and trainingStatus != ''">
|
|
<choose>
|
|
<when test="trainingStatus == '1' or trainingStatus == 1">
|
|
AND DATE_FORMAT(NOW(),'%Y-%m-%d') < ett.start_time
|
|
</when>
|
|
<when test="trainingStatus == '2' or trainingStatus == 2">
|
|
AND DATE_FORMAT(NOW(),'%Y-%m-%d') BETWEEN ett.start_time AND ett.end_time
|
|
</when>
|
|
<when test="trainingStatus == '3' or trainingStatus == 3">
|
|
AND DATE_FORMAT(NOW(),'%Y-%m-%d') > ett.end_time
|
|
</when>
|
|
</choose>
|
|
</if>
|
|
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
|
AND DATE_FORMAT(ett.create_time,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
|
|
</if>
|
|
AND ett.is_active = '1'
|
|
</where>
|
|
ORDER BY ett.create_time DESC
|
|
</select>
|
|
<select id="selectScenePhoto" resultType="com.bonus.common.entity.SysFileInfo">
|
|
select
|
|
train_photo_id as id,
|
|
file_name as fileName,
|
|
file_size as fileSize,
|
|
photo_path as filePath,
|
|
file_name as name,
|
|
photo_path as url,
|
|
DATE_FORMAT(create_time, '%Y-%m-%d') as createTime
|
|
from edu_train_task_photo
|
|
where train_task_id = #{id}
|
|
</select>
|
|
<select id="selectTrainingDataHeader" resultType="com.bonus.common.core.web.domain.AjaxResult">
|
|
SELECT
|
|
SUM(r.totalNum) as totalNum,
|
|
SUM(r.notSign) as notSign
|
|
from(
|
|
SELECT
|
|
count(1) AS totalNum,
|
|
0 AS notSign
|
|
FROM
|
|
ek_task_user
|
|
WHERE
|
|
task_id =#{id}
|
|
AND task_type = '2' UNION ALL
|
|
SELECT
|
|
0 AS totalNum,
|
|
count( 1) AS notSign
|
|
FROM
|
|
ek_task_user
|
|
WHERE
|
|
task_id = #{id} and (sign_time is not null and sign_time != null)
|
|
AND task_type = '2')r
|
|
</select>
|
|
<select id="isExistTrainTaskName" resultType="java.lang.Integer">
|
|
select count(1) from edu_train_task where train_theme = #{trainingName} and is_active = '1'
|
|
<if test="id != null and id != ''">
|
|
and train_task_id != #{id}
|
|
</if>
|
|
</select>
|
|
<select id="getTrainingTaskDetail" resultType="com.bonus.common.exam.vo.AddTrainingTaskVo">
|
|
select
|
|
ett.train_task_id as id,
|
|
ett.train_theme as trainingName,
|
|
ett.train_content as trainingContent,
|
|
ett.train_level as trainingLevel,
|
|
ett.train_target as studyObject,
|
|
ett.start_time as startDate,
|
|
ett.end_time as endDate,
|
|
ett.train_location as trainingPlace,
|
|
ett.qr_code_uuid as qrCodeUuid,
|
|
ett.train_lduration as trainingDuration,
|
|
ett.speaker as lecturer,
|
|
ett.train_num as trainingNumber,
|
|
ett.sign_status as trainingStatus
|
|
from edu_train_task ett
|
|
where train_task_id = #{id}
|
|
</select>
|
|
<select id="selectTrainingDataList" resultType="com.bonus.common.exam.vo.PersonVo">
|
|
SELECT DISTINCT
|
|
etu.task_id as id,
|
|
etu.user_id as userId,
|
|
etu.user_uuid as userUuid,
|
|
su.nick_name AS NAME,
|
|
IF
|
|
( su.sex = '0', '男', '女' ) AS sex,
|
|
su.id_card AS idCard,
|
|
su.phonenumber AS phone,
|
|
etu.pro_name AS proName,
|
|
etu.sub_name AS consName,
|
|
IFNULL(IF(su.user_type in ('02','03','04'),'施工人员','监理人员'),'普通人员') AS postName,
|
|
IF(etu.post_name = 'null','',etu.post_name) AS workType,
|
|
IF
|
|
( etu.sign_time IS NULL, '否', '是' ) AS isSign,
|
|
etu.sign_time AS signTime
|
|
FROM
|
|
ek_task_user etu
|
|
LEFT JOIN sys_user su ON su.user_id = etu.user_id
|
|
AND su.del_flag = '0'
|
|
LEFT JOIN sys_post sp ON sp.post_id = etu.post_id
|
|
WHERE
|
|
etu.task_id = #{id} and etu.task_type = 2
|
|
<if test="name != null and name != ''">
|
|
and su.nick_name like concat('%', #{name}, '%')
|
|
</if>
|
|
</select>
|
|
<select id="getScore" resultType="java.lang.Double">
|
|
SELECT
|
|
ifnull( SUM( score ),0) AS score
|
|
FROM
|
|
edu_exam_paper_record epr
|
|
left join edu_exam_paper ep on ep.exam_paper_id = epr.exam_paper_id and ep.pape_type = '2'
|
|
left join ek_study_task_paper estp on estp.exam_paper_id = ep.exam_paper_id and estp.task_type = '2' and
|
|
estp.exam_template_type = '1'
|
|
WHERE
|
|
epr.uuid = #{userId}
|
|
AND estp.study_task_id = #{id}
|
|
</select>
|
|
<select id="getTrainTaskCourseware" resultType="com.bonus.common.exam.vo.CoursewareVo">
|
|
SELECT ec.courseware_id AS coursewareId,
|
|
ec.courseware_name AS coursewareName,
|
|
ec.courseware_size AS coursewareSize,
|
|
ec.study_time AS studyTime
|
|
FROM edu_train_task_courseware ettc
|
|
LEFT JOIN edu_courseware ec ON ec.courseware_id = ettc.courseware_id
|
|
WHERE ettc.train_task_id = #{studyTaskId} AND ettc.is_active = '1'
|
|
</select>
|
|
</mapper>
|