แก้บัคระบบพัฒนา

This commit is contained in:
Bright 2025-04-10 11:11:53 +07:00
parent c6668cbc27
commit 3163340215
3 changed files with 59 additions and 6 deletions

View file

@ -2539,9 +2539,51 @@ export class DevelopmentController extends Controller {
where: { developmentId: id, isDoneIDP: false }, where: { developmentId: id, isDoneIDP: false },
relations: ["development", "development.developmentProjectTechniqueActuals"], relations: ["development", "development.developmentProjectTechniqueActuals"],
}); });
let isDevelopment70: boolean = false
const dev70Lists = [
"on_the_job_training",
"job_project_assignment",
"job_shadowing",
"job_enlargement",
"internal_trainer",
"rotation",
"activity",
"site_visit",
"benchmarking",
"problem_solving",
"team_working",
"other1"
];
let isDevelopment20: boolean = false
const dev20Lists = [
"coaching",
"mentoring",
"team_meeting",
"consulting",
"feedback",
"other2"
];
let isDevelopment10: boolean = false
const dev10Lists = [
"self_learning",
"classroom_training",
"in_house_training",
"public_training",
"e_training",
"meeting",
"seminar",
"other3"
];
await Promise.all( await Promise.all(
getDevelopment.map(async (x) => { getDevelopment.map(async (x) => {
const _data = Object.assign(new DevelopmentHistory(), x); const _data = Object.assign(new DevelopmentHistory(), x);
const techniqueActuals = x.development?.developmentProjectTechniqueActuals.flatMap(x => x.name) || [];
isDevelopment70 = techniqueActuals.length > 0 && dev70Lists.some(item => techniqueActuals.includes(item));
isDevelopment20 = techniqueActuals.length > 0 && dev20Lists.some(item => techniqueActuals.includes(item));
isDevelopment10 = techniqueActuals.length > 0 && dev10Lists.some(item => techniqueActuals.includes(item));
if (x.type == "OFFICER") { if (x.type == "OFFICER") {
await new CallAPI() await new CallAPI()
.PostData(request, "/org/profile/development", { .PostData(request, "/org/profile/development", {
@ -2555,9 +2597,9 @@ export class DevelopmentController extends Controller {
reasonDevelopment70: x.development.reasonActual70, reasonDevelopment70: x.development.reasonActual70,
reasonDevelopment20: x.development.reasonActual20, reasonDevelopment20: x.development.reasonActual20,
reasonDevelopment10: x.development.reasonActual10, reasonDevelopment10: x.development.reasonActual10,
isDevelopment70: x.development.isReasonActual70, isDevelopment70: isDevelopment70,
isDevelopment20: x.development.isReasonActual20, isDevelopment20: isDevelopment20,
isDevelopment10: x.development.isReasonActual10, isDevelopment10: isDevelopment10,
developmentTarget: null, developmentTarget: null,
developmentResults: null, developmentResults: null,
developmentReport: null, developmentReport: null,
@ -2584,9 +2626,9 @@ export class DevelopmentController extends Controller {
reasonDevelopment70: x.development.reasonActual70, reasonDevelopment70: x.development.reasonActual70,
reasonDevelopment20: x.development.reasonActual20, reasonDevelopment20: x.development.reasonActual20,
reasonDevelopment10: x.development.reasonActual10, reasonDevelopment10: x.development.reasonActual10,
isDevelopment70: x.development.isReasonActual70, isDevelopment70: isDevelopment70,
isDevelopment20: x.development.isReasonActual20, isDevelopment20: isDevelopment20,
isDevelopment10: x.development.isReasonActual10, isDevelopment10: isDevelopment10,
developmentTarget: null, developmentTarget: null,
developmentResults: null, developmentResults: null,
developmentReport: null, developmentReport: null,

View file

@ -250,6 +250,7 @@ export class DevelopmentOfficerHistoryController extends Controller {
.leftJoinAndSelect("developmentHistory.development", "development") .leftJoinAndSelect("developmentHistory.development", "development")
.leftJoinAndSelect("developmentHistory.posLevel", "posLevel") .leftJoinAndSelect("developmentHistory.posLevel", "posLevel")
.leftJoinAndSelect("developmentHistory.posType", "posType") .leftJoinAndSelect("developmentHistory.posType", "posType")
.where("developmentHistory.profileId IS NOT NULL")
.andWhere( .andWhere(
body.year != 0 && body.year != null && body.year != undefined body.year != 0 && body.year != null && body.year != undefined
? "development.year = :year" ? "development.year = :year"

View file

@ -16,6 +16,7 @@ import { isNotEmittedStatement } from "typescript";
@Tags("Report") @Tags("Report")
@Security("bearerAuth") @Security("bearerAuth")
export class ReportController extends Controller { export class ReportController extends Controller {
private developmentRepository = AppDataSource.getRepository(Development);
private developmentScholarshipRepository = AppDataSource.getRepository(DevelopmentScholarship); private developmentScholarshipRepository = AppDataSource.getRepository(DevelopmentScholarship);
private viewDevScholarship = AppDataSource.getRepository(viewDevScholarship); private viewDevScholarship = AppDataSource.getRepository(viewDevScholarship);
/** /**
@ -44,6 +45,7 @@ export class ReportController extends Controller {
.leftJoinAndSelect("development.strategyChild5Actual", "strategy5") .leftJoinAndSelect("development.strategyChild5Actual", "strategy5")
.where("development.status = :status", { status: "FINISH" }) .where("development.status = :status", { status: "FINISH" })
.andWhere("development.strategyChild1ActualId IS NOT NULL") .andWhere("development.strategyChild1ActualId IS NOT NULL")
.andWhere("development.rootDnaId = :rootDnaId", { rootDnaId: rootId })
.select([ .select([
"development.id AS id", "development.id AS id",
"development.projectName AS projectName", "development.projectName AS projectName",
@ -114,6 +116,7 @@ export class ReportController extends Controller {
.leftJoinAndSelect("development.strategyChild1Actual", "strategy1") .leftJoinAndSelect("development.strategyChild1Actual", "strategy1")
.where("development.status = :status", { status: "FINISH" }) .where("development.status = :status", { status: "FINISH" })
.andWhere("development.strategyChild1ActualId IS NOT NULL") .andWhere("development.strategyChild1ActualId IS NOT NULL")
.andWhere("development.rootDnaId = :rootDnaId", { rootDnaId: rootId })
.select([ .select([
"development.rootId AS rootId", "development.rootId AS rootId",
"development.strategyChild1ActualId AS strategyId", "development.strategyChild1ActualId AS strategyId",
@ -377,10 +380,17 @@ export class ReportController extends Controller {
return formattedGroup; return formattedGroup;
}); });
const dev = await this.developmentRepository.findOne({
where: { rootDnaId: rootId },
select: ["root", "year"]
})
return new HttpSuccess({ return new HttpSuccess({
template: "development", template: "development",
reportName: "development", reportName: "development",
data: { data: {
root: dev && dev.root ? dev.root : "-",
year: dev && dev.year ? Extension.ToThaiNumber((dev.year+543).toString()) : "-",
data: mappedDataDev, data: mappedDataDev,
resultAllStrategy: reformattedData, resultAllStrategy: reformattedData,
sumDev1: Extension.ToThaiNumber(sumDev1.toLocaleString()) ?? "-", sumDev1: Extension.ToThaiNumber(sumDev1.toLocaleString()) ?? "-",