diff --git a/src/controllers/KpiCapacityController.ts b/src/controllers/KpiCapacityController.ts index 91a0ea0..9be8631 100644 --- a/src/controllers/KpiCapacityController.ts +++ b/src/controllers/KpiCapacityController.ts @@ -14,19 +14,14 @@ import { SuccessResponse, Response, Query, - ArrayValidator, } from "tsoa"; import { AppDataSource } from "../database/data-source"; import HttpSuccess from "../interfaces/http-success"; import HttpError from "../interfaces/http-error"; import HttpStatusCode from "../interfaces/http-status"; -import { KpiCapacity, createKpiCapacity, updateKpiCapacity } from "../entities/kpiCapacity"; +import { KpiCapacity } from "../entities/kpiCapacity"; import { Position } from "../entities/position"; -import { - KpiCapacityDetail, - createKpiCapacityDetail, - updateKpiCapacityDetail, -} from "../entities/kpiCapacityDetail"; +import { KpiCapacityDetail } from "../entities/kpiCapacityDetail"; import { Like, In } from "typeorm"; @Route("api/v1/kpi/capacity") @@ -251,6 +246,32 @@ export class kpiCapacityController extends Controller { return new HttpSuccess(mapData); } + /** + * API Summaryรายการสมรรถนะ + * + * @summary Summaryรายการสมรรถนะ + * + */ + @Get("summary") + async listSummaryKpiCapacity() { + // let kpiCapacity = await this.kpiCapacityRepository.find({ + // groupby + // relations: ["kpiUserCapacitys"], + // }); + const kpiCapacity = await AppDataSource.getRepository(KpiCapacity) + .createQueryBuilder("kpiCapacity") + .groupBy("kpiCapacity.type") + // .select("COUNT(kpiUserCapacitys.id) as total", "kpiCapacity") + .select(["kpiCapacity.type AS type", "COUNT(kpiCapacity.type) AS total"]) + .getRawMany(); + + // const mapFormula = kpiCapacity.map((item) => ({ + // name: item.name, + // total: item.kpiUserCapacitys.length + 1, + // })); + return new HttpSuccess(kpiCapacity); + } + /** * API รายละเอียดรายการสมรรถนะ * diff --git a/src/migration/1722915835099-update_table_userdevelopment_add_selectType.ts b/src/migration/1722915835099-update_table_userdevelopment_add_selectType.ts new file mode 100644 index 0000000..be1a01b --- /dev/null +++ b/src/migration/1722915835099-update_table_userdevelopment_add_selectType.ts @@ -0,0 +1,18 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateTableUserdevelopmentAddSelectType1722915835099 implements MigrationInterface { + name = 'UpdateTableUserdevelopmentAddSelectType1722915835099' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`kpiUserDevelopment\` ADD \`selectType\` varchar(255) NULL COMMENT 'ประเภทข้อมูลพัฒนา'`); + await queryRunner.query(`ALTER TABLE \`kpiUserDevelopment\` ADD \`selectTypeYear\` varchar(255) NULL COMMENT 'ปีพัฒนา'`); + await queryRunner.query(`ALTER TABLE \`kpiUserDevelopment\` ADD \`selectTypeId\` varchar(255) NULL COMMENT 'id พัฒนา'`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE \`kpiUserDevelopment\` DROP COLUMN \`selectTypeId\``); + await queryRunner.query(`ALTER TABLE \`kpiUserDevelopment\` DROP COLUMN \`selectTypeYear\``); + await queryRunner.query(`ALTER TABLE \`kpiUserDevelopment\` DROP COLUMN \`selectType\``); + } + +}