SysRoleJobfuncSmapper.xml 5.19 KB
<?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.zteits.sys.mapper.smapper.SysRoleJobfuncSmapper">
    <resultMap id="BaseResultMap" type="com.zteits.sys.domain.SysRoleJobfunc">
        <id column="id" property="id" jdbcType="BIGINT"/>
        <result column="sys_role_id" property="sysRoleId" jdbcType="BIGINT"/>
        <result column="sys_jobfunc_id" property="sysJobfuncId" jdbcType="BIGINT"/>
        <result column="sys_code" property="sysCode" jdbcType="VARCHAR"/>
        <result column="data_state" property="dataState" jdbcType="INTEGER"/>
        <result column="create_empid" property="createEmpid" jdbcType="VARCHAR"/>
        <result column="create_date" property="createDate" jdbcType="TIMESTAMP"/>
        <result column="modfiy_empid" property="modfiyEmpid" jdbcType="VARCHAR"/>
        <result column="modfiy_date" property="modfiyDate" jdbcType="TIMESTAMP"/>
    </resultMap>
    <sql id="Base_Column_List">
    id, sys_role_id, sys_jobfunc_id, sys_code, data_state, create_empid, create_date, 
    modfiy_empid, modfiy_date
  </sql>

    <delete id="deleteBatchRoleJobFunByIds">
        DELETE FROM sys_role_jobfunc
        <where>
            <choose>
                <when test="ids==null||ids.size==0">
                    1=2
                </when>
                <otherwise>
                    id IN
                    <foreach collection="ids" index="index" item="id" open="(" close=")" separator=",">
                        #{id,jdbcType=BIGINT}
                    </foreach>
                </otherwise>
            </choose>
            AND sys_code = #{sysCode,jdbcType=VARCHAR}
        </where>

    </delete>

    <delete id="deleteBatchRoleJobFunByRoleId">
        DELETE FROM sys_role_jobfunc
        <where>
            sys_role_id=#{roleId}
            AND sys_code = #{sysCode,jdbcType=VARCHAR}
            <choose>
                <when test="jobFunIds != null and jobFunIds.size>0">
                    AND sys_jobfunc_id IN
                    <foreach collection="jobFunIds" item="jobFunId" separator="," open="(" close=")" index="index">
                        #{jobFunId}
                    </foreach>
                </when>
            </choose>

        </where>

    </delete>


    <delete id="deleteBatchRoleJobFunByJobFunId">
        DELETE FROM sys_role_jobfunc
        <where>
            sys_jobfunc_id=#{jobFunId}
        </where>

    </delete>

    <insert id="saveBatchRoleJobFunByRoleId">
        INSERT INTO sys_role_jobfunc (sys_role_id, sys_jobfunc_id, sys_code, data_state, create_empid, create_date,
        modfiy_empid, modfiy_date
        )
        values
        <foreach collection="jobFunIds" separator="," item="jobFunId">
            (
            #{roleId},
            #{jobFunId},
            #{sysCode,jdbcType=VARCHAR},
            #{dataState},
            #{currentOpId},
            NOW(),
            #{currentOpId},
            NOW()
            )
        </foreach>

    </insert>

    <insert id="saveBatchRoleJobFunByJobFunId">
        INSERT INTO sys_role_jobfunc (sys_role_id, sys_jobfunc_id, sys_code, data_state, create_empid, create_date,
        modfiy_empid, modfiy_date
        )
        values
        <foreach collection="roleIds" separator="," item="roleId">
            (
            #{roleId},
            #{jobFunId},
            #{sysCode,jdbcType=VARCHAR},
            #{dataState},
            #{currentOpId},
            NOW(),
            #{currentOpId},
            NOW()
            )
        </foreach>

    </insert>

    <select id="queryRoleJobfuncByRoleId" resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List"/>
        FROM sys_role_jobfunc
        <where>
            sys_code = #{sysCode,jdbcType=VARCHAR}
            <if test="null == dataState">
                AND data_state = ${dataState}
            </if>
            <choose>
                <when test="roleIds != null and roleIds.size>0">
                    AND sys_role_id IN
		            <foreach collection="roleIds" open="(" close=")" item="roleId" separator=",">
		                #{roleId}
		            </foreach>
                </when>
            </choose>
        </where>

    </select>


    <select id="queryRoleJobfuncByJobFunId" resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List"/>
        FROM sys_role_jobfunc
        <where>
            sys_code = #{sysCode,jdbcType=VARCHAR}
            <if test="null ==dataState">
                AND data_state = ${dataState}
            </if>
            AND sys_jobfunc_id IN
            <foreach collection="jobFunIds" open="(" close=")" item="jobFunId" separator=",">
                #{jobFunId}
            </foreach>
        </where>

    </select>  
    
    <!--根据职能Id 批量删除角色职能关系-->
    <delete id="deleteRoleJobFunByJobfunIdId">
       delete  FROM sys_role_jobfunc
       where sys_jobfunc_id = #{jobFunId}
       
    </delete>  

    <!--根据角色Id 批量删除角色职能关系 11-01 by wangfei-->
    <delete id="deleteRoleJobFunByRoleId">
       delete  FROM sys_role_jobfunc
       where sys_role_id = #{sysRoleId}
    </delete>
    
</mapper>