AdministerMapper.xml 4.24 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.subsidy.mapper.AdministerMapper">

    <select id="operators" parameterType="string" resultType="com.subsidy.vo.administer.AdministerVO">
        SELECT
        t2.id,
        t2.user_name,
        t2.`password`,
        t2.telephone,
        t2.remark,
        t2.role,
        t2.account_name
        FROM
        administer t2
        WHERE
         t2.delete_date IS NULL
         and t2.role = 2
        <if test="userName != null and userName != ''">
            and t2.user_name like concat('%',#{userName} ,'%')
        </if>
    </select>

    <select id="appOperators" resultType="com.subsidy.vo.administer.AdministerVO">
        SELECT
        t2.id,
        t2.user_name,
        t2.`password`,
        t2.telephone,
        t2.remark,
        t2.role,
        t2.account_name
        FROM
        administer t2
        left join administer_company_mapping t1 on t2.id = t1.administer_id
        left join company_dict t3 on t1.company_id = t3.id
        WHERE
        t2.delete_date IS NULL
        and t2.role = 0
        <if test="userName != null and userName != ''">
            and ( t2.user_name like concat('%',#{userName} ,'%') or t3.company_name like concat('%',#{userName} ,'%'))
        </if>
    </select>

    <select id="clientOperators" resultType="com.subsidy.vo.administer.AdministerVO">
        SELECT
        distinct t2.id,
        t2.user_name,
        t2.`password`,
        t2.telephone,
        t2.remark,
        t2.role,
        t2.account_name
        FROM
        administer t2
        left join administer_company_mapping t1 on t2.id = t1.administer_id
        left join company_dict t3 on t1.company_id = t3.id
        WHERE
        t2.delete_date IS NULL
        and t2.role = 1
        <if test="userName != null and userName != ''">
            and ( t2.user_name like concat('%',#{userName} ,'%') or t3.company_name like concat('%',#{userName} ,'%'))
        </if>
    </select>

    <select id="administerCompanys" parameterType="long" resultType="com.subsidy.vo.company.GetAllCompanyVO">
        SELECT
            t2.id,
            t2.company_name
        FROM
            administer_company_mapping t
            LEFT JOIN company_dict t2 ON t.company_id = t2.id
        WHERE
            t.delete_date IS NULL
            AND t2.delete_date IS NULL
            AND t.administer_id = #{administerId}
    </select>

    <select id="administerCompanyIds" parameterType="long" resultType="long">
        SELECT
            t2.id
        FROM
            administer_company_mapping t
            LEFT JOIN company_dict t2 ON t.company_id = t2.id
        WHERE
            t.delete_date IS NULL
            AND t2.delete_date IS NULL
            AND t.administer_id = #{administerId}
    </select>


    <select id="administerServiceIds" parameterType="long" resultType="long">
          SELECT
            t2.id
        FROM
            service_administer_mapping t
            LEFT JOIN service_dict t2 ON t.service_id = t2.id
        WHERE
            t.delete_date IS NULL
            AND t2.delete_date IS NULL
            AND t.administer_id = #{administerId}
    </select>


    <select id="getPermissions" resultType="com.subsidy.vo.administer.PermissionsVO">
        SELECT DISTINCT
        t4.*
        FROM
        role_administer_mapping t
        LEFT JOIN role_dict t2 ON t.role_id = t2.id
        LEFT JOIN role_permission_mapping t3 ON t2.id = t3.role_id
        LEFT JOIN permissions_dict t4 ON t3.permission_id = t4.id
        WHERE
        t.delete_date IS NULL
        AND t2.delete_date IS NULL
        AND t3.delete_date IS NULL
        AND t4.delete_date IS NULL
        <if test="id !=null and id !=''">
            and t.administer_id = #{id}
        </if>
    </select>

    <select id="uniqueAdminister" parameterType="long" resultType="com.subsidy.model.AdministerDO">
        SELECT
            t.*
        FROM
            administer t
            LEFT JOIN administer_company_mapping t2 ON t.id = t2.administer_id
        WHERE
            t.delete_date IS NULL
            AND t2.delete_date IS NULL
            AND t2.company_id = #{companyId}
            AND t.role =3
    </select>
</mapper>