integrated_traffic/src/main/resources/mybatis/datasource/system/DictionariesMapper.xml

262 lines
6.0 KiB
XML
Raw Normal View History

2024-01-03 11:04:18 +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.datasource.system.DictionariesMapper">
<resultMap type="Dictionaries" id="dictResultMap">
<id column="DICTIONARIES_ID" property="DICTIONARIES_ID"/>
<result column="NAME" property="NAME"/>
<result column="PARENT_ID" property="PARENT_ID"/>
</resultMap>
<!--表名 -->
<sql id="tableName">
SYS_DICTIONARIES
</sql>
<!-- 字段 -->
<sql id="Field">
NAME,
NAME_EN,
BIANMA,
ORDER_BY,
PARENT_ID,
BZ,
TBSNAME,
TBFIELD,
YNDEL,
DICTIONARIES_ID
</sql>
<!-- 字段 -->
<sql id="Field2">
f.NAME,
f.NAME_EN,
f.BIANMA,
f.ORDER_BY,
f.PARENT_ID,
f.BZ,
f.TBSNAME,
f.TBFIELD,
f.YNDEL,
f.DICTIONARIES_ID
</sql>
<!-- 字段值 -->
<sql id="FieldValue">
#{NAME},
#{NAME_EN},
#{BIANMA},
#{ORDER_BY},
#{PARENT_ID},
#{BZ},
#{TBSNAME},
#{TBFIELD},
#{YNDEL},
#{DICTIONARIES_ID}
</sql>
<!-- 新增-->
<insert id="save" parameterType="pd">
insert into
<include refid="tableName"></include>
(
<include refid="Field"></include>
) values (
<include refid="FieldValue"></include>
)
</insert>
<!-- 修改 -->
<update id="edit" parameterType="pd">
update
<include refid="tableName"></include>
set
NAME = #{NAME},
NAME_EN = #{NAME_EN},
ORDER_BY = #{ORDER_BY},
BZ = #{BZ},
TBSNAME = #{TBSNAME},
TBFIELD = #{TBFIELD}
where
DICTIONARIES_ID = #{DICTIONARIES_ID}
</update>
<!-- 通过ID获取数据 -->
<select id="findById" parameterType="pd" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include>
where
DICTIONARIES_ID = #{DICTIONARIES_ID}
</select>
<select id="findByName" parameterType="pd" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include>
where
NAME = #{NAME}
</select>
<!-- 通过编码获取数据 -->
<select id="findByBianma" parameterType="pd" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include>
where
BIANMA = #{BIANMA}
</select>
<!-- 通过ID获取其子级列表 -->
<select id="listSubDictByParentId" parameterType="String" resultMap="dictResultMap">
select
<include refid="Field"></include>
from
<include refid="tableName"></include>
where
PARENT_ID = #{parentId} order by ORDER_BY
</select>
<!-- 通过ID获取其子级列表 -->
<select id="listSubDictByParent" parameterType="pd" resultMap="dictResultMap">
select
<include refid="Field"></include>
from
<include refid="tableName"></include>
where PARENT_ID = #{PARENT_ID}
<if test="BIANMA != null and BIANMA != ''"><!-- 编码 -->
and BIANMA = #{BIANMA}
</if>
order by ORDER_BY
</select>
<!-- 通过ID获取其子级列表(学习考试课件相关) -->
<select id="listSubDictByParentIdAndCourseware" parameterType="pd" resultMap="dictResultMap">
SELECT
<include refid="Field2"></include>
FROM
<include refid="tableName"></include> f
<choose>
<when test="COURSEWARETYPE != null and COURSEWARETYPE != '' and COURSEWARETYPE == 1">
INNER JOIN BUS_VIDEOCOURSEWARE c on c.POSTTYPE = f.DICTIONARIES_ID
</when>
<otherwise>
INNER JOIN BUS_DATACOURSEWARE c on c.POSTTYPE = f.DICTIONARIES_ID
</otherwise>
</choose>
WHERE
f.PARENT_ID = #{DICTIONARIES_ID} AND c.ISDELETE = '0' GROUP BY f.DICTIONARIES_ID ORDER BY f.ORDER_BY ASC
</select>
<!-- 列表 -->
<select id="datalistPage" parameterType="page" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include>
where
1=1
<if test="pd.DICTIONARIES_ID!= null and pd.DICTIONARIES_ID != ''"><!-- 检索 -->
and PARENT_ID = #{pd.DICTIONARIES_ID}
</if>
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
and
(
NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
or
NAME_EN LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
or
BIANMA LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
)
</if>
order by ORDER_BY
</select>
<!-- 排查表检查是否被占用 -->
<select id="findFromTbs" parameterType="pd" resultType="pd">
select
count(*) zs
from
${thisTable}
where
${TBFIELD} = #{BIANMA}
</select>
<!-- 删除-->
<delete id="delete" parameterType="pd">
delete from
<include refid="tableName"></include>
where
DICTIONARIES_ID = #{DICTIONARIES_ID}
</delete>
<select id="listSubDictByIdS" parameterType="String" resultMap="dictResultMap">
select
<include refid="Field"></include>
from
<include refid="tableName"></include>
where
DICTIONARIES_ID in
<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
#{item}
</foreach>
order by ORDER_BY
</select>
<select id="getCountByParId" parameterType="pd" resultType="pd">
select
count(*) zs
from
sys_dictionaries
where
PARENT_ID = #{PARENT_ID}
</select>
<select id="getPdByParIdAndName" parameterType="pd" resultType="pd">
select *
from
sys_dictionaries
where
PARENT_ID = #{PARENT_ID}
and name = #{NAME}
</select>
<!-- 通过ID获取其子级列表 -->
<select id="listSubDictByParentIdAndSunCount" parameterType="String" resultType="pd">
select
<include refid="Field"></include>,
(
SELECT
count(*)
FROM
SYS_DICTIONARIES
WHERE
PARENT_ID = t.DICTIONARIES_ID
) AS zcount
from
<include refid="tableName"></include> t
where
PARENT_ID = #{parentId} order by ORDER_BY
</select>
<!-- 查询同一父级下的所有子集 -->
<select id="listBySameParent" parameterType="String" resultType="pd">
SELECT
f.DICTIONARIES_ID id,
f.DICTIONARIES_ID value,
f.BIANMA numValue,
f.NAME label,
f.PARENT_ID PARENT_ID,
IF (
( SELECT COUNT(*) FROM SYS_DICTIONARIES s WHERE s.PARENT_ID = f.DICTIONARIES_ID ) > 0, FALSE, TRUE
) AS leaf
FROM
<include refid="tableName"></include> f
WHERE
f.PARENT_ID = #{PARENT_ID}
ORDER BY
f.ORDER_BY
</select>
</mapper>