SysOpOrgSmapper.xml 4.38 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.SysOpOrgSmapper" >
  <resultMap id="BaseResultMap" type="com.zteits.sys.domain.SysOpOrg" >
    <id column="id" property="id" jdbcType="BIGINT" />
    <result column="sys_op_id" property="sysOpId" jdbcType="BIGINT" />
    <result column="sys_org_id" property="sysOrgId" jdbcType="BIGINT" />
    <result column="sys_op_type_id" property="sysOpTypeId" 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_op_id, sys_org_id, sys_op_type_id, sys_code, data_state, create_empid, create_date, 
    modfiy_empid, modfiy_date
  </sql>
  
  <!-- 根据用户ID查出组织ID -->
  <select id="queryOrgIdsByOpIds" resultType="java.lang.Long">
        SELECT
        sys_org_id
        FROM sys_op_org
        <where>
            sys_code = #{sysCode,jdbcType=VARCHAR}
            <if test="null !=dataState">
                AND data_state = ${dataState}
            </if>
            AND sys_op_id IN
            <foreach collection="opIds" open="(" close=")" item="opId" separator=",">
                #{opId}
            </foreach>
        </where>

    </select>
  
   <delete id="deleteSysOpOrgByOpId" parameterType="java.lang.Long">
    delete from sys_op_org
    where sys_op_id = #{sysOpId,jdbcType=BIGINT}
  </delete>
  <!-- 删除用户和组织关系 langlw 2017-08-14 -->
  <delete id="deleteSysOpOrgByOrgIds" parameterType="java.lang.Long">
    delete from sys_op_org
    where  sys_org_id IN
            <foreach collection="orgIds" open="(" close=")" item="orgId" separator=",">
                #{orgId}
            </foreach>
  </delete>
  
   <!-- 批量插入用户组织关系 -->
    <insert id="batchSaveSysOpOrg">
        <selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER">
            SELECT LAST_INSERT_ID() AS id
        </selectKey>
        insert into sys_op_org ( sys_op_id, sys_org_id,
        sys_code,sys_op_type_id,create_empid, create_date, 
    	modfiy_empid, modfiy_date
        )
        values
        <foreach collection="orgIdList" item="item" index="index" separator=",">
            ( #{sysOpID,jdbcType=BIGINT},
            #{item,jdbcType=BIGINT},
            #{sysCode,jdbcType=VARCHAR},2,
            #{createEmpid,jdbcType=VARCHAR},#{createDate,jdbcType=TIMESTAMP},
            #{modfiyEmpid,jdbcType=VARCHAR},#{modfiyDate,jdbcType=TIMESTAMP} )
        </foreach>
    </insert>
  
  
  
  <!-- 根据组织ID 查询所有组织下面所有的用户 -->
    <select id="queryOpByorgIdForPage" resultType="com.zteits.sys.domain.SysOp">
        SELECT
		op.login_code as loginCode,
		op.op_name as opName,
		o.sys_op_id as id,
		op.age as age,
  		op.email as email,
		op.remark as remark,
		op.sex as sex,
		op.sys_code as sysCode,
		op.telephone as telephone
		FROM
			sys_op_org o,
			sys_op op
		WHERE
			op.id = o.sys_op_id
		AND o.data_state = 1
		AND op.data_state = 1
		<if test="orgId != null">
		    AND o.sys_org_id = #{orgId}
		</if>
		<![CDATA[and op.org_id <> -1]]>
        And op.sys_code = #{sysCode}

    </select>
    
    
    
    <!-- 根据组织ID 查询组织下面所有的用户 集合 langlw 2017-08-15-->
    <select id="queryOpIdsByorgIds" resultType="long">
        SELECT
        sys_op_id
        FROM sys_op_org
        <where>
            <if test="sysCode != null">
            and sys_code = #{sysCode,jdbcType=VARCHAR}
        </if>
        <choose>
            <when test="dataState != null">
                and data_state = #{dataState,jdbcType=INTEGER}
            </when>
            <otherwise>
                and data_state = 1
            </otherwise>
        </choose>
            AND sys_org_id IN
            <foreach collection="orgIds" open="(" close=")" item="orgId" separator=",">
                #{orgId}
            </foreach>
        </where>

    </select>
    
    
    
    
    
</mapper>