From 88af7fcbb04baff75ade9ba5da6fd9e5157e382b Mon Sep 17 00:00:00 2001 From: Bright Date: Thu, 13 Feb 2025 17:53:34 +0700 Subject: [PATCH] migrate --- src/controllers/ReportController.ts | 48 +++++++++++------------ src/migration/1739443292907-updateView.ts | 23 +++++++++++ 2 files changed, 47 insertions(+), 24 deletions(-) create mode 100644 src/migration/1739443292907-updateView.ts diff --git a/src/controllers/ReportController.ts b/src/controllers/ReportController.ts index deb9e91..966c571 100644 --- a/src/controllers/ReportController.ts +++ b/src/controllers/ReportController.ts @@ -676,7 +676,6 @@ export class ReportController extends Controller { const root = current.root || ""; if (!acc[root]) { acc[root] = { - // rootId, no: (idx+1), root: root, Bachelor : 0, @@ -739,29 +738,30 @@ export class ReportController extends Controller { data: { year: year ? Extension.ToThaiNumber((year+543).toString()) : "-", data: Array.isArray(_group) - ? _group.map((x:any, idx:number) => ({ - // no: Extension.ToThaiNumber((idx+1).toString()), - // root: x.root ? x.root : "-", - // Bachelor : "-", - // BachelorHight: "-", - // Master: "-", - // Doctor: "-", - // DomesticeCourseCount: x.DomesticeCourseCount ? Extension.ToThaiNumber(x.DomesticeCourseCount) : "๐", - // DomesticeProfileCount: x.DomesticeProfileCount ? Extension.ToThaiNumber(x.DomesticeProfileCount) : "๐", - // DomesticeBudgetApprove: x.DomesticeBudgetApprove ? Extension.ToThaiNumber(x.DomesticeBudgetApprove) : "๐", - // NoAbroadCourseCount: x.NoAbroadCourseCount ? Extension.ToThaiNumber(x.NoAbroadCourseCount) : "๐", - // NoAbroadDProfileCount: x.NoAbroadDProfileCount ? Extension.ToThaiNumber(x.NoAbroadDProfileCount) : "๐", - // NoAbroadBudgetApprove: x.NoAbroadBudgetApprove ? Extension.ToThaiNumber(x.NoAbroadBudgetApprove) : "๐", - // AbroadCourseCount: x.AbroadCourseCount ? Extension.ToThaiNumber(x.AbroadCourseCount) : "๐", - // AbroadProfileCount: x.AbroadProfileCount ? Extension.ToThaiNumber(x.AbroadProfileCount) : "๐", - // AbroadBudgetApprove: x.AbroadBudgetApprove ? Extension.ToThaiNumber(x.AbroadBudgetApprove) : "๐", - // ExecutiveCourseCount: x.ExecutiveCourseCount ? Extension.ToThaiNumber(x.ExecutiveCourseCount) : "๐", - // ExecutiveProfileCount: x.ExecutiveProfileCount ? Extension.ToThaiNumber(x.ExecutiveProfileCount) : "๐", - // ExecutiveBudgetApprove: x.ExecutiveBudgetApprove ? Extension.ToThaiNumber(x.ExecutiveBudgetApprove) : "๐", - // TotalCourseCount: x.TotalCourseCount ? Extension.ToThaiNumber(x.TotalCourseCount) : "๐", - // TotalProfileCount: x.TotalProfileCount ? Extension.ToThaiNumber(x.TotalProfileCount) : "๐", - // TotalBudgetApprove: x.TotalBudgetApprove ? Extension.ToThaiNumber(x.TotalBudgetApprove) : "๐", - })) + ? _group + // ? _group.map((x:any) => ({ + // no: x.no ? Extension.ToThaiNumber(x.no) : "-", + // root: x.root ? x.root : "-", + // Bachelor : "-", + // BachelorHight: "-", + // Master: "-", + // Doctor: "-", + // DomesticeCourseCount: x.DomesticeCourseCount ? Extension.ToThaiNumber(x.DomesticeCourseCount) : "-", + // DomesticeProfileCount: x.DomesticeProfileCount ? Extension.ToThaiNumber(x.DomesticeProfileCount) : "-", + // DomesticeBudgetApprove: x.DomesticeBudgetApprove ? Extension.ToThaiNumber(x.DomesticeBudgetApprove) : "-", + // NoAbroadCourseCount: x.NoAbroadCourseCount ? Extension.ToThaiNumber(x.NoAbroadCourseCount) : "-", + // NoAbroadDProfileCount: x.NoAbroadDProfileCount ? Extension.ToThaiNumber(x.NoAbroadDProfileCount) : "-", + // NoAbroadBudgetApprove: x.NoAbroadBudgetApprove ? Extension.ToThaiNumber(x.NoAbroadBudgetApprove) : "-", + // AbroadCourseCount: x.AbroadCourseCount ? Extension.ToThaiNumber(x.AbroadCourseCount) : "-", + // AbroadProfileCount: x.AbroadProfileCount ? Extension.ToThaiNumber(x.AbroadProfileCount) : "-", + // AbroadBudgetApprove: x.AbroadBudgetApprove ? Extension.ToThaiNumber(x.AbroadBudgetApprove) : "-", + // ExecutiveCourseCount: x.ExecutiveCourseCount ? Extension.ToThaiNumber(x.ExecutiveCourseCount) : "-", + // ExecutiveProfileCount: x.ExecutiveProfileCount ? Extension.ToThaiNumber(x.ExecutiveProfileCount) : "-", + // ExecutiveBudgetApprove: x.ExecutiveBudgetApprove ? Extension.ToThaiNumber(x.ExecutiveBudgetApprove) : "-", + // TotalCourseCount: x.TotalCourseCount ? Extension.ToThaiNumber(x.TotalCourseCount) : "-", + // TotalProfileCount: x.TotalProfileCount ? Extension.ToThaiNumber(x.TotalProfileCount) : "-", + // TotalBudgetApprove: x.TotalBudgetApprove ? Extension.ToThaiNumber(x.TotalBudgetApprove) : "-", + // })) : [{ no: "-", root: "-", diff --git a/src/migration/1739443292907-updateView.ts b/src/migration/1739443292907-updateView.ts new file mode 100644 index 0000000..abfef72 --- /dev/null +++ b/src/migration/1739443292907-updateView.ts @@ -0,0 +1,23 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UpdateView1739443292907 implements MigrationInterface { + name = 'UpdateView1739443292907' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`CREATE VIEW \`view_profile_evaluation\` AS SELECT MAX(\`rootId\`) AS rootId, + MAX(\`root\`) AS root,\`degreeLevel\`, + COUNT(*) AS numberOfRecords, + COUNT(DISTINCT \`scholarshipType\`) AS numberOfScholarshipTypes, + SUM(\`budgetApprove\`) AS totalBudgetApprove + FROM \`developmentScholarship\` + GROUP BY \`rootId\`,\`degreeLevel\` + `); + await queryRunner.query(`INSERT INTO \`bma_ehr_development_demo\`.\`typeorm_metadata\`(\`database\`, \`schema\`, \`table\`, \`type\`, \`name\`, \`value\`) VALUES (DEFAULT, ?, DEFAULT, ?, ?, ?)`, ["bma_ehr_development_demo","VIEW","view_profile_evaluation","SELECT MAX(`rootId`) AS rootId, \n MAX(`root`) AS root,`degreeLevel`,\n COUNT(*) AS numberOfRecords, \n COUNT(DISTINCT `scholarshipType`) AS numberOfScholarshipTypes,\n SUM(`budgetApprove`) AS totalBudgetApprove\n FROM `developmentScholarship`\n GROUP BY `rootId`,`degreeLevel`"]); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DELETE FROM \`bma_ehr_development_demo\`.\`typeorm_metadata\` WHERE \`type\` = ? AND \`name\` = ? AND \`schema\` = ?`, ["VIEW","view_profile_evaluation","bma_ehr_development_demo"]); + await queryRunner.query(`DROP VIEW \`view_profile_evaluation\``); + } + +}