diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index 0f80e20c..b68cfbcd 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -5212,6 +5212,56 @@ export class ProfileController extends Controller { ? null : item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id) ?.orgChild4?.orgChild4Name, + root: + item.current_holders == null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id) == null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgRoot == + null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgRoot + ?.orgRootName == null + ? null + : item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgRoot + ?.id, + orgChild1: + item.current_holders == null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id) == null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgChild1 == + null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgChild1 + ?.orgChild1Name == null + ? null + : item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id) + ?.orgChild1?.id, + orgChild2: + item.current_holders == null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id) == null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgChild2 == + null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgChild2 + ?.orgChild2Name == null + ? null + : item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id) + ?.orgChild2?.id, + orgChild3: + item.current_holders == null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id) == null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgChild3 == + null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgChild3 + ?.orgChild3Name == null + ? null + : item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id) + ?.orgChild3?.id, + orgChild4: + item.current_holders == null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id) == null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgChild4 == + null || + item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id)?.orgChild4 + ?.orgChild4Name == null + ? null + : item.current_holders.find((x) => x.orgRevisionId == orgRevisionActive?.id) + ?.orgChild4?.id, }; }), ); @@ -6566,78 +6616,78 @@ export class ProfileController extends Controller { return new HttpSuccess(); } - /** + /** * API รายการทะเบียนประวัติในระบบอื่น * * @summary ORG_065 - รายการทะเบียนประวัติในระบบอื่น * */ - @Get("otherSystem") - @Example({ - status: 200, - message: "สำเร็จ", - result: { - data: [ - { - id: "ecb0b34c-037e-41f2-b95e-7e19f88b42ae", - createdAt: "2024-03-24T12:39:12.105Z", - createdUserId: "00000000-0000-0000-0000-000000000000", - lastUpdatedAt: "2024-03-24T12:41:43.164Z", - lastUpdateUserId: "00000000-0000-0000-0000-000000000000", - createdFullName: "string", - lastUpdateFullName: "string", - rank: null, - prefix: null, - firstName: "Methapon", - lastName: "Metanipat", - citizenId: null, - position: null, - posLevelId: null, - posTypeId: null, - email: null, - phone: null, - keycloak: null, - isProbation: false, - dateRetire: null, - birthDate: null, - ethnicity: null, - telephoneNumber: null, - gender: null, - relationship: null, - bloodGroup: null, - posLevel: null, - posType: null, - org: null, - }, - ], - total: 1, - }, - }) - async listProfileNoPermission( - @Request() request: RequestWithUser, - @Query("page") page: number = 1, - @Query("pageSize") pageSize: number = 10, - @Query() - searchField?: "firstName" | "lastName" | "fullName" | "citizenId" | "position" | "posNo", - @Query() searchKeyword: string = "", - @Query() posType?: string, - @Query() posLevel?: string, - @Query() yearLeave?: number, - @Query() isProbation?: boolean, - @Query() isRetire?: boolean, - @Query() node?: number, - @Query() nodeId?: string, - @Query() isAll?: boolean, - ) { + @Get("otherSystem") + @Example({ + status: 200, + message: "สำเร็จ", + result: { + data: [ + { + id: "ecb0b34c-037e-41f2-b95e-7e19f88b42ae", + createdAt: "2024-03-24T12:39:12.105Z", + createdUserId: "00000000-0000-0000-0000-000000000000", + lastUpdatedAt: "2024-03-24T12:41:43.164Z", + lastUpdateUserId: "00000000-0000-0000-0000-000000000000", + createdFullName: "string", + lastUpdateFullName: "string", + rank: null, + prefix: null, + firstName: "Methapon", + lastName: "Metanipat", + citizenId: null, + position: null, + posLevelId: null, + posTypeId: null, + email: null, + phone: null, + keycloak: null, + isProbation: false, + dateRetire: null, + birthDate: null, + ethnicity: null, + telephoneNumber: null, + gender: null, + relationship: null, + bloodGroup: null, + posLevel: null, + posType: null, + org: null, + }, + ], + total: 1, + }, + }) + async listProfileNoPermission( + @Request() request: RequestWithUser, + @Query("page") page: number = 1, + @Query("pageSize") pageSize: number = 10, + @Query() + searchField?: "firstName" | "lastName" | "fullName" | "citizenId" | "position" | "posNo", + @Query() searchKeyword: string = "", + @Query() posType?: string, + @Query() posLevel?: string, + @Query() yearLeave?: number, + @Query() isProbation?: boolean, + @Query() isRetire?: boolean, + @Query() node?: number, + @Query() nodeId?: string, + @Query() isAll?: boolean, + ) { // let _data = await new permission().PermissionOrgList(request, "SYS_REGISTRY_OFFICER"); - let queryLike = - "CONCAT(profile.prefix, profile.firstName, ' ', profile.lastName) LIKE :keyword"; - if (searchField == "citizenId") { - queryLike = "profile.citizenId LIKE :keyword"; - } else if (searchField == "position") { - queryLike = "profile.position LIKE :keyword"; - } else if (searchField == "posNo") { - queryLike = `CONCAT( + let queryLike = + "CONCAT(profile.prefix, profile.firstName, ' ', profile.lastName) LIKE :keyword"; + if (searchField == "citizenId") { + queryLike = "profile.citizenId LIKE :keyword"; + } else if (searchField == "position") { + queryLike = "profile.position LIKE :keyword"; + } else if (searchField == "posNo") { + queryLike = `CONCAT( IFNULL(orgChild4.orgChild4ShortName, ''), IFNULL(orgChild3.orgChild3ShortName, ''), IFNULL(orgChild2.orgChild2ShortName, ''), @@ -6645,37 +6695,37 @@ export class ProfileController extends Controller { IFNULL(orgRoot.orgRootShortName, ''), IFNULL(current_holders.posMasterNo , '') ) LIKE :keyword`; - } - let nodeCondition = "1=1"; - let nodeAll = ""; - if (node === 0 && nodeId) { - nodeCondition = "current_holders.orgRootId = :nodeId"; - if (isAll == false) nodeAll = " AND current_holders.orgChild1Id IS NULL"; - } else if (node === 1 && nodeId) { - nodeCondition = "current_holders.orgChild1Id = :nodeId"; - if (isAll == false) nodeAll = " AND current_holders.orgChild2Id IS NULL"; - } else if (node === 2 && nodeId) { - nodeCondition = "current_holders.orgChild2Id = :nodeId"; - if (isAll == false) nodeAll = " AND current_holders.orgChild3Id IS NULL"; - } else if (node === 3 && nodeId) { - nodeCondition = "current_holders.orgChild3Id = :nodeId"; - if (isAll == false) nodeAll = " AND current_holders.orgChild4Id IS NULL"; - } else if (node === 4 && nodeId) { - nodeCondition = "current_holders.orgChild4Id = :nodeId"; - } - nodeCondition = nodeCondition + nodeAll; - const [record, total] = await this.profileRepo - .createQueryBuilder("profile") - .leftJoinAndSelect("profile.posLevel", "posLevel") - .leftJoinAndSelect("profile.posType", "posType") - .leftJoinAndSelect("profile.current_holders", "current_holders") - .leftJoinAndSelect("current_holders.positions", "positions") - .leftJoinAndSelect("positions.posExecutive", "posExecutive") - .leftJoinAndSelect("current_holders.orgRoot", "orgRoot") - .leftJoinAndSelect("current_holders.orgChild1", "orgChild1") - .leftJoinAndSelect("current_holders.orgChild2", "orgChild2") - .leftJoinAndSelect("current_holders.orgChild3", "orgChild3") - .leftJoinAndSelect("current_holders.orgChild4", "orgChild4") + } + let nodeCondition = "1=1"; + let nodeAll = ""; + if (node === 0 && nodeId) { + nodeCondition = "current_holders.orgRootId = :nodeId"; + if (isAll == false) nodeAll = " AND current_holders.orgChild1Id IS NULL"; + } else if (node === 1 && nodeId) { + nodeCondition = "current_holders.orgChild1Id = :nodeId"; + if (isAll == false) nodeAll = " AND current_holders.orgChild2Id IS NULL"; + } else if (node === 2 && nodeId) { + nodeCondition = "current_holders.orgChild2Id = :nodeId"; + if (isAll == false) nodeAll = " AND current_holders.orgChild3Id IS NULL"; + } else if (node === 3 && nodeId) { + nodeCondition = "current_holders.orgChild3Id = :nodeId"; + if (isAll == false) nodeAll = " AND current_holders.orgChild4Id IS NULL"; + } else if (node === 4 && nodeId) { + nodeCondition = "current_holders.orgChild4Id = :nodeId"; + } + nodeCondition = nodeCondition + nodeAll; + const [record, total] = await this.profileRepo + .createQueryBuilder("profile") + .leftJoinAndSelect("profile.posLevel", "posLevel") + .leftJoinAndSelect("profile.posType", "posType") + .leftJoinAndSelect("profile.current_holders", "current_holders") + .leftJoinAndSelect("current_holders.positions", "positions") + .leftJoinAndSelect("positions.posExecutive", "posExecutive") + .leftJoinAndSelect("current_holders.orgRoot", "orgRoot") + .leftJoinAndSelect("current_holders.orgChild1", "orgChild1") + .leftJoinAndSelect("current_holders.orgChild2", "orgChild2") + .leftJoinAndSelect("current_holders.orgChild3", "orgChild3") + .leftJoinAndSelect("current_holders.orgChild4", "orgChild4") // .andWhere( // _data.root != undefined && _data.root != null // ? _data.root[0] != null @@ -6726,164 +6776,164 @@ export class ProfileController extends Controller { // child4: _data.child4, // }, // ) - .andWhere( - posType != undefined && posType != null && posType != "" - ? "posType.posTypeName LIKE :keyword1" - : "1=1", - { - keyword1: `${posType}`, - }, - ) - .andWhere( - posLevel != undefined && posLevel != null && posLevel != "" - ? "posLevel.posLevelName LIKE :keyword2" - : "1=1", - { - keyword2: `${posLevel}`, - }, - ) - .andWhere( - isProbation != undefined && isProbation != null - ? `profile.isProbation = ${isProbation}` - : "1=1", - ) - .andWhere( - isRetire != undefined && isRetire != null - ? isRetire == false - ? `profile.dateLeave IS null` - : `profile.dateLeave IS NOT NULL` - : "1=1", - ) - .andWhere( - searchKeyword != undefined && searchKeyword != null && searchKeyword != "" - ? queryLike - : "1=1", - { - keyword: `%${searchKeyword}%`, - }, - ) - .andWhere(nodeCondition, { - nodeId: nodeId, - }) - .skip((page - 1) * pageSize) - .take(pageSize) - .getManyAndCount(); - - const findRevision = await this.orgRevisionRepo.findOne({ - where: { orgRevisionIsCurrent: true }, - }); - if (!findRevision) { - throw new HttpError(HttpStatus.NOT_FOUND, "not found. OrgRevision"); - } - const data = await Promise.all( - record.map((_data) => { - const posExecutive = - _data.current_holders.length == 0 || - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null || - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.positions.length == - 0 || - _data.current_holders - .find((x) => x.orgRevisionId == findRevision.id) - ?.positions.find((x: any) => x.positionIsSelected == true) == null || - _data.current_holders - .find((x) => x.orgRevisionId == findRevision.id) - ?.positions.find((x: any) => x.positionIsSelected == true)?.posExecutive == null - ? null - : _data.current_holders - .find((x) => x.orgRevisionId == findRevision.id) - ?.positions.find((x: any) => x.positionIsSelected == true)?.posExecutive - ?.posExecutiveName; - - const shortName = - _data.current_holders.length == 0 - ? null - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4 != - null - ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4.orgChild4ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) - ?.orgChild3 != null - ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3.orgChild3ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) - ?.orgChild2 != null - ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2.orgChild2ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) - ?.orgChild1 != null - ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1.orgChild1ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != - null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) - ?.orgRoot != null - ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot.orgRootShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` - : null; - const root = - _data.current_holders.length == 0 || - (_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot == null) - ? null - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot; - - const child1 = - _data.current_holders == null || - _data.current_holders.length == 0 || - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null - ? null - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1; - - const child2 = - _data.current_holders == null || - _data.current_holders.length == 0 || - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null - ? null - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2; - - const child3 = - _data.current_holders == null || - _data.current_holders.length == 0 || - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null - ? null - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3; - - const child4 = - _data.current_holders == null || - _data.current_holders.length == 0 || - _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null - ? null - : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4; - - let _child1 = child1 == null ? "" : `${child1.orgChild1Name}/`; - let _child2 = child2 == null ? "" : `${child2.orgChild2Name}/`; - let _child3 = child3 == null ? "" : `${child3.orgChild3Name}/`; - let _child4 = child4 == null ? "" : `${child4.orgChild4Name}/`; - - return { - id: _data.id, - avatar: _data.avatar, - avatarName: _data.avatarName, - prefix: _data.prefix, - rank: _data.rank, - firstName: _data.firstName, - lastName: _data.lastName, - citizenId: _data.citizenId, - posLevel: _data.posLevel == null ? null : _data.posLevel.posLevelName, - posType: _data.posType == null ? null : _data.posType.posTypeName, - posLevelId: _data.posLevel == null ? null : _data.posLevel.id, - posTypeId: _data.posType == null ? null : _data.posType.id, - position: _data.position, - posExecutive: posExecutive, - posNo: shortName, - rootId: root == null ? null : root.id, - root: root == null ? null : root.orgRootName, - orgRootShortName: root == null ? null : root.orgRootShortName, - orgRevisionId: root == null ? null : root.orgRevisionId, - org: `${_child4}${_child3}${_child2}${_child1}${root?.orgRootName ?? ""}`, - }; - }), - ); - - return new HttpSuccess({ data: data, total }); - } + .andWhere( + posType != undefined && posType != null && posType != "" + ? "posType.posTypeName LIKE :keyword1" + : "1=1", + { + keyword1: `${posType}`, + }, + ) + .andWhere( + posLevel != undefined && posLevel != null && posLevel != "" + ? "posLevel.posLevelName LIKE :keyword2" + : "1=1", + { + keyword2: `${posLevel}`, + }, + ) + .andWhere( + isProbation != undefined && isProbation != null + ? `profile.isProbation = ${isProbation}` + : "1=1", + ) + .andWhere( + isRetire != undefined && isRetire != null + ? isRetire == false + ? `profile.dateLeave IS null` + : `profile.dateLeave IS NOT NULL` + : "1=1", + ) + .andWhere( + searchKeyword != undefined && searchKeyword != null && searchKeyword != "" + ? queryLike + : "1=1", + { + keyword: `%${searchKeyword}%`, + }, + ) + .andWhere(nodeCondition, { + nodeId: nodeId, + }) + .skip((page - 1) * pageSize) + .take(pageSize) + .getManyAndCount(); + + const findRevision = await this.orgRevisionRepo.findOne({ + where: { orgRevisionIsCurrent: true }, + }); + if (!findRevision) { + throw new HttpError(HttpStatus.NOT_FOUND, "not found. OrgRevision"); + } + const data = await Promise.all( + record.map((_data) => { + const posExecutive = + _data.current_holders.length == 0 || + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null || + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.positions.length == + 0 || + _data.current_holders + .find((x) => x.orgRevisionId == findRevision.id) + ?.positions.find((x: any) => x.positionIsSelected == true) == null || + _data.current_holders + .find((x) => x.orgRevisionId == findRevision.id) + ?.positions.find((x: any) => x.positionIsSelected == true)?.posExecutive == null + ? null + : _data.current_holders + .find((x) => x.orgRevisionId == findRevision.id) + ?.positions.find((x: any) => x.positionIsSelected == true)?.posExecutive + ?.posExecutiveName; + + const shortName = + _data.current_holders.length == 0 + ? null + : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4 != + null + ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4.orgChild4ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` + : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) + ?.orgChild3 != null + ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3.orgChild3ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` + : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) + ?.orgChild2 != null + ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2.orgChild2ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` + : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) + ?.orgChild1 != null + ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1.orgChild1ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` + : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != + null && + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) + ?.orgRoot != null + ? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot.orgRootShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}` + : null; + const root = + _data.current_holders.length == 0 || + (_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null && + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot == null) + ? null + : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot; + + const child1 = + _data.current_holders == null || + _data.current_holders.length == 0 || + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null + ? null + : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1; + + const child2 = + _data.current_holders == null || + _data.current_holders.length == 0 || + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null + ? null + : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2; + + const child3 = + _data.current_holders == null || + _data.current_holders.length == 0 || + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null + ? null + : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3; + + const child4 = + _data.current_holders == null || + _data.current_holders.length == 0 || + _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null + ? null + : _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4; + + let _child1 = child1 == null ? "" : `${child1.orgChild1Name}/`; + let _child2 = child2 == null ? "" : `${child2.orgChild2Name}/`; + let _child3 = child3 == null ? "" : `${child3.orgChild3Name}/`; + let _child4 = child4 == null ? "" : `${child4.orgChild4Name}/`; + + return { + id: _data.id, + avatar: _data.avatar, + avatarName: _data.avatarName, + prefix: _data.prefix, + rank: _data.rank, + firstName: _data.firstName, + lastName: _data.lastName, + citizenId: _data.citizenId, + posLevel: _data.posLevel == null ? null : _data.posLevel.posLevelName, + posType: _data.posType == null ? null : _data.posType.posTypeName, + posLevelId: _data.posLevel == null ? null : _data.posLevel.id, + posTypeId: _data.posType == null ? null : _data.posType.id, + position: _data.position, + posExecutive: posExecutive, + posNo: shortName, + rootId: root == null ? null : root.id, + root: root == null ? null : root.orgRootName, + orgRootShortName: root == null ? null : root.orgRootShortName, + orgRevisionId: root == null ? null : root.orgRevisionId, + org: `${_child4}${_child3}${_child2}${_child1}${root?.orgRootName ?? ""}`, + }; + }), + ); + + return new HttpSuccess({ data: data, total }); + } }