282 lines
7.7 KiB
XML
282 lines
7.7 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.zcloud.mapper.datasource.onlinexxks.CourseStudentRelationMapper">
|
||
|
||
<!--表名 -->
|
||
<sql id="tableName">
|
||
BUS_COURSESTUDENTRELATION
|
||
</sql>
|
||
|
||
<!--数据字典表名 -->
|
||
<sql id="dicTableName">
|
||
SYS_DICTIONARIES
|
||
</sql>
|
||
|
||
<!-- 字段 -->
|
||
<sql id="Field">
|
||
f.CURRICULUM_ID,
|
||
f.USER_ID,
|
||
f.STUDYCOUNT,
|
||
f.COURSEEXAMCOUNT,
|
||
f.STAGEEXAMCOUNT,
|
||
f.STUDYSTATE,
|
||
f.COURSEEXAMSTATE,
|
||
f.STAGEEXAMSTATE,
|
||
f.CREATOR,
|
||
f.CREATTIME,
|
||
f.OPERATOR,
|
||
f.OPERATTIME,
|
||
f.ISDELETE,
|
||
f.CORPINFO_ID,
|
||
f.COURSEEXAMSCORE,
|
||
f.STAGEEXAMSCORE,
|
||
f.COURSESTUDENTRELATION_ID
|
||
</sql>
|
||
|
||
<!-- 字段用于新增 -->
|
||
<sql id="Field2">
|
||
CURRICULUM_ID,
|
||
USER_ID,
|
||
STUDYCOUNT,
|
||
COURSEEXAMCOUNT,
|
||
STAGEEXAMCOUNT,
|
||
STUDYSTATE,
|
||
COURSEEXAMSTATE,
|
||
STAGEEXAMSTATE,
|
||
CREATOR,
|
||
CREATTIME,
|
||
OPERATOR,
|
||
OPERATTIME,
|
||
ISDELETE,
|
||
CORPINFO_ID,
|
||
COURSEEXAMSCORE,
|
||
STAGEEXAMSCORE,
|
||
COURSESTUDENTRELATION_ID
|
||
</sql>
|
||
|
||
<!-- 字段值 -->
|
||
<sql id="FieldValue">
|
||
#{CURRICULUM_ID},
|
||
#{USER_ID},
|
||
#{STUDYCOUNT},
|
||
#{COURSEEXAMCOUNT},
|
||
#{STAGEEXAMCOUNT},
|
||
#{STUDYSTATE},
|
||
#{COURSEEXAMSTATE},
|
||
#{STAGEEXAMSTATE},
|
||
#{CREATOR},
|
||
#{CREATTIME},
|
||
#{OPERATOR},
|
||
#{OPERATTIME},
|
||
#{ISDELETE},
|
||
#{CORPINFO_ID},
|
||
#{COURSEEXAMSCORE},
|
||
#{STAGEEXAMSCORE},
|
||
#{COURSESTUDENTRELATION_ID}
|
||
</sql>
|
||
|
||
<!-- 新增-->
|
||
<insert id="save" parameterType="pd">
|
||
insert into
|
||
<include refid="tableName"></include>
|
||
(
|
||
<include refid="Field2"></include>
|
||
) values (
|
||
<include refid="FieldValue"></include>
|
||
)
|
||
</insert>
|
||
|
||
<!-- 删除-->
|
||
<delete id="delete" parameterType="pd">
|
||
update
|
||
<include refid="tableName"></include>
|
||
set
|
||
ISDELETE = '1',
|
||
OPERATOR = #{OPERATOR},
|
||
OPERATTIME = #{OPERATTIME}
|
||
where
|
||
COURSESTUDENTRELATION_ID = #{COURSESTUDENTRELATION_ID}
|
||
</delete>
|
||
|
||
<!-- 修改 -->
|
||
<update id="edit" parameterType="pd">
|
||
update
|
||
<include refid="tableName"></include>
|
||
set
|
||
CURRICULUM_ID = #{CURRICULUM_ID},
|
||
USER_ID = #{USER_ID},
|
||
STUDYCOUNT = #{STUDYCOUNT},
|
||
COURSEEXAMCOUNT = #{COURSEEXAMCOUNT},
|
||
STAGEEXAMCOUNT = #{STAGEEXAMCOUNT},
|
||
STUDYSTATE = #{STUDYSTATE},
|
||
COURSEEXAMSTATE = #{COURSEEXAMSTATE},
|
||
STAGEEXAMSTATE = #{STAGEEXAMSTATE},
|
||
OPERATOR = #{OPERATOR},
|
||
OPERATTIME = #{OPERATTIME},
|
||
COURSESTUDENTRELATION_ID = COURSESTUDENTRELATION_ID
|
||
where
|
||
COURSESTUDENTRELATION_ID = #{COURSESTUDENTRELATION_ID}
|
||
</update>
|
||
|
||
<!-- 通过ID获取数据 -->
|
||
<select id="findById" parameterType="pd" resultType="pd">
|
||
select
|
||
<include refid="Field"></include>
|
||
from
|
||
<include refid="tableName"></include> f
|
||
where
|
||
f.COURSESTUDENTRELATION_ID = #{COURSESTUDENTRELATION_ID}
|
||
</select>
|
||
|
||
<!-- 列表 -->
|
||
<select id="datalistPage" parameterType="page" resultType="pd">
|
||
select
|
||
<include refid="Field"></include>
|
||
,u.NAME USERNAME
|
||
,(SELECT c.COURSEEXAM_ID FROM BUS_COURSEEXAM c
|
||
WHERE c.CURRICULUM_ID = #{pd.CURRICULUM_ID} AND c.USER_ID = f.USER_ID AND c.ISDELETE='0' ORDER BY c.EXAMTIME DESC LIMIT 1) COURSEEXAM_ID
|
||
from
|
||
<include refid="tableName"></include> f
|
||
LEFT JOIN sys_user u ON u.USER_ID = f.USER_ID
|
||
where f.ISDELETE = '0' and f.CURRICULUM_ID = #{pd.CURRICULUM_ID} and f.CORPINFO_ID = #{pd.CORPINFO_ID}
|
||
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
|
||
and
|
||
(
|
||
u.NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
|
||
<!-- 根据需求自己加检索条件
|
||
字段1 LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
|
||
or
|
||
字段2 LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
|
||
-->
|
||
)
|
||
</if>
|
||
ORDER BY f.OPERATTIME DESC
|
||
</select>
|
||
|
||
<!-- 列表(全部) -->
|
||
<select id="listAll" parameterType="pd" resultType="pd">
|
||
select
|
||
<include refid="Field"></include>
|
||
from
|
||
<include refid="tableName"></include> f
|
||
where f.ISDELETE = '0' and f.CORPINFO_ID = #{pd.CORPINFO_ID}
|
||
</select>
|
||
|
||
<!-- 批量删除 -->
|
||
<delete id="deleteAll" parameterType="pd">
|
||
update
|
||
<include refid="tableName"></include>
|
||
set
|
||
ISDELETE = '1',
|
||
OPERATOR = #{OPERATOR},
|
||
OPERATTIME = #{OPERATTIME}
|
||
where
|
||
COURSESTUDENTRELATION_ID in
|
||
<foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</delete>
|
||
|
||
<!-- 列表(根据所选ID获取数据) -->
|
||
<select id="findByIds" parameterType="pd" resultType="pd">
|
||
select
|
||
<include refid="Field"></include>
|
||
from
|
||
<include refid="tableName"></include> f
|
||
where
|
||
COURSESTUDENTRELATION_ID in
|
||
<foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</select>
|
||
|
||
<!-- 批量删除(根据所选的课程进行删除课程学员关系表) -->
|
||
<delete id="deleteByCurriculumIds" parameterType="pd">
|
||
update
|
||
<include refid="tableName"></include>
|
||
set
|
||
ISDELETE = '1',
|
||
OPERATOR = #{OPERATOR},
|
||
OPERATTIME = #{OPERATTIME}
|
||
where ISDELETE = '0'
|
||
AND CURRICULUM_ID in
|
||
<foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</delete>
|
||
|
||
<!-- 修改(更新学员状态) -->
|
||
<update id="updateStudentState" parameterType="pd">
|
||
update
|
||
<include refid="tableName"></include>
|
||
set
|
||
<if test="TYPE != null and TYPE != '' and TYPE == 1"><!-- 习题练习 -->
|
||
STUDYSTATE = #{STUDYSTATE},
|
||
</if>
|
||
<if test="STAGEEXAMSTATE != null and STAGEEXAMSTATE != '' and STAGEEXAMSTATE == 4"><!-- 阶段考试未参加 -->
|
||
STAGEEXAMSCORE = '0',
|
||
</if>
|
||
<if test="TYPE != null and TYPE != '' and TYPE == 3"><!-- 阶段考试 -->
|
||
STAGEEXAMSTATE = #{STAGEEXAMSTATE},
|
||
</if>
|
||
OPERATOR = #{OPERATOR},
|
||
OPERATTIME = #{OPERATTIME}
|
||
where
|
||
COURSESTUDENTRELATION_ID = #{COURSESTUDENTRELATION_ID}
|
||
</update>
|
||
|
||
<!-- 修改(更新学员考试成绩及状态) -->
|
||
<update id="updateStudentScore" parameterType="pd">
|
||
update
|
||
<include refid="tableName"></include>
|
||
set
|
||
<if test="EXAMTYPE != null and EXAMTYPE != '' and EXAMTYPE == 1"><!-- 课程学习 -->
|
||
STUDYCOUNT = CAST(STUDYCOUNT AS SIGNED)+1,
|
||
</if>
|
||
<if test="EXAMTYPE != null and EXAMTYPE != '' and EXAMTYPE == 2"><!-- 课程考试 -->
|
||
COURSEEXAMCOUNT = CAST(COURSEEXAMCOUNT AS SIGNED)+1,
|
||
COURSEEXAMSCORE = #{COURSEEXAMSCORE},
|
||
COURSEEXAMSTATE = #{COURSEEXAMSTATE},
|
||
</if>
|
||
<if test="COURSEEXAMSTATE != null and COURSEEXAMSTATE != '' and COURSEEXAMSTATE == 3"><!-- 课程考试及格学习结束 -->
|
||
STUDYSTATE = #{COURSEEXAMSTATE},
|
||
</if>
|
||
<if test="EXAMTYPE != null and EXAMTYPE != '' and EXAMTYPE == 3"><!-- 阶段考试 -->
|
||
STAGEEXAMCOUNT = CAST(STAGEEXAMCOUNT AS SIGNED)+1,
|
||
STAGEEXAMSCORE = #{STAGEEXAMSCORE},
|
||
STAGEEXAMSTATE = #{STAGEEXAMSTATE},
|
||
</if>
|
||
OPERATOR = #{OPERATOR},
|
||
OPERATTIME = #{OPERATTIME}
|
||
where
|
||
COURSESTUDENTRELATION_ID = #{COURSESTUDENTRELATION_ID}
|
||
</update>
|
||
|
||
<!-- 课程结束(定时任务,处理没有参加考试的学员课程,课程结束STUDYSTATE = '4',考试未考COURSEEXAMSTATE = '4') -->
|
||
<update id="overCourseNotInvolved" parameterType="pd">
|
||
UPDATE
|
||
<include refid="tableName"></include> f
|
||
LEFT JOIN BUS_CURRICULUM c ON c.CURRICULUM_ID = f.CURRICULUM_ID AND c.ISDELETE = '0'
|
||
SET
|
||
f.STUDYSTATE = '4',
|
||
f.COURSEEXAMSTATE = '4',
|
||
f.COURSEEXAMSTATE = '4',
|
||
f.OPERATTIME = #{OPERATTIME}
|
||
WHERE f.COURSEEXAMSTATE = '1'
|
||
AND c.ENDTIME = #{ENDTIME}
|
||
</update>
|
||
|
||
<!-- 课程结束(定时任务,处理参加考试的学员课程,课程结束STUDYSTATE = '4') -->
|
||
<update id="overCourse" parameterType="pd">
|
||
UPDATE
|
||
<include refid="tableName"></include> f
|
||
LEFT JOIN BUS_CURRICULUM c ON c.CURRICULUM_ID = f.CURRICULUM_ID AND c.ISDELETE = '0'
|
||
SET
|
||
f.STUDYSTATE = '4',
|
||
f.OPERATTIME = #{OPERATTIME}
|
||
WHERE f.COURSEEXAMSTATE IN ('2','3')
|
||
AND c.ENDTIME = #{ENDTIME}
|
||
</update>
|
||
|
||
</mapper>
|