This commit is contained in:
AdisakKanthawilang 2025-04-08 16:40:11 +07:00
parent cf947e9fa9
commit 0604185e25
4 changed files with 160 additions and 87 deletions

View file

@ -32,6 +32,7 @@ import CallAPI from "../interfaces/call-api";
import permission from "../interfaces/permission";
import { RequestWithUser } from "../middlewares/user";
import { setLogDataDiff } from "../interfaces/utils";
import Extension from "../interfaces/extension";
@Route("api/v1/evaluation")
@Tags("evaluation")
@ -519,31 +520,78 @@ export class EvaluationController {
});
//Salary
if (requestBody.salaries != null)
// if (requestBody.salaries != null)
// requestBody.salaries.forEach(async (salary) => {
// const salaries = new Salary();
// salaries.createdUserId = request.user.sub;
// salaries.createdFullName = request.user.name;
// salaries.createdAt = new Date();
// salaries.lastUpdateUserId = request.user.sub;
// salaries.lastUpdateFullName = request.user.name;
// salaries.lastUpdatedAt = new Date();
// salaries.date = salary.date ?? _null;
// salaries.amount = salary.amount ?? _null;
// salaries.positionSalaryAmount = salary.positionSalaryAmount ?? _null;
// salaries.mouthSalaryAmount = salary.mouthSalaryAmount ?? _null;
// salaries.position = salary.position ?? _null;
// salaries.posNo = salary.posNo ?? _null;
// salaries.salaryClass = salary.salaryClass ?? _null;
// salaries.salaryRef = salary.salaryRef ?? _null;
// salaries.refCommandNo = salary.refCommandNo ?? _null;
// salaries.refCommandDate = salary.refCommandDate ?? _null;
// salaries.salaryStatus = salary.salaryStatus ?? _null;
// salaries.evaluation = evaluation;
// await this.salaryRepository.save(salaries, { data: request });
// setLogDataDiff(request, { before, after: salaries });
// });
if (requestBody.salaries != null) {
requestBody.salaries.forEach(async (salary) => {
const salaries = new Salary();
salaries.profileId = salary.profileId ?? _null;
salaries.commandCode = salary.commandCode ?? _null;
salaries.commandNo = salary.commandNo ?? _null;
salaries.commandYear = salary.commandYear ?? _null;
salaries.commandDateAffect = salary.commandDateAffect ?? _null;
salaries.commandDateSign = salary.commandDateSign ?? _null;
salaries.posNoAbb = salary.posNoAbb ?? _null;
salaries.posNo = salary.posNo ?? _null;
salaries.positionName = salary.positionName ?? _null;
salaries.positionType = salary.positionType ?? _null;
salaries.positionLevel = salary.positionLevel ?? _null;
salaries.positionLine = salary.positionLine ?? _null;
salaries.positionPathSide = salary.positionPathSide ?? _null;
salaries.positionExecutive = salary.positionExecutive ?? _null;
salaries.amount = salary.amount ?? _null;
salaries.amountSpecial = salary.amountSpecial ?? _null;
salaries.positionSalaryAmount = salary.positionSalaryAmount ?? _null;
salaries.mouthSalaryAmount = salary.mouthSalaryAmount ?? _null;
salaries.orgRoot = salary.orgRoot ?? _null;
salaries.orgChild1 = salary.orgChild1 ?? _null;
salaries.orgChild2 = salary.orgChild2 ?? _null;
salaries.orgChild3 = salary.orgChild3 ?? _null;
salaries.orgChild4 = salary.orgChild4 ?? _null;
salaries.remark = salary.remark ?? _null;
salaries.commandId = salary.commandId ?? _null;
salaries.isGovernment = salary.isGovernment ?? _null;
salaries.positionCee = salary.positionCee ?? _null;
salaries.commandName = salary.commandName ?? _null;
salaries.posNumCodeSit = salary.posNumCodeSit ?? _null;
salaries.posNumCodeSitAbb = salary.posNumCodeSitAbb ?? _null;
salaries.isEntry = salary.isEntry ?? false;
salaries.evaluation = evaluation;
salaries.createdUserId = request.user.sub;
salaries.createdFullName = request.user.name;
salaries.createdAt = new Date();
salaries.lastUpdateUserId = request.user.sub;
salaries.lastUpdateFullName = request.user.name;
salaries.lastUpdatedAt = new Date();
salaries.date = salary.date ?? _null;
salaries.amount = salary.amount ?? _null;
salaries.positionSalaryAmount = salary.positionSalaryAmount ?? _null;
salaries.mouthSalaryAmount = salary.mouthSalaryAmount ?? _null;
salaries.position = salary.position ?? _null;
salaries.posNo = salary.posNo ?? _null;
salaries.salaryClass = salary.salaryClass ?? _null;
salaries.salaryRef = salary.salaryRef ?? _null;
salaries.refCommandNo = salary.refCommandNo ?? _null;
salaries.refCommandDate = salary.refCommandDate ?? _null;
salaries.salaryStatus = salary.salaryStatus ?? _null;
salaries.evaluation = evaluation;
await this.salaryRepository.save(salaries, { data: request });
setLogDataDiff(request, { before, after: salaries });
});
}
//Training
if (requestBody.trainings != null)
requestBody.trainings.forEach(async (train) => {
@ -871,6 +919,12 @@ export class EvaluationController {
])
async checkSpecGet(@Request() request: RequestWithUser, @Path() id: string) {
try {
// let thaiYear: number = new Date().getFullYear() + 543;
// let years = {
// lastTwoYear: Extension.ToThaiNumber((thaiYear - 2).toString()),
// lastOneYear: Extension.ToThaiNumber((thaiYear - 1).toString()),
// currentYear: Extension.ToThaiNumber(thaiYear.toString()),
// };
const evaluation = await AppDataSource.getRepository(Evaluation)
.createQueryBuilder("evaluation")
.leftJoin("evaluation.education", "education")
@ -932,6 +986,33 @@ export class EvaluationController {
"salaries.refCommandNo",
"salaries.refCommandDate",
"salaries.salaryStatus",
"salaries.profileId",
"salaries.commandCode",
"salaries.commandNo",
"salaries.commandYear",
"salaries.commandDateAffect",
"salaries.commandDateSign",
"salaries.posNoAbb",
"salaries.positionName",
"salaries.positionType",
"salaries.positionLevel",
"salaries.positionLine",
"salaries.positionPathSide",
"salaries.positionExecutive",
"salaries.amountSpecial",
"salaries.orgRoot",
"salaries.orgChild1",
"salaries.orgChild2",
"salaries.orgChild3",
"salaries.orgChild4",
"salaries.remark",
"salaries.commandId",
"salaries.isGovernment",
"salaries.positionCee",
"salaries.commandName",
"salaries.posNumCodeSit",
"salaries.posNumCodeSitAbb",
"salaries.isEntry",
"training.name",
"training.topic",
@ -1012,6 +1093,33 @@ export class EvaluationController {
refCommandNo: salaries.refCommandNo,
refCommandDate: salaries.refCommandDate,
salaryStatus: salaries.salaryStatus,
profileId: salaries.profileId,
commandCode: salaries.commandCode,
commandNo: salaries.commandNo,
commandYear: salaries.commandYear,
commandDateAffect: salaries.commandDateAffect,
commandDateSign: salaries.commandDateSign,
posNoAbb: salaries.posNoAbb,
positionName: salaries.positionName,
positionType: salaries.positionType,
positionLevel: salaries.positionLevel,
positionLine: salaries.positionLine,
positionPathSide: salaries.positionPathSide,
positionExecutive: salaries.positionExecutive,
amountSpecial: salaries.amountSpecial,
orgRoot: salaries.orgRoot,
orgChild1: salaries.orgChild1,
orgChild2: salaries.orgChild2,
orgChild3: salaries.orgChild3,
orgChild4: salaries.orgChild4,
remark: salaries.remark,
commandId: salaries.commandId,
isGovernment: salaries.isGovernment,
positionCee: salaries.positionCee,
commandName: salaries.commandName,
posNumCodeSit: salaries.posNumCodeSit,
posNumCodeSitAbb: salaries.posNumCodeSitAbb,
isEntry: salaries.isEntry,
})),
trainings: evaluation.training.map((training) => ({
name: training.name,
@ -1034,6 +1142,7 @@ export class EvaluationController {
pointSumTotal: assessment.pointSumTotal,
pointSum: assessment.pointSum,
})),
// years: years
};
if (!dataEvaluation) {

View file

@ -286,9 +286,9 @@ export class ReoportController {
evaluationOld.length > 0 ? evaluationOld.map((x) => x.subject).join(", ") : "ไม่มี";
let thaiYear: number = new Date().getFullYear() + 543;
let years = {
lastTwoYear: thaiYear ? Extension.ToThaiNumber((thaiYear - 2).toString()):"-",
lastOneYear: thaiYear ? Extension.ToThaiNumber((thaiYear - 1).toString()):"-",
currentYear: thaiYear ? Extension.ToThaiNumber(thaiYear.toString()):"-",
lastTwoYear: Extension.ToThaiNumber((thaiYear - 2).toString()),
lastOneYear: Extension.ToThaiNumber((thaiYear - 1).toString()),
currentYear: Extension.ToThaiNumber(thaiYear.toString()),
};
const dataEvaluation = {
isEducationalQft: evaluation.isEducationalQft,
@ -340,13 +340,13 @@ export class ReoportController {
startDate: education.startDate,
endDate: education.endDate,
finishDate: education.finishDate
? Extension.ToThaiNumber(
? `(${Extension.ToThaiNumber(
Extension.ToThaiShortDate(education.finishDate).toString(),
)
)})`
: "-",
isEducation: education.isEducation,
degree: education.degree ? Extension.ToThaiNumber(education.degree) : "-",
field: education.field ? Extension.ToThaiNumber(education.field) : "-",
field: education.field ? `(${Extension.ToThaiNumber(education.field)})` : "-",
fundName: education.fundName,
gpa: education.gpa,
country: education.country,

View file

@ -1,4 +1,4 @@
import { Entity, Column, OneToMany, ManyToMany, JoinTable } from "typeorm";
import { Entity, Column, OneToMany, ManyToMany, JoinTable, Double } from "typeorm";
import { EntityBase } from "./base/Base";
import { EvaluationLogs } from "./EvaluationLogs";
import { Education } from "./Education";
@ -416,41 +416,37 @@ export class CreateCertificate {
}
export class CreateSalary {
@Column()
step?: string | null;
@Column()
date?: Date | null;
@Column()
amount?: number | null;
@Column()
positionSalaryAmount?: number | null;
@Column()
mouthSalaryAmount?: number | null;
@Column()
position?: string | null;
@Column()
profileId?: string | null;
commandCode?: string | null;
commandNo?: string | null;
commandYear?: number | null;
commandDateAffect?: Date | null;
commandDateSign?: Date | null;
posNoAbb?: string | null;
posNo?: string | null;
@Column()
salaryClass?: string | null;
@Column()
salaryRef?: string | null;
@Column()
refCommandNo?: string | null;
@Column()
refCommandDate?: Date | null;
@Column()
salaryStatus?: string | null;
positionName?: string | null;
positionType?: string | null;
positionLevel?: string | null;
positionLine?: string | null;
positionPathSide?: string | null;
positionExecutive?: string | null;
amount?: Double | null;
amountSpecial?: Double | null;
positionSalaryAmount?: Double | null;
mouthSalaryAmount?: Double | null;
orgRoot?: string | null;
orgChild1?: string | null;
orgChild2?: string | null;
orgChild3?: string | null;
orgChild4?: string | null;
remark?: string | null;
commandId?: string | null;
isGovernment?: boolean | null;
positionCee?: string | null;
commandName?: string | null;
posNumCodeSit?: string | null;
posNumCodeSitAbb?: string | null;
isEntry?: boolean | null;
}
export class CreateTraining {
@Column()

View file

@ -281,37 +281,5 @@ export class Salary extends EntityBase {
evaluation: Evaluation;
}
export class CreateSalary {
profileId?: string | null;
commandCode?: string | null;
commandNo?: string | null;
commandYear?: number | null;
commandDateAffect?: Date | null;
commandDateSign?: Date | null;
posNoAbb?: string | null;
posNo?: string | null;
positionName?: string | null;
positionType?: string | null;
positionLevel?: string | null;
positionLine?: string | null;
positionPathSide?: string | null;
positionExecutive?: string | null;
amount?: Double | null;
amountSpecial?: Double | null;
positionSalaryAmount?: Double | null;
mouthSalaryAmount?: Double | null;
orgRoot?: string | null;
orgChild1?: string | null;
orgChild2?: string | null;
orgChild3?: string | null;
orgChild4?: string | null;
remark?: string | null;
commandId?: string | null;
isGovernment?: boolean | null;
positionCee?: string | null;
commandName?: string | null;
posNumCodeSit?: string | null;
posNumCodeSitAbb?: string | null;
}
export type UpdateSalary = Partial<Salary>;