fix error sortBy default
This commit is contained in:
parent
d1ec7b76aa
commit
d113ac6dfe
1 changed files with 31 additions and 42 deletions
|
|
@ -5739,7 +5739,7 @@ export class ProfileController extends Controller {
|
|||
@Query() nodeId?: string,
|
||||
@Query() isAll?: boolean,
|
||||
@Query() retireType?: string,
|
||||
@Query() sortBy: string = "current_holders.posMasterNo",
|
||||
@Query() sortBy: string = "profile.dateLeave",
|
||||
@Query() sort: "ASC" | "DESC" = "ASC",
|
||||
) {
|
||||
const { data, total } = await this.profileLeaveService.getLeaveOfficer(request, {
|
||||
|
|
@ -6127,7 +6127,7 @@ export class ProfileController extends Controller {
|
|||
"orgChild4.orgChild4Order",
|
||||
"positions.id",
|
||||
"posExecutive.id",
|
||||
"posExecutive.posExecutiveName"
|
||||
"posExecutive.posExecutiveName",
|
||||
])
|
||||
.where("current_holders.orgRevisionId = :orgRevisionId", {
|
||||
orgRevisionId: (
|
||||
|
|
@ -6198,45 +6198,34 @@ export class ProfileController extends Controller {
|
|||
qb.orWhere(searchKeyword ? queryLike : "1=1", { keyword: `%${searchKeyword}%` });
|
||||
}),
|
||||
)
|
||||
.addSelect("CASE WHEN current_holders.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order")
|
||||
.addSelect("CASE WHEN current_holders.posMasterNo IS NULL THEN 1 ELSE 0 END", "sort_order");
|
||||
|
||||
if (sortBy) {
|
||||
if(sortBy === "posLevel"){
|
||||
query = query.orderBy(
|
||||
`posLevel.posLevelName`,
|
||||
descending ? "DESC" : "ASC"
|
||||
);
|
||||
}else if(sortBy === "posType"){
|
||||
query = query.orderBy(
|
||||
`posType.posTypeName`,
|
||||
descending ? "DESC" : "ASC"
|
||||
);
|
||||
}else if(sortBy === "posExecutive"){
|
||||
query = query.orderBy(
|
||||
`posExecutive.posExecutiveName`,
|
||||
descending ? "DESC" : "ASC"
|
||||
);
|
||||
}else{
|
||||
query = query.orderBy(
|
||||
`profile.${sortBy}`,
|
||||
descending ? "DESC" : "ASC"
|
||||
);
|
||||
}
|
||||
}else{
|
||||
query = query.orderBy("sort_order", "ASC")
|
||||
.addOrderBy("orgRoot.orgRootOrder", sort)
|
||||
.addOrderBy("orgChild1.orgChild1Order", sort)
|
||||
.addOrderBy("orgChild2.orgChild2Order", sort)
|
||||
.addOrderBy("orgChild3.orgChild3Order", sort)
|
||||
.addOrderBy("orgChild4.orgChild4Order", sort)
|
||||
.addOrderBy("current_holders.posMasterNo", sort)
|
||||
if (sortBy) {
|
||||
if (sortBy === "posLevel") {
|
||||
query = query.orderBy(`posLevel.posLevelName`, descending ? "DESC" : "ASC");
|
||||
} else if (sortBy === "posType") {
|
||||
query = query.orderBy(`posType.posTypeName`, descending ? "DESC" : "ASC");
|
||||
} else if (sortBy === "posExecutive") {
|
||||
query = query.orderBy(`posExecutive.posExecutiveName`, descending ? "DESC" : "ASC");
|
||||
} else {
|
||||
query = query.orderBy(`profile.${sortBy}`, descending ? "DESC" : "ASC");
|
||||
}
|
||||
} else {
|
||||
query = query
|
||||
.orderBy("sort_order", "ASC")
|
||||
.addOrderBy("orgRoot.orgRootOrder", sort)
|
||||
.addOrderBy("orgChild1.orgChild1Order", sort)
|
||||
.addOrderBy("orgChild2.orgChild2Order", sort)
|
||||
.addOrderBy("orgChild3.orgChild3Order", sort)
|
||||
.addOrderBy("orgChild4.orgChild4Order", sort)
|
||||
.addOrderBy("current_holders.posMasterNo", sort);
|
||||
}
|
||||
|
||||
const [record, total] = await query
|
||||
.skip((page - 1) * pageSize)
|
||||
.take(pageSize)
|
||||
.getManyAndCount();
|
||||
|
||||
const [record, total] = await query
|
||||
.skip((page - 1) * pageSize)
|
||||
.take(pageSize)
|
||||
.getManyAndCount();
|
||||
|
||||
// map ข้อมูลแบบเร็วขึ้น
|
||||
const data = record.map((_data) => {
|
||||
const holder = _data.current_holders?.[0];
|
||||
|
|
@ -6272,13 +6261,14 @@ export class ProfileController extends Controller {
|
|||
rank: _data.rank,
|
||||
firstName: _data.firstName,
|
||||
lastName: _data.lastName,
|
||||
citizenId: _data.citizenId,
|
||||
citizenId: _data.citizenId,
|
||||
posLevel: _data.posLevel?.posLevelName ?? null,
|
||||
posType: _data.posType?.posTypeName ?? null,
|
||||
posLevelId: _data.posLevel?.id ?? null,
|
||||
posTypeId: _data.posType?.id ?? null,
|
||||
position: _data.position,
|
||||
posExecutive: _data.current_holders[0]?.positions[0]?.posExecutive?.posExecutiveName ?? null,
|
||||
posExecutive:
|
||||
_data.current_holders[0]?.positions[0]?.posExecutive?.posExecutiveName ?? null,
|
||||
posNo: shortName ?? null,
|
||||
rootId: holder?.orgRoot?.id ?? null,
|
||||
root: holder?.orgRoot?.orgRootName ?? null,
|
||||
|
|
@ -6471,7 +6461,7 @@ export class ProfileController extends Controller {
|
|||
nodeCondition = nodeCondition + nodeAll;
|
||||
|
||||
// เลือกเฉพาะฟิลด์ที่จำเป็น
|
||||
const [record,total] = await this.profileRepo
|
||||
const [record, total] = await this.profileRepo
|
||||
.createQueryBuilder("profile")
|
||||
.leftJoin("profile.posLevel", "posLevel")
|
||||
.leftJoin("profile.posType", "posType")
|
||||
|
|
@ -6665,7 +6655,6 @@ export class ProfileController extends Controller {
|
|||
return new HttpSuccess({ data, total });
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* API ค้นหารายชื่อไปครองตำแหน่ง
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue