แก้ทะเบียนประวัติ Individual Development Plan #875

This commit is contained in:
Bright 2024-12-19 15:23:05 +07:00
parent 2a63855b72
commit 0d198ec009

View file

@ -27,6 +27,7 @@ import {
import permission from "../interfaces/permission";
import { DevelopmentProject } from "../entities/DevelopmentProject";
import { In, Brackets } from "typeorm";
import { DevelopmentRequest } from "../entities/DevelopmentRequest";
@Route("api/v1/org/profile/development")
@Tags("ProfileDevelopment")
@Security("bearerAuth")
@ -35,6 +36,7 @@ export class ProfileDevelopmentController extends Controller {
private developmentRepository = AppDataSource.getRepository(ProfileDevelopment);
private developmentHistoryRepository = AppDataSource.getRepository(ProfileDevelopmentHistory);
private developmentProjectRepository = AppDataSource.getRepository(DevelopmentProject);
private developmentRequestRepository = AppDataSource.getRepository(DevelopmentRequest);
@Get("user")
public async getDevelopmentUser(@Request() request: { user: Record<string, any> }) {
@ -121,6 +123,75 @@ export class ProfileDevelopmentController extends Controller {
return new HttpSuccess(record);
}
@Get("registry/{type}/{developmentId}")
public async developmentDetail(
@Path() developmentId: string,
@Path() type: string,
@Request() req: RequestWithUser
) {
const data = await this.developmentRequestRepository.findOne({
where: { id: developmentId },
relations: ["developmentProjects"],
});
if (!data)
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบรายการพัฒนารายบุคคลดังกล่าว");
if (type.trim().toLocaleUpperCase() == "OFFICER") {
let _workflow = await new permission().Workflow(req, developmentId, "SYS_REGISTRY_OFFICER");
if (_workflow == false)
await new permission().PermissionOrgUserGet(
req,
"SYS_REGISTRY_OFFICER",
data.profileId,
);
} else if (type.trim().toLocaleUpperCase() == "EMPLOYEE") {
let _workflow = await new permission().Workflow(req, developmentId, "SYS_REGISTRY_EMP");
if (_workflow == false)
await new permission().PermissionOrgUserGet(
req,
"SYS_REGISTRY_EMP",
data.profileEmployeeId,
);
} else if (type.trim().toLocaleUpperCase() == "TEMP") {
let _workflow = await new permission().Workflow(req, developmentId, "SYS_REGISTRY_TEMP");
if (_workflow == false)
await new permission().PermissionOrgUserGet(
req,
"SYS_REGISTRY_TEMP",
data.profileEmployeeId,
);
} else if (type.trim().toLocaleUpperCase() == "USER") {
} else {
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่สามารถเข้าถึงข้อมูลนี้ได้");
}
const _mapData = {
id: data.id,
evaluationId: null,
target: data.developmentTarget,
summary: null,
point: null,
name: data.name,
achievement10: "มีผลการพัฒนาและมีการดำเนินการตามเป้าหมายการนำไปพัฒนางาน1",
achievement5: "มีผลการพัฒนาแต่ยังไม่ได้ดำเนินการตามเป้าหมายการนำไปพัฒนางาน",
achievement0: "ไม่ได้ดำเนินการพัฒนา",
isDevelopment70: data.isDevelopment70,
isDevelopment20: data.isDevelopment20,
isDevelopment10: data.isDevelopment10,
reasonDevelopment70: data.reasonDevelopment70,
reasonDevelopment20: data.reasonDevelopment20,
reasonDevelopment10: data.reasonDevelopment10,
selectType: null,
selectTypeYear: null,
selectTypeId: null
}
const _data = {
..._mapData,
developmentProjects: data.developmentProjects.map((x) => x.name),
};
return new HttpSuccess(_data);
}
@Post()
public async newDevelopment(
@Request() req: RequestWithUser,