From 855639bd7fbb2ae1b7cc639b50ed951439dbcd02 Mon Sep 17 00:00:00 2001 From: Bright Date: Mon, 11 Nov 2024 18:13:11 +0700 Subject: [PATCH] =?UTF-8?q?api=20=E0=B8=88=E0=B8=B1=E0=B8=94=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3=E0=B8=9C=E0=B8=B9=E0=B9=89=E0=B9=83=E0=B8=8A?= =?UTF-8?q?=E0=B9=89=E0=B8=87=E0=B8=B2=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/ProfileController.ts | 43 ------ src/controllers/UserController.ts | 80 ++++++++++- src/entities/Profile.ts | 3 +- src/entities/ProfileEmployee.ts | 3 +- ...9-update_table_profie_add_rolekeycloak1.ts | 116 +++++++++++++++ ...6-update_table_profie_add_rolekeycloak2.ts | 136 ++++++++++++++++++ 6 files changed, 335 insertions(+), 46 deletions(-) create mode 100644 src/migration/1731316103019-update_table_profie_add_rolekeycloak1.ts create mode 100644 src/migration/1731319350256-update_table_profie_add_rolekeycloak2.ts diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index b9c01495..bc059af6 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -7874,47 +7874,4 @@ export class ProfileController extends Controller { ]); return new HttpSuccess(); } - - /** - * API แก้ไขอีเมล - * - * @summary แก้ไขอีเมล (USER) - * - */ - @Get("keycloak/user") - async listUserKeycloak( - @Request() request: RequestWithUser, - @Query("page") page: number = 1, - @Query("pageSize") pageSize: number = 10, - @Query() keyword: string = "", - ) { - // sort by org - const [profiles, total] = await this.profileRepo - .createQueryBuilder("profile") - .leftJoinAndSelect("profile.roleKeycloaks", "roleKeycloaks") - .where("profile.citizenId LIKE :citizenId", { - citizenId: `%${keyword}%`, - }) - .andWhere(keyword != null && keyword != "" ? `profile.citizenId like '%${keyword}%'` : "1=1") - .andWhere( - keyword != null && keyword != "" - ? `CONCAT(profile.prefix, profile.firstName," ",profile.lastName) like '%${keyword}%'` - : "1=1", - ) - .skip((page - 1) * pageSize) - .take(pageSize) - .getManyAndCount(); - const _profiles = profiles.map((_data) => ({ - id: _data.id, - firstname: _data.firstName, - lastname: _data.lastName, - email: _data.email, - username: _data.citizenId, - citizenId: _data.citizenId, - roles: _data.roleKeycloaks, - enabled: _data.isActive, - })); - - return new HttpSuccess({ data: _profiles, total }); - } } diff --git a/src/controllers/UserController.ts b/src/controllers/UserController.ts index deedb4b2..de96c849 100644 --- a/src/controllers/UserController.ts +++ b/src/controllers/UserController.ts @@ -35,6 +35,8 @@ import { AppDataSource } from "../database/data-source"; import { Profile } from "../entities/Profile"; import { ProfileEmployee } from "../entities/ProfileEmployee"; import { RequestWithUser } from "../middlewares/user"; +import HttpSuccess from "../interfaces/http-success"; +import { Brackets } from "typeorm"; // import * as io from "../lib/websocket"; // import elasticsearch from "../elasticsearch"; // import { StorageFolder } from "../interfaces/storage-fs"; @@ -237,7 +239,7 @@ export class KeycloakController extends Controller { if (!result) throw new Error("Failed. Cannot remove user's role."); } - @Get("user") + /*@Get("user") async getUserList( @Request() request: RequestWithUser, @Query() first = "", @@ -348,6 +350,82 @@ export class KeycloakController extends Controller { return _mapData; } throw new Error("Failed. Cannot get user list."); + }*/ + + @Get("user") + async listUserKeycloak( + @Query("page") page: number = 1, + @Query("pageSize") pageSize: number = 10, + @Query() keyword: string = "", + @Query() type: string = "", + ) { + // sort by org + let profiles: any; + let total: any; + if (type == "OFFICER") { + [profiles, total] = await this.profileRepo + .createQueryBuilder("profile") + .leftJoinAndSelect("profile.roleKeycloaks", "roleKeycloaks") + .where("profile.keycloak IS NOT NULL AND profile.keycloak != ''") + .andWhere( + new Brackets((qb) => { + qb.orWhere(keyword != null && keyword != "" ? `profile.citizenId like '%${keyword}%'` : "1=1") + .orWhere(keyword != null && keyword != "" ? `profile.email like '%${keyword}%'` : "1=1") + .orWhere( + keyword != null && keyword != "" + ? `CONCAT(profile.prefix, profile.firstName," ",profile.lastName) like '%${keyword}%'` + : "1=1", + ) + }), + ) + .skip((page - 1) * pageSize) + .take(pageSize) + .getManyAndCount(); + } + else if (type == "EMPLOYEE") { + [profiles, total] = await this.profileEmpRepo + .createQueryBuilder("profileEmployee") + .leftJoinAndSelect("profileEmployee.roleKeycloaks", "roleKeycloaks") + .where("profileEmployee.keycloak IS NOT NULL AND profileEmployee.keycloak != ''") + .andWhere( + new Brackets((qb) => { + qb.orWhere(keyword != null && keyword != "" ? `profileEmployee.citizenId like '%${keyword}%'` : "1=1") + .orWhere(keyword != null && keyword != "" ? `profileEmployee.email like '%${keyword}%'` : "1=1") + .orWhere( + keyword != null && keyword != "" + ? `CONCAT(profileEmployee.prefix, profileEmployee.firstName," ",profileEmployee.lastName) like '%${keyword}%'` + : "1=1", + ) + }), + ) + .skip((page - 1) * pageSize) + .take(pageSize) + .getManyAndCount(); + } + else { + return new HttpSuccess({ data: [], total: 0 }); + } + + const _profiles = profiles.map((_data:any) => ({ + id: _data.id, + firstname: _data.firstName, + lastname: _data.lastName, + email: _data.email, + username: _data.citizenId, + citizenId: _data.citizenId, + roles: _data.roleKeycloaks.length > 0 + ? _data.roleKeycloaks.map((x:any) => ({ + id: x.id, + name: x.name, + description: x.description, + composite: x.composite, + clientRole: x.clientRole, + containerId: x.containerId, + })) + : [], + enabled: _data.isActive, + })); + return new HttpSuccess({ data: _profiles, total }); } @Get("group") diff --git a/src/entities/Profile.ts b/src/entities/Profile.ts index 47c8342f..bff07fcd 100644 --- a/src/entities/Profile.ts +++ b/src/entities/Profile.ts @@ -1,4 +1,4 @@ -import { Entity, Column, OneToMany, JoinColumn, ManyToOne, Double, ManyToMany } from "typeorm"; +import { Entity, Column, OneToMany, JoinColumn, ManyToOne, Double, ManyToMany, JoinTable } from "typeorm"; import { EntityBase } from "./base/Base"; import { PosMaster } from "./PosMaster"; import { PosLevel } from "./PosLevel"; @@ -557,6 +557,7 @@ export class Profile extends EntityBase { permissionProfiles: PermissionOrg[]; @ManyToMany(() => RoleKeycloak, (roleKeycloak) => roleKeycloak.profiles) + @JoinTable() roleKeycloaks: RoleKeycloak[]; } diff --git a/src/entities/ProfileEmployee.ts b/src/entities/ProfileEmployee.ts index 80288eec..3a0da09d 100644 --- a/src/entities/ProfileEmployee.ts +++ b/src/entities/ProfileEmployee.ts @@ -1,4 +1,4 @@ -import { Entity, Column, OneToMany, ManyToOne, Double, ManyToMany } from "typeorm"; +import { Entity, Column, OneToMany, ManyToOne, Double, ManyToMany, JoinTable } from "typeorm"; import { EntityBase } from "./base/Base"; import { EmployeePosLevel } from "./EmployeePosLevel"; import { EmployeePosType } from "./EmployeePosType"; @@ -810,6 +810,7 @@ export class ProfileEmployee extends EntityBase { dutyTimeEffectiveDate: Date; @ManyToMany(() => RoleKeycloak, (roleKeycloak) => roleKeycloak.profileEmployees) + @JoinTable() roleKeycloaks: RoleKeycloak[]; } diff --git a/src/migration/1731316103019-update_table_profie_add_rolekeycloak1.ts b/src/migration/1731316103019-update_table_profie_add_rolekeycloak1.ts new file mode 100644 index 00000000..e2133f81 --- /dev/null +++ b/src/migration/1731316103019-update_table_profie_add_rolekeycloak1.ts @@ -0,0 +1,116 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTableProfieAddRolekeycloak11731316103019 implements MigrationInterface { + name = 'UpdateTableProfieAddRolekeycloak11731316103019' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`profileEmployeeHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT 1`); + await queryRunner.query(`ALTER TABLE \`profile\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT 1`); + await queryRunner.query(`ALTER TABLE \`profileHistory\` ADD \`isActive\` tinyint NOT NULL COMMENT 'สถานะการใช้งาน' DEFAULT 1`); + await queryRunner.query(`CREATE VIEW \`view_director\` AS SELECT + \`profile\`.\`id\` AS \`Id\`, + \`profile\`.\`prefix\` AS \`prefix\`, + \`profile\`.\`firstName\` AS \`firstName\`, + \`profile\`.\`lastName\` AS \`lastName\`, + \`profile\`.\`citizenId\` AS \`citizenId\`, + \`profile\`.\`position\` AS \`position\`, + CONCAT((CASE + WHEN (\`posMaster\`.\`orgChild1Id\` IS NULL) THEN \`orgRoot\`.\`orgRootShortName\` + WHEN (\`posMaster\`.\`orgChild2Id\` IS NULL) THEN \`orgChild1\`.\`orgChild1ShortName\` + WHEN (\`posMaster\`.\`orgChild3Id\` IS NULL) THEN \`orgChild2\`.\`orgChild2ShortName\` + WHEN (\`posMaster\`.\`orgChild4Id\` IS NULL) THEN \`orgChild3\`.\`orgChild3ShortName\` + ELSE \`orgChild4\`.\`orgChild4ShortName\` + END), + \`posMaster\`.\`posMasterNo\`) AS \`posNo\`, + \`posMaster\`.\`isDirector\` AS \`isDirector\`, + \`posLevel\`.\`posLevelName\` AS \`posLevel\`, + \`posType\`.\`posTypeName\` AS \`posType\`, + \`posExecutive\`.\`posExecutiveName\` AS \`posExecutiveName\`, + \`orgRoot\`.\`isDeputy\` AS \`isDeputy\`, + \`posMaster\`.\`orgRootId\` AS \`orgRootId\`, + \`posMaster\`.\`orgChild1Id\` AS \`orgChild1Id\`, + \`posMaster\`.\`orgChild2Id\` AS \`orgChild2Id\`, + \`posMaster\`.\`orgChild3Id\` AS \`orgChild3Id\`, + \`posMaster\`.\`orgChild4Id\` AS \`orgChild4Id\`, + CONCAT(\`posMaster\`.\`id\`, \`profile\`.\`id\`) AS \`key\`, + NULL AS \`actFullNameId\`, + NULL AS \`actFullName\` + FROM + ((((((((((\`posMaster\` + JOIN \`profile\` ON ((\`posMaster\`.\`current_holderId\` = \`profile\`.\`id\`))) + LEFT JOIN \`orgRoot\` ON ((\`posMaster\`.\`orgRootId\` = \`orgRoot\`.\`id\`))) + LEFT JOIN \`orgChild1\` ON ((\`posMaster\`.\`orgChild1Id\` = \`orgChild1\`.\`id\`))) + LEFT JOIN \`orgChild2\` ON ((\`posMaster\`.\`orgChild2Id\` = \`orgChild2\`.\`id\`))) + LEFT JOIN \`orgChild3\` ON ((\`posMaster\`.\`orgChild3Id\` = \`orgChild3\`.\`id\`))) + LEFT JOIN \`orgChild4\` ON ((\`posMaster\`.\`orgChild4Id\` = \`orgChild4\`.\`id\`))) + JOIN \`posLevel\` ON ((\`profile\`.\`posLevelId\` = \`posLevel\`.\`id\`))) + JOIN \`posType\` ON ((\`profile\`.\`posTypeId\` = \`posType\`.\`id\`))) + LEFT JOIN \`position\` ON ((\`posMaster\`.\`id\` = \`position\`.\`posMasterId\`))) + LEFT JOIN \`posExecutive\` ON ((\`position\`.\`posExecutiveId\` = \`posExecutive\`.\`id\`))) + WHERE + (\`position\`.\`positionIsSelected\` = TRUE)`); + await queryRunner.query(`INSERT INTO \`bma_ehr_organization_demo\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["bma_ehr_organization_demo","VIEW","view_director","SELECT \n `profile`.`id` AS `Id`,\n `profile`.`prefix` AS `prefix`,\n `profile`.`firstName` AS `firstName`,\n `profile`.`lastName` AS `lastName`,\n `profile`.`citizenId` AS `citizenId`,\n `profile`.`position` AS `position`,\n CONCAT((CASE\n WHEN (`posMaster`.`orgChild1Id` IS NULL) THEN `orgRoot`.`orgRootShortName`\n WHEN (`posMaster`.`orgChild2Id` IS NULL) THEN `orgChild1`.`orgChild1ShortName`\n WHEN (`posMaster`.`orgChild3Id` IS NULL) THEN `orgChild2`.`orgChild2ShortName`\n WHEN (`posMaster`.`orgChild4Id` IS NULL) THEN `orgChild3`.`orgChild3ShortName`\n ELSE `orgChild4`.`orgChild4ShortName`\n END),\n `posMaster`.`posMasterNo`) AS `posNo`,\n `posMaster`.`isDirector` AS `isDirector`,\n `posLevel`.`posLevelName` AS `posLevel`,\n `posType`.`posTypeName` AS `posType`,\n `posExecutive`.`posExecutiveName` AS `posExecutiveName`,\n `orgRoot`.`isDeputy` AS `isDeputy`,\n `posMaster`.`orgRootId` AS `orgRootId`,\n `posMaster`.`orgChild1Id` AS `orgChild1Id`,\n `posMaster`.`orgChild2Id` AS `orgChild2Id`,\n `posMaster`.`orgChild3Id` AS `orgChild3Id`,\n `posMaster`.`orgChild4Id` AS `orgChild4Id`,\n CONCAT(`posMaster`.`id`, `profile`.`id`) AS `key`,\n NULL AS `actFullNameId`,\n NULL AS `actFullName`\n FROM\n ((((((((((`posMaster`\n JOIN `profile` ON ((`posMaster`.`current_holderId` = `profile`.`id`)))\n LEFT JOIN `orgRoot` ON ((`posMaster`.`orgRootId` = `orgRoot`.`id`)))\n LEFT JOIN `orgChild1` ON ((`posMaster`.`orgChild1Id` = `orgChild1`.`id`)))\n LEFT JOIN `orgChild2` ON ((`posMaster`.`orgChild2Id` = `orgChild2`.`id`)))\n LEFT JOIN `orgChild3` ON ((`posMaster`.`orgChild3Id` = `orgChild3`.`id`)))\n LEFT JOIN `orgChild4` ON ((`posMaster`.`orgChild4Id` = `orgChild4`.`id`)))\n JOIN `posLevel` ON ((`profile`.`posLevelId` = `posLevel`.`id`)))\n JOIN `posType` ON ((`profile`.`posTypeId` = `posType`.`id`)))\n LEFT JOIN `position` ON ((`posMaster`.`id` = `position`.`posMasterId`)))\n LEFT JOIN `posExecutive` ON ((`position`.`posExecutiveId` = `posExecutive`.`id`)))\n WHERE\n (`position`.`positionIsSelected` = TRUE)"]); + await queryRunner.query(`CREATE VIEW \`view_director_acting\` AS SELECT + \`profileChild\`.\`id\` AS \`Id\`, + \`profileChild\`.\`prefix\` AS \`prefix\`, + \`profileChild\`.\`firstName\` AS \`firstName\`, + \`profileChild\`.\`lastName\` AS \`lastName\`, + \`profileChild\`.\`citizenId\` AS \`citizenId\`, + \`profileChild\`.\`position\` AS \`position\`, + CONCAT((CASE + WHEN (\`posMaster\`.\`orgChild1Id\` IS NULL) THEN \`orgRootChild\`.\`orgRootShortName\` + WHEN (\`posMaster\`.\`orgChild2Id\` IS NULL) THEN \`orgChild1Child\`.\`orgChild1ShortName\` + WHEN (\`posMaster\`.\`orgChild3Id\` IS NULL) THEN \`orgChild2Child\`.\`orgChild2ShortName\` + WHEN (\`posMaster\`.\`orgChild4Id\` IS NULL) THEN \`orgChild3Child\`.\`orgChild3ShortName\` + ELSE \`orgChild4Child\`.\`orgChild4ShortName\` + END), + \`posMaster\`.\`posMasterNo\`) AS \`posNo\`, + \`posMasterChild\`.\`isDirector\` AS \`isDirectorChild\`, + \`posMaster\`.\`isDirector\` AS \`isDirector\`, + \`posLevel\`.\`posLevelName\` AS \`posLevel\`, + \`posType\`.\`posTypeName\` AS \`posType\`, + \`posExecutive\`.\`posExecutiveName\` AS \`posExecutiveName\`, + \`orgRoot\`.\`isDeputy\` AS \`isDeputy\`, + \`posMaster\`.\`orgRootId\` AS \`orgRootId\`, + \`posMaster\`.\`orgChild1Id\` AS \`orgChild1Id\`, + \`posMaster\`.\`orgChild2Id\` AS \`orgChild2Id\`, + \`posMaster\`.\`orgChild3Id\` AS \`orgChild3Id\`, + \`posMaster\`.\`orgChild4Id\` AS \`orgChild4Id\`, + CONCAT(\`posMaster\`.\`id\`, \`profileChild\`.\`id\`) AS \`key\`, + \`profile\`.\`id\` AS \`actFullNameId\`, + CONCAT(\`profile\`.\`prefix\`, + \`profile\`.\`firstName\`, + ' ', + \`profile\`.\`lastName\`) AS \`actFullName\` + FROM + ((((((((((((((\`posMasterAct\` + JOIN \`posMaster\` \`posMasterChild\` ON ((\`posMasterAct\`.\`posMasterChildId\` = \`posMasterChild\`.\`id\`))) + JOIN \`profile\` \`profileChild\` ON ((\`posMasterChild\`.\`current_holderId\` = \`profileChild\`.\`id\`))) + LEFT JOIN \`orgRoot\` \`orgRootChild\` ON ((\`posMasterChild\`.\`orgRootId\` = \`orgRootChild\`.\`id\`))) + LEFT JOIN \`orgChild1\` \`orgChild1Child\` ON ((\`posMasterChild\`.\`orgChild1Id\` = \`orgChild1Child\`.\`id\`))) + LEFT JOIN \`orgChild2\` \`orgChild2Child\` ON ((\`posMasterChild\`.\`orgChild2Id\` = \`orgChild2Child\`.\`id\`))) + LEFT JOIN \`orgChild3\` \`orgChild3Child\` ON ((\`posMasterChild\`.\`orgChild3Id\` = \`orgChild3Child\`.\`id\`))) + LEFT JOIN \`orgChild4\` \`orgChild4Child\` ON ((\`posMasterChild\`.\`orgChild4Id\` = \`orgChild4Child\`.\`id\`))) + JOIN \`posLevel\` ON ((\`profileChild\`.\`posLevelId\` = \`posLevel\`.\`id\`))) + JOIN \`posType\` ON ((\`profileChild\`.\`posTypeId\` = \`posType\`.\`id\`))) + JOIN \`posMaster\` ON ((\`posMasterAct\`.\`posMasterId\` = \`posMaster\`.\`id\`))) + LEFT JOIN \`orgRoot\` ON ((\`posMaster\`.\`orgRootId\` = \`orgRoot\`.\`id\`))) + JOIN \`profile\` ON ((\`posMaster\`.\`current_holderId\` = \`profile\`.\`id\`))) + LEFT JOIN \`position\` ON ((\`posMasterChild\`.\`id\` = \`position\`.\`posMasterId\`))) + LEFT JOIN \`posExecutive\` ON ((\`position\`.\`posExecutiveId\` = \`posExecutive\`.\`id\`))) + WHERE + (\`position\`.\`positionIsSelected\` = TRUE)`); + await queryRunner.query(`INSERT INTO \`bma_ehr_organization_demo\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["bma_ehr_organization_demo","VIEW","view_director_acting","SELECT \n `profileChild`.`id` AS `Id`,\n `profileChild`.`prefix` AS `prefix`,\n `profileChild`.`firstName` AS `firstName`,\n `profileChild`.`lastName` AS `lastName`,\n `profileChild`.`citizenId` AS `citizenId`,\n `profileChild`.`position` AS `position`,\n CONCAT((CASE\n WHEN (`posMaster`.`orgChild1Id` IS NULL) THEN `orgRootChild`.`orgRootShortName`\n WHEN (`posMaster`.`orgChild2Id` IS NULL) THEN `orgChild1Child`.`orgChild1ShortName`\n WHEN (`posMaster`.`orgChild3Id` IS NULL) THEN `orgChild2Child`.`orgChild2ShortName`\n WHEN (`posMaster`.`orgChild4Id` IS NULL) THEN `orgChild3Child`.`orgChild3ShortName`\n ELSE `orgChild4Child`.`orgChild4ShortName`\n END),\n `posMaster`.`posMasterNo`) AS `posNo`,\n `posMasterChild`.`isDirector` AS `isDirectorChild`,\n `posMaster`.`isDirector` AS `isDirector`,\n `posLevel`.`posLevelName` AS `posLevel`,\n `posType`.`posTypeName` AS `posType`,\n `posExecutive`.`posExecutiveName` AS `posExecutiveName`,\n `orgRoot`.`isDeputy` AS `isDeputy`,\n `posMaster`.`orgRootId` AS `orgRootId`,\n `posMaster`.`orgChild1Id` AS `orgChild1Id`,\n `posMaster`.`orgChild2Id` AS `orgChild2Id`,\n `posMaster`.`orgChild3Id` AS `orgChild3Id`,\n `posMaster`.`orgChild4Id` AS `orgChild4Id`,\n CONCAT(`posMaster`.`id`, `profileChild`.`id`) AS `key`,\n `profile`.`id` AS `actFullNameId`,\n CONCAT(`profile`.`prefix`,\n `profile`.`firstName`,\n ' ',\n `profile`.`lastName`) AS `actFullName`\n FROM\n ((((((((((((((`posMasterAct`\n JOIN `posMaster` `posMasterChild` ON ((`posMasterAct`.`posMasterChildId` = `posMasterChild`.`id`)))\n JOIN `profile` `profileChild` ON ((`posMasterChild`.`current_holderId` = `profileChild`.`id`)))\n LEFT JOIN `orgRoot` `orgRootChild` ON ((`posMasterChild`.`orgRootId` = `orgRootChild`.`id`)))\n LEFT JOIN `orgChild1` `orgChild1Child` ON ((`posMasterChild`.`orgChild1Id` = `orgChild1Child`.`id`)))\n LEFT JOIN `orgChild2` `orgChild2Child` ON ((`posMasterChild`.`orgChild2Id` = `orgChild2Child`.`id`)))\n LEFT JOIN `orgChild3` `orgChild3Child` ON ((`posMasterChild`.`orgChild3Id` = `orgChild3Child`.`id`)))\n LEFT JOIN `orgChild4` `orgChild4Child` ON ((`posMasterChild`.`orgChild4Id` = `orgChild4Child`.`id`)))\n JOIN `posLevel` ON ((`profileChild`.`posLevelId` = `posLevel`.`id`)))\n JOIN `posType` ON ((`profileChild`.`posTypeId` = `posType`.`id`)))\n JOIN `posMaster` ON ((`posMasterAct`.`posMasterId` = `posMaster`.`id`)))\n LEFT JOIN `orgRoot` ON ((`posMaster`.`orgRootId` = `orgRoot`.`id`)))\n JOIN `profile` ON ((`posMaster`.`current_holderId` = `profile`.`id`)))\n LEFT JOIN `position` ON ((`posMasterChild`.`id` = `position`.`posMasterId`)))\n LEFT JOIN `posExecutive` ON ((`position`.`posExecutiveId` = `posExecutive`.`id`)))\n WHERE\n (`position`.`positionIsSelected` = TRUE)"]); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DELETE FROM \`bma_ehr_organization_demo\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_director_acting","bma_ehr_organization_demo"]); + await queryRunner.query(`DROP VIEW \`view_director_acting\``); + await queryRunner.query(`DELETE FROM \`bma_ehr_organization_demo\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_director","bma_ehr_organization_demo"]); + await queryRunner.query(`DROP VIEW \`view_director\``); + await queryRunner.query(`ALTER TABLE \`profileHistory\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profile\` DROP COLUMN \`isActive\``); + await queryRunner.query(`ALTER TABLE \`profileEmployeeHistory\` DROP COLUMN \`isActive\``); + } + +} diff --git a/src/migration/1731319350256-update_table_profie_add_rolekeycloak2.ts b/src/migration/1731319350256-update_table_profie_add_rolekeycloak2.ts new file mode 100644 index 00000000..a665e669 --- /dev/null +++ b/src/migration/1731319350256-update_table_profie_add_rolekeycloak2.ts @@ -0,0 +1,136 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTableProfieAddRolekeycloak21731319350256 implements MigrationInterface { + name = 'UpdateTableProfieAddRolekeycloak21731319350256' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DELETE FROM \`bma_ehr_organization_demo\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_director","bma_ehr_organization_demo"]); + await queryRunner.query(`DROP VIEW \`view_director\``); + await queryRunner.query(`DELETE FROM \`bma_ehr_organization_demo\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_director_acting","bma_ehr_organization_demo"]); + await queryRunner.query(`DROP VIEW \`view_director_acting\``); + await queryRunner.query(`CREATE TABLE \`profile_employee_role_keycloaks_role_keycloak\` (\`profileEmployeeId\` varchar(36) NOT NULL, \`roleKeycloakId\` varchar(36) NOT NULL, INDEX \`IDX_c9ae1b82e09fc11b0d60c464d6\` (\`profileEmployeeId\`), INDEX \`IDX_08e8507d999f006695d8300104\` (\`roleKeycloakId\`), PRIMARY KEY (\`profileEmployeeId\`, \`roleKeycloakId\`)) ENGINE=InnoDB`); + await queryRunner.query(`CREATE TABLE \`profile_employee_history_role_keycloaks_role_keycloak\` (\`profileEmployeeHistoryId\` varchar(36) NOT NULL, \`roleKeycloakId\` varchar(36) NOT NULL, INDEX \`IDX_1f7b9e3cc938ec88d88c6feb93\` (\`profileEmployeeHistoryId\`), INDEX \`IDX_3ec130b8cd68bbe5c28d0a2441\` (\`roleKeycloakId\`), PRIMARY KEY (\`profileEmployeeHistoryId\`, \`roleKeycloakId\`)) ENGINE=InnoDB`); + await queryRunner.query(`CREATE TABLE \`profile_role_keycloaks_role_keycloak\` (\`profileId\` varchar(36) NOT NULL, \`roleKeycloakId\` varchar(36) NOT NULL, INDEX \`IDX_0b2ac4419b663f589d76569ae7\` (\`profileId\`), INDEX \`IDX_74825f66b686ca55adb0ebb18a\` (\`roleKeycloakId\`), PRIMARY KEY (\`profileId\`, \`roleKeycloakId\`)) ENGINE=InnoDB`); + await queryRunner.query(`CREATE TABLE \`profile_history_role_keycloaks_role_keycloak\` (\`profileHistoryId\` varchar(36) NOT NULL, \`roleKeycloakId\` varchar(36) NOT NULL, INDEX \`IDX_128a31820671a34001638e7d16\` (\`profileHistoryId\`), INDEX \`IDX_f2a24cce7f4d5f899f10d2ccdd\` (\`roleKeycloakId\`), PRIMARY KEY (\`profileHistoryId\`, \`roleKeycloakId\`)) ENGINE=InnoDB`); + await queryRunner.query(`ALTER TABLE \`profile_employee_role_keycloaks_role_keycloak\` ADD CONSTRAINT \`FK_c9ae1b82e09fc11b0d60c464d63\` FOREIGN KEY (\`profileEmployeeId\`) REFERENCES \`profileEmployee\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE`); + await queryRunner.query(`ALTER TABLE \`profile_employee_role_keycloaks_role_keycloak\` ADD CONSTRAINT \`FK_08e8507d999f006695d83001040\` FOREIGN KEY (\`roleKeycloakId\`) REFERENCES \`roleKeycloak\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); + await queryRunner.query(`ALTER TABLE \`profile_employee_history_role_keycloaks_role_keycloak\` ADD CONSTRAINT \`FK_1f7b9e3cc938ec88d88c6feb939\` FOREIGN KEY (\`profileEmployeeHistoryId\`) REFERENCES \`profileEmployeeHistory\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE`); + await queryRunner.query(`ALTER TABLE \`profile_employee_history_role_keycloaks_role_keycloak\` ADD CONSTRAINT \`FK_3ec130b8cd68bbe5c28d0a24411\` FOREIGN KEY (\`roleKeycloakId\`) REFERENCES \`roleKeycloak\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); + await queryRunner.query(`ALTER TABLE \`profile_role_keycloaks_role_keycloak\` ADD CONSTRAINT \`FK_0b2ac4419b663f589d76569ae70\` FOREIGN KEY (\`profileId\`) REFERENCES \`profile\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE`); + await queryRunner.query(`ALTER TABLE \`profile_role_keycloaks_role_keycloak\` ADD CONSTRAINT \`FK_74825f66b686ca55adb0ebb18a6\` FOREIGN KEY (\`roleKeycloakId\`) REFERENCES \`roleKeycloak\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); + await queryRunner.query(`ALTER TABLE \`profile_history_role_keycloaks_role_keycloak\` ADD CONSTRAINT \`FK_128a31820671a34001638e7d16a\` FOREIGN KEY (\`profileHistoryId\`) REFERENCES \`profileHistory\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE`); + await queryRunner.query(`ALTER TABLE \`profile_history_role_keycloaks_role_keycloak\` ADD CONSTRAINT \`FK_f2a24cce7f4d5f899f10d2ccdd9\` FOREIGN KEY (\`roleKeycloakId\`) REFERENCES \`roleKeycloak\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`profile_history_role_keycloaks_role_keycloak\` DROP FOREIGN KEY \`FK_f2a24cce7f4d5f899f10d2ccdd9\``); + await queryRunner.query(`ALTER TABLE \`profile_history_role_keycloaks_role_keycloak\` DROP FOREIGN KEY \`FK_128a31820671a34001638e7d16a\``); + await queryRunner.query(`ALTER TABLE \`profile_role_keycloaks_role_keycloak\` DROP FOREIGN KEY \`FK_74825f66b686ca55adb0ebb18a6\``); + await queryRunner.query(`ALTER TABLE \`profile_role_keycloaks_role_keycloak\` DROP FOREIGN KEY \`FK_0b2ac4419b663f589d76569ae70\``); + await queryRunner.query(`ALTER TABLE \`profile_employee_history_role_keycloaks_role_keycloak\` DROP FOREIGN KEY \`FK_3ec130b8cd68bbe5c28d0a24411\``); + await queryRunner.query(`ALTER TABLE \`profile_employee_history_role_keycloaks_role_keycloak\` DROP FOREIGN KEY \`FK_1f7b9e3cc938ec88d88c6feb939\``); + await queryRunner.query(`ALTER TABLE \`profile_employee_role_keycloaks_role_keycloak\` DROP FOREIGN KEY \`FK_08e8507d999f006695d83001040\``); + await queryRunner.query(`ALTER TABLE \`profile_employee_role_keycloaks_role_keycloak\` DROP FOREIGN KEY \`FK_c9ae1b82e09fc11b0d60c464d63\``); + await queryRunner.query(`DROP INDEX \`IDX_f2a24cce7f4d5f899f10d2ccdd\` ON \`profile_history_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP INDEX \`IDX_128a31820671a34001638e7d16\` ON \`profile_history_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP TABLE \`profile_history_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP INDEX \`IDX_74825f66b686ca55adb0ebb18a\` ON \`profile_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP INDEX \`IDX_0b2ac4419b663f589d76569ae7\` ON \`profile_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP TABLE \`profile_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP INDEX \`IDX_3ec130b8cd68bbe5c28d0a2441\` ON \`profile_employee_history_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP INDEX \`IDX_1f7b9e3cc938ec88d88c6feb93\` ON \`profile_employee_history_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP TABLE \`profile_employee_history_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP INDEX \`IDX_08e8507d999f006695d8300104\` ON \`profile_employee_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP INDEX \`IDX_c9ae1b82e09fc11b0d60c464d6\` ON \`profile_employee_role_keycloaks_role_keycloak\``); + await queryRunner.query(`DROP TABLE \`profile_employee_role_keycloaks_role_keycloak\``); + await queryRunner.query(`CREATE VIEW \`view_director_acting\` AS SELECT + \`profileChild\`.\`id\` AS \`Id\`, + \`profileChild\`.\`prefix\` AS \`prefix\`, + \`profileChild\`.\`firstName\` AS \`firstName\`, + \`profileChild\`.\`lastName\` AS \`lastName\`, + \`profileChild\`.\`citizenId\` AS \`citizenId\`, + \`profileChild\`.\`position\` AS \`position\`, + CONCAT((CASE + WHEN (\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild1Id\` IS NULL) THEN \`orgRootChild\`.\`orgRootShortName\` + WHEN (\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild2Id\` IS NULL) THEN \`orgChild1Child\`.\`orgChild1ShortName\` + WHEN (\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild3Id\` IS NULL) THEN \`orgChild2Child\`.\`orgChild2ShortName\` + WHEN (\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild4Id\` IS NULL) THEN \`orgChild3Child\`.\`orgChild3ShortName\` + ELSE \`orgChild4Child\`.\`orgChild4ShortName\` + END), + \`bma_ehr_organization_demo\`.\`posMaster\`.\`posMasterNo\`) AS \`posNo\`, + \`posMasterChild\`.\`isDirector\` AS \`isDirectorChild\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`isDirector\` AS \`isDirector\`, + \`bma_ehr_organization_demo\`.\`posLevel\`.\`posLevelName\` AS \`posLevel\`, + \`bma_ehr_organization_demo\`.\`posType\`.\`posTypeName\` AS \`posType\`, + NULL AS \`posExecutiveName\`, + \`bma_ehr_organization_demo\`.\`orgRoot\`.\`isDeputy\` AS \`isDeputy\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgRootId\` AS \`orgRootId\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild1Id\` AS \`orgChild1Id\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild2Id\` AS \`orgChild2Id\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild3Id\` AS \`orgChild3Id\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild4Id\` AS \`orgChild4Id\`, + CONCAT(\`bma_ehr_organization_demo\`.\`posMaster\`.\`id\`, + \`profileChild\`.\`id\`) AS \`key\`, + \`bma_ehr_organization_demo\`.\`profile\`.\`id\` AS \`actFullNameId\`, + CONCAT(\`bma_ehr_organization_demo\`.\`profile\`.\`prefix\`, + \`bma_ehr_organization_demo\`.\`profile\`.\`firstName\`, + ' ', + \`bma_ehr_organization_demo\`.\`profile\`.\`lastName\`) AS \`actFullName\` + FROM + ((((((((((((\`bma_ehr_organization_demo\`.\`posMasterAct\` + JOIN \`bma_ehr_organization_demo\`.\`posMaster\` \`posMasterChild\` ON ((\`bma_ehr_organization_demo\`.\`posMasterAct\`.\`posMasterChildId\` = \`posMasterChild\`.\`id\`))) + JOIN \`bma_ehr_organization_demo\`.\`profile\` \`profileChild\` ON ((\`posMasterChild\`.\`current_holderId\` = \`profileChild\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgRoot\` \`orgRootChild\` ON ((\`posMasterChild\`.\`orgRootId\` = \`orgRootChild\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgChild1\` \`orgChild1Child\` ON ((\`posMasterChild\`.\`orgChild1Id\` = \`orgChild1Child\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgChild2\` \`orgChild2Child\` ON ((\`posMasterChild\`.\`orgChild2Id\` = \`orgChild2Child\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgChild3\` \`orgChild3Child\` ON ((\`posMasterChild\`.\`orgChild3Id\` = \`orgChild3Child\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgChild4\` \`orgChild4Child\` ON ((\`posMasterChild\`.\`orgChild4Id\` = \`orgChild4Child\`.\`id\`))) + JOIN \`bma_ehr_organization_demo\`.\`posLevel\` ON ((\`profileChild\`.\`posLevelId\` = \`bma_ehr_organization_demo\`.\`posLevel\`.\`id\`))) + JOIN \`bma_ehr_organization_demo\`.\`posType\` ON ((\`profileChild\`.\`posTypeId\` = \`bma_ehr_organization_demo\`.\`posType\`.\`id\`))) + JOIN \`bma_ehr_organization_demo\`.\`posMaster\` ON ((\`bma_ehr_organization_demo\`.\`posMasterAct\`.\`posMasterId\` = \`bma_ehr_organization_demo\`.\`posMaster\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgRoot\` ON ((\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgRootId\` = \`bma_ehr_organization_demo\`.\`orgRoot\`.\`id\`))) + JOIN \`bma_ehr_organization_demo\`.\`profile\` ON ((\`bma_ehr_organization_demo\`.\`posMaster\`.\`current_holderId\` = \`bma_ehr_organization_demo\`.\`profile\`.\`id\`)))`); + await queryRunner.query(`INSERT INTO \`bma_ehr_organization_demo\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["bma_ehr_organization_demo","VIEW","view_director_acting","SELECT \n `profileChild`.`id` AS `Id`,\n `profileChild`.`prefix` AS `prefix`,\n `profileChild`.`firstName` AS `firstName`,\n `profileChild`.`lastName` AS `lastName`,\n `profileChild`.`citizenId` AS `citizenId`,\n `profileChild`.`position` AS `position`,\n CONCAT((CASE\n WHEN (`bma_ehr_organization_demo`.`posMaster`.`orgChild1Id` IS NULL) THEN `orgRootChild`.`orgRootShortName`\n WHEN (`bma_ehr_organization_demo`.`posMaster`.`orgChild2Id` IS NULL) THEN `orgChild1Child`.`orgChild1ShortName`\n WHEN (`bma_ehr_organization_demo`.`posMaster`.`orgChild3Id` IS NULL) THEN `orgChild2Child`.`orgChild2ShortName`\n WHEN (`bma_ehr_organization_demo`.`posMaster`.`orgChild4Id` IS NULL) THEN `orgChild3Child`.`orgChild3ShortName`\n ELSE `orgChild4Child`.`orgChild4ShortName`\n END),\n `bma_ehr_organization_demo`.`posMaster`.`posMasterNo`) AS `posNo`,\n `posMasterChild`.`isDirector` AS `isDirectorChild`,\n `bma_ehr_organization_demo`.`posMaster`.`isDirector` AS `isDirector`,\n `bma_ehr_organization_demo`.`posLevel`.`posLevelName` AS `posLevel`,\n `bma_ehr_organization_demo`.`posType`.`posTypeName` AS `posType`,\n NULL AS `posExecutiveName`,\n `bma_ehr_organization_demo`.`orgRoot`.`isDeputy` AS `isDeputy`,\n `bma_ehr_organization_demo`.`posMaster`.`orgRootId` AS `orgRootId`,\n `bma_ehr_organization_demo`.`posMaster`.`orgChild1Id` AS `orgChild1Id`,\n `bma_ehr_organization_demo`.`posMaster`.`orgChild2Id` AS `orgChild2Id`,\n `bma_ehr_organization_demo`.`posMaster`.`orgChild3Id` AS `orgChild3Id`,\n `bma_ehr_organization_demo`.`posMaster`.`orgChild4Id` AS `orgChild4Id`,\n CONCAT(`bma_ehr_organization_demo`.`posMaster`.`id`,\n `profileChild`.`id`) AS `key`,\n `bma_ehr_organization_demo`.`profile`.`id` AS `actFullNameId`,\n CONCAT(`bma_ehr_organization_demo`.`profile`.`prefix`,\n `bma_ehr_organization_demo`.`profile`.`firstName`,\n ' ',\n `bma_ehr_organization_demo`.`profile`.`lastName`) AS `actFullName`\n FROM\n ((((((((((((`bma_ehr_organization_demo`.`posMasterAct`\n JOIN `bma_ehr_organization_demo`.`posMaster` `posMasterChild` ON ((`bma_ehr_organization_demo`.`posMasterAct`.`posMasterChildId` = `posMasterChild`.`id`)))\n JOIN `bma_ehr_organization_demo`.`profile` `profileChild` ON ((`posMasterChild`.`current_holderId` = `profileChild`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgRoot` `orgRootChild` ON ((`posMasterChild`.`orgRootId` = `orgRootChild`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgChild1` `orgChild1Child` ON ((`posMasterChild`.`orgChild1Id` = `orgChild1Child`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgChild2` `orgChild2Child` ON ((`posMasterChild`.`orgChild2Id` = `orgChild2Child`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgChild3` `orgChild3Child` ON ((`posMasterChild`.`orgChild3Id` = `orgChild3Child`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgChild4` `orgChild4Child` ON ((`posMasterChild`.`orgChild4Id` = `orgChild4Child`.`id`)))\n JOIN `bma_ehr_organization_demo`.`posLevel` ON ((`profileChild`.`posLevelId` = `bma_ehr_organization_demo`.`posLevel`.`id`)))\n JOIN `bma_ehr_organization_demo`.`posType` ON ((`profileChild`.`posTypeId` = `bma_ehr_organization_demo`.`posType`.`id`)))\n JOIN `bma_ehr_organization_demo`.`posMaster` ON ((`bma_ehr_organization_demo`.`posMasterAct`.`posMasterId` = `bma_ehr_organization_demo`.`posMaster`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgRoot` ON ((`bma_ehr_organization_demo`.`posMaster`.`orgRootId` = `bma_ehr_organization_demo`.`orgRoot`.`id`)))\n JOIN `bma_ehr_organization_demo`.`profile` ON ((`bma_ehr_organization_demo`.`posMaster`.`current_holderId` = `bma_ehr_organization_demo`.`profile`.`id`)))"]); + await queryRunner.query(`CREATE VIEW \`view_director\` AS SELECT + \`bma_ehr_organization_demo\`.\`profile\`.\`id\` AS \`Id\`, + \`bma_ehr_organization_demo\`.\`profile\`.\`prefix\` AS \`prefix\`, + \`bma_ehr_organization_demo\`.\`profile\`.\`firstName\` AS \`firstName\`, + \`bma_ehr_organization_demo\`.\`profile\`.\`lastName\` AS \`lastName\`, + \`bma_ehr_organization_demo\`.\`profile\`.\`citizenId\` AS \`citizenId\`, + \`bma_ehr_organization_demo\`.\`profile\`.\`position\` AS \`position\`, + CONCAT((CASE + WHEN (\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild1Id\` IS NULL) THEN \`bma_ehr_organization_demo\`.\`orgRoot\`.\`orgRootShortName\` + WHEN (\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild2Id\` IS NULL) THEN \`bma_ehr_organization_demo\`.\`orgChild1\`.\`orgChild1ShortName\` + WHEN (\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild3Id\` IS NULL) THEN \`bma_ehr_organization_demo\`.\`orgChild2\`.\`orgChild2ShortName\` + WHEN (\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild4Id\` IS NULL) THEN \`bma_ehr_organization_demo\`.\`orgChild3\`.\`orgChild3ShortName\` + ELSE \`bma_ehr_organization_demo\`.\`orgChild4\`.\`orgChild4ShortName\` + END), + \`bma_ehr_organization_demo\`.\`posMaster\`.\`posMasterNo\`) AS \`posNo\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`isDirector\` AS \`isDirector\`, + \`bma_ehr_organization_demo\`.\`posLevel\`.\`posLevelName\` AS \`posLevel\`, + \`bma_ehr_organization_demo\`.\`posType\`.\`posTypeName\` AS \`posType\`, + NULL AS \`posExecutiveName\`, + \`bma_ehr_organization_demo\`.\`orgRoot\`.\`isDeputy\` AS \`isDeputy\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgRootId\` AS \`orgRootId\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild1Id\` AS \`orgChild1Id\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild2Id\` AS \`orgChild2Id\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild3Id\` AS \`orgChild3Id\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild4Id\` AS \`orgChild4Id\`, + CONCAT(\`bma_ehr_organization_demo\`.\`posMaster\`.\`id\`, + \`bma_ehr_organization_demo\`.\`profile\`.\`id\`) AS \`key\`, + NULL AS \`actFullNameId\`, + NULL AS \`actFullName\` + FROM + ((((((((\`bma_ehr_organization_demo\`.\`posMaster\` + JOIN \`bma_ehr_organization_demo\`.\`profile\` ON ((\`bma_ehr_organization_demo\`.\`posMaster\`.\`current_holderId\` = \`bma_ehr_organization_demo\`.\`profile\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgRoot\` ON ((\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgRootId\` = \`bma_ehr_organization_demo\`.\`orgRoot\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgChild1\` ON ((\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild1Id\` = \`bma_ehr_organization_demo\`.\`orgChild1\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgChild2\` ON ((\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild2Id\` = \`bma_ehr_organization_demo\`.\`orgChild2\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgChild3\` ON ((\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild3Id\` = \`bma_ehr_organization_demo\`.\`orgChild3\`.\`id\`))) + LEFT JOIN \`bma_ehr_organization_demo\`.\`orgChild4\` ON ((\`bma_ehr_organization_demo\`.\`posMaster\`.\`orgChild4Id\` = \`bma_ehr_organization_demo\`.\`orgChild4\`.\`id\`))) + JOIN \`bma_ehr_organization_demo\`.\`posLevel\` ON ((\`bma_ehr_organization_demo\`.\`profile\`.\`posLevelId\` = \`bma_ehr_organization_demo\`.\`posLevel\`.\`id\`))) + JOIN \`bma_ehr_organization_demo\`.\`posType\` ON ((\`bma_ehr_organization_demo\`.\`profile\`.\`posTypeId\` = \`bma_ehr_organization_demo\`.\`posType\`.\`id\`)))`); + await queryRunner.query(`INSERT INTO \`bma_ehr_organization_demo\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["bma_ehr_organization_demo","VIEW","view_director","SELECT \n `bma_ehr_organization_demo`.`profile`.`id` AS `Id`,\n `bma_ehr_organization_demo`.`profile`.`prefix` AS `prefix`,\n `bma_ehr_organization_demo`.`profile`.`firstName` AS `firstName`,\n `bma_ehr_organization_demo`.`profile`.`lastName` AS `lastName`,\n `bma_ehr_organization_demo`.`profile`.`citizenId` AS `citizenId`,\n `bma_ehr_organization_demo`.`profile`.`position` AS `position`,\n CONCAT((CASE\n WHEN (`bma_ehr_organization_demo`.`posMaster`.`orgChild1Id` IS NULL) THEN `bma_ehr_organization_demo`.`orgRoot`.`orgRootShortName`\n WHEN (`bma_ehr_organization_demo`.`posMaster`.`orgChild2Id` IS NULL) THEN `bma_ehr_organization_demo`.`orgChild1`.`orgChild1ShortName`\n WHEN (`bma_ehr_organization_demo`.`posMaster`.`orgChild3Id` IS NULL) THEN `bma_ehr_organization_demo`.`orgChild2`.`orgChild2ShortName`\n WHEN (`bma_ehr_organization_demo`.`posMaster`.`orgChild4Id` IS NULL) THEN `bma_ehr_organization_demo`.`orgChild3`.`orgChild3ShortName`\n ELSE `bma_ehr_organization_demo`.`orgChild4`.`orgChild4ShortName`\n END),\n `bma_ehr_organization_demo`.`posMaster`.`posMasterNo`) AS `posNo`,\n `bma_ehr_organization_demo`.`posMaster`.`isDirector` AS `isDirector`,\n `bma_ehr_organization_demo`.`posLevel`.`posLevelName` AS `posLevel`,\n `bma_ehr_organization_demo`.`posType`.`posTypeName` AS `posType`,\n NULL AS `posExecutiveName`,\n `bma_ehr_organization_demo`.`orgRoot`.`isDeputy` AS `isDeputy`,\n `bma_ehr_organization_demo`.`posMaster`.`orgRootId` AS `orgRootId`,\n `bma_ehr_organization_demo`.`posMaster`.`orgChild1Id` AS `orgChild1Id`,\n `bma_ehr_organization_demo`.`posMaster`.`orgChild2Id` AS `orgChild2Id`,\n `bma_ehr_organization_demo`.`posMaster`.`orgChild3Id` AS `orgChild3Id`,\n `bma_ehr_organization_demo`.`posMaster`.`orgChild4Id` AS `orgChild4Id`,\n CONCAT(`bma_ehr_organization_demo`.`posMaster`.`id`,\n `bma_ehr_organization_demo`.`profile`.`id`) AS `key`,\n NULL AS `actFullNameId`,\n NULL AS `actFullName`\n FROM\n ((((((((`bma_ehr_organization_demo`.`posMaster`\n JOIN `bma_ehr_organization_demo`.`profile` ON ((`bma_ehr_organization_demo`.`posMaster`.`current_holderId` = `bma_ehr_organization_demo`.`profile`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgRoot` ON ((`bma_ehr_organization_demo`.`posMaster`.`orgRootId` = `bma_ehr_organization_demo`.`orgRoot`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgChild1` ON ((`bma_ehr_organization_demo`.`posMaster`.`orgChild1Id` = `bma_ehr_organization_demo`.`orgChild1`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgChild2` ON ((`bma_ehr_organization_demo`.`posMaster`.`orgChild2Id` = `bma_ehr_organization_demo`.`orgChild2`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgChild3` ON ((`bma_ehr_organization_demo`.`posMaster`.`orgChild3Id` = `bma_ehr_organization_demo`.`orgChild3`.`id`)))\n LEFT JOIN `bma_ehr_organization_demo`.`orgChild4` ON ((`bma_ehr_organization_demo`.`posMaster`.`orgChild4Id` = `bma_ehr_organization_demo`.`orgChild4`.`id`)))\n JOIN `bma_ehr_organization_demo`.`posLevel` ON ((`bma_ehr_organization_demo`.`profile`.`posLevelId` = `bma_ehr_organization_demo`.`posLevel`.`id`)))\n JOIN `bma_ehr_organization_demo`.`posType` ON ((`bma_ehr_organization_demo`.`profile`.`posTypeId` = `bma_ehr_organization_demo`.`posType`.`id`)))"]); + } + +}