integrated_traffic/src/main/resources/mybatis/dsno3/eduTrain/TrainingScheduleMapper.xml

205 lines
6.2 KiB
XML
Raw Normal View History

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">
SYS_DICTIONARIES
</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-03-22 09:37:32 +08:00
LEFT JOIN 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>