โครงการเพิ่มค้นหาหน่วยงาน

This commit is contained in:
Kittapath 2024-04-17 22:34:21 +07:00
parent 281a8515ba
commit ddc0e85e3e
5 changed files with 297 additions and 103 deletions

View file

@ -110,6 +110,29 @@ export class DevelopmentController extends Controller {
);
}
const development = Object.assign(new Development(), requestBody);
await new CallAPI()
.PostData(request, "org/find/all", {
node: requestBody.node,
nodeId: requestBody.nodeId,
})
.then((x) => {
development.root = x.root;
development.rootId = x.rootId;
development.rootShortName = x.rootShortName;
development.child1 = x.child1;
development.child1Id = x.child1Id;
development.child1ShortName = x.child1ShortName;
development.child2 = x.child2;
development.child2Id = x.child2Id;
development.child2ShortName = x.child2ShortName;
development.child3 = x.child3;
development.child3Id = x.child3Id;
development.child3ShortName = x.child3ShortName;
development.child4 = x.child4;
development.child4Id = x.child4Id;
development.child4ShortName = x.child4ShortName;
})
.catch((x) => {});
development.createdUserId = request.user.sub;
development.createdFullName = request.user.name;
development.lastUpdateUserId = request.user.sub;
@ -155,6 +178,29 @@ export class DevelopmentController extends Controller {
);
}
Object.assign(development, requestBody);
await new CallAPI()
.PostData(request, "org/find/all", {
node: requestBody.node,
nodeId: requestBody.nodeId,
})
.then((x) => {
development.root = x.root;
development.rootId = x.rootId;
development.rootShortName = x.rootShortName;
development.child1 = x.child1;
development.child1Id = x.child1Id;
development.child1ShortName = x.child1ShortName;
development.child2 = x.child2;
development.child2Id = x.child2Id;
development.child2ShortName = x.child2ShortName;
development.child3 = x.child3;
development.child3Id = x.child3Id;
development.child3ShortName = x.child3ShortName;
development.child4 = x.child4;
development.child4Id = x.child4Id;
development.child4ShortName = x.child4ShortName;
})
.catch((x) => {});
development.lastUpdateUserId = request.user.sub;
development.lastUpdateFullName = request.user.name;
await this.developmentRepository.save(development);
@ -1122,7 +1168,8 @@ export class DevelopmentController extends Controller {
@Query("pageSize") pageSize: number = 10,
@Query("year") year: number,
@Query("status") status: string,
@Query("root") root?: string | null,
@Query("nodeId") nodeId?: string | null,
@Query("node") node?: number | null,
@Query("keyword") keyword?: string,
) {
const [development, total] = await AppDataSource.getRepository(Development)
@ -1130,16 +1177,38 @@ export class DevelopmentController extends Controller {
.andWhere(year > 0 ? "development.year LIKE :year" : "1=1", {
year: `${year.toString()}`,
})
.andWhere(root != undefined && root != null ? "development.root LIKE :root" : "1=1", {
root: `${root}`,
})
.andWhere(
node != undefined && node != null
? node == 4
? "development.child4Id LIKE :nodeId"
: node == 3
? "development.child3Id LIKE :nodeId"
: node == 2
? "development.child2Id LIKE :nodeId"
: node == 1
? "development.child1Id LIKE :nodeId"
: "development.rootId LIKE :nodeId"
: "1=1",
{
nodeId: `${nodeId}`,
},
)
.andWhere(status != undefined ? "development.status LIKE :status" : "1=1", {
status: `%${status}%`,
})
.andWhere(keyword != undefined ? "development.projectName LIKE :keyword" : "1=1", {
keyword: `%${keyword}%`,
})
.select(["development.id", "development.projectName", "development.year", "development.root"])
.select([
"development.id",
"development.projectName",
"development.year",
"development.root",
"development.child1",
"development.child2",
"development.child3",
"development.child4",
])
.orderBy("development.year", "DESC")
.orderBy("development.createdAt", "DESC")
.skip((page - 1) * pageSize)
@ -1201,22 +1270,39 @@ export class DevelopmentController extends Controller {
async GetDevelopemtTab1ById(@Path() id: string) {
const getDevelopment = await this.developmentRepository.findOne({
where: { id: id },
select: [
"id",
"year",
"projectName",
"reason",
"objective",
"root",
"rootId",
"orgRootShortName",
"orgRevisionId",
],
});
if (!getDevelopment) {
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลโครงการ/หลักสูตรการฝึกอบรมนี้");
}
return new HttpSuccess(getDevelopment);
let node = null;
let nodeId = null;
if (getDevelopment.child4Id != null) {
node = 4;
nodeId = getDevelopment.child4Id;
} else if (getDevelopment.child3Id != null) {
node = 3;
nodeId = getDevelopment.child3Id;
} else if (getDevelopment.child2Id != null) {
node = 2;
nodeId = getDevelopment.child2Id;
} else if (getDevelopment.child1Id != null) {
node = 1;
nodeId = getDevelopment.child1Id;
} else if (getDevelopment.rootId != null) {
node = 0;
nodeId = getDevelopment.rootId;
}
const formattedData = {
id: getDevelopment.id,
year: getDevelopment.year,
projectName: getDevelopment.projectName,
reason: getDevelopment.reason,
objective: getDevelopment.objective,
node: node,
nodeId: nodeId,
};
return new HttpSuccess(formattedData);
}
/**