diff --git a/src/controllers/PortfolioController.ts b/src/controllers/PortfolioController.ts index eecf28a..3ebe17b 100644 --- a/src/controllers/PortfolioController.ts +++ b/src/controllers/PortfolioController.ts @@ -23,7 +23,7 @@ import { CreatePortfolio, Portfolio } from "../entities/Portfolio"; import { RequestWithUser } from "../middlewares/user"; import { setLogDataDiff } from "../interfaces/utils"; import { Brackets } from "typeorm"; - +import CallAPI from "../interfaces/call-api"; @Route("api/v1/development/portfolio") @Tags("Portfolio") @Security("bearerAuth") @@ -104,19 +104,21 @@ export class PortfolioController extends Controller { } /** - * API รายละเอียดรายการผลงาน ใช้แสดงในรายงาน ก.พ.7/ก.ก.1 + * API รายละเอียดรายการผลงาน ใช้แสดงในรายงาน ทปอ. สามัญ * - * @summary รายละเอียดรายการผลงาน ใช้แสดงในรายงาน ก.พ.7/ก.ก.1 + * @summary รายละเอียดรายการผลงาน ใช้แสดงในรายงาน ทปอ. สามัญ * */ @Get("kk1/{keycloak}") async GetPortfolio(@Path() keycloak: string, @Request() request: RequestWithUser) { const _portfolio = await this.portfolioRepository.find({ where: { createdUserId: keycloak }, - select: [ - "name", - "createdAt" - ], + select: { + name: true, + createdAt: true, + position: true, + posLevel: true + }, order: { createdAt: "DESC" }, }); const result = @@ -124,7 +126,8 @@ export class PortfolioController extends Controller { name: x.name, year: x.createdAt.getFullYear() > 2500 ? x.createdAt.getFullYear() - : x.createdAt.getFullYear()+543 + : x.createdAt.getFullYear()+543, + position: `${x.position ?? ""}${x.posLevel ?? ""}`.trim() })); return new HttpSuccess(result); } @@ -153,7 +156,20 @@ export class PortfolioController extends Controller { if (checkName) { throw new HttpError(HttpStatusCode.NOT_FOUND, "ชื่อนี้มีอยู่ในระบบแล้ว"); } + + let _position:string="" + let _posLevel:string="" + await new CallAPI() + .GetData(request, `/org/dotnet/by-keycloak/${request.user.sub}`) + .then((x) => { + _position = x.position; + _posLevel = x.posLevel; + }) + .catch(() => {}); + const before = null; + _portfolio.position = _position; + _portfolio.posLevel = _posLevel; _portfolio.createdUserId = request.user.sub; _portfolio.createdFullName = request.user.name; _portfolio.lastUpdateUserId = request.user.sub; diff --git a/src/entities/Portfolio.ts b/src/entities/Portfolio.ts index 074dd08..26f4a60 100644 --- a/src/entities/Portfolio.ts +++ b/src/entities/Portfolio.ts @@ -17,6 +17,21 @@ export class Portfolio extends EntityBase { default: null, }) detail: string; + + @Column({ + nullable: true, + comment: "ตำแหน่ง", + default: null, + }) + position: string; + + + @Column({ + nullable: true, + comment: "ระดับตำแหน่ง", + default: null, + }) + posLevel: string; } export class CreatePortfolio { @Column() diff --git a/src/migration/1773974268282-update_table_portfolio_add_field_position_.ts b/src/migration/1773974268282-update_table_portfolio_add_field_position_.ts new file mode 100644 index 0000000..79b9528 --- /dev/null +++ b/src/migration/1773974268282-update_table_portfolio_add_field_position_.ts @@ -0,0 +1,16 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTablePortfolioAddFieldPosition_1773974268282 implements MigrationInterface { + name = 'UpdateTablePortfolioAddFieldPosition_1773974268282' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`portfolio\` ADD \`position\` varchar(255) NULL COMMENT 'ตำแหน่ง'`); + await queryRunner.query(`ALTER TABLE \`portfolio\` ADD \`posLevel\` varchar(255) NULL COMMENT 'ระดับตำแหน่ง'`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`portfolio\` DROP COLUMN \`posLevel\``); + await queryRunner.query(`ALTER TABLE \`portfolio\` DROP COLUMN \`position\``); + } + +}