SysResJobfuncSMapper.xml 2.92 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.SysResJobfuncSMapper">
    <resultMap id="BaseResultMap" type="com.zteits.sys.domain.SysResJobfunc">
        <id column="id" property="id" jdbcType="BIGINT"/>
        <result column="res_id" property="resId" jdbcType="BIGINT"/>
        <result column="jobfunc_id" property="jobfuncId" 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, res_id, jobfunc_id, sys_code, data_state, create_empid, create_date, modfiy_empid, 
    modfiy_date
  </sql>

    <!-- 通过职能ID逻辑删除 -->
    <delete id="deleteForLogicByJobfuncId" parameterType="com.zteits.sys.domain.SysResJobfunc">
       delete from sys_res_jobfunc 
       where 1=1
         and jobfunc_id = #{jobfuncId,jdbcType=BIGINT} and sys_code = #{sysCode,jdbcType=VARCHAR}
    </delete>

    <!-- 批量插入职能资源关系 -->
    <insert id="batchSaveSysResJobfunc">
        <selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER">
            SELECT LAST_INSERT_ID() AS id
        </selectKey>
        insert into sys_res_jobfunc ( res_id, jobfunc_id,
        sys_code
        )
        values
        <foreach collection="resIdList" item="resId" index="index" separator=",">
            ( #{resId,jdbcType=BIGINT},
            #{jobfuncId,jdbcType=BIGINT},
            #{sysCode,jdbcType=VARCHAR})

        </foreach>
    </insert>

    <select id="querySysResJobfuncByJobFuncId" resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List"/>
        FROM sys_res_jobfunc
        <where>
            AND sys_code =#{sysCode}
            AND jobfunc_id = #{jobFuncId}
            <if test="null != dataStatus">
                AND data_state = #{dataStatus}
            </if>
        </where>

    </select>
    
    <!-- 根据菜单ID 查询所有菜单对应了哪些职能 -->
    <select id="queryJobFuncIdsByResId" resultType="long">
        SELECT
        jobfunc_id
        FROM sys_res_jobfunc
        <where>
            sys_code = #{sysCode,jdbcType=VARCHAR}
            <if test="null !=dataState">
                AND data_state = ${dataState}
            </if>
            AND res_id IN
            <foreach collection="resIds" open="(" close=")" item="resId" separator=",">
                #{resId}
            </foreach>
        </where>

    </select>

</mapper>