DimensionValueOrgExtendsMapper.xml 2.87 KB
Newer Older
1 2 3
<?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="pwc.taxtech.atms.dao.DimensionValueOrgMapper">
neo's avatar
neo committed
4

5
    <resultMap id="UnionDimensionValueOrg" type="pwc.taxtech.atms.dto.dimension.UnionDimensionValueOrg">
6
        <id column="ID" jdbcType="VARCHAR" property="id"/>
neo's avatar
neo committed
7 8 9 10
        <result column="DIMENSION_VALUE_ID" jdbcType="VARCHAR" property="dimensionValueId"/>
        <result column="ORGANIZATION_ID" jdbcType="VARCHAR" property="organizationId"/>
        <result column="DIMENSION_ID" jdbcType="VARCHAR" property="dimensionId"/>
        <result column="DIMENSION_VALUE_NAME" jdbcType="VARCHAR" property="dimensionValueName"/>
11 12
    </resultMap>

neo's avatar
neo committed
13 14 15 16 17 18
    <select id="selectUnionDimensionValueOrgByDimension" parameterType="pwc.taxtech.atms.dto.DimensionParamDto" resultMap="UnionDimensionValueOrg">
        SELECT
        *
        FROM
        (
        SELECT
frank.xa.zhang's avatar
frank.xa.zhang committed
19
        #{organizationStructureId} AS ID,
neo's avatar
neo committed
20 21 22 23 24 25
        STRUCTURE_ID AS DIMENSION_VALUE_ID,
        ID AS ORGANIZATION_ID
        FROM
        ORGANIZATION
        UNION
        SELECT
frank.xa.zhang's avatar
frank.xa.zhang committed
26
        #{businessUnitId} AS ID,
neo's avatar
neo committed
27 28 29 30 31 32 33 34
        BUSINESS_UNIT_ID AS DIMENSION_VALUE_ID,
        ID AS ORGANIZATION_ID
        FROM
        ORGANIZATION

        UNION

        SELECT
frank.xa.zhang's avatar
frank.xa.zhang committed
35
        #{areaId} AS ID,
neo's avatar
neo committed
36 37 38 39 40 41 42 43 44
        AREA_ID AS DIMENSION_VALUE_ID,
        ID AS ORGANIZATION_ID
        FROM
        ORGANIZATION

        UNION

        SELECT
        ID,
neo's avatar
neo committed
45 46
        DIMENSION_VALUE_ID,
        ORGANIZATION_ID
neo's avatar
neo committed
47 48 49
        FROM
        DIMENSION_VALUE_ORG
        )
frank.xa.zhang's avatar
frank.xa.zhang committed
50
        Q
neo's avatar
neo committed
51 52 53 54
        JOIN
        (
        SELECT
        ID AS DIMENSION_VALUE_ID,
neo's avatar
neo committed
55
        NAME AS DIMENSION_VALUE_NAME,
neo's avatar
neo committed
56
        IS_ACTIVE,
frank.xa.zhang's avatar
frank.xa.zhang committed
57
        #{organizationStructureId} AS DIMENSION_ID,
neo's avatar
neo committed
58 59 60 61 62 63 64
        CREATE_TIME,
        UPDATE_TIME
        FROM
        ORGANIZATION_STRUCTURE
        WHERE
        IS_ACTIVE=1

neo's avatar
neo committed
65
        UNION
neo's avatar
neo committed
66 67 68 69 70

        SELECT
        ID AS DIMENSION_VALUE_ID,
        NAME AS DIMENSION_VALUE_NAME,
        IS_ACTIVE,
frank.xa.zhang's avatar
frank.xa.zhang committed
71
        #{businessUnitId} AS DIMENSION_ID,
neo's avatar
neo committed
72 73 74 75 76 77 78 79 80 81 82 83 84
        CREATE_TIME,
        UPDATE_TIME
        FROM
        BUSINESS_UNIT
        WHERE
        IS_ACTIVE=1

        UNION

        SELECT
        ID AS DIMENSION_VALUE_ID,
        NAME AS DIMENSION_VALUE_NAME,
        IS_ACTIVE,
frank.xa.zhang's avatar
frank.xa.zhang committed
85
        #{areaId} AS DIMENSION_ID,
frank.xa.zhang's avatar
frank.xa.zhang committed
86
        SYSDATE
neo's avatar
neo committed
87
        AS CREATE_TIME,
frank.xa.zhang's avatar
frank.xa.zhang committed
88
        SYSDATE
neo's avatar
neo committed
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
        AS UPDATE_TIME
        FROM
        AREA
        WHERE
        IS_ACTIVE=1

        UNION

        SELECT
        ID AS DIMENSION_VALUE_ID,
        NAME AS DIMENSION_VALUE_NAME,
        IS_ACTIVE,
        DIMENSION_ID,
        CREATE_TIME,
        UPDATE_TIME
        FROM
        DIMENSION_VALUE
        WHERE
        IS_ACTIVE=1
        )
frank.xa.zhang's avatar
frank.xa.zhang committed
109
        P
neo's avatar
neo committed
110 111
        ON
        P.DIMENSION_VALUE_ID = Q.DIMENSION_VALUE_ID
neo's avatar
neo committed
112
        JOIN
frank.xa.zhang's avatar
frank.xa.zhang committed
113
        DIMENSION R
neo's avatar
neo committed
114 115 116
        ON
        R.IS_ACTIVE = 1
        AND P.DIMENSION_ID = R.ID
117
    </select>
neo's avatar
neo committed
118

119
</mapper>