DimensionValueOrgExtendsMapper.xml 3.06 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,
gary's avatar
gary committed
20 21
        structure_id AS DIMENSION_VALUE_ID,
        id AS ORGANIZATION_ID
neo's avatar
neo committed
22
        FROM
gary's avatar
gary committed
23
        organization
neo's avatar
neo committed
24 25
        UNION
        SELECT
frank.xa.zhang's avatar
frank.xa.zhang committed
26
        #{businessUnitId} AS ID,
gary's avatar
gary committed
27 28
        business_unit_id AS DIMENSION_VALUE_ID,
        id AS ORGANIZATION_ID
neo's avatar
neo committed
29
        FROM
gary's avatar
gary committed
30
        organization
neo's avatar
neo committed
31 32 33 34

        UNION

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

        UNION

        SELECT
gary's avatar
gary committed
44 45 46
        id as ID,
        dimension_value_id as DimensionValueID,
        organization_id as OrganizationID
neo's avatar
neo committed
47
        FROM
gary's avatar
gary committed
48
        dimension_value_org
neo's avatar
neo committed
49
        )
frank.xa.zhang's avatar
frank.xa.zhang committed
50
        Q
neo's avatar
neo committed
51 52 53
        JOIN
        (
        SELECT
gary's avatar
gary committed
54 55 56
        id AS DIMENSION_VALUE_ID,
        name AS DIMENSION_VALUE_NAME,
        is_active AS IS_ACTIVE,
frank.xa.zhang's avatar
frank.xa.zhang committed
57
        #{organizationStructureId} AS DIMENSION_ID,
gary's avatar
gary committed
58 59
        create_time AS CREATE_TIME,
        update_time AS UPDATE_TIME
neo's avatar
neo committed
60
        FROM
gary's avatar
gary committed
61
        organization_structure
neo's avatar
neo committed
62
        WHERE
gary's avatar
gary committed
63
        is_active=1
neo's avatar
neo committed
64

neo's avatar
neo committed
65
        UNION
neo's avatar
neo committed
66 67

        SELECT
gary's avatar
gary committed
68 69 70
        id AS DIMENSION_VALUE_ID,
        name AS DIMENSION_VALUE_NAME,
        is_active AS IS_ACTIVE,
frank.xa.zhang's avatar
frank.xa.zhang committed
71
        #{businessUnitId} AS DIMENSION_ID,
gary's avatar
gary committed
72 73
        create_time AS CREATE_TIME,
        update_time AS UPDATE_TIME
neo's avatar
neo committed
74
        FROM
gary's avatar
gary committed
75
        business_unit
neo's avatar
neo committed
76
        WHERE
gary's avatar
gary committed
77
        is_active=1
neo's avatar
neo committed
78 79 80 81

        UNION

        SELECT
gary's avatar
gary committed
82 83 84
        id AS DIMENSION_VALUE_ID,
        name AS DIMENSION_VALUE_NAME,
        is_active AS IS_ACTIVE,
frank.xa.zhang's avatar
frank.xa.zhang committed
85
        #{areaId} AS DIMENSION_ID,
gary's avatar
gary committed
86 87
        SYSDATE() AS CREATE_TIME,
        SYSDATE() AS UPDATE_TIME
neo's avatar
neo committed
88
        FROM
gary's avatar
gary committed
89
        area
neo's avatar
neo committed
90
        WHERE
gary's avatar
gary committed
91
        is_active=1
neo's avatar
neo committed
92 93 94 95

        UNION

        SELECT
gary's avatar
gary committed
96 97 98 99 100 101
        id AS DIMENSION_VALUE_ID,
        name AS DIMENSION_VALUE_NAME,
        is_active AS IS_ACTIVE,
        dimension_id AS DIMENSION_ID,
        create_time AS CREATE_TIME,
        update_time AS UPDATE_TIME
neo's avatar
neo committed
102
        FROM
gary's avatar
gary committed
103
        dimension_value
neo's avatar
neo committed
104
        WHERE
gary's avatar
gary committed
105
        is_active=1
neo's avatar
neo committed
106
        )
frank.xa.zhang's avatar
frank.xa.zhang committed
107
        P
neo's avatar
neo committed
108
        ON
gary's avatar
gary committed
109
        P.dimension_value_id = Q.dimension_value_id
neo's avatar
neo committed
110
        JOIN
gary's avatar
gary committed
111
        dimension R
neo's avatar
neo committed
112
        ON
gary's avatar
gary committed
113 114
        R.is_active = 1
        AND P.dimension_id = R.id
115
    </select>
neo's avatar
neo committed
116

117
</mapper>