migrate and update #207
This commit is contained in:
parent
b958680692
commit
346d161083
3 changed files with 77 additions and 2 deletions
|
|
@ -35,6 +35,7 @@ import { setLogDataDiff } from "../interfaces/utils";
|
|||
import Extension from "../interfaces/extension";
|
||||
import { Portfolio } from "../entities/Portfolio";
|
||||
import { Performance } from "../entities/Performance";
|
||||
import { AnnounceTemplate } from "../entities/AnnounceTemplate";
|
||||
|
||||
@Route("api/v1/evaluation")
|
||||
@Tags("evaluation")
|
||||
|
|
@ -56,6 +57,7 @@ export class EvaluationController {
|
|||
private performanceRepository = AppDataSource.getRepository(Performance);
|
||||
private directorRepository = AppDataSource.getRepository(Director);
|
||||
private meetingRepository = AppDataSource.getRepository(Meeting);
|
||||
private announceTemplateRepository = AppDataSource.getRepository(AnnounceTemplate);
|
||||
|
||||
/**
|
||||
* API ล้างข้อมูล
|
||||
|
|
@ -479,11 +481,17 @@ export class EvaluationController {
|
|||
async save(@Body() requestBody: CreateEvaluation, @Request() request: RequestWithUser) {
|
||||
// await new permission().PermissionCreate(request, "SYS_EVA_REQ");
|
||||
try {
|
||||
const _null: any = null;
|
||||
const evaluation = Object.assign(new Evaluation(), requestBody);
|
||||
if (!evaluation) {
|
||||
return `not found data`;
|
||||
}
|
||||
|
||||
const announceTemplate5 = await this.announceTemplateRepository.findOne({
|
||||
where:{
|
||||
code : "ST05-1"
|
||||
},
|
||||
select: ["detailBody","detailFooter"]
|
||||
})
|
||||
const before = null;
|
||||
await new CallAPI()
|
||||
.GetData(request, `/org/profile/keycloak/commander/${request.user.sub}`)
|
||||
|
|
@ -505,10 +513,11 @@ export class EvaluationController {
|
|||
evaluation.lastUpdateFullName = request.user.name;
|
||||
evaluation.lastUpdatedAt = new Date();
|
||||
evaluation.userId = request.user.sub;
|
||||
evaluation.detailAnnounceStep5Body = announceTemplate5?.detailBody??_null;
|
||||
evaluation.detailAnnounceStep5Footer = announceTemplate5?.detailFooter??_null;
|
||||
await this.evaluationRepository.save(evaluation, { data: request });
|
||||
setLogDataDiff(request, { before, after: evaluation });
|
||||
|
||||
const _null: any = null;
|
||||
//Education
|
||||
if (requestBody.educations != null)
|
||||
requestBody.educations.forEach(async (edu) => {
|
||||
|
|
@ -1030,6 +1039,9 @@ export class EvaluationController {
|
|||
"evaluation.birthDate",
|
||||
"evaluation.govAge",
|
||||
"evaluation.experience",
|
||||
"evaluation.detailAnnounceStep5Body",
|
||||
"evaluation.detailAnnounceStep5Footer",
|
||||
"evaluation.isUpdated",
|
||||
|
||||
"education.educationLevel",
|
||||
"education.institute",
|
||||
|
|
@ -1144,6 +1156,9 @@ export class EvaluationController {
|
|||
birthDate: evaluation.birthDate,
|
||||
govAge: evaluation.govAge,
|
||||
experience: evaluation.experience,
|
||||
detailAnnounceStep5Body: evaluation.detailAnnounceStep5Body,
|
||||
detailAnnounceStep5Footer: evaluation.detailAnnounceStep5Footer,
|
||||
isUpdated: evaluation.isUpdated,
|
||||
educations: evaluation.education.map((education) => ({
|
||||
educationLevel: education.educationLevel,
|
||||
institute: education.institute,
|
||||
|
|
@ -1384,6 +1399,9 @@ export class EvaluationController {
|
|||
"evaluation.birthDate",
|
||||
"evaluation.govAge",
|
||||
"evaluation.experience",
|
||||
"evaluation.detailAnnounceStep5Body",
|
||||
"evaluation.detailAnnounceStep5Footer",
|
||||
"evaluation.isUpdated",
|
||||
|
||||
"education.educationLevel",
|
||||
"education.institute",
|
||||
|
|
@ -1498,6 +1516,9 @@ export class EvaluationController {
|
|||
birthDate: evaluation.birthDate,
|
||||
govAge: evaluation.govAge,
|
||||
experience: evaluation.experience,
|
||||
detailAnnounceStep5Body: evaluation.detailAnnounceStep5Body,
|
||||
detailAnnounceStep5Footer: evaluation.detailAnnounceStep5Footer,
|
||||
isUpdated: evaluation.isUpdated,
|
||||
educations: evaluation.education.map((education) => ({
|
||||
educationLevel: education.educationLevel,
|
||||
institute: education.institute,
|
||||
|
|
@ -2051,6 +2072,40 @@ export class EvaluationController {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* API แก้ไข template ประกาศคัดเลือก
|
||||
*
|
||||
* @summary แก้ไข template ประกาศคัดเลือก (ADMIN)
|
||||
*
|
||||
* @param {string} id id ข้อมูลการประเมิน
|
||||
*/
|
||||
@Put("edit-announce-template/{id}")
|
||||
async editAnnounceTemp(@Path() id: string, @Request() request: RequestWithUser, @Body() body: {detailBody: string, detailFooter: string}) {
|
||||
try {
|
||||
await new permission().PermissionUpdate(request, "SYS_EVA_REQ");
|
||||
|
||||
const evaluation = await this.evaluationRepository.findOne({ where: { id } });
|
||||
if (!evaluation) {
|
||||
throw new HttpError(HttpStatusCode.NOT_FOUND, "not found.");
|
||||
}
|
||||
const before = structuredClone(evaluation);
|
||||
|
||||
evaluation.detailAnnounceStep5Body = body.detailBody;
|
||||
evaluation.detailAnnounceStep5Footer = body.detailFooter;
|
||||
evaluation.lastUpdateUserId = request.user.sub;
|
||||
evaluation.lastUpdateFullName = request.user.name;
|
||||
evaluation.lastUpdatedAt = new Date();
|
||||
await this.evaluationRepository.save(evaluation, { data: request });
|
||||
setLogDataDiff(request, { before, after: evaluation });
|
||||
|
||||
return new HttpSuccess();
|
||||
} catch (error: any) {
|
||||
if (error instanceof HttpError) {
|
||||
throw error;
|
||||
} else throw new HttpError(HttpStatusCode.INTERNAL_SERVER_ERROR, error);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* API บันทึกแจ้งผลการประกาศคัดเลือก
|
||||
*
|
||||
|
|
@ -2938,6 +2993,7 @@ export class EvaluationController {
|
|||
evaluation.commanderAboveOrgOldDoc2 = body.commanderAboveOrgOldDoc2??_null;
|
||||
evaluation.commanderAbovePositionDoc2 = body.commanderAbovePositionDoc2;
|
||||
evaluation.commanderAbovePositionOldDoc2 = body.commanderAbovePositionOldDoc2??_null;
|
||||
evaluation.isUpdated = true;
|
||||
evaluation.lastUpdateUserId = request.user.sub;
|
||||
evaluation.lastUpdateFullName = request.user.name;
|
||||
evaluation.lastUpdatedAt = new Date();
|
||||
|
|
|
|||
|
|
@ -272,6 +272,11 @@ export class Evaluation extends EntityBase {
|
|||
@Column({ type: 'text', nullable: true, comment: 'รายละเอียดส่วนท้าย(STEP5)'})
|
||||
detailAnnounceStep5Footer: string;
|
||||
|
||||
@Column({ default: false, comment: 'สถานะเช็คการอัพเดทชื่อผลงาน (STEP6)'})
|
||||
isUpdated: boolean;
|
||||
|
||||
|
||||
|
||||
@OneToMany(() => EvaluationLogs, (evaluationLogs) => evaluationLogs.evaluation)
|
||||
evaluationLogs: EvaluationLogs[];
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class AddFieldIsUpdateTableEvaluation1745303689358 implements MigrationInterface {
|
||||
name = 'AddFieldIsUpdateTableEvaluation1745303689358'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`evaluation\` ADD \`isUpdated\` tinyint NOT NULL COMMENT 'สถานะเช็คการอัพเดทชื่อผลงาน (STEP6)' DEFAULT 0`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE \`evaluation\` DROP COLUMN \`isUpdated\``);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue