<?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.dg.core.db.gen.mapper.ClassifyAdministrationMapper">
|
|
<resultMap type="com.dg.core.db.gen.entity.ClassifyAdministration" id="ClassifyAdministrationEntityResult">
|
<id property="id" column="id" />
|
<id property="classifyGrade" column="classify_grade" />
|
<id property="createTime" column="create_time" />
|
<id property="updateTime" column="update_time" />
|
<id property="classifyIcon" column="classify_icon" />
|
<id property="parentId" column="parent_id" />
|
<id property="classifyName" column="classify_name" />
|
|
</resultMap>
|
|
<sql id="selectClassifyAdministrationEntityVo">
|
SELECT
|
id,
|
classify_grade,
|
create_time,
|
update_time,
|
parent_id,
|
(select ca.classify_name from automessage_classify_administration as ca where ca.id= automessage_classify_administration.parent_id) as parentName,
|
classify_name,
|
classify_icon,
|
(IF(classify_grade = '2',(SELECT count(id) FROM automessage_transaction_event WHERE automessage_transaction_event.classify_id=automessage_classify_administration.id),
|
(SELECT count(id) FROM automessage_transaction_event WHERE automessage_transaction_event.classify_id in (SELECT id FROM automessage_classify_administration
|
WHERE automessage_classify_administration.parent_id=automessage_transaction_event.classify_id)))) as transactNum
|
FROM
|
automessage_classify_administration
|
</sql>
|
|
<select id="selectConfigList" resultMap="ClassifyAdministrationEntityResult">
|
<include refid="selectClassifyAdministrationEntityVo"/>
|
<where>
|
<if test="classifyName != null and classifyName != ''">
|
AND classify_name like concat('%', #{classifyName}, '%')
|
</if>
|
<if test="classifyGrade != null and classifyGrade != ''">
|
AND classify_grade = #{classifyGrade}
|
</if>
|
</where>
|
order by create_time desc
|
</select>
|
|
<select id="selectRootList" resultMap="ClassifyAdministrationEntityResult">
|
<include refid="selectClassifyAdministrationEntityVo"/>
|
<where>
|
parent_id=#{parentId}
|
<if test="departmentId!=null">
|
and id in (
|
select classify_id from automessage_transaction_event where department_id in (select id from automessage_organization_chart where id=#{departmentId} or parent_id=#{departmentId}) UNION
|
select parent_id from automessage_classify_administration
|
where id in (select classify_id FROM automessage_transaction_event
|
where department_id in (select id from automessage_organization_chart where id=#{departmentId} or parent_id=#{departmentId})) )
|
</if>
|
</where>
|
</select>
|
|
<insert id="insertConfig" parameterType="com.dg.core.db.gen.entity.ClassifyAdministration">
|
insert into automessage_classify_administration (
|
<if test="id != null">id,</if>
|
<if test="classifyGrade != null and classifyGrade != '' ">classify_grade,</if>
|
<if test="parentId != null">parent_id,</if>
|
<if test="classifyName != null and classifyName != '' ">classify_name,</if>
|
<if test="classifyIcon != null and classifyIcon != '' ">classify_icon,</if>
|
update_time,
|
create_time
|
)values(
|
<if test="id != null">#{id},</if>
|
<if test="classifyGrade != null and classifyGrade != '' ">#{classifyGrade},</if>
|
<if test="parentId != null">#{parentId},</if>
|
<if test="classifyName != null and classifyName != '' ">#{classifyName},</if>
|
<if test="classifyIcon != null and classifyIcon != '' ">#{classifyIcon},</if>
|
sysdate(),
|
sysdate()
|
)
|
</insert>
|
|
<update id="updateConfig" parameterType="com.dg.core.db.gen.entity.ClassifyAdministration">
|
update automessage_classify_administration
|
<set>
|
<if test="id != null">id=#{id},</if>
|
<if test="classifyGrade != null and classifyGrade != '' ">classify_grade=#{classifyGrade},</if>
|
<if test="parentId != null">parent_id=#{parentId},</if>
|
<if test="classifyName != null and classifyName != '' ">classify_name=#{classifyName},</if>
|
<if test="classifyIcon != null and classifyIcon != '' ">classify_icon=#{classifyIcon},</if>
|
update_time=sysdate()
|
</set>
|
where id= #{id}
|
</update>
|
|
<delete id="deleteConfigById" parameterType="String">
|
delete from automessage_classify_administration where id= #{id}
|
</delete>
|
|
<select id="countNum" resultType="integer">
|
select count(id) from automessage_classify_administration
|
<where>
|
<if test="classifyName != null and classifyName != ''">
|
AND classify_name like concat('%', #{classifyName}, '%')
|
</if>
|
<if test="classifyGrade != null and classifyGrade != ''">
|
AND classify_grade = #{classifyGrade}
|
</if>
|
</where>
|
</select>
|
|
<select id="selectParent" resultType="string">
|
select id from automessage_classify_administration
|
<where>
|
<if test="parentId != null and parentId != ''">
|
AND parent_id = #{parentId}
|
</if>
|
</where>
|
</select>
|
|
<select id="selectParentData" resultType="com.dg.core.db.gen.entity.ClassifyAdministration">
|
<include refid="selectClassifyAdministrationEntityVo"/>
|
<where>
|
<if test="parentId != null and parentId != ''">
|
AND parent_id = #{parentId}
|
</if>
|
</where>
|
</select>
|
|
</mapper>
|