2024-03-06 16:25:53 +08:00
<?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.dsno3.eduTrain.TrainingScheduleMapper" >
<!-- 表名 -->
<sql id= "tableName" >
BUS_TRAININGSCHEDULE
</sql>
<!-- 数据字典表名 -->
<sql id= "dicTableName" >
2024-06-19 08:56:29 +08:00
`qa-traffic-prevention`.`sys_dictionaries`
2024-03-06 16:25:53 +08:00
</sql>
<!-- 字段 -->
<sql id= "Field" >
f
.
ASSESSMENT_METHOD
,
f.FUND_GUARANTEE,
f.POST_ID,
f.CLASS_ID,
f.ISDELETE,
f.CREATOR,
f.CREATTIME,
f.OPERATOR,
f.OPERATTIME,
f.TRAININGSCHEDULE_ID
</sql>
<!-- 字段用于新增 -->
<sql id= "Field2" >
ASSESSMENT_METHOD
,
FUND_GUARANTEE,
POST_ID,
CLASS_ID,
ISDELETE,
CREATOR,
CREATTIME,
OPERATOR,
OPERATTIME,
TRAININGSCHEDULE_ID
</sql>
<!-- 字段值 -->
<sql id= "FieldValue" >
#{ASSESSMENT_METHOD}
,
#{FUND_GUARANTEE},
#{POST_ID},
#{CLASS_ID},
#{ISDELETE},
#{CREATOR},
#{CREATTIME},
#{OPERATOR},
#{OPERATTIME},
#{TRAININGSCHEDULE_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'
where
TRAININGSCHEDULE_ID = #{TRAININGSCHEDULE_ID}
</delete>
<!-- 修改 -->
<update id= "edit" parameterType= "pd" >
update
<include refid= "tableName" > </include>
set
ASSESSMENT_METHOD = #{ASSESSMENT_METHOD},
FUND_GUARANTEE = #{FUND_GUARANTEE},
POST_ID = #{POST_ID},
CLASS_ID = #{CLASS_ID},
ISDELETE = #{ISDELETE},
CREATOR = #{CREATOR},
CREATTIME = #{CREATTIME},
OPERATOR = #{OPERATOR},
OPERATTIME = #{OPERATTIME},
TRAININGSCHEDULE_ID = TRAININGSCHEDULE_ID
where
TRAININGSCHEDULE_ID = #{TRAININGSCHEDULE_ID}
</update>
<!-- 通过ID获取数据 -->
<select id= "findById" parameterType= "pd" resultType= "pd" >
select
<include refid= "Field" > </include>
from
<include refid= "tableName" > </include>
f
where
f.CLASS_ID = #{CLASS_ID} and f.POST_ID = #{POST_ID}
</select>
<select id= "getData" parameterType= "pd" resultType= "pd" >
SELECT
clp.POST_NAME,
c.START_TIME,
c.END_TIME,
(select count(bs.STUDENT_ID) from BUS_STUDENT bs where bs.CLASS_ID = cp.CLASS_ID AND bs.POST_ID = cp.POST_ID AND bs.ISDELETE = '0') as TRAINERS_NUMBER,
temp.TRAINING_MATERIALS,
temp.TRAINING_TEACHERS,
temp.CLASS_HOURS,
2024-03-22 09:37:32 +08:00
ci.CORP_NAME
2024-03-06 16:25:53 +08:00
from
BUS_CLASS c
2024-06-19 08:56:29 +08:00
LEFT JOIN `qa-traffic-prevention`.`bus_corp_info` ci ON ci.CORPINFO_ID = c.CORPINFO_ID AND ci.ISDELETE = '0'
2024-03-06 16:25:53 +08:00
LEFT JOIN BUS_CURRICULUM_POST cp ON cp.CLASS_ID = c.CLASS_ID AND cp.ISDELETE = '0'
LEFT JOIN BUS_CLASS_POST clp ON clp.POST_ID = cp.POST_ID AND clp.ISDELETE = '0'
LEFT JOIN
(SELECT c1.POST_ID,
GROUP_CONCAT(DISTINCT c2.CURRICULUMNAME) as TRAINING_MATERIALS,
GROUP_CONCAT(DISTINCT t.NAME) as TRAINING_TEACHERS,
sum(bv.CLASSHOUR) CLASS_HOURS
FROM bus_class_post bcp
LEFT JOIN bus_curriculum_post c1 ON bcp.POST_ID = c1.POST_ID and c1.CLASS_ID = bcp.CLASS_ID and c1.ISDELETE = '0'
LEFT JOIN bus_curriculum c2 on c1.CURRICULUM_ID = c2.CURRICULUM_ID and c2.ISDELETE = '0'
LEFT JOIN bus_class_curriculum_chapter ccc on ccc.CLASSCURRICULUM_ID = c1.CLASSCURRICULUM_ID
AND ccc.CURRICULUM_ID = c2.CURRICULUM_ID
AND ccc.ISDELETE = '0'
LEFT JOIN BUS_VIDEOCOURSEWARE bv on bv.VIDEOCOURSEWARE_ID = ccc.VIDEOCOURSEWARE_ID
AND bv.ISDELETE = '0'
LEFT JOIN BUS_TEACHER t ON t.TEACHER_ID = bv.SPEAKER
WHERE bcp.CLASS_ID = #{CLASS_ID}
AND bcp.ISDELETE = '0'
GROUP BY bcp.POST_ID) temp on temp.POST_ID = clp.POST_ID
<where >
<if test= "CLASS_ID != null and CLASS_ID != ''" >
AND c.CLASS_ID = #{CLASS_ID}
</if>
</where>
GROUP BY clp.POST_ID
ORDER BY CONVERT( clp.POST_NAME USING gbk )
</select>
<!-- 列表 -->
<select id= "datalistPage" parameterType= "page" resultType= "pd" >
select
<include refid= "Field" > </include>
from
<include refid= "tableName" > </include>
f
where f.ISDELETE = '0'
<if test= "pd.KEYWORDS != null and pd.KEYWORDS != ''" > <!-- 关键词检索 -->
and
(
<!-- 根据需求自己加检索条件
字段1 LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
or
字段2 LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
-->
)
</if>
</select>
<!-- 列表(全部) -->
<select id= "listAll" parameterType= "pd" resultType= "pd" >
select
<include refid= "Field" > </include>
from
<include refid= "tableName" > </include>
f
where f.ISDELETE = '0'
<if test= "POST_ID != null and POST_ID != ''" > <!-- 关键词检索 -->
and f.POST_ID = #{POST_ID}
</if>
<if test= "CLASS_ID != null and CLASS_ID != ''" > <!-- 关键词检索 -->
and f.CLASS_ID = #{CLASS_ID}
</if>
order by f.CREATTIME desc
</select>
<!-- 批量删除 -->
<delete id= "deleteAll" parameterType= "String" >
update
<include refid= "tableName" > </include>
set
ISDELETE = '1'
where
TRAININGSCHEDULE_ID in
<foreach item= "item" index= "index" collection= "ArrayDATA_IDS" open= "(" separator= "," close= ")" >
#{item}
</foreach>
</delete>
</mapper>