WholeProcessPlatform/backend/src/main/resources/mapper/data/SysUserDataScopeMapper.xml
2026-06-04 19:42:35 +08:00

172 lines
5.9 KiB
XML

<?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.yfd.platform.qgc_data.mapper.SysUserDataScopeMapper">
<resultMap id="BaseResultMap" type="com.yfd.platform.qgc_data.domain.SysUserDataScope">
<id column="ID" property="id"/>
<result column="USER_ID" property="userId"/>
<result column="ORG_TYPE" property="orgType"/>
<result column="ORG_ID" property="orgId"/>
<result column="PARENT_ID" property="parentId"/>
<result column="ORG_LEVEL" property="orgLevel"/>
<result column="PATH" property="path"/>
<result column="PERMISSION_TYPE" property="permissionType"/>
<result column="ROLE_CODE" property="roleCode"/>
<result column="DATA_SCOPE" property="dataScope"/>
<result column="STATUS" property="status"/>
<result column="START_TIME" property="startTime"/>
<result column="END_TIME" property="endTime"/>
<result column="CREATED_AT" property="createdAt"/>
<result column="CREATED_BY" property="createdBy"/>
<result column="UPDATED_AT" property="updatedAt"/>
<result column="UPDATED_BY" property="updatedBy"/>
<result column="REMARK" property="remark"/>
</resultMap>
<select id="selectPageList" resultMap="BaseResultMap">
SELECT * FROM SYS_USER_DATA_SCOPE
WHERE 1=1
<if test="userId != null">
AND USER_ID = #{userId}
</if>
<if test="orgType != null and orgType != ''">
AND ORG_TYPE = #{orgType}
</if>
<if test="orgId != null and orgId != ''">
AND ORG_ID = #{orgId}
</if>
<if test="status != null">
AND STATUS = #{status}
</if>
ORDER BY CREATED_AT DESC
</select>
<select id="selectByUserId" resultMap="BaseResultMap">
SELECT * FROM SYS_USER_DATA_SCOPE
WHERE USER_ID = #{userId}
ORDER BY CREATED_AT DESC
</select>
<select id="selectByOrg" resultMap="BaseResultMap">
SELECT * FROM SYS_USER_DATA_SCOPE
WHERE ORG_TYPE = #{orgType}
AND ORG_ID = #{orgId}
ORDER BY CREATED_AT DESC
</select>
<delete id="batchDelete">
DELETE FROM SYS_USER_DATA_SCOPE
WHERE ID IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<select id="selectValidPermissions" resultMap="BaseResultMap">
SELECT * FROM SYS_USER_DATA_SCOPE
WHERE USER_ID = #{userId}
AND STATUS = 1
-- AND (START_TIME IS NULL OR START_TIME &lt;= SYSDATE)
-- AND (END_TIME IS NULL OR END_TIME &gt;= SYSDATE)
ORDER BY CREATED_AT DESC
</select>
<select id="selectValidPermissionsWithName" resultMap="BaseResultMap">
SELECT
s.ID,
s.USER_ID,
s.ORG_TYPE,
s.ORG_ID,
s.PARENT_ID,
s.ORG_LEVEL,
s.PATH,
s.PERMISSION_TYPE,
s.ROLE_CODE,
s.DATA_SCOPE,
s.STATUS,
s.START_TIME,
s.END_TIME,
s.CREATED_AT,
s.CREATED_BY,
s.UPDATED_AT,
s.UPDATED_BY,
s.REMARK,
COALESCE(e.ennm, h.hbrvnm, b.basename, r.rvnm) AS orgName
FROM SYS_USER_DATA_SCOPE s
LEFT JOIN SD_ENGINFO_B_H e ON s.ORG_TYPE = 'STATION' AND s.ORG_ID = e.stcd
LEFT JOIN SD_HBRV_DIC h ON s.ORG_TYPE = 'HBRVCD' AND s.ORG_ID = h.hbrvcd
LEFT JOIN SD_HYDROBASE b ON s.ORG_TYPE = 'BASE' AND s.ORG_ID = b.baseid
LEFT JOIN SD_RVCD_DIC r ON s.ORG_TYPE = 'RVCD' AND s.ORG_ID = r.rvcd
WHERE s.USER_ID = #{userId}
AND s.STATUS = 1
ORDER BY s.CREATED_AT DESC
</select>
<select id="selectValidPermissionsWithNameByUserIds" resultMap="BaseResultMap">
SELECT
s.ID,
s.USER_ID,
s.ORG_TYPE,
s.ORG_ID,
s.PARENT_ID,
s.ORG_LEVEL,
s.PATH,
s.PERMISSION_TYPE,
s.ROLE_CODE,
s.DATA_SCOPE,
s.STATUS,
s.START_TIME,
s.END_TIME,
s.CREATED_AT,
s.CREATED_BY,
s.UPDATED_AT,
s.UPDATED_BY,
s.REMARK,
COALESCE(e.ENNM, h.RVNM) AS orgName
FROM SYS_USER_DATA_SCOPE s
LEFT JOIN SD_ENGINFO_B_H e ON s.ORG_TYPE = 'STATION' AND s.ORG_ID = e.stcd
LEFT JOIN SD_RVCD_DIC h ON s.ORG_TYPE = 'RVCD' AND s.ORG_ID = h.rvcd
WHERE s.USER_ID IN
<foreach collection="userIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
AND s.STATUS = 1
ORDER BY s.CREATED_AT DESC
</select>
<!-- <select id="selectValidPermissionsWithNameByUserIds" resultMap="BaseResultMap">-->
<!-- SELECT-->
<!-- s.ID,-->
<!-- s.USER_ID,-->
<!-- s.ORG_TYPE,-->
<!-- s.ORG_ID,-->
<!-- s.PARENT_ID,-->
<!-- s.ORG_LEVEL,-->
<!-- s.PATH,-->
<!-- s.PERMISSION_TYPE,-->
<!-- s.ROLE_CODE,-->
<!-- s.DATA_SCOPE,-->
<!-- s.STATUS,-->
<!-- s.START_TIME,-->
<!-- s.END_TIME,-->
<!-- s.CREATED_AT,-->
<!-- s.CREATED_BY,-->
<!-- s.UPDATED_AT,-->
<!-- s.UPDATED_BY,-->
<!-- s.REMARK,-->
<!-- COALESCE(e.ENNM, h.HBRVNM) AS orgName-->
<!-- FROM SYS_USER_DATA_SCOPE s-->
<!-- LEFT JOIN SD_ENGINFO_B_H e ON s.ORG_TYPE = 'STATION' AND s.ORG_ID = e.stcd-->
<!-- LEFT JOIN SD_HBRV_DIC h ON s.ORG_TYPE = 'HBRVCD' AND s.ORG_ID = h.hbrvcd-->
<!-- WHERE s.USER_ID IN-->
<!-- <foreach collection="userIds" item="id" open="(" separator="," close=")">-->
<!-- #{id}-->
<!-- </foreach>-->
<!-- AND s.STATUS = 1-->
<!-- ORDER BY s.CREATED_AT DESC-->
<!-- </select>-->
</mapper>