OrganizationExtendsMapper.xml 28.4 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.OrganizationMapper">
4
    <resultMap extends="BaseResultMap" id="ResultMapWithAssociation" type="pwc.taxtech.atms.entity.Organization">
neo's avatar
neo committed
5 6
        <association column="AREA_ID" property="area" select="pwc.taxtech.atms.dao.AreaMapper.selectByPrimaryKey"/>
        <association column="BUSINESS_UNIT_ID" property="businessUnit" select="pwc.taxtech.atms.dao.BusinessUnitMapper.selectByPrimaryKey"/>
7
    </resultMap>
8
    <select id="selectByExampleWithAssociation" parameterType="pwc.taxtech.atms.entity.OrganizationExample"
9
            resultMap="ResultMapWithAssociation">
neo's avatar
neo committed
10
        SELECT
11
        <if test="distinct">
neo's avatar
neo committed
12
            DISTINCT
13 14
        </if>
        <include refid="Base_Column_List"/>
gary's avatar
gary committed
15
        FROM organization
16 17 18 19
        <if test="_parameter != null">
            <include refid="Example_Where_Clause"/>
        </if>
        <if test="orderByClause != null">
neo's avatar
neo committed
20
            ORDER BY ${orderByClause}
21 22 23 24
        </if>
    </select>

    <resultMap id="OrgBasicDto" type="pwc.taxtech.atms.dpo.OrgBasicDto">
gary's avatar
gary committed
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
        <id column="id" jdbcType="VARCHAR" property="id" />
        <result column="client_code" jdbcType="VARCHAR" property="clientCode" />
        <result column="name" jdbcType="VARCHAR" property="name" />
        <result column="code" jdbcType="VARCHAR" property="code" />
        <result column="parent_id" jdbcType="VARCHAR" property="parentId" />
        <result column="tax_payer_number" jdbcType="VARCHAR" property="taxPayerNumber" />
        <result column="region_id" jdbcType="VARCHAR" property="regionId" />
        <result column="structure_id" jdbcType="VARCHAR" property="structureId" />
        <result column="industry_id" jdbcType="VARCHAR" property="industryId" />
        <result column="business_unit_id" jdbcType="VARCHAR" property="businessUnitId" />
        <result column="is_active" jdbcType="BIT" property="isActive" />
        <result column="p_level" jdbcType="INTEGER" property="pLevel" />
        <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
        <result column="area_id" jdbcType="VARCHAR" property="areaId" />
        <result column="english_name" jdbcType="VARCHAR" property="englishName" />
        <result column="abbreviation" jdbcType="VARCHAR" property="abbreviation" />
        <result column="invoice_type" jdbcType="VARCHAR" property="invoiceType" />
        <result column="legal_person_name" jdbcType="VARCHAR" property="legalPersonName" />
        <result column="manufacture_address" jdbcType="VARCHAR" property="manufactureAddress" />
        <result column="register_address" jdbcType="VARCHAR" property="registerAddress" />
        <result column="bank_account_name" jdbcType="VARCHAR" property="bankAccountName" />
        <result column="bank_account_number" jdbcType="VARCHAR" property="bankAccountNumber" />
        <result column="phone_number" jdbcType="VARCHAR" property="phoneNumber" />
        <result column="registration_type" jdbcType="VARCHAR" property="registrationType" />
        <result column="remark" jdbcType="VARCHAR" property="remark" />
        <result column="vehicle_routing_location" jdbcType="VARCHAR" property="vehicleRoutingLocation" />
        <result column="ratepayer" jdbcType="VARCHAR" property="ratepayer" />
        <result column="address" jdbcType="VARCHAR" property="address" />
        <result column="foundation_date" jdbcType="TIMESTAMP" property="foundationDate" />
        <result column="registration_date" jdbcType="TIMESTAMP" property="registrationDate" />
        <result column="registration_location" jdbcType="VARCHAR" property="registrationLocation" />
        <result column="registration_capital" jdbcType="VARCHAR" property="registrationCapital" />
        <result column="business_allotted_time_from" jdbcType="TIMESTAMP" property="businessAllottedTimeFrom" />
        <result column="business_allotted_time_to" jdbcType="TIMESTAMP" property="businessAllottedTimeTo" />
        <result column="legal_code" jdbcType="VARCHAR" property="legalCode" />
        <result column="vehicleroutinglocation" jdbcType="VARCHAR" property="vehicleroutinglocation" />
        <result column="business_scope" jdbcType="VARCHAR" property="businessScope" />
        <result column="architecture_type" jdbcType="VARCHAR" property="architectureType" />
        <result column="num_of_branches" jdbcType="TINYINT" property="numOfBranches" />
        <result column="api_update_flag" jdbcType="BIT" property="apiUpdateFlag" />
        <result column="effec_time_of_general_taxpayers" jdbcType="TIMESTAMP" property="effecTimeOfGeneralTaxpayers" />
        <result column="registration_location_en" jdbcType="VARCHAR" property="registrationLocationEn" />
        <result column="paid_in_capital" jdbcType="VARCHAR" property="paidInCapital" />
        <result column="general_tax_payer_effective_time" jdbcType="TIMESTAMP" property="generalTaxPayerEffectiveTime" />
        <result column="oversea" jdbcType="BIT" property="oversea" />
        <result column="reg_status" jdbcType="VARCHAR" property="regStatus" />
        <result column="national_economic_industry" jdbcType="VARCHAR" property="nationalEconomicIndustry" />
        <result column="engage_national_prohibit_industry" jdbcType="BIT" property="engageNationalProhibitIndustry" />
        <result column="logout_time" jdbcType="TIMESTAMP" property="logoutTime" />
neo's avatar
neo committed
75 76 77 78 79 80 81 82 83
        <result column="BUSINESS_UNIT_ID" jdbcType="VARCHAR" property="businessUnitId"/>
        <result column="BUSINESS_UNIT_NAME" jdbcType="VARCHAR" property="businessUnitName"/>
        <result column="AREA_ID" jdbcType="VARCHAR" property="areaId"/>
        <result column="AREA_NAME" jdbcType="VARCHAR" property="areaName"/>
        <result column="INDUSTRY_ID" jdbcType="VARCHAR" property="industryId"/>
        <result column="INDUSTRY_NAME" jdbcType="VARCHAR" property="industryName"/>
        <result column="STRUCTURE_ID" jdbcType="VARCHAR" property="structureId"/>
        <result column="STRUCTURE_NAME" jdbcType="VARCHAR" property="structureName"/>
        <result column="REGION_NAME" jdbcType="VARCHAR" property="regionName"/>
84
    </resultMap>
neo's avatar
neo committed
85

86
    <select id="selectIndBusiunitAreaOrgstrctReg" parameterType="map" resultMap="OrgBasicDto">
neo's avatar
neo committed
87
        SELECT
gary's avatar
gary committed
88
        org.*,
gary's avatar
gary committed
89 90 91 92 93 94 95 96
        bu.id AS BUSINESS_UNIT_ID,
        bu.name AS BUSINESS_UNIT_NAME,
        area.id AS AREA_ID,
        area.name AS AREA_NAME,
        ind.id AS INDUSTRY_ID,
        ind.name AS INDUSTRY_NAME,
        os.id AS STRUCTURE_ID,
        os.name AS STRUCTURE_NAME,
gary's avatar
gary committed
97
        reg.merger_name AS REGION_NAME
neo's avatar
neo committed
98
        FROM
gary's avatar
gary committed
99
        organization  org
neo's avatar
neo committed
100
        LEFT JOIN
gary's avatar
gary committed
101
        industry  ind
neo's avatar
neo committed
102
        on
gary's avatar
gary committed
103
        org.industry_id = ind.id
neo's avatar
neo committed
104
        LEFT JOIN
gary's avatar
gary committed
105
        business_unit  bu
neo's avatar
neo committed
106
        on
gary's avatar
gary committed
107
        org.business_unit_id = bu.id
neo's avatar
neo committed
108
        LEFT JOIN
gary's avatar
gary committed
109
        area  area
neo's avatar
neo committed
110
        on
gary's avatar
gary committed
111
        org.area_id = area.id
neo's avatar
neo committed
112
        left JOIN
gary's avatar
gary committed
113
        organization_structure  os
neo's avatar
neo committed
114
        on
gary's avatar
gary committed
115
        org.structure_id = os.id
neo's avatar
neo committed
116
        left JOIN
gary's avatar
gary committed
117
        region  reg
neo's avatar
neo committed
118
        on
gary's avatar
gary committed
119
        org.region_id = reg.id
120
        <if test="orgIsActive != null and orgIsActive == true">
neo's avatar
neo committed
121
            WHERE
gary's avatar
gary committed
122
            org.is_active = 1
123
        </if>
neo's avatar
neo committed
124
        ORDER BY
gary's avatar
gary committed
125
        name
126 127 128
    </select>

    <resultMap id="OrganizationDto" type="pwc.taxtech.atms.dpo.OrganizationDto">
129
        <id column="ID" jdbcType="VARCHAR" property="id"/>
neo's avatar
neo committed
130

131
        <!-- 注意! OrganizationName 对应 name-->
neo's avatar
neo committed
132 133 134 135 136 137 138 139 140 141
        <result column="ORGANIZATION_NAME" jdbcType="VARCHAR" property="name"/>
        <result column="PARENT_ID" jdbcType="VARCHAR" property="parentId"/>
        <result column="INDUSTRY_NAME" jdbcType="VARCHAR" property="industryName"/>
        <result column="BUSINESS_UNIT_NAME" jdbcType="VARCHAR" property="businessUnitName"/>
        <result column="AREA_NAME" jdbcType="VARCHAR" property="areaName"/>
        <result column="BUSINESS_UNIT_ID" jdbcType="VARCHAR" property="businessUnitId"/>
        <result column="AREA_ID" jdbcType="VARCHAR" property="areaId"/>
        <result column="REGION_ID" jdbcType="VARCHAR" property="regionId"/>
        <result column="INDUSTRY_ID" jdbcType="VARCHAR" property="industryId"/>

142
        <!-- 注意! OrgStructureID 对应 structureID -->
neo's avatar
neo committed
143 144
        <result column="ORG_STRUCTURE_ID" jdbcType="VARCHAR" property="structureId"/>

145
        <!-- 注意! OrgStructureName 对应 structureName -->
neo's avatar
neo committed
146 147 148 149 150
        <result column="ORG_STRUCTURE_NAME" jdbcType="VARCHAR" property="structureName"/>
        <result column="P_LEVEL" jdbcType="INTEGER" property="pLevel"/>
        <result column="CODE" jdbcType="VARCHAR" property="code"/>
        <result column="TAX_PAYER_NUMBER" jdbcType="VARCHAR" property="taxPayerNumber"/>
        <result column="IS_ACTIVE" jdbcType="SMALLINT" property="isActive"/>
151
    </resultMap>
neo's avatar
neo committed
152

153
    <select id="selectIndBusiunitAreaOrgstrct" parameterType="map" resultMap="OrganizationDto">
neo's avatar
neo committed
154
        SELECT
gary's avatar
gary committed
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
        org.id AS ID,
        org.name AS ORGANIZATION_NAME,
        org.parent_id AS PARENT_ID,
        ind.name AS INDUSTRY_NAME,
        ind.id AS INDUSTRY_ID,
        bu.name AS BUSINESS_UNIT_NAME,
        bu.id AS BUSINESS_UNIT_ID,
        area.name AS AREA_NAME,
        area.id AS AREA_ID,
        org.region_id AS REGION_ID,
        os.id AS ORG_STRUCTURE_ID,
        os.name AS ORG_STRUCTURE_NAME,
        org.p_level AS P_LEVEL,
        org.code AS CODE,
        org.tax_payer_number AS TAX_PAYER_NUMBER,
        org.is_active AS IS_ACTIVE
neo's avatar
neo committed
171
        FROM
gary's avatar
gary committed
172
        organization  org
neo's avatar
neo committed
173
        left JOIN
gary's avatar
gary committed
174
        industry  ind
neo's avatar
neo committed
175
        on
gary's avatar
gary committed
176
        org.industry_id = ind.id
neo's avatar
neo committed
177
        left JOIN
gary's avatar
gary committed
178
        business_unit  bu
neo's avatar
neo committed
179
        on
gary's avatar
gary committed
180
        org.business_unit_id = bu.id
neo's avatar
neo committed
181
        left JOIN
gary's avatar
gary committed
182
        area  area
neo's avatar
neo committed
183
        on
gary's avatar
gary committed
184
        org.area_id = area.id
neo's avatar
neo committed
185
        left JOIN
gary's avatar
gary committed
186
        organization_structure  os
neo's avatar
neo committed
187
        on
gary's avatar
gary committed
188
        org.structure_id = os.id
189
        <if test="orgIsActive != null and orgIsActive == true ">
neo's avatar
neo committed
190
            where
gary's avatar
gary committed
191
            org.is_active = 1
192 193 194 195
        </if>
    </select>

    <select id="selectIndBusUnitAreaOrgStrctReg" parameterType="map" resultMap="OrganizationDtoForAreaRegIndBusList">
neo's avatar
neo committed
196
        SELECT
gary's avatar
gary committed
197 198 199 200 201 202 203 204 205 206 207 208 209 210
        P.name AS NAME,
        p.id AS ID,
        unit.id AS BUSINESS_UNIT_ID,
        unit.name AS BUSINESS_UNIT_NAME,
        p.region_id AS REGION_ID,
        p.industry_id AS INDUSTRY_ID,
        industry.name AS INDUSTRY_NAME,
        p.parent_id AS PARENT_ID,
        p.structure_id AS STRUCTURE_ID,
        structure.name AS STRUCTURE_NAME,
        p.area_id AS AREA_ID,
        area.name AS AREA_NAME,
        city.name AS REGION_NAME,
        city.parent_id AS PARENT_NAME
neo's avatar
neo committed
211
        FROM
gary's avatar
gary committed
212
        organization p
neo's avatar
neo committed
213
        LEFT JOIN
gary's avatar
gary committed
214
        business_unit unit
neo's avatar
neo committed
215
        on
gary's avatar
gary committed
216
        p.business_unit_id = unit.id --tempq
neo's avatar
neo committed
217
        left JOIN
gary's avatar
gary committed
218
        industry industry
neo's avatar
neo committed
219
        on
gary's avatar
gary committed
220
        p.industry_id = industry.id --industryReal
neo's avatar
neo committed
221
        left JOIN
gary's avatar
gary committed
222
        organization_structure structure
neo's avatar
neo committed
223
        on
gary's avatar
gary committed
224
        p.structure_id = structure.id --structureReal
neo's avatar
neo committed
225
        left JOIN
gary's avatar
gary committed
226
        area area
neo's avatar
neo committed
227
        on
gary's avatar
gary committed
228
        p.area_id = area.id --areaReal
neo's avatar
neo committed
229
        left JOIN
gary's avatar
gary committed
230
        region city
neo's avatar
neo committed
231
        on
gary's avatar
gary committed
232
        p.region_id = city.id --cityReal
neo's avatar
neo committed
233
        where
gary's avatar
gary committed
234 235
        p.area_id = #{areaId,jdbcType=VARCHAR} --input areaId
        AND CITY.level_type = #{regionLevelType,jdbcType=INTEGER} --City Level Type
236
        <if test="orgIsActive != null and orgIsActive == true ">
gary's avatar
gary committed
237
            AND P.is_active = 1
238 239
        </if>
        <if test="orgIsActive != null and orgIsActive == false ">
gary's avatar
gary committed
240
            AND P.is_active = 0
241 242 243 244
        </if>
    </select>

    <resultMap id="OrganizationDtoForAreaRegIndBusList" type="pwc.taxtech.atms.dpo.OrganizationDto">
245
        <id column="ID" jdbcType="VARCHAR" property="id"/>
neo's avatar
neo committed
246 247 248 249 250 251 252 253 254 255 256 257 258
        <result column="NAME" jdbcType="VARCHAR" property="name"/>
        <result column="BUSINESS_UNIT_ID" jdbcType="VARCHAR" property="businessUnitId"/>
        <result column="BUSINESS_UNIT_NAME" jdbcType="VARCHAR" property="businessUnitName"/>
        <result column="REGION_ID" jdbcType="VARCHAR" property="regionId"/>
        <result column="INDUSTRY_ID" jdbcType="VARCHAR" property="industryId"/>
        <result column="INDUSTRY_NAME" jdbcType="VARCHAR" property="industryName"/>
        <result column="PARENT_ID" jdbcType="VARCHAR" property="parentId"/>
        <result column="STRUCTURE_ID" jdbcType="VARCHAR" property="structureId"/>
        <result column="STRUCTURE_NAME" jdbcType="VARCHAR" property="structureName"/>
        <result column="AREA_ID" jdbcType="VARCHAR" property="areaId"/>
        <result column="AREA_NAME" jdbcType="VARCHAR" property="areaName"/>
        <result column="REGION_NAME" jdbcType="VARCHAR" property="regionName"/>
        <result column="PARENT_NAME" jdbcType="VARCHAR" property="parentName"/>
259 260 261
    </resultMap>

    <resultMap id="OrganizationDtoForCDOrgList" type="pwc.taxtech.atms.dpo.OrganizationDto">
262
        <id column="ID" jdbcType="VARCHAR" property="id"/>
neo's avatar
neo committed
263 264 265 266 267 268 269
        <result column="NAME" jdbcType="VARCHAR" property="name"/>
        <result column="ATTRIBUTE_ID" jdbcType="VARCHAR" property="attributeId"/>
        <result column="ATTRIBUTE_NAME" jdbcType="VARCHAR" property="attributeName"/>
        <result column="DIMENSION_ID" jdbcType="VARCHAR" property="dimensionId"/>
        <result column="DIMENSION_NAME" jdbcType="VARCHAR" property="dimensionName"/>
        <result column="DIMENSION_VALUE_ID" jdbcType="VARCHAR" property="dimensionValueId"/>
        <result column="DIMENSION_VALUE_NAME" jdbcType="VARCHAR" property="dimensionValueName"/>
270
    </resultMap>
neo's avatar
neo committed
271 272

    <!-- * 由于C#中OrganizationService.cs line 2356~2357以下代码被注释,故JAVA中未join * statDimension表做联合查询。 join sd in stat Dimension on d.ID equals sd.DimensionID * from sdTp in sdTemp.DefaultIfEmpty() -->
273
    <select id="getCustomDimensionOrgList" resultMap="OrganizationDtoForCDOrgList">
neo's avatar
neo committed
274
        SELECT DISTINCT
gary's avatar
gary committed
275 276 277 278 279 280 281 282
        ORG.id AS ID,
        ORG.name AS NAME,
        D.attribute_id AS ATTRIBUTE_ID,
        S.name AS ATTRIBUTE_NAME,
        D.id AS DIMENSION_ID,
        D.name AS DIMENSION_NAME,
        DV.id AS DIMENSION_VALUE_ID,
        DV.name AS DIMENSION_VALUE_NAME
neo's avatar
neo committed
283
        FROM
gary's avatar
gary committed
284
        organization  ORG
neo's avatar
neo committed
285
        JOIN
gary's avatar
gary committed
286
        dimension_value_org  DVG
neo's avatar
neo committed
287
        ON
gary's avatar
gary committed
288
        ORG.id = DVG.organization_id
neo's avatar
neo committed
289
        JOIN
gary's avatar
gary committed
290
        dimension_value  DV
neo's avatar
neo committed
291
        ON
gary's avatar
gary committed
292
        DVG.dimension_value_id = DV.id
neo's avatar
neo committed
293
        JOIN
gary's avatar
gary committed
294
        dimension  D
neo's avatar
neo committed
295
        ON
gary's avatar
gary committed
296
        DV.dimension_id = D.id
neo's avatar
neo committed
297
        JOIN
gary's avatar
gary committed
298
        statistic_attribute  S
neo's avatar
neo committed
299
        ON
gary's avatar
gary committed
300
        D.attribute_id = S.id
neo's avatar
neo committed
301
        WHERE
gary's avatar
gary committed
302 303 304 305
        ORG.is_active = 1
        AND S.is_active = 1
        AND D.is_active = 1
        AND DV.is_active = 1
306
    </select>
neo's avatar
neo committed
307

308
    <resultMap id="OrgDtoForGetDimValueOrgList" type="pwc.taxtech.atms.dpo.DimensionValueOrgDto">
309
        <id column="ID" jdbcType="VARCHAR" property="id"/>
neo's avatar
neo committed
310 311 312 313 314 315
        <result column="DIMENSION_VALUE_ID" jdbcType="VARCHAR" property="dimensionValueId"/>
        <result column="ORGANIZATION_ID" jdbcType="VARCHAR" property="organizationId"/>
        <result column="ORGANIZATION_NAME" jdbcType="VARCHAR" property="organizationName"/>
        <result column="DIMENSION_ID" jdbcType="VARCHAR" property="dimensionId"/>
        <result column="DIMENSION_NAME" jdbcType="VARCHAR" property="dimensionName"/>
        <result column="DIMENSION_VALUE" jdbcType="VARCHAR" property="dimensionValue"/>
316
    </resultMap>
neo's avatar
neo committed
317

318
    <select id="getDimensionValueOrgDtoList" resultMap="OrgDtoForGetDimValueOrgList">
neo's avatar
neo committed
319
        SELECT
gary's avatar
gary committed
320 321 322 323
        DVQ.dimension_value_id AS DIMENSION_VALUE_ID,
        DVGQ.organization_id AS ORGANIZATION_ID,
        DVGQ.name AS ORGANIZATION_NAME,
        DVQ.dimension_id AS DIMENSION_ID,
gary's avatar
gary committed
324
        d.name AS DIMENSION_NAME,
gary's avatar
gary committed
325 326
        DVQ.dimension_value_name AS DIMENSION_VALUE,
        DVGQ.organization_id AS ID
neo's avatar
neo committed
327
        FROM
328
        (
neo's avatar
neo committed
329
        SELECT
gary's avatar
gary committed
330 331
        org.id AS DIMENSION_VALUE_ID,
        org.name AS DIMENSION_VALUE_NAME,
gary's avatar
gary committed
332
        org.is_active AS IS_ACTIVE,
gary's avatar
gary committed
333
        "c61a5bd6-a996-4952-9869-d053966537e8" DIMENSION_ID,
gary's avatar
gary committed
334 335
        org.create_time AS CREATE_TIME,
        org.update_time AS UPDATE_TIME
neo's avatar
neo committed
336
        FROM
gary's avatar
gary committed
337
        organization  org
neo's avatar
neo committed
338
        where
gary's avatar
gary committed
339
        org.is_active = 1
340 341 342

        union

neo's avatar
neo committed
343
        SELECT
gary's avatar
gary committed
344 345
        bu.id AS DIMENSION_VALUE_ID,
        bu.name AS DIMENSION_VALUE_NAME,
gary's avatar
gary committed
346
        bu.is_active AS IS_ACTIVE,
gary's avatar
gary committed
347
        "c61a5bd6-a996-4952-9869-d053995237e5" DIMENSION_ID,
gary's avatar
gary committed
348 349
        bu.create_time AS CREATE_TIME,
        bu.update_time AS UPDATE_TIME
neo's avatar
neo committed
350
        FROM
gary's avatar
gary committed
351
        business_unit  bu
neo's avatar
neo committed
352
        where
gary's avatar
gary committed
353
        bu.is_active = 1
354 355 356

        union

neo's avatar
neo committed
357
        SELECT
gary's avatar
gary committed
358 359 360
        AREA.id AS DIMENSION_VALUE_ID,
        AREA.name AS DIMENSION_VALUE_NAME,
        AREA.is_active AS IS_ACTIVE,
gary's avatar
gary committed
361
        "c61a5bd6-a996-4952-9869-d053995237e6" DIMENSION_ID,
gary's avatar
gary committed
362 363
        SYSDATE() AS CREATE_TIME,
        SYSDATE() AS UPDATE_TIME
neo's avatar
neo committed
364
        FROM
gary's avatar
gary committed
365
        area AREA
neo's avatar
neo committed
366
        where
gary's avatar
gary committed
367
        AREA.is_active = 1
368 369 370

        union

neo's avatar
neo committed
371
        SELECT
gary's avatar
gary committed
372 373 374 375 376 377
        dv.id AS DIMENSION_VALUE_ID,
        dv.name AS DIMENSION_VALUE_NAME,
        dv.is_active AS IS_ACTIVE,
        dv.dimension_id AS DIMENSION_ID,
        dv.create_time AS CREATE_TIME,
        dv.update_time AS UPDATE_TIME
neo's avatar
neo committed
378
        FROM
gary's avatar
gary committed
379
        dimension_value dv
neo's avatar
neo committed
380
        )
frank.xa.zhang's avatar
frank.xa.zhang committed
381
        DVQ
neo's avatar
neo committed
382 383 384
        JOIN
        (
        SELECT
gary's avatar
gary committed
385
        id as ID,
neo's avatar
neo committed
386 387
        Name
        FROM
gary's avatar
gary committed
388
        dimension
neo's avatar
neo committed
389
        WHERE
gary's avatar
gary committed
390
        is_active = 1
neo's avatar
neo committed
391
        )
frank.xa.zhang's avatar
frank.xa.zhang committed
392
        d
neo's avatar
neo committed
393
        on
gary's avatar
gary committed
394
        DVQ.dimension_id = d.id
neo's avatar
neo committed
395 396 397
        JOIN
        (
        SELECT
gary's avatar
gary committed
398
        "c61a5bd6_-a996_-4952_-9869_-d053966537e8_" ID,
gary's avatar
gary committed
399 400 401
        org.structure_id AS DIMENSION_VALUE_ID,
        org.id AS ORGANIZATION_ID,
        org.name AS NAME
neo's avatar
neo committed
402
        FROM
gary's avatar
gary committed
403
        organization org
neo's avatar
neo committed
404
        WHERE
gary's avatar
gary committed
405
        org.is_active = 1
neo's avatar
neo committed
406 407 408 409

        UNION

        SELECT
gary's avatar
gary committed
410
        "c61a5bd6_-a996_-4952_-9869_-d053995237e5_" ID,
gary's avatar
gary committed
411 412 413
        org.business_unit_id AS DIMENSION_VALUE_ID,
        org.id AS ORGANIZATION_ID,
        org.name AS NAME
neo's avatar
neo committed
414
        FROM
gary's avatar
gary committed
415
        organization  org
neo's avatar
neo committed
416
        WHERE
gary's avatar
gary committed
417
        org.is_active = 1
neo's avatar
neo committed
418 419 420 421

        UNION

        SELECT
gary's avatar
gary committed
422
        "c61a5bd6_-a996_-4952_-9869_-d053995237e6_" ID,
gary's avatar
gary committed
423 424 425
        org.area_id AS DIMENSION_VALUE_ID,
        org.id AS ORGANIZATION_ID,
        org.name AS NAME
neo's avatar
neo committed
426
        FROM
gary's avatar
gary committed
427
        organization  org
neo's avatar
neo committed
428
        WHERE
gary's avatar
gary committed
429
        org.is_active = 1
neo's avatar
neo committed
430 431 432 433

        UNION

        SELECT
gary's avatar
gary committed
434 435 436 437
        dv.id AS ID,
        dv.dimension_value_id AS DIMENSION_VALUE_ID,
        dv.organization_id AS ORGANIZATION_ID,
        org.name AS NAME
neo's avatar
neo committed
438
        FROM
gary's avatar
gary committed
439
        dimension_value_org  dv
neo's avatar
neo committed
440
        JOIN
gary's avatar
gary committed
441
        organization  org
neo's avatar
neo committed
442
        on
gary's avatar
gary committed
443
        dv.organization_id = org.ID
neo's avatar
neo committed
444
        WHERE
gary's avatar
gary committed
445
        org.is_active = 1
neo's avatar
neo committed
446
        )
frank.xa.zhang's avatar
frank.xa.zhang committed
447
        DVGQ
neo's avatar
neo committed
448
        on
gary's avatar
gary committed
449
        DVQ.DIMENSION_VALUE_ID = DVGQ.DIMENSION_VALUE_ID
450
    </select>
neo's avatar
neo committed
451

452
    <resultMap id="OrgDtoForGetAllCusDimOrgList" type="pwc.taxtech.atms.dpo.OrganizationDto">
453
        <id column="ID" jdbcType="VARCHAR" property="id"/>
neo's avatar
neo committed
454 455 456 457 458 459 460
        <result column="NAME" jdbcType="VARCHAR" property="name"/>
        <result column="ATTRIBUTE_ID" jdbcType="VARCHAR" property="attributeId"/>
        <result column="ATTRIBUTE_NAME" jdbcType="VARCHAR" property="attributeName"/>
        <result column="DIMENSION_ID" jdbcType="VARCHAR" property="dimensionId"/>
        <result column="DIMENSION_NAME" jdbcType="VARCHAR" property="dimensionName"/>
        <result column="DIMENSION_VALUE_ID" jdbcType="VARCHAR" property="dimensionValueId"/>
        <result column="DIMENSION_VALUE_NAME" jdbcType="VARCHAR" property="dimensionValueName"/>
461 462 463
    </resultMap>

    <select id="getAllCustomDimensionOrgList" resultMap="OrgDtoForGetAllCusDimOrgList">
neo's avatar
neo committed
464
        SELECT
gary's avatar
gary committed
465 466 467 468 469 470 471 472
        Q.id AS ID,
        Q.name AS NAME,
        D.attribute_id AS ATTRIBUTE_ID,
        S.name AS ATTRIBUTE_NAME,
        D.id AS DIMENSION_ID,
        D.name AS DIMENSION_NAME,
        DV.id AS DIMENSION_VALUE_ID,
        DV.name AS DIMENSION_VALUE_NAME
neo's avatar
neo committed
473
        FROM
474
        (
neo's avatar
neo committed
475
        SELECT
gary's avatar
gary committed
476 477
        id as ID,
        name as NAME
neo's avatar
neo committed
478
        FROM
gary's avatar
gary committed
479
        organization  P
neo's avatar
neo committed
480
        WHERE
gary's avatar
gary committed
481
        P.is_active = 1
neo's avatar
neo committed
482
        )
frank.xa.zhang's avatar
frank.xa.zhang committed
483
        Q
neo's avatar
neo committed
484
        JOIN
gary's avatar
gary committed
485
        dimension_value_org  DVG
neo's avatar
neo committed
486
        ON
gary's avatar
gary committed
487
        Q.id = DVG.organization_id
neo's avatar
neo committed
488
        JOIN
gary's avatar
gary committed
489
        dimension_value  DV
neo's avatar
neo committed
490
        ON
gary's avatar
gary committed
491
        DVG.dimension_value_id = DV.id
neo's avatar
neo committed
492
        JOIN
gary's avatar
gary committed
493
        dimension  D
neo's avatar
neo committed
494
        ON
gary's avatar
gary committed
495
        DV.dimension_id = D.id
neo's avatar
neo committed
496
        JOIN
gary's avatar
gary committed
497
        statistic_attribute  S
neo's avatar
neo committed
498
        ON
gary's avatar
gary committed
499
        D.attribute_id = S.id
neo's avatar
neo committed
500
        WHERE
gary's avatar
gary committed
501
        S.is_active = 1
502 503 504
    </select>

    <resultMap id="OrgDtoForGetSingleOrgByOrgID" type="pwc.taxtech.atms.dpo.OrganizationDto">
gary's avatar
gary committed
505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554
        <id column="id" jdbcType="VARCHAR" property="id" />
        <result column="client_code" jdbcType="VARCHAR" property="clientCode" />
        <result column="name" jdbcType="VARCHAR" property="name" />
        <result column="code" jdbcType="VARCHAR" property="code" />
        <result column="parent_id" jdbcType="VARCHAR" property="parentId" />
        <result column="tax_payer_number" jdbcType="VARCHAR" property="taxPayerNumber" />
        <result column="region_id" jdbcType="VARCHAR" property="regionId" />
        <result column="structure_id" jdbcType="VARCHAR" property="structureId" />
        <result column="industry_id" jdbcType="VARCHAR" property="industryId" />
        <result column="business_unit_id" jdbcType="VARCHAR" property="businessUnitId" />
        <result column="is_active" jdbcType="BIT" property="isActive" />
        <result column="p_level" jdbcType="INTEGER" property="pLevel" />
        <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
        <result column="area_id" jdbcType="VARCHAR" property="areaId" />
        <result column="english_name" jdbcType="VARCHAR" property="englishName" />
        <result column="abbreviation" jdbcType="VARCHAR" property="abbreviation" />
        <result column="invoice_type" jdbcType="VARCHAR" property="invoiceType" />
        <result column="legal_person_name" jdbcType="VARCHAR" property="legalPersonName" />
        <result column="manufacture_address" jdbcType="VARCHAR" property="manufactureAddress" />
        <result column="register_address" jdbcType="VARCHAR" property="registerAddress" />
        <result column="bank_account_name" jdbcType="VARCHAR" property="bankAccountName" />
        <result column="bank_account_number" jdbcType="VARCHAR" property="bankAccountNumber" />
        <result column="phone_number" jdbcType="VARCHAR" property="phoneNumber" />
        <result column="registration_type" jdbcType="VARCHAR" property="registrationType" />
        <result column="remark" jdbcType="VARCHAR" property="remark" />
        <result column="vehicle_routing_location" jdbcType="VARCHAR" property="vehicleRoutingLocation" />
        <result column="ratepayer" jdbcType="VARCHAR" property="ratepayer" />
        <result column="address" jdbcType="VARCHAR" property="address" />
        <result column="foundation_date" jdbcType="TIMESTAMP" property="foundationDate" />
        <result column="registration_date" jdbcType="TIMESTAMP" property="registrationDate" />
        <result column="registration_location" jdbcType="VARCHAR" property="registrationLocation" />
        <result column="registration_capital" jdbcType="VARCHAR" property="registrationCapital" />
        <result column="business_allotted_time_from" jdbcType="TIMESTAMP" property="businessAllottedTimeFrom" />
        <result column="business_allotted_time_to" jdbcType="TIMESTAMP" property="businessAllottedTimeTo" />
        <result column="legal_code" jdbcType="VARCHAR" property="legalCode" />
        <result column="vehicleroutinglocation" jdbcType="VARCHAR" property="vehicleroutinglocation" />
        <result column="business_scope" jdbcType="VARCHAR" property="businessScope" />
        <result column="architecture_type" jdbcType="VARCHAR" property="architectureType" />
        <result column="num_of_branches" jdbcType="TINYINT" property="numOfBranches" />
        <result column="api_update_flag" jdbcType="BIT" property="apiUpdateFlag" />
        <result column="effec_time_of_general_taxpayers" jdbcType="TIMESTAMP" property="effecTimeOfGeneralTaxpayers" />
        <result column="registration_location_en" jdbcType="VARCHAR" property="registrationLocationEn" />
        <result column="paid_in_capital" jdbcType="VARCHAR" property="paidInCapital" />
        <result column="general_tax_payer_effective_time" jdbcType="TIMESTAMP" property="generalTaxPayerEffectiveTime" />
        <result column="oversea" jdbcType="BIT" property="oversea" />
        <result column="reg_status" jdbcType="VARCHAR" property="regStatus" />
        <result column="national_economic_industry" jdbcType="VARCHAR" property="nationalEconomicIndustry" />
        <result column="engage_national_prohibit_industry" jdbcType="BIT" property="engageNationalProhibitIndustry" />
        <result column="logout_time" jdbcType="TIMESTAMP" property="logoutTime" />
neo's avatar
neo committed
555 556 557 558 559 560
        <result column="INDUSTRY_NAME" jdbcType="VARCHAR" property="industryName"/>
        <result column="REGION_NAME" jdbcType="VARCHAR" property="regionName"/>
        <result column="STRUCTURE_NAME" jdbcType="VARCHAR" property="structureName"/>
        <result column="PARENT_REGION_ID" jdbcType="VARCHAR" property="parentRegionId"/>
        <result column="AREA_NAME" jdbcType="VARCHAR" property="areaName"/>
        <result column="BUSINESS_UNIT_NAME" jdbcType="VARCHAR" property="businessUnitName"/>
gary's avatar
gary committed
561
    </resultMap>
neo's avatar
neo committed
562

563
    <select id="getSingleOrgByOrgIdToOrgDto" parameterType="map" resultMap="OrgDtoForGetSingleOrgByOrgID">
neo's avatar
neo committed
564
        SELECT
gary's avatar
gary committed
565
        M.*,
gary's avatar
gary committed
566
        N.name AS INDUSTRY_NAME,
gary's avatar
gary committed
567
        CONCAT(PREGION.name,T.name) AS REGION_NAME,
gary's avatar
gary committed
568 569 570 571
        S.name AS STRUCTURE_NAME,
        T.parent_id AS PARENT_REGION_ID,
        AR.name AS AREA_NAME,
        BU.name AS BUSINESS_UNIT_NAME
neo's avatar
neo committed
572
        FROM
gary's avatar
gary committed
573
        organization  M
neo's avatar
neo committed
574
        LEFT JOIN
gary's avatar
gary committed
575
        industry  N
neo's avatar
neo committed
576
        ON
gary's avatar
gary committed
577
        M.industry_id = N.id
neo's avatar
neo committed
578
        LEFT JOIN
gary's avatar
gary committed
579
        region  T
neo's avatar
neo committed
580
        ON
gary's avatar
gary committed
581
        M.region_id = T.id
neo's avatar
neo committed
582
        LEFT JOIN
gary's avatar
gary committed
583
        region  PREGION
neo's avatar
neo committed
584
        ON
gary's avatar
gary committed
585
        T.parent_id = PREGION.id
neo's avatar
neo committed
586
        LEFT JOIN
gary's avatar
gary committed
587
        area  AR
neo's avatar
neo committed
588
        ON
gary's avatar
gary committed
589
        M.area_id = AR.id
neo's avatar
neo committed
590
        LEFT JOIN
gary's avatar
gary committed
591
        organization_structure  S
neo's avatar
neo committed
592
        ON
gary's avatar
gary committed
593
        M.structure_id = S.id
neo's avatar
neo committed
594
        LEFT JOIN
gary's avatar
gary committed
595
        business_unit  BU
neo's avatar
neo committed
596
        ON
gary's avatar
gary committed
597
        M.business_unit_id = BU.id
neo's avatar
neo committed
598
        WHERE
gary's avatar
gary committed
599
        M.id = #{orgId}
600
    </select>
neo's avatar
neo committed
601

602
    <select id="countForCodeUniqueValidate" parameterType="map" resultType="java.lang.Integer">
gary's avatar
gary committed
603 604 605
        select
        count(*)
        from
gary's avatar
gary committed
606
        organization
neo's avatar
neo committed
607 608
        where
        (
gary's avatar
gary committed
609 610
        "" = #{innerId}
        or id != #{innerId}
neo's avatar
neo committed
611
        )
gary's avatar
gary committed
612
        and code = #{innerCode}
613
    </select>
neo's avatar
neo committed
614

615
    <resultMap id="OrgGeneralInfoMiddleDto" type="pwc.taxtech.atms.dto.organization.OrgGeneralInfoMiddleDto">
616
        <id column="ID" jdbcType="VARCHAR" property="id"/>
neo's avatar
neo committed
617 618 619 620 621 622 623 624 625
        <result column="ORG_NAME" jdbcType="VARCHAR" property="orgName"/>
        <result column="TAX_PAYER_NUMBER" jdbcType="VARCHAR" property="taxPayerNumber"/>
        <result column="ACCOUNT_SET_NAME" jdbcType="VARCHAR" property="accountSetName"/>
        <result column="SERVICE_NAME" jdbcType="VARCHAR" property="serviceName"/>
        <result column="BUSINESS_UNIT_NAME" jdbcType="VARCHAR" property="businessUnitName"/>
        <result column="INDUSTRY_NAME" jdbcType="VARCHAR" property="industryName"/>
        <result column="AREA_NAME" jdbcType="VARCHAR" property="areaName"/>
        <result column="AREA_ID" jdbcType="VARCHAR" property="areaId"/>
        <result column="BUSINESS_UNIT_ID" jdbcType="VARCHAR" property="businessUnitId"/>
626
    </resultMap>
neo's avatar
neo committed
627

628
    <select id="selectJoinToOrgGeneralInfo" parameterType="map" resultMap="OrgGeneralInfoMiddleDto">
neo's avatar
neo committed
629
        SELECT
gary's avatar
gary committed
630 631 632 633 634 635 636 637 638 639
        M.id AS ID,
        M.name AS ORG_NAME,
        M.tax_payer_number AS TAX_PAYER_NUMBER,
        ACC_SET.name AS ACCOUNT_SET_NAME,
        ST.name AS SERVICE_NAME,
        T.name AS BUSINESS_UNIT_NAME,
        N.name AS INDUSTRY_NAME,
        AR.name AS AREA_NAME,
        M.area_id AS AREA_ID,
        M.business_unit_id AS BUSINESS_UNIT_ID
neo's avatar
neo committed
640
        FROM
gary's avatar
gary committed
641
        organization  M
neo's avatar
neo committed
642
        LEFT JOIN
gary's avatar
gary committed
643
        industry  N
neo's avatar
neo committed
644
        ON
gary's avatar
gary committed
645
        M.industry_id = N.id
neo's avatar
neo committed
646
        LEFT JOIN
gary's avatar
gary committed
647
        org_service_template_group  STG
neo's avatar
neo committed
648
        ON
gary's avatar
gary committed
649
        M.id = STG.organization_id
neo's avatar
neo committed
650
        LEFT JOIN
gary's avatar
gary committed
651
        service_type  ST
neo's avatar
neo committed
652
        ON
gary's avatar
gary committed
653
        STG.organization_id = ST.id
neo's avatar
neo committed
654
        LEFT JOIN
gary's avatar
gary committed
655
        business_unit  T
neo's avatar
neo committed
656
        ON
gary's avatar
gary committed
657 658
        T.is_active = 1
        AND M.business_unit_id = T.id
neo's avatar
neo committed
659
        LEFT JOIN
gary's avatar
gary committed
660
        area  AR
neo's avatar
neo committed
661
        ON
gary's avatar
gary committed
662 663
        AR.is_active = 1
        AND M.area_id = AR.id
neo's avatar
neo committed
664
        LEFT JOIN
gary's avatar
gary committed
665
        enterprise_account_set_org  SET_ORG
neo's avatar
neo committed
666
        ON
gary's avatar
gary committed
667
        M.id = SET_ORG.organization_id
neo's avatar
neo committed
668
        LEFT JOIN
gary's avatar
gary committed
669
        enterprise_account_set  ACC_SET
neo's avatar
neo committed
670
        ON
gary's avatar
gary committed
671 672
        ACC_SET.is_active = 1
        AND SET_ORG.enterprise_account_set_id = ACC_SET.id
673 674
    </select>
</mapper>