fixing path

This commit is contained in:
Warunee Tamkoo 2024-09-05 16:56:22 +07:00
parent 400b9c0b28
commit ba612f1b2b
12 changed files with 325 additions and 723 deletions

View file

@ -21,21 +21,12 @@ import { findEndDate, setLogDataDiff } from "../interfaces/utils";
import { Personal } from "../entities/Personal";
import permission from "../interfaces/permission";
import { Assign, CreateAssign } from "../entities/Assign";
import {
AssignDirector,
CreateAssignDirector,
} from "../entities/AssignDirector";
import { AssignDirector, CreateAssignDirector } from "../entities/AssignDirector";
import { AssignJob, CreateAssignJob } from "../entities/AssignJob";
import {
AssignKnowledge,
CreateAssignKnowledge,
} from "../entities/AssignKnowledge";
import { AssignKnowledge, CreateAssignKnowledge } from "../entities/AssignKnowledge";
import { AssignLaw, CreateAssignLaw } from "../entities/AssignLaw";
import { AssignSkill, CreateAssignSkill } from "../entities/AssignSkill";
import {
AssignCompetency,
CreateAssignCompetency,
} from "../entities/AssignCompetency";
import { AssignCompetency, CreateAssignCompetency } from "../entities/AssignCompetency";
import {
AssignCompetencyGroup,
CreateAssignCompetencyGroup,
@ -44,29 +35,24 @@ import { AssignOutput, CreateAssignOutput } from "../entities/AssignOutput";
import { Law } from "../entities/Law";
import CallAPI from "../interfaces/call-api";
@Route("api/v1/assign")
@Route("api/v1/probation/assign")
@Tags("ฟอร์มมอบหมายงาน")
@Security("bearerAuth")
@Response(
HttpStatusCode.INTERNAL_SERVER_ERROR,
"เกิดข้อผิดพลาด ไม่สามารถแสดงรายการได้ กรุณาลองใหม่ในภายหลัง"
"เกิดข้อผิดพลาด ไม่สามารถแสดงรายการได้ กรุณาลองใหม่ในภายหลัง",
)
@SuccessResponse(HttpStatusCode.OK, "สำเร็จ")
export class AssignController extends Controller {
private assignRepository = AppDataSource.getRepository(Assign);
private personalRepository = AppDataSource.getRepository(Personal);
private assignDirectorRepository =
AppDataSource.getRepository(AssignDirector);
private assignDirectorRepository = AppDataSource.getRepository(AssignDirector);
private assignJobRepository = AppDataSource.getRepository(AssignJob);
private assignKnowledgeRepository =
AppDataSource.getRepository(AssignKnowledge);
private assignKnowledgeRepository = AppDataSource.getRepository(AssignKnowledge);
private assignLawRepository = AppDataSource.getRepository(AssignLaw);
private assignSkillRepository = AppDataSource.getRepository(AssignSkill);
private assignCompetencyRepository =
AppDataSource.getRepository(AssignCompetency);
private assignCompetencyGroupRepository = AppDataSource.getRepository(
AssignCompetencyGroup
);
private assignCompetencyRepository = AppDataSource.getRepository(AssignCompetency);
private assignCompetencyGroupRepository = AppDataSource.getRepository(AssignCompetencyGroup);
private assignOutputRepository = AppDataSource.getRepository(AssignOutput);
private lawsRepository = AppDataSource.getRepository(Law);
@ -77,10 +63,7 @@ export class AssignController extends Controller {
*
*/
@Post("")
async AddAssign(
@Request() request: RequestWithUser,
@Body() requestBody: CreateAssign
) {
async AddAssign(@Request() request: RequestWithUser, @Body() requestBody: CreateAssign) {
await new permission().PermissionUpdate(request, "SYS_PROBATION");
const person = await this.personalRepository.findOne({
where: {
@ -112,17 +95,15 @@ export class AssignController extends Controller {
const assign = await this.assignRepository.save(data, { data: request });
setLogDataDiff(request, { before, after: data });
const jobs = await requestBody.assign_jobs.map(
(x: CreateAssignJob, index: number) => ({
...x,
id: index + 1,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
);
const jobs = await requestBody.assign_jobs.map((x: CreateAssignJob, index: number) => ({
...x,
id: index + 1,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
}));
await this.assignJobRepository.save(jobs, { data: request });
setLogDataDiff(request, { before, after: jobs });
@ -135,36 +116,32 @@ export class AssignController extends Controller {
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
}),
);
await this.assignKnowledgeRepository.save(knowledges, { data: request });
setLogDataDiff(request, { before, after: knowledges });
const laws = await requestBody.assign_law.map(
(x: CreateAssignLaw, index: number) => ({
ordering: index + 1,
law_id: x.id,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
);
const laws = await requestBody.assign_law.map((x: CreateAssignLaw, index: number) => ({
ordering: index + 1,
law_id: x.id,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
}));
await this.assignLawRepository.save(laws, { data: request });
setLogDataDiff(request, { before, after: laws });
const skills = await requestBody.assign_skill.map(
(x: CreateAssignSkill, index: number) => ({
skill_id: index + 1,
skill_level: x.level,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
);
const skills = await requestBody.assign_skill.map((x: CreateAssignSkill, index: number) => ({
skill_id: index + 1,
skill_level: x.level,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
}));
await this.assignSkillRepository.save(skills, { data: request });
setLogDataDiff(request, { before, after: skills });
@ -179,7 +156,7 @@ export class AssignController extends Controller {
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
}),
);
await this.assignCompetencyRepository.save(competencise, { data: request });
setLogDataDiff(request, { before, after: competencise });
@ -195,7 +172,7 @@ export class AssignController extends Controller {
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
}),
);
await this.assignCompetencyGroupRepository.save(competencyGroups, {
data: request,
@ -211,7 +188,7 @@ export class AssignController extends Controller {
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
}),
);
await this.assignOutputRepository.save(outputs, { data: request });
setLogDataDiff(request, { before, after: outputs });
@ -226,7 +203,7 @@ export class AssignController extends Controller {
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
}),
);
await this.assignDirectorRepository.save(directors, { data: request });
setLogDataDiff(request, { before, after: directors });
@ -244,7 +221,7 @@ export class AssignController extends Controller {
async EditAssign(
@Query() assign_id: string,
@Request() request: RequestWithUser,
@Body() requestBody: CreateAssign
@Body() requestBody: CreateAssign,
) {
await new permission().PermissionUpdate(request, "SYS_PROBATION");
@ -254,10 +231,7 @@ export class AssignController extends Controller {
let before = assign;
if (!assign) {
return new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลแบบมอบหมายงาน"
);
return new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลแบบมอบหมายงาน");
}
const person = await this.personalRepository.findOne({
@ -278,17 +252,15 @@ export class AssignController extends Controller {
};
await this.assignJobRepository.delete({ assign_id });
const jobs = await requestBody.assign_jobs.map(
(x: CreateAssignJob, index: number) => ({
...x,
id: index + 1,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
);
const jobs = await requestBody.assign_jobs.map((x: CreateAssignJob, index: number) => ({
...x,
id: index + 1,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
}));
await this.assignJobRepository.save(jobs);
await this.assignKnowledgeRepository.delete({ assign_id });
@ -301,36 +273,32 @@ export class AssignController extends Controller {
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
}),
);
await this.assignKnowledgeRepository.save(knowledges);
await this.assignLawRepository.delete({ assign_id });
const laws = await requestBody.assign_law.map(
(x: CreateAssignLaw, index: number) => ({
ordering: index + 1,
law_id: x.id,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
);
const laws = await requestBody.assign_law.map((x: CreateAssignLaw, index: number) => ({
ordering: index + 1,
law_id: x.id,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
}));
await this.assignLawRepository.save(laws);
await this.assignSkillRepository.delete({ assign_id });
const skills = await requestBody.assign_skill.map(
(x: CreateAssignSkill, index: number) => ({
skill_id: index + 1,
skill_level: x.level,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
);
const skills = await requestBody.assign_skill.map((x: CreateAssignSkill, index: number) => ({
skill_id: index + 1,
skill_level: x.level,
assign_id: assign.id,
createdUserId: request.user.sub,
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
}));
await this.assignSkillRepository.save(skills);
await this.assignCompetencyRepository.delete({ assign_id });
@ -345,7 +313,7 @@ export class AssignController extends Controller {
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
}),
);
await this.assignCompetencyRepository.save(competencise);
@ -361,7 +329,7 @@ export class AssignController extends Controller {
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
}),
);
await this.assignCompetencyGroupRepository.save(competencyGroups);
@ -375,7 +343,7 @@ export class AssignController extends Controller {
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
}),
);
await this.assignOutputRepository.save(outputs);
@ -390,7 +358,7 @@ export class AssignController extends Controller {
createdFullName: request.user.name,
updateUserId: request.user.sub,
updateFullName: request.user.name,
})
}),
);
await this.assignDirectorRepository.save(directors);
@ -469,10 +437,7 @@ export class AssignController extends Controller {
*
*/
@Get("assign-list")
async ListPersonal(
@Request() request: RequestWithUser,
@Query() personal_id: string
) {
async ListPersonal(@Request() request: RequestWithUser, @Query() personal_id: string) {
await new permission().PermissionGet(request, "SYS_PROBATION");
const lists = await this.assignRepository.find({
select: ["id", "round_no", "date_start", "date_finish"],
@ -500,14 +465,10 @@ export class AssignController extends Controller {
}
}
const commanderData = await (director.find(
(x) => x.role == "commander"
) ?? null);
const commanderData = await (director.find((x) => x.role == "commander") ?? null);
const commander = commanderData ? commanderData.fullname : null;
const chairmanData = await (director.find(
(x) => x.role == "chairman"
) ?? null);
const chairmanData = await (director.find((x) => x.role == "chairman") ?? null);
const chairman = chairmanData ? chairmanData.fullname : null;
await result.push({
@ -516,7 +477,7 @@ export class AssignController extends Controller {
commander: commander,
chairman: chairman,
});
})
}),
);
return new HttpSuccess(result);
@ -529,10 +490,7 @@ export class AssignController extends Controller {
*
*/
@Get("")
async GetAssign(
@Query() assign_id: string,
@Request() request: RequestWithUser
) {
async GetAssign(@Query() assign_id: string, @Request() request: RequestWithUser) {
await new permission().PermissionUpdate(request, "SYS_PROBATION");
const assign = await this.assignRepository.findOne({
@ -553,10 +511,7 @@ export class AssignController extends Controller {
});
if (!assign) {
return new HttpError(
HttpStatusCode.NOT_FOUND,
"ไม่พบข้อมูลแบบมอบหมายงาน"
);
return new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลแบบมอบหมายงาน");
}
const profileData = await this.personalRepository.findOne({
@ -651,12 +606,7 @@ export class AssignController extends Controller {
}));
const competencyData = await this.assignCompetencyRepository.find({
select: [
"competency_id",
"competency_level",
"competency_name",
"competency_description",
],
select: ["competency_id", "competency_level", "competency_name", "competency_description"],
where: { assign_id },
});
@ -667,17 +617,15 @@ export class AssignController extends Controller {
description: x.competency_description,
}));
const competencyGroupData = await this.assignCompetencyGroupRepository.find(
{
select: [
"competency_group_id",
"competency_group_level",
"competency_group_name",
"competency_group_description",
],
where: { assign_id },
}
);
const competencyGroupData = await this.assignCompetencyGroupRepository.find({
select: [
"competency_group_id",
"competency_group_level",
"competency_group_name",
"competency_group_description",
],
where: { assign_id },
});
const competency_groups = await competencyGroupData.map((x) => ({
id: x.competency_group_id,
level: x.competency_group_level,
@ -703,16 +651,13 @@ export class AssignController extends Controller {
...e,
name: e.fullname,
label:
e.fullname +
" " +
(e.position ? `(${e.position}, ${e.posType}: ${e.posLevel})` : ""),
e.fullname + " " + (e.position ? `(${e.position}, ${e.posType}: ${e.posLevel})` : ""),
Position: e.position, // report
});
}
}
const commanderData = await (director.find((x) => x.role == "commander") ??
null);
const commanderData = await (director.find((x) => x.role == "commander") ?? null);
const commander = await (commanderData
? {
...commanderData,
@ -727,8 +672,7 @@ export class AssignController extends Controller {
}
: null);
const chairmanData = await (director.find((x) => x.role == "chairman") ??
null);
const chairmanData = await (director.find((x) => x.role == "chairman") ?? null);
const chairman = await (chairmanData
? {
...chairmanData,