<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
~
|
~ Copyright (c) 2018-2025, ztt All rights reserved.
|
~
|
~ Redistribution and use in source and binary forms, with or without
|
~ modification, are permitted provided that the following conditions are met:
|
~
|
~ Redistributions of source code must retain the above copyright notice,
|
~ this list of conditions and the following disclaimer.
|
~ Redistributions in binary form must reproduce the above copyright
|
~ notice, this list of conditions and the following disclaimer in the
|
~ documentation and/or other materials provided with the distribution.
|
~ Neither the name of the pig4cloud.com developer nor the names of its
|
~ contributors may be used to endorse or promote products derived from
|
~ this software without specific prior written permission.
|
~ Author: ztt
|
~
|
-->
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.chinaztt.mes.aps.mapper.ApsResourceRelationMapper">
|
|
<resultMap id="resourceRelationMap" type="com.chinaztt.mes.aps.entity.ApsResourceRelation">
|
<id property="ancestry" column="ancestry"/>
|
<result property="descendants" column="descendants"/>
|
</resultMap>
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
ancestry,
|
descendants
|
</sql>
|
|
<!-- 更新资源关系 -->
|
<update id="updateDeptRelations">
|
DELETE
|
FROM aps_resource_relation
|
WHERE descendants IN (SELECT
|
temp.descendants
|
FROM (SELECT
|
descendants
|
FROM aps_resource_relation
|
WHERE ancestry = #{descendants}) temp)
|
AND ancestry IN (SELECT
|
temp.ancestry
|
FROM (SELECT
|
ancestry
|
FROM
|
aps_resource_relation
|
WHERE descendants = #{descendants}
|
AND ancestry != descendants) temp);
|
INSERT INTO aps_resource_relation (ancestry, descendants)
|
SELECT
|
a.ancestry,
|
b.descendants
|
FROM aps_resource_relation a
|
CROSS JOIN aps_resource_relation b
|
WHERE a.descendants = #{ancestry}
|
AND b.ancestry = #{descendants};
|
</update>
|
|
<!--删除资源-->
|
<delete id="deleteDeptRelationsById">
|
DELETE
|
FROM
|
aps_resource_relation
|
WHERE descendants IN (
|
SELECT
|
temp.descendants
|
FROM
|
(SELECT
|
descendants
|
FROM
|
aps_resource_relation
|
WHERE
|
ancestry = #{id}) temp)
|
</delete>
|
</mapper>
|