weaver-hrm-salary/src/com/engine/salary/mapper/auth/AuthMapper.xml

169 lines
7.6 KiB
XML
Raw Normal View History

2024-08-01 10:56:29 +08:00
<?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.engine.salary.mapper.auth.AuthMapper">
2024-09-05 17:31:01 +08:00
<resultMap id="getTaxEmpOptAuthMap" type="com.engine.salary.entity.auth.dto.TaxEmpOptAuth">
2024-08-01 16:19:23 +08:00
<id column="tax_agent_id" property="taxAgentId"/>
<collection property="emps" ofType="com.engine.salary.entity.auth.dto.EmpOpt">
<id column="employee_id" property="employeeId"/>
2024-08-28 17:55:42 +08:00
<collection property="opts" ofType="string">
<constructor>
<arg column="opt"/>
</constructor>
2024-08-01 16:19:23 +08:00
</collection>
2024-08-01 10:56:29 +08:00
</collection>
</resultMap>
2024-09-05 17:31:01 +08:00
<select id="getTaxEmpOptAuth" resultMap="getTaxEmpOptAuthMap">
2025-01-22 15:56:56 +08:00
select res.target as tax_agent_id, d.employee_id, o.opt
2024-08-28 10:02:39 +08:00
from hrsa_auth_role_emp emp
2024-09-05 17:31:01 +08:00
left join hrsa_auth_role role on emp.role_id = role.id and emp.delete_type = 0 and role.delete_type = 0
2025-01-22 15:56:56 +08:00
left join hrsa_auth_resource res
on res.role_id = role.id and res.target_type = 1 and res.delete_type = 0
2024-09-05 17:31:01 +08:00
left join hrsa_auth_role_data d on emp.role_id = d.role_id and d.delete_type = 0
left join hrsa_auth_opt o on d.role_id = o.role_id and o.delete_type = 0
where emp.employee_id = #{uid}
and o.page = #{page}
2025-07-15 13:34:04 +08:00
and emp.delete_type=0
2024-09-05 17:31:01 +08:00
</select>
<resultMap id="getTaxOptAuthMap" type="com.engine.salary.entity.auth.dto.TaxOptAuth">
<id column="tax_agent_id" property="taxAgentId"/>
<collection property="opts" ofType="string">
<constructor>
<arg column="opt"/>
</constructor>
</collection>
</resultMap>
<select id="getTaxOptAuth" resultMap="getTaxOptAuthMap">
2025-01-22 15:56:56 +08:00
select res.target as tax_agent_id, o.opt
2024-09-12 11:50:18 +08:00
from hrsa_auth_role role
left join hrsa_auth_role_emp emp on emp.role_id = role.id and emp.delete_type = 0 and role.delete_type = 0
2025-01-22 15:56:56 +08:00
left join hrsa_auth_resource res on res.role_id = role.id and res.target_type = 1 and res.delete_type = 0
2024-09-12 11:50:18 +08:00
left join hrsa_auth_opt o on role.id = o.role_id and o.delete_type = 0
2024-09-05 17:31:01 +08:00
where emp.employee_id = #{uid}
2024-09-12 11:50:18 +08:00
<if test="page != null and page != ''">
AND o.page = #{page}
</if>
2024-09-05 17:31:01 +08:00
</select>
<resultMap id="getSobOptAuthMap" type="com.engine.salary.entity.auth.dto.SobOptAuth">
<id column="sob_id" property="sobId"/>
<collection property="opts" ofType="string">
<constructor>
<arg column="opt"/>
</constructor>
</collection>
</resultMap>
<select id="getSobOptAuth" resultMap="getSobOptAuthMap">
2025-01-22 15:56:56 +08:00
select res.target as sob_id, o.opt
2024-09-24 09:50:46 +08:00
from hrsa_auth_role role
2024-09-12 11:50:18 +08:00
left join hrsa_auth_role_emp emp on emp.role_id = role.id and emp.delete_type = 0 and role.delete_type = 0
2025-01-22 15:56:56 +08:00
left join hrsa_auth_resource res on res.role_id = role.id and res.target_type = 2 and
res.delete_type = 0
2024-09-12 11:50:18 +08:00
left join hrsa_auth_opt o on role.id = o.role_id and o.delete_type = 0
2024-09-05 17:31:01 +08:00
where emp.employee_id = #{uid}
2024-09-12 11:50:18 +08:00
<if test="page != null and page != ''">
AND o.page = #{page}
</if>
2024-08-28 10:02:39 +08:00
</select>
<select id="getLimitSobs" resultType="long">
2025-01-22 15:56:56 +08:00
select res.target
from hrsa_auth_role_emp emp
2024-09-05 17:31:01 +08:00
left join hrsa_auth_role role on emp.role_id = role.id and emp.delete_type = 0 and role.delete_type = 0
2025-01-22 15:56:56 +08:00
left join hrsa_auth_resource res
on res.role_id = role.id and res.target_type = 2 and res.delete_type = 0
where emp.employee_id = #{uid}
</select>
2024-08-28 10:02:39 +08:00
<select id="getLimitTaxAgents" resultType="long">
2025-01-22 15:56:56 +08:00
select res.target
from hrsa_auth_role_emp emp
2024-09-05 17:31:01 +08:00
left join hrsa_auth_role role on emp.role_id = role.id and emp.delete_type = 0 and role.delete_type = 0
2025-01-22 15:56:56 +08:00
left join hrsa_auth_resource res
on res.role_id = role.id and res.target_type = 1 and res.delete_type = 0
where emp.employee_id = #{uid}
2024-08-01 10:56:29 +08:00
</select>
2024-08-30 10:49:46 +08:00
<select id="getOptsByPage" resultType="string">
select o.opt
from hrsa_auth_role_emp emp
left join hrsa_auth_role role on emp.role_id = role.id
2024-09-05 17:31:01 +08:00
left join hrsa_auth_opt o on role.id = o.role_id
where emp.delete_type = 0
and role.delete_type = 0
and o.delete_type = 0
and emp.employee_id = #{uid}
and o.page = #{page}
2024-08-30 10:49:46 +08:00
</select>
2024-09-24 09:50:46 +08:00
<resultMap id="authTreeMap" type="com.engine.salary.entity.auth.dto.AuthTreeDTO">
<id column="role_emp_id" property="roleEmpId"/>
<collection property="roles" ofType="com.engine.salary.entity.auth.dto.AuthTreeDTO$Role">
<id column="role_id" property="roleId"/>
<result column="role_name" property="roleName"/>
<collection property="resources" ofType="com.engine.salary.entity.auth.dto.AuthTreeDTO$Role$Resource">
<id column="resource_id" property="resourceId"/>
<result column="target_name" property="resourceName"/>
<result column="target_type" property="resourceType"/>
</collection>
<collection property="opts" ofType="com.engine.salary.entity.auth.dto.AuthTreeDTO$Role$Opt">
<id column="opt_id" property="optId"/>
<result column="page" property="page"/>
<result column="opt" property="opt"/>
</collection>
<collection property="datas" ofType="com.engine.salary.entity.auth.dto.AuthTreeDTO$Role$Data">
<id column="data_id" property="dataId"/>
<result column="employee_id" property="employeeId"/>
</collection>
</collection>
</resultMap>
<select id="authTree" parameterType="com.engine.salary.entity.auth.param.AuthTreeQueryParam"
resultMap="authTreeMap">
select emp.employee_id as role_emp_id
2025-01-22 15:56:56 +08:00
,role.id as role_id ,role.name as role_name,res.id as resource_id
,res.target_name ,res.target_type
2024-09-24 09:50:46 +08:00
,o.id as opt_id, o.page,o.opt
,d.id as data_id,d.employee_id
from hrsa_auth_role role
left join hrsa_auth_role_emp emp on emp.role_id = role.id and emp.delete_type = 0 and role.delete_type = 0
left join hrsa_auth_opt o on role.id = o.role_id and o.delete_type = 0
left join hrsa_auth_role_data d on emp.role_id = d.role_id and d.delete_type = 0
2025-01-22 15:56:56 +08:00
left join hrsa_auth_resource res on res.role_id = role.id and res.delete_type = 0
2024-09-24 09:50:46 +08:00
where emp.employee_id = #{roleEmpId}
<if test="roleIds != null and roleIds.size()>0">
AND role.id IN
<foreach collection="roleIds" open="(" item="roleId" separator="," close=")">
#{roleId}
</foreach>
</if>
<if test="employeeIds != null and employeeIds.size()>0">
AND d.employee_id IN
<foreach collection="employeeIds" open="(" item="employeeId" separator="," close=")">
#{employeeId}
</foreach>
</if>
<if test="pages != null and pages.size()>0">
AND o.page IN
<foreach collection="pages" open="(" item="page" separator="," close=")">
#{page}
</foreach>
</if>
<if test="opts != null and opts.size()>0">
AND o.opt IN
<foreach collection="opts" open="(" item="opt" separator="," close=")">
#{page}
</foreach>
</if>
</select>
2024-08-01 10:56:29 +08:00
</mapper>