WholeProcessPlatform/backend/src/main/resources/mapper/data/SysUserDataScopeMapper.xml

107 lines
3.8 KiB
XML
Raw Normal View History

2026-04-20 16:03:36 +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.yfd.platform.data.mapper.SysUserDataScopeMapper">
<resultMap id="BaseResultMap" type="com.yfd.platform.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
2026-05-06 15:44:26 +08:00
-- AND (START_TIME IS NULL OR START_TIME &lt;= SYSDATE)
-- AND (END_TIME IS NULL OR END_TIME &gt;= SYSDATE)
2026-04-20 16:03:36 +08:00
ORDER BY CREATED_AT DESC
</select>
2026-05-11 08:17:21 +08:00
<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>
2026-04-20 16:03:36 +08:00
</mapper>