From d2974a12ab74f3f6c9fb06fdcc147cae2adc9799 Mon Sep 17 00:00:00 2001 From: kittapath Date: Mon, 4 Nov 2024 13:29:30 +0700 Subject: [PATCH 1/4] no message --- src/controllers/PositionController.ts | 313 +++++++++++++------------- 1 file changed, 156 insertions(+), 157 deletions(-) diff --git a/src/controllers/PositionController.ts b/src/controllers/PositionController.ts index dc97d087..981810e3 100644 --- a/src/controllers/PositionController.ts +++ b/src/controllers/PositionController.ts @@ -1679,7 +1679,7 @@ export class PositionController extends Controller { } masterId = [...new Set(masterId)]; } - + const revisionCondition = { orgRevisionId: body.revisionId, }; @@ -1695,157 +1695,156 @@ export class PositionController extends Controller { child4: null, privilege: "OWNER", }; - const conditions = [ + const conditions = [ + { + ...checkChildConditions, + ...typeCondition, + ...revisionCondition, + ...(body.keyword && + (masterId.length > 0 + ? { id: In(masterId) } + : { posMasterNo: Like(`%${body.keyword}%`) })), + }, + ]; + + let [posMaster, total] = await AppDataSource.getRepository(PosMaster) + .createQueryBuilder("posMaster") + .leftJoinAndSelect("posMaster.orgRoot", "orgRoot") + .leftJoinAndSelect("posMaster.orgChild1", "orgChild1") + .leftJoinAndSelect("posMaster.orgChild2", "orgChild2") + .leftJoinAndSelect("posMaster.orgChild3", "orgChild3") + .leftJoinAndSelect("posMaster.orgChild4", "orgChild4") + .leftJoinAndSelect("posMaster.current_holder", "current_holder") + .leftJoinAndSelect("posMaster.next_holder", "next_holder") + .leftJoinAndSelect("posMaster.orgRevision", "orgRevision") + .where(conditions) + .andWhere( + _data.root != undefined && _data.root != null + ? _data.root[0] != null + ? `posMaster.orgRootId IN (:...root)` + : `posMaster.orgRootId is null` + : "1=1", { - ...checkChildConditions, - ...typeCondition, - ...revisionCondition, - ...(body.keyword && - (masterId.length > 0 - ? { id: In(masterId) } - : { posMasterNo: Like(`%${body.keyword}%`) })), + root: _data.root, }, - ]; - - let [posMaster, total] = await AppDataSource.getRepository(PosMaster) - .createQueryBuilder("posMaster") - .leftJoinAndSelect("posMaster.orgRoot", "orgRoot") - .leftJoinAndSelect("posMaster.orgChild1", "orgChild1") - .leftJoinAndSelect("posMaster.orgChild2", "orgChild2") - .leftJoinAndSelect("posMaster.orgChild3", "orgChild3") - .leftJoinAndSelect("posMaster.orgChild4", "orgChild4") - .leftJoinAndSelect("posMaster.current_holder", "current_holder") - .leftJoinAndSelect("posMaster.next_holder", "next_holder") - .leftJoinAndSelect("posMaster.orgRevision", "orgRevision") - .where(conditions) - .andWhere( - _data.root != undefined && _data.root != null - ? _data.root[0] != null - ? `posMaster.orgRootId IN (:...root)` - : `posMaster.orgRootId is null` - : "1=1", - { - root: _data.root, - }, - ) - .andWhere( - _data.child1 != undefined && _data.child1 != null - ? _data.child1[0] != null - ? `posMaster.orgChild1Id IN (:...child1)` - : `posMaster.orgChild1Id is null` - : "1=1", - { - child1: _data.child1, - }, - ) - .andWhere( - _data.child2 != undefined && _data.child2 != null - ? _data.child2[0] != null - ? `posMaster.orgChild2Id IN (:...child2)` - : `posMaster.orgChild2Id is null` - : "1=1", - { - child2: _data.child2, - }, - ) - .andWhere( - _data.child3 != undefined && _data.child3 != null - ? _data.child3[0] != null - ? `posMaster.orgChild3Id IN (:...child3)` - : `posMaster.orgChild3Id is null` - : "1=1", - { - child3: _data.child3, - }, - ) - .andWhere( - _data.child4 != undefined && _data.child4 != null - ? _data.child4[0] != null - ? `posMaster.orgChild4Id IN (:...child4)` - : `posMaster.orgChild4Id is null` - : "1=1", - { - child4: _data.child4, - }, - ) - .orWhere( - new Brackets((qb) => { - qb.andWhere( - body.keyword != null && body.keyword != "" - ? body.isAll == false - ? searchShortName - : `CASE WHEN posMaster.orgChild1 is null THEN ${searchShortName0} WHEN posMaster.orgChild2 is null THEN ${searchShortName1} WHEN posMaster.orgChild3 is null THEN ${searchShortName2} WHEN posMaster.orgChild4 is null THEN ${searchShortName3} ELSE ${searchShortName4} END LIKE '%${body.keyword}%'` - : "1=1", - ) - .andWhere(checkChildConditions) - .andWhere(typeCondition) - .andWhere(revisionCondition); - }), - ) - .orWhere( - new Brackets((qb) => { - qb.andWhere( - body.keyword != null && body.keyword != "" - ? `CONCAT(current_holder.prefix, current_holder.firstName," ",current_holder.lastName) like '%${body.keyword}%'` - : "1=1", - { - keyword: `%${body.keyword}%`, - }, - ) - .andWhere(checkChildConditions) - .andWhere(typeCondition) - .andWhere(revisionCondition); - }), - ) - .orWhere( - new Brackets((qb) => { - qb.andWhere( - body.keyword != null && body.keyword != "" - ? `CASE WHEN orgRevision.orgRevisionIsDraft = true THEN CONCAT(next_holder.prefix, next_holder.firstName,' ', next_holder.lastName) ELSE CONCAT(current_holder.prefix, current_holder.firstName,' ' , current_holder.lastName) END LIKE '%${body.keyword}%'` - : "1=1", - { - keyword: `%${body.keyword}%`, - }, - ) - .andWhere(checkChildConditions) - .andWhere(typeCondition) - .andWhere(revisionCondition); - }), - ) - .orderBy("posMaster.posMasterOrder", "ASC") - .skip((body.page - 1) * body.pageSize) - .take(body.pageSize) - .getManyAndCount(); - - //แก้ค้นหา - let _position: any[] = []; - let x: any = null; - let y: any = null; - if (body.keyword != null && body.keyword != ""){ - const position = await this.positionRepository.find({ - relations: ["posType", "posLevel", "posExecutive"], - where: { posMasterId: In(posMaster.map(x => x.id))}, - order: { createdAt: "ASC" } - }); - for(let data of position){ - x = data.posMasterId - if(y != x){ - if( - data.positionName.includes(body.keyword) || - data.posType.posTypeName.includes(body.keyword) || - data.posLevel.posLevelName.includes(body.keyword) - ){ - _position.push(data); - } + ) + .andWhere( + _data.child1 != undefined && _data.child1 != null + ? _data.child1[0] != null + ? `posMaster.orgChild1Id IN (:...child1)` + : `posMaster.orgChild1Id is null` + : "1=1", + { + child1: _data.child1, + }, + ) + .andWhere( + _data.child2 != undefined && _data.child2 != null + ? _data.child2[0] != null + ? `posMaster.orgChild2Id IN (:...child2)` + : `posMaster.orgChild2Id is null` + : "1=1", + { + child2: _data.child2, + }, + ) + .andWhere( + _data.child3 != undefined && _data.child3 != null + ? _data.child3[0] != null + ? `posMaster.orgChild3Id IN (:...child3)` + : `posMaster.orgChild3Id is null` + : "1=1", + { + child3: _data.child3, + }, + ) + .andWhere( + _data.child4 != undefined && _data.child4 != null + ? _data.child4[0] != null + ? `posMaster.orgChild4Id IN (:...child4)` + : `posMaster.orgChild4Id is null` + : "1=1", + { + child4: _data.child4, + }, + ) + .orWhere( + new Brackets((qb) => { + qb.andWhere( + body.keyword != null && body.keyword != "" + ? body.isAll == false + ? searchShortName + : `CASE WHEN posMaster.orgChild1 is null THEN ${searchShortName0} WHEN posMaster.orgChild2 is null THEN ${searchShortName1} WHEN posMaster.orgChild3 is null THEN ${searchShortName2} WHEN posMaster.orgChild4 is null THEN ${searchShortName3} ELSE ${searchShortName4} END LIKE '%${body.keyword}%'` + : "1=1", + ) + .andWhere(checkChildConditions) + .andWhere(typeCondition) + .andWhere(revisionCondition); + }), + ) + .orWhere( + new Brackets((qb) => { + qb.andWhere( + body.keyword != null && body.keyword != "" + ? `CONCAT(current_holder.prefix, current_holder.firstName," ",current_holder.lastName) like '%${body.keyword}%'` + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .andWhere(checkChildConditions) + .andWhere(typeCondition) + .andWhere(revisionCondition); + }), + ) + .orWhere( + new Brackets((qb) => { + qb.andWhere( + body.keyword != null && body.keyword != "" + ? `CASE WHEN orgRevision.orgRevisionIsDraft = true THEN CONCAT(next_holder.prefix, next_holder.firstName,' ', next_holder.lastName) ELSE CONCAT(current_holder.prefix, current_holder.firstName,' ' , current_holder.lastName) END LIKE '%${body.keyword}%'` + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .andWhere(checkChildConditions) + .andWhere(typeCondition) + .andWhere(revisionCondition); + }), + ) + .orderBy("posMaster.posMasterOrder", "ASC") + .skip((body.page - 1) * body.pageSize) + .take(body.pageSize) + .getManyAndCount(); + + //แก้ค้นหา + let _position: any[] = []; + let x: any = null; + let y: any = null; + if (body.keyword != null && body.keyword != "") { + const position = await this.positionRepository.find({ + relations: ["posType", "posLevel", "posExecutive"], + where: { posMasterId: In(posMaster.map((x) => x.id)) }, + order: { createdAt: "ASC" }, + }); + for (let data of position) { + x = data.posMasterId; + if (y != x) { + if ( + data.positionName.includes(body.keyword) || + data.posType.posTypeName.includes(body.keyword) || + data.posLevel.posLevelName.includes(body.keyword) + ) { + _position.push(data); } - y = x; } + y = x; } - - if(_position.length > 0){ - posMaster = posMaster.filter((x) => _position.some(y => y.posMasterId === x.id)); - } - + } + + if (_position.length > 0) { + posMaster = posMaster.filter((x) => _position.some((y) => y.posMasterId === x.id)); + } const formattedData = await Promise.all( posMaster.map(async (posMaster) => { @@ -3312,10 +3311,10 @@ export class PositionController extends Controller { .getManyAndCount(); const _posType = await this.posTypeRepository.find({ - where: { posTypeName: In(["ทั่วไป", "วิชาการ"]) } + where: { posTypeName: In(["ทั่วไป", "วิชาการ"]) }, }); const _posLevel = await this.posLevelRepository.find({ - where: { posLevelName: In(["ปฏิบัติงาน", "ปฏิบัติการ"]) } + where: { posLevelName: In(["ปฏิบัติงาน", "ปฏิบัติการ"]) }, }); const formattedData = await Promise.all( @@ -3382,12 +3381,13 @@ export class PositionController extends Controller { nodeId = posMaster.orgRootId; } - let _position: any - if( posLevel == null && posType == null && body.position != null) { + let _position: any; + if (posLevel == null && posType == null && body.position != null) { _position = posMaster.positions - .filter((x:any) => - _posType.some((y:any) => y.id == x.posTypeId) && - _posLevel.some((z:any) => z.id == x.posLevelId) + .filter( + (x: any) => + _posType.some((y: any) => y.id == x.posTypeId) && + _posLevel.some((z: any) => z.id == x.posLevelId), ) .map((position) => ({ id: position.id, @@ -3405,8 +3405,7 @@ export class PositionController extends Controller { positionIsSelected: position.positionIsSelected, isSpecial: position.isSpecial, })); - } - else { + } else { _position = posMaster.positions.map((position) => ({ id: position.id, positionName: position.positionName, @@ -4594,7 +4593,7 @@ export class PositionController extends Controller { .leftJoinAndSelect("posMaster.orgChild4", "orgChild4") .where(conditions) .andWhere({ - current_holderId: Not(IsNull()), + current_holderId: IsNull(), }) .andWhere( _data.root != undefined && _data.root != null From 4a036a5dd9fd8193d768e5bcae9df85f377c44ea Mon Sep 17 00:00:00 2001 From: kittapath Date: Mon, 4 Nov 2024 16:09:05 +0700 Subject: [PATCH 2/4] add commander-director-act --- src/controllers/ProfileController.ts | 347 +++++++++++------- src/entities/view/viewCommanderDirector.ts | 68 ---- src/entities/view/viewDirectorActing.ts | 2 +- .../1730703510080-add_table_commandSign2.ts | 58 +++ 4 files changed, 268 insertions(+), 207 deletions(-) delete mode 100644 src/entities/view/viewCommanderDirector.ts create mode 100644 src/migration/1730703510080-add_table_commandSign2.ts diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index da9b6c4c..d891b17b 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -73,6 +73,8 @@ import { viewCommanderDirector } from "../entities/view/viewCommanderDirector"; import { ProfileFamilyFatherHistory } from "../entities/ProfileFamilyFatherHistory"; import { ProfileFamilyMotherHistory } from "../entities/ProfileFamilyMotherHistory"; import { ProfileFamilyCoupleHistory } from "../entities/ProfileFamilyCoupleHistory"; +import { viewDirector } from "../entities/view/viewDirector"; +import { viewDirectorActing } from "../entities/view/viewDirectorActing"; @Route("api/v1/org/profile") @Tags("Profile") @Security("bearerAuth") @@ -265,7 +267,7 @@ export class ProfileController extends Controller { ? Extension.ToThaiNumber(profile.profileSalary[0].amount.toLocaleString()) : "-", registrationAddress: Extension.ToThaiNumber( - `${_regisAddres}${_subDistrict}${_district}${_province}${registrationZipCode}`, + `${_regisAddres}${_subDistrict}${_district}${_province}${registrationZipCode}`, ), salaryDate: profile.profileSalary.length > 0 && profile.profileSalary[0].date != null @@ -280,9 +282,7 @@ export class ProfileController extends Controller { : "-", ocFullPath: `${_child4}${_child3}${_child2}${_child1}${_root}`, educations: Education, - url: ImgUrl - ? ImgUrl - : `https://bma-ehr.frappet.synology.me/assets/avatar_user-89f22423.jpg`, + url: ImgUrl ? ImgUrl : `https://bma-ehr.frappet.synology.me/assets/avatar_user-89f22423.jpg`, }; return new HttpSuccess({ @@ -679,109 +679,107 @@ export class ProfileController extends Controller { }, ]; - const data = { - fullName: `${profiles?.prefix}${profiles?.firstName} ${profiles?.lastName}`, - prefix: profiles?.prefix != null ? profiles.prefix : "", - firstName: profiles?.firstName != null ? profiles.firstName : "", - lastName: profiles?.lastName != null ? profiles.lastName : "", - ocFullPath: `${_child4}${_child3}${_child2}${_child1}${_root}`, - birthDate: profiles?.birthDate - ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.birthDate)) - : "", - retireDate: - profiles.dateRetireLaw != null + const data = { + fullName: `${profiles?.prefix}${profiles?.firstName} ${profiles?.lastName}`, + prefix: profiles?.prefix != null ? profiles.prefix : "", + firstName: profiles?.firstName != null ? profiles.firstName : "", + lastName: profiles?.lastName != null ? profiles.lastName : "", + ocFullPath: `${_child4}${_child3}${_child2}${_child1}${_root}`, + birthDate: profiles?.birthDate + ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.birthDate)) + : "", + retireDate: + profiles.dateRetireLaw != null ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.dateRetireLaw)) : "", - appointDate: profiles?.dateAppoint - ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.dateAppoint)) - : "", - citizenId: - profiles.citizenId != null ? Extension.ToThaiNumber(profiles.citizenId.toString()) : "", - fatherFullName: - profileFamilyFather?.fatherPrefix || - profileFamilyFather?.fatherFirstName || - profileFamilyFather?.fatherLastName - ? `${profileFamilyFather?.fatherPrefix ?? ""}${profileFamilyFather?.fatherFirstName ?? ""} ${profileFamilyFather?.fatherLastName ?? ""}`.trim() - : null, - motherFullName: - profileFamilyMother?.motherPrefix || - profileFamilyMother?.motherFirstName || - profileFamilyMother?.motherLastName - ? `${profileFamilyMother?.motherPrefix ?? ""}${profileFamilyMother?.motherFirstName ?? ""} ${profileFamilyMother?.motherLastName ?? ""}`.trim() - : null, - coupleFullName: - profileFamilyCouple?.couplePrefix || - profileFamilyCouple?.coupleFirstName || - profileFamilyCouple?.coupleLastNameOld - ? `${profileFamilyCouple?.couplePrefix ?? ""}${profileFamilyCouple?.coupleFirstName ?? ""} ${profileFamilyCouple?.coupleLastName ?? ""}`.trim() - : null, - coupleLastNameOld: profileFamilyCouple?.coupleLastNameOld ?? null, - currentAddress: + appointDate: profiles?.dateAppoint + ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.dateAppoint)) + : "", + citizenId: + profiles.citizenId != null ? Extension.ToThaiNumber(profiles.citizenId.toString()) : "", + fatherFullName: + profileFamilyFather?.fatherPrefix || + profileFamilyFather?.fatherFirstName || + profileFamilyFather?.fatherLastName + ? `${profileFamilyFather?.fatherPrefix ?? ""}${profileFamilyFather?.fatherFirstName ?? ""} ${profileFamilyFather?.fatherLastName ?? ""}`.trim() + : null, + motherFullName: + profileFamilyMother?.motherPrefix || + profileFamilyMother?.motherFirstName || + profileFamilyMother?.motherLastName + ? `${profileFamilyMother?.motherPrefix ?? ""}${profileFamilyMother?.motherFirstName ?? ""} ${profileFamilyMother?.motherLastName ?? ""}`.trim() + : null, + coupleFullName: + profileFamilyCouple?.couplePrefix || + profileFamilyCouple?.coupleFirstName || + profileFamilyCouple?.coupleLastNameOld + ? `${profileFamilyCouple?.couplePrefix ?? ""}${profileFamilyCouple?.coupleFirstName ?? ""} ${profileFamilyCouple?.coupleLastName ?? ""}`.trim() + : null, + coupleLastNameOld: profileFamilyCouple?.coupleLastNameOld ?? null, + currentAddress: profiles.currentAddress != null ? Extension.ToThaiNumber(profiles.currentAddress) : "", - currentSubDistrict: - profiles.currentSubDistrict != null - ? Extension.ToThaiNumber(profiles.currentSubDistrict.name) - : "", - currentDistrict: - profiles.currentDistrict != null - ? Extension.ToThaiNumber(profiles.currentDistrict.name) - : "", - currentProvince: - profiles.currentProvince != null - ? Extension.ToThaiNumber(profiles.currentProvince.name) - : "", - telephone: - profiles.telephoneNumber != null ? Extension.ToThaiNumber(profiles.telephoneNumber) : "", - url: ImgUrl - ? ImgUrl - : `https://bma-ehr.frappet.synology.me/assets/avatar_user-89f22423.jpg`, - url1: _ImgUrl[0] ? _ImgUrl[0] : null, - url2: _ImgUrl[1] ? _ImgUrl[1] : null, - url3: _ImgUrl[2] ? _ImgUrl[2] : null, - url4: _ImgUrl[3] ? _ImgUrl[3] : null, - url5: _ImgUrl[4] ? _ImgUrl[4] : null, - url6: _ImgUrl[5] ? _ImgUrl[5] : null, - url7: _ImgUrl[6] ? _ImgUrl[6] : null, - - // BirthDay: profiles?.birthDate - // ? Extension.ToThaiNumber(new Date(profiles.birthDate).getDate().toString()) - // : null, - // BirthDayText: - // profiles.birthDate != null - // ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.birthDate).toString()) - // : "", - // BirthMonth: profiles?.birthDate - // ? Extension.ToThaiNumber(new Date(profiles.birthDate).getMonth() + (1).toString()) - // : null, // Months are zero-based - // BirthYear: profiles?.birthDate - // ? Extension.ToThaiNumber(new Date(profiles.birthDate).getFullYear().toString()) - // : null, - // BirthYearText: - // profiles.birthDate != null - // ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.birthDate).toString()) - // : "", - // Address: "", - // District: "", - // Area: "", - // Province: "", - // CouplePrefix: profileFamilyCouple?.couplePrefix ?? "", - // FatherPrefix: profileFamilyFather?.fatherPrefix ?? "", - // MotherPrefix: profileFamilyMother?.motherPrefix ?? "", - // Division: "", - // Institute: "", - // StartDate: profiles?.dateStart - // ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.dateStart)) - // : "", - // AvatarId: profiles?.avatar ?? null, + currentSubDistrict: + profiles.currentSubDistrict != null + ? Extension.ToThaiNumber(profiles.currentSubDistrict.name) + : "", + currentDistrict: + profiles.currentDistrict != null + ? Extension.ToThaiNumber(profiles.currentDistrict.name) + : "", + currentProvince: + profiles.currentProvince != null + ? Extension.ToThaiNumber(profiles.currentProvince.name) + : "", + telephone: + profiles.telephoneNumber != null ? Extension.ToThaiNumber(profiles.telephoneNumber) : "", + url: ImgUrl ? ImgUrl : `https://bma-ehr.frappet.synology.me/assets/avatar_user-89f22423.jpg`, + url1: _ImgUrl[0] ? _ImgUrl[0] : null, + url2: _ImgUrl[1] ? _ImgUrl[1] : null, + url3: _ImgUrl[2] ? _ImgUrl[2] : null, + url4: _ImgUrl[3] ? _ImgUrl[3] : null, + url5: _ImgUrl[4] ? _ImgUrl[4] : null, + url6: _ImgUrl[5] ? _ImgUrl[5] : null, + url7: _ImgUrl[6] ? _ImgUrl[6] : null, - insignias, - leaves, - certs, - trainings, - disciplines, - educations, - salarys, - }; + // BirthDay: profiles?.birthDate + // ? Extension.ToThaiNumber(new Date(profiles.birthDate).getDate().toString()) + // : null, + // BirthDayText: + // profiles.birthDate != null + // ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.birthDate).toString()) + // : "", + // BirthMonth: profiles?.birthDate + // ? Extension.ToThaiNumber(new Date(profiles.birthDate).getMonth() + (1).toString()) + // : null, // Months are zero-based + // BirthYear: profiles?.birthDate + // ? Extension.ToThaiNumber(new Date(profiles.birthDate).getFullYear().toString()) + // : null, + // BirthYearText: + // profiles.birthDate != null + // ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.birthDate).toString()) + // : "", + // Address: "", + // District: "", + // Area: "", + // Province: "", + // CouplePrefix: profileFamilyCouple?.couplePrefix ?? "", + // FatherPrefix: profileFamilyFather?.fatherPrefix ?? "", + // MotherPrefix: profileFamilyMother?.motherPrefix ?? "", + // Division: "", + // Institute: "", + // StartDate: profiles?.dateStart + // ? Extension.ToThaiNumber(Extension.ToThaiFullDate2(profiles.dateStart)) + // : "", + // AvatarId: profiles?.avatar ?? null, + + insignias, + leaves, + certs, + trainings, + disciplines, + educations, + salarys, + }; return new HttpSuccess({ template: "kk1", @@ -1281,6 +1279,92 @@ export class ProfileController extends Controller { return new HttpSuccess({ caregiver, commander, chairman }); } + /** + * + * + */ + @Post("commander-director-act") + async getProfileCommanderDirectorAct( + @Request() request: RequestWithUser, + @Body() body: { isDirector: boolean; keyword: string; page: number; pageSize: number }, + ) { + const posMaster = await this.posMasterRepo.findOne({ + where: { + current_holder: { keycloak: request.user.sub }, + orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true }, + }, + }); + if (!posMaster) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลการครองตำแหน่ง"); + + let condition: any = { + orgRootId: posMaster.orgRootId || "", + }; + if (body.isDirector == true) { + condition = { + orgRootId: posMaster.orgRootId || "", + isDirector: true, + }; + } + const [lists, total] = await AppDataSource.getRepository(viewDirectorActing) + .createQueryBuilder("viewDirectorActing") + .andWhere(condition) + .andWhere( + new Brackets((qb) => { + qb.orWhere( + body.keyword != null && body.keyword != "" + ? "CONCAT(viewDirectorActing.prefix,viewDirectorActing.firstName,' ',viewDirectorActing.lastName) LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "viewDirectorActing.citizenId LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "viewDirectorActing.position LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "viewDirectorActing.posLevel LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "viewDirectorActing.posType LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ) + .orWhere( + body.keyword != null && body.keyword != "" + ? "viewDirectorActing.actFullName LIKE :keyword" + : "1=1", + { + keyword: `%${body.keyword}%`, + }, + ); + }), + ) + .skip((body.page - 1) * body.pageSize) + .take(body.pageSize) + .getManyAndCount(); + return new HttpSuccess({ data: lists, total }); + } /** * * @@ -1307,14 +1391,14 @@ export class ProfileController extends Controller { isDirector: true, }; } - const [lists, total] = await AppDataSource.getRepository(viewCommanderDirector) - .createQueryBuilder("viewCommanderDirector") + const [lists, total] = await AppDataSource.getRepository(viewDirector) + .createQueryBuilder("viewDirector") .andWhere(condition) .andWhere( new Brackets((qb) => { qb.orWhere( body.keyword != null && body.keyword != "" - ? "CONCAT(viewCommanderDirector.prefix,viewCommanderDirector.firstName,' ',viewCommanderDirector.lastName) LIKE :keyword" + ? "CONCAT(viewDirector.prefix,viewDirector.firstName,' ',viewDirector.lastName) LIKE :keyword" : "1=1", { keyword: `%${body.keyword}%`, @@ -1322,7 +1406,7 @@ export class ProfileController extends Controller { ) .orWhere( body.keyword != null && body.keyword != "" - ? "viewCommanderDirector.citizenId LIKE :keyword" + ? "viewDirector.citizenId LIKE :keyword" : "1=1", { keyword: `%${body.keyword}%`, @@ -1330,7 +1414,7 @@ export class ProfileController extends Controller { ) .orWhere( body.keyword != null && body.keyword != "" - ? "viewCommanderDirector.position LIKE :keyword" + ? "viewDirector.position LIKE :keyword" : "1=1", { keyword: `%${body.keyword}%`, @@ -1338,7 +1422,7 @@ export class ProfileController extends Controller { ) .orWhere( body.keyword != null && body.keyword != "" - ? "viewCommanderDirector.posLevel LIKE :keyword" + ? "viewDirector.posLevel LIKE :keyword" : "1=1", { keyword: `%${body.keyword}%`, @@ -1346,15 +1430,7 @@ export class ProfileController extends Controller { ) .orWhere( body.keyword != null && body.keyword != "" - ? "viewCommanderDirector.posType LIKE :keyword" - : "1=1", - { - keyword: `%${body.keyword}%`, - }, - ) - .orWhere( - body.keyword != null && body.keyword != "" - ? "viewCommanderDirector.actFullName LIKE :keyword" + ? "viewDirector.posType LIKE :keyword" : "1=1", { keyword: `%${body.keyword}%`, @@ -2690,7 +2766,7 @@ export class ProfileController extends Controller { return new HttpSuccess({ retireDate, age }); } - + /** * API แก้ไขประวัติในเมนูร้องขอแก้ไขทะเบียนประวัติ * @@ -2754,15 +2830,14 @@ export class ProfileController extends Controller { @Path() id: string, @Body() body: UpdateProfileFather, ) { - - const profile = await this.profileRepo.findOneBy({ id:id }); + const profile = await this.profileRepo.findOneBy({ id: id }); if (!profile) { throw new HttpError(HttpStatus.BAD_REQUEST, "ไม่พบ profile ดังกล่าว"); } - let lastestData:any = await this.profileFamilyFatherRepository.findOne({ - where:{ profileId:id }, - order:{ createdAt: "DESC" } + let lastestData: any = await this.profileFamilyFatherRepository.findOne({ + where: { profileId: id }, + order: { createdAt: "DESC" }, }); Object.keys(body).forEach((key) => { @@ -2771,9 +2846,9 @@ export class ProfileController extends Controller { }); if (!lastestData) { - lastestData = new ProfileFamilyFather(); - Object.assign(lastestData, body); - lastestData.profileId = id; + lastestData = new ProfileFamilyFather(); + Object.assign(lastestData, body); + lastestData.profileId = id; } Object.assign(lastestData, body); @@ -2806,15 +2881,14 @@ export class ProfileController extends Controller { @Path() id: string, @Body() body: UpdateProfileMother, ) { - - const profile = await this.profileRepo.findOneBy({ id:id }); + const profile = await this.profileRepo.findOneBy({ id: id }); if (!profile) { throw new HttpError(HttpStatus.BAD_REQUEST, "ไม่พบ profile ดังกล่าว"); } let lastestData = await this.profileFamilyMotherRepository.findOne({ - where:{ profileId:id }, - order:{ createdAt: "DESC" } + where: { profileId: id }, + order: { createdAt: "DESC" }, }); Object.keys(body).forEach((key) => { @@ -2858,15 +2932,14 @@ export class ProfileController extends Controller { @Path() id: string, @Body() body: UpdateProfileCouple, ) { - - const profile = await this.profileRepo.findOneBy({ id:id }); + const profile = await this.profileRepo.findOneBy({ id: id }); if (!profile) { throw new HttpError(HttpStatus.BAD_REQUEST, "ไม่พบ profile ดังกล่าว"); } let lastestData = await this.profileFamilyCoupleRepository.findOne({ - where:{ profileId:id }, - order:{ createdAt: "DESC" } + where: { profileId: id }, + order: { createdAt: "DESC" }, }); Object.keys(body).forEach((key) => { @@ -3004,8 +3077,6 @@ export class ProfileController extends Controller { return new HttpSuccess(); } - - /** * API ลบทะเบียนประวัติ * @@ -3057,7 +3128,7 @@ export class ProfileController extends Controller { async getProfileIdByKeycloak(@Request() request: RequestWithUser) { const profile = await this.profileRepo.findOne({ where: { keycloak: request.user.sub }, - select:["id"] + select: ["id"], }); if (!profile) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล"); diff --git a/src/entities/view/viewCommanderDirector.ts b/src/entities/view/viewCommanderDirector.ts deleted file mode 100644 index 5157a760..00000000 --- a/src/entities/view/viewCommanderDirector.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { ViewColumn, ViewEntity } from "typeorm"; - -@ViewEntity({ - expression: `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\`, - \`bma_ehr_organization_demo\`.\`posMaster\`.\`isDirector\` AS \`isDirector\`, - \`bma_ehr_organization_demo\`.\`posLevel\`.\`posLevelName\` AS \`posLevel\`, - \`bma_ehr_organization_demo\`.\`posType\`.\`posTypeName\` AS \`posType\`, - \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgRootId\` AS \`orgRootId\`, - 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\`))) - 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\`))) - UNION 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\`, - \`posMasterChild\`.\`isDirector\` AS \`isDirector\`, - \`bma_ehr_organization_demo\`.\`posLevel\`.\`posLevelName\` AS \`posLevel\`, - \`bma_ehr_organization_demo\`.\`posType\`.\`posTypeName\` AS \`posType\`, - \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgRootId\` AS \`orgRootId\`, - 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\`))) - 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\`))) - JOIN \`bma_ehr_organization_demo\`.\`profile\` ON ((\`bma_ehr_organization_demo\`.\`posMaster\`.\`current_holderId\` = \`bma_ehr_organization_demo\`.\`profile\`.\`id\`)))`, -}) -export class viewCommanderDirector { - @ViewColumn() - id: string; - @ViewColumn() - prefix: string; - @ViewColumn() - firstName: string; - @ViewColumn() - lastName: string; - @ViewColumn() - citizenId: string; - @ViewColumn() - position: string; - @ViewColumn() - posLevel: string; - @ViewColumn() - posType: string; - @ViewColumn() - isDirector: boolean; - @ViewColumn() - orgRootId: string; - @ViewColumn() - actFullName: string; -} diff --git a/src/entities/view/viewDirectorActing.ts b/src/entities/view/viewDirectorActing.ts index e7d9333b..2c35b865 100644 --- a/src/entities/view/viewDirectorActing.ts +++ b/src/entities/view/viewDirectorActing.ts @@ -25,7 +25,7 @@ import { ViewColumn, ViewEntity } from "typeorm"; JOIN \`bma_ehr_organization_demo\`.\`posMaster\` ON ((\`bma_ehr_organization_demo\`.\`posMasterAct\`.\`posMasterId\` = \`bma_ehr_organization_demo\`.\`posMaster\`.\`id\`))) JOIN \`bma_ehr_organization_demo\`.\`profile\` ON ((\`bma_ehr_organization_demo\`.\`posMaster\`.\`current_holderId\` = \`bma_ehr_organization_demo\`.\`profile\`.\`id\`)))`, }) -export class viewCommanderDirector { +export class viewDirectorActing { @ViewColumn() id: string; @ViewColumn() diff --git a/src/migration/1730703510080-add_table_commandSign2.ts b/src/migration/1730703510080-add_table_commandSign2.ts new file mode 100644 index 00000000..f7b12650 --- /dev/null +++ b/src/migration/1730703510080-add_table_commandSign2.ts @@ -0,0 +1,58 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class AddTableCommandSign21730703510080 implements MigrationInterface { + name = 'AddTableCommandSign21730703510080' + + public async up(queryRunner: QueryRunner): Promise { + 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\`, + \`posMasterChild\`.\`isDirector\` AS \`isDirector\`, + \`bma_ehr_organization_demo\`.\`posLevel\`.\`posLevelName\` AS \`posLevel\`, + \`bma_ehr_organization_demo\`.\`posType\`.\`posTypeName\` AS \`posType\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgRootId\` AS \`orgRootId\`, + 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\`))) + 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\`))) + 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 `posMasterChild`.`isDirector` AS `isDirector`,\n `bma_ehr_organization_demo`.`posLevel`.`posLevelName` AS `posLevel`,\n `bma_ehr_organization_demo`.`posType`.`posTypeName` AS `posType`,\n `bma_ehr_organization_demo`.`posMaster`.`orgRootId` AS `orgRootId`,\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 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 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\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`isDirector\` AS \`isDirector\`, + \`bma_ehr_organization_demo\`.\`posLevel\`.\`posLevelName\` AS \`posLevel\`, + \`bma_ehr_organization_demo\`.\`posType\`.\`posTypeName\` AS \`posType\`, + \`bma_ehr_organization_demo\`.\`posMaster\`.\`orgRootId\` AS \`orgRootId\`, + 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\`))) + 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 `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 `bma_ehr_organization_demo`.`posMaster`.`orgRootId` AS `orgRootId`,\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 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`)))"]); + } + + 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","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\``); + } + +} From 999e77582e9993ee3d5c93e0d1152eb34e9a9043 Mon Sep 17 00:00:00 2001 From: kittapath Date: Mon, 4 Nov 2024 17:12:00 +0700 Subject: [PATCH 3/4] =?UTF-8?q?=E0=B8=AB=E0=B8=A1=E0=B8=B2=E0=B8=A2?= =?UTF-8?q?=E0=B9=80=E0=B8=AB=E0=B8=95=E0=B8=B8=E0=B8=AD=E0=B8=AD=E0=B8=81?= =?UTF-8?q?=E0=B8=84=E0=B8=B3=E0=B8=AA=E0=B8=B1=E0=B9=88=E0=B8=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/CommandController.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/controllers/CommandController.ts b/src/controllers/CommandController.ts index 092a886f..4bf6736e 100644 --- a/src/controllers/CommandController.ts +++ b/src/controllers/CommandController.ts @@ -1389,10 +1389,10 @@ export class CommandController extends Controller { where: { id }, relations: ["commandSigns"], order: { - commandSigns:{ - createdAt: "ASC" - } - }, + commandSigns: { + createdAt: "ASC", + }, + }, }); if (!command) { throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลคำสั่งนี้"); @@ -1488,8 +1488,8 @@ export class CommandController extends Controller { commandSign.lastUpdateFullName = request.user.name; commandSign.lastUpdatedAt = new Date(); await this.commandSignRepository.save(commandSign); - if(commandSign.isSignatory == true) - await this.PutSelectPending(commandSign.commandId, { sign: true }, request); + if (commandSign.isSignatory == true) + await this.PutSelectPending(commandSign.commandId, { sign: true }, request); return new HttpSuccess(); } @@ -1517,6 +1517,8 @@ export class CommandController extends Controller { prefix: string | null; firstName: string | null; lastName: string | null; + remarkVertical?: string | null; + remarkHorizontal?: string | null; }[]; }, @Request() request: RequestWithUser, @@ -1601,6 +1603,14 @@ export class CommandController extends Controller { let commandRecive = new CommandRecive(); commandRecive = Object.assign(new CommandRecive(), item); commandRecive.order = order; + // commandRecive.amount = "xxxxxxxxxx"; + // commandRecive.positionSalaryAmount = "xxxxxxxxxx"; + // commandRecive.mouthSalaryAmount = "xxxxxxxxxx"; + commandRecive.remarkVertical = + item.remarkVertical == null ? null_ : item.remarkVertical; + commandRecive.remarkHorizontal = + item.remarkHorizontal == null ? null_ : item.remarkHorizontal; + commandRecive.order = order; commandRecive.commandId = command.id; commandRecive.createdUserId = request.user.sub; commandRecive.createdFullName = request.user.name; From f61290b49da8d1d3a2394d94cc1566e55ddc8a03 Mon Sep 17 00:00:00 2001 From: kittapath Date: Mon, 4 Nov 2024 17:17:03 +0700 Subject: [PATCH 4/4] delete view --- src/controllers/ProfileController.ts | 42 ++-------------------------- 1 file changed, 2 insertions(+), 40 deletions(-) diff --git a/src/controllers/ProfileController.ts b/src/controllers/ProfileController.ts index d891b17b..ee136090 100644 --- a/src/controllers/ProfileController.ts +++ b/src/controllers/ProfileController.ts @@ -31,7 +31,7 @@ import { UpdateProfileMother, UpdateProfileCouple, } from "../entities/Profile"; -import { Any, Brackets, In, IsNull, Like, Not } from "typeorm"; +import { Brackets, IsNull, Like, Not } from "typeorm"; import { OrgRevision } from "../entities/OrgRevision"; import { PosMaster } from "../entities/PosMaster"; import { PosLevel } from "../entities/PosLevel"; @@ -40,7 +40,6 @@ import { calculateAge, calculateRetireDate, calculateRetireLaw, - calculateRetireYear, removeProfileInOrganize, setLogDataDiff, } from "../interfaces/utils"; @@ -54,22 +53,17 @@ import { ProfileCertificate } from "../entities/ProfileCertificate"; import { ProfileTraining } from "../entities/ProfileTraining"; import { ProfileDiscipline } from "../entities/ProfileDiscipline"; import { ProfileEducation } from "../entities/ProfileEducation"; -import { CreateProfileSalary, ProfileSalary } from "../entities/ProfileSalary"; +import { ProfileSalary } from "../entities/ProfileSalary"; import { ProfileFamilyCouple } from "../entities/ProfileFamilyCouple"; import { ProfileFamilyMother } from "../entities/ProfileFamilyMother"; import { ProfileFamilyFather } from "../entities/ProfileFamilyFather"; -import CallAPI from "../interfaces/call-api"; import Extension from "../interfaces/extension"; -import { Prefixe } from "../entities/Prefixe"; import { ProfileInsignia } from "../entities/ProfileInsignia"; -import { ProfileDisciplineHistory } from "../entities/ProfileDisciplineHistory"; import { ProfileLeave } from "../entities/ProfileLeave"; import { updateName } from "../keycloak"; import permission from "../interfaces/permission"; import { PosMasterAct } from "../entities/PosMasterAct"; import axios from "axios"; -import { OrgChild1 } from "../entities/OrgChild1"; -import { viewCommanderDirector } from "../entities/view/viewCommanderDirector"; import { ProfileFamilyFatherHistory } from "../entities/ProfileFamilyFatherHistory"; import { ProfileFamilyMotherHistory } from "../entities/ProfileFamilyMotherHistory"; import { ProfileFamilyCoupleHistory } from "../entities/ProfileFamilyCoupleHistory"; @@ -107,17 +101,13 @@ export class ProfileController extends Controller { private educationRepository = AppDataSource.getRepository(ProfileEducation); private salaryRepository = AppDataSource.getRepository(ProfileSalary); private profileEducationRepository = AppDataSource.getRepository(ProfileEducation); - private prefixRepo = AppDataSource.getRepository(Prefixe); private provinceRepo = AppDataSource.getRepository(Province); private districtRepo = AppDataSource.getRepository(District); private subDistrictRepo = AppDataSource.getRepository(SubDistrict); private profileInsigniaRepo = AppDataSource.getRepository(ProfileInsignia); private profileDisciplineRepo = AppDataSource.getRepository(ProfileDiscipline); - private disciplineHistoryRepository = AppDataSource.getRepository(ProfileDisciplineHistory); private profileLeaveRepository = AppDataSource.getRepository(ProfileLeave); private posMasterActRepository = AppDataSource.getRepository(PosMasterAct); - private orgChild1Repository = AppDataSource.getRepository(OrgChild1); - private viewCommanderDirectorRepository = AppDataSource.getRepository(viewCommanderDirector); /** * report ประวัติแบบย่อ ข้าราชการ @@ -2708,7 +2698,6 @@ export class ProfileController extends Controller { if (!profile) { throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลโปรไฟล์"); } - let dateLeave_: any = body.date; let null_: any = null; profile.isLeave = false; profile.leaveReason = null_; @@ -2781,7 +2770,6 @@ export class ProfileController extends Controller { @Body() body: UpdateProfileReqEdit, ) { const record = await this.profileRepo.findOneBy({ id }); - const before = structuredClone(record); if (!record) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูลโปรไฟล์นี้"); @@ -6781,7 +6769,6 @@ export class ProfileController extends Controller { }); if (!profile) throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบข้อมูล"); const before = structuredClone(profile); - const _null: any = null; profile.isLeave = requestBody.isLeave; profile.leaveReason = requestBody.leaveReason; profile.dateLeave = requestBody.dateLeave; @@ -7237,31 +7224,6 @@ export class ProfileController extends Controller { .take(50) .getManyAndCount(); - const profiles = await Promise.all( - profile.map(async (_data) => { - if (_data.current_holders.length == 0 && _data.next_holders.length == 0) { - const salary = await this.salaryRepository.find({ - where: { - profileId: _data.id, - }, - }); - const insignia = await this.profileInsigniaRepo.find({ - where: { - profileId: _data.id, - }, - }); - const discipline = await this.profileDisciplineRepo.find({ - where: { - profileId: _data.id, - }, - }); - await this.salaryRepository.remove(salary); - await this.profileInsigniaRepo.remove(insignia); - await this.profileDisciplineRepo.remove(discipline); - await this.profileRepo.remove(_data); - } - }), - ); return new HttpSuccess(); }