#207 ประสบการณ์ในการปฏิบัติงาน

This commit is contained in:
AdisakKanthawilang 2025-04-18 15:57:38 +07:00
parent db55795106
commit bb4634acf5
3 changed files with 31 additions and 23 deletions

View file

@ -33,6 +33,7 @@ import permission from "../interfaces/permission";
import { RequestWithUser } from "../middlewares/user"; import { RequestWithUser } from "../middlewares/user";
import { setLogDataDiff } from "../interfaces/utils"; import { setLogDataDiff } from "../interfaces/utils";
import Extension from "../interfaces/extension"; import Extension from "../interfaces/extension";
import { Portfolio } from "../entities/Portfolio";
@Route("api/v1/evaluation") @Route("api/v1/evaluation")
@Tags("evaluation") @Tags("evaluation")
@ -50,6 +51,7 @@ export class EvaluationController {
private salaryRepository = AppDataSource.getRepository(Salary); private salaryRepository = AppDataSource.getRepository(Salary);
private trainingRepository = AppDataSource.getRepository(Training); private trainingRepository = AppDataSource.getRepository(Training);
private assessmentRepository = AppDataSource.getRepository(Assessment); private assessmentRepository = AppDataSource.getRepository(Assessment);
private portfolioRepository = AppDataSource.getRepository(Portfolio);
private directorRepository = AppDataSource.getRepository(Director); private directorRepository = AppDataSource.getRepository(Director);
private meetingRepository = AppDataSource.getRepository(Meeting); private meetingRepository = AppDataSource.getRepository(Meeting);
@ -640,20 +642,21 @@ export class EvaluationController {
}); });
//Portfolio //Portfolio
// if (requestBody.portfolios != null) if (requestBody.portfolios != null)
// requestBody.portfolios.forEach(async (pfo) => { requestBody.portfolios.forEach(async (pfo) => {
// const portfolio = new Portfolio(); const portfolio = new Portfolio();
// portfolio.createdUserId = request.user.sub; portfolio.createdUserId = request.user.sub;
// portfolio.createdFullName = request.user.name; portfolio.createdFullName = request.user.name;
// portfolio.createdAt = new Date(); portfolio.createdAt = new Date();
// portfolio.lastUpdateUserId = request.user.sub; portfolio.lastUpdateUserId = request.user.sub;
// portfolio.lastUpdateFullName = request.user.name; portfolio.lastUpdateFullName = request.user.name;
// portfolio.lastUpdatedAt = new Date(); portfolio.lastUpdatedAt = new Date();
// portfolio.name = pfo.name ?? _null; portfolio.name = pfo.name ?? _null;
// portfolio.detail = pfo.detail ?? _null; portfolio.detail = pfo.detail ?? _null;
// await this.assessmentRepository.save(assessment, { data: request }); portfolio.evaluation = evaluation;
// setLogDataDiff(request, { before, after: assessment }); await this.portfolioRepository.save(portfolio, { data: request });
// }); setLogDataDiff(request, { before, after: portfolio });
});
//EvaluationLogs //EvaluationLogs
const evaluationLogs = new EvaluationLogs(); const evaluationLogs = new EvaluationLogs();
@ -948,6 +951,7 @@ export class EvaluationController {
.leftJoin("evaluation.salaries", "salaries") .leftJoin("evaluation.salaries", "salaries")
.leftJoin("evaluation.training", "training") .leftJoin("evaluation.training", "training")
.leftJoin("evaluation.assessment", "assessment") .leftJoin("evaluation.assessment", "assessment")
.leftJoin("evaluation.portfolios", "portfolios")
.where("evaluation.id = :id", { id }) .where("evaluation.id = :id", { id })
.select([ .select([
"evaluation.isEducationalQft", "evaluation.isEducationalQft",
@ -1048,10 +1052,13 @@ export class EvaluationController {
"assessment.point2", "assessment.point2",
"assessment.pointSumTotal", "assessment.pointSumTotal",
"assessment.pointSum", "assessment.pointSum",
"portfolios.name",
"portfolios.detail",
]) ])
.orderBy("salaries.commandDateAffect", "DESC") .orderBy("salaries.commandDateAffect", "DESC")
.getOne(); .getOne();
console.log(evaluation);
if (!evaluation) { if (!evaluation) {
return "ไม่พบข้อมูล"; return "ไม่พบข้อมูล";
} }
@ -1159,10 +1166,10 @@ export class EvaluationController {
pointSumTotal: assessment.pointSumTotal, pointSumTotal: assessment.pointSumTotal,
pointSum: assessment.pointSum, pointSum: assessment.pointSum,
})), })),
// portfolios: evaluation.portfolio.map((portfolio) => ({ portfolios: evaluation.portfolios.map((portfolio) => ({
// name: portfolio.name, name: portfolio.name,
// detail: portfolio.detail, detail: portfolio.detail,
// })), })),
// years: years // years: years
}; };

View file

@ -269,6 +269,9 @@ export class Evaluation extends EntityBase {
@OneToMany(() => Assessment, (assessment) => assessment.evaluation) @OneToMany(() => Assessment, (assessment) => assessment.evaluation)
assessment: Assessment[]; assessment: Assessment[];
@OneToMany(() => Portfolio, (portfolio) => portfolio.evaluation)
portfolios: Portfolio[];
@ManyToMany(() => Director, (director) => director.evaluations) @ManyToMany(() => Director, (director) => director.evaluations)
@JoinTable() @JoinTable()
directors: Director[]; directors: Director[];
@ -277,9 +280,7 @@ export class Evaluation extends EntityBase {
@JoinTable() @JoinTable()
meetings: Meeting[]; meetings: Meeting[];
@ManyToMany(() => Portfolio, (portfolio) => portfolio.evaluations)
@JoinTable()
portfolios: Portfolio[];
} }
export class CreateEvaluation { export class CreateEvaluation {

View file

@ -28,7 +28,7 @@ export class Portfolio extends EntityBase {
@ManyToOne(() => Evaluation, (Evaluation) => Evaluation.portfolios) @ManyToOne(() => Evaluation, (Evaluation) => Evaluation.portfolios)
@JoinColumn({ name: "evaluationId" }) @JoinColumn({ name: "evaluationId" })
evaluations: Evaluation; evaluation: Evaluation;
} }
export type UpdatePortfolio = Partial<Portfolio>; export type UpdatePortfolio = Partial<Portfolio>;