fix error sortBy default

This commit is contained in:
Warunee Tamkoo 2025-10-03 16:18:48 +07:00
parent d1ec7b76aa
commit d113ac6dfe

View file

@ -5739,7 +5739,7 @@ export class ProfileController extends Controller {
@Query() nodeId?: string, @Query() nodeId?: string,
@Query() isAll?: boolean, @Query() isAll?: boolean,
@Query() retireType?: string, @Query() retireType?: string,
@Query() sortBy: string = "current_holders.posMasterNo", @Query() sortBy: string = "profile.dateLeave",
@Query() sort: "ASC" | "DESC" = "ASC", @Query() sort: "ASC" | "DESC" = "ASC",
) { ) {
const { data, total } = await this.profileLeaveService.getLeaveOfficer(request, { const { data, total } = await this.profileLeaveService.getLeaveOfficer(request, {
@ -6127,7 +6127,7 @@ export class ProfileController extends Controller {
"orgChild4.orgChild4Order", "orgChild4.orgChild4Order",
"positions.id", "positions.id",
"posExecutive.id", "posExecutive.id",
"posExecutive.posExecutiveName" "posExecutive.posExecutiveName",
]) ])
.where("current_holders.orgRevisionId = :orgRevisionId", { .where("current_holders.orgRevisionId = :orgRevisionId", {
orgRevisionId: ( orgRevisionId: (
@ -6198,38 +6198,27 @@ export class ProfileController extends Controller {
qb.orWhere(searchKeyword ? queryLike : "1=1", { keyword: `%${searchKeyword}%` }); 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) {
if (sortBy === "posLevel") { if (sortBy === "posLevel") {
query = query.orderBy( query = query.orderBy(`posLevel.posLevelName`, descending ? "DESC" : "ASC");
`posLevel.posLevelName`,
descending ? "DESC" : "ASC"
);
} else if (sortBy === "posType") { } else if (sortBy === "posType") {
query = query.orderBy( query = query.orderBy(`posType.posTypeName`, descending ? "DESC" : "ASC");
`posType.posTypeName`,
descending ? "DESC" : "ASC"
);
} else if (sortBy === "posExecutive") { } else if (sortBy === "posExecutive") {
query = query.orderBy( query = query.orderBy(`posExecutive.posExecutiveName`, descending ? "DESC" : "ASC");
`posExecutive.posExecutiveName`,
descending ? "DESC" : "ASC"
);
} else { } else {
query = query.orderBy( query = query.orderBy(`profile.${sortBy}`, descending ? "DESC" : "ASC");
`profile.${sortBy}`,
descending ? "DESC" : "ASC"
);
} }
} else { } else {
query = query.orderBy("sort_order", "ASC") query = query
.orderBy("sort_order", "ASC")
.addOrderBy("orgRoot.orgRootOrder", sort) .addOrderBy("orgRoot.orgRootOrder", sort)
.addOrderBy("orgChild1.orgChild1Order", sort) .addOrderBy("orgChild1.orgChild1Order", sort)
.addOrderBy("orgChild2.orgChild2Order", sort) .addOrderBy("orgChild2.orgChild2Order", sort)
.addOrderBy("orgChild3.orgChild3Order", sort) .addOrderBy("orgChild3.orgChild3Order", sort)
.addOrderBy("orgChild4.orgChild4Order", sort) .addOrderBy("orgChild4.orgChild4Order", sort)
.addOrderBy("current_holders.posMasterNo", sort) .addOrderBy("current_holders.posMasterNo", sort);
} }
const [record, total] = await query const [record, total] = await query
@ -6278,7 +6267,8 @@ export class ProfileController extends Controller {
posLevelId: _data.posLevel?.id ?? null, posLevelId: _data.posLevel?.id ?? null,
posTypeId: _data.posType?.id ?? null, posTypeId: _data.posType?.id ?? null,
position: _data.position, 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, posNo: shortName ?? null,
rootId: holder?.orgRoot?.id ?? null, rootId: holder?.orgRoot?.id ?? null,
root: holder?.orgRoot?.orgRootName ?? null, root: holder?.orgRoot?.orgRootName ?? null,
@ -6665,7 +6655,6 @@ export class ProfileController extends Controller {
return new HttpSuccess({ data, total }); return new HttpSuccess({ data, total });
} }
/** /**
* API * API
* *