sort admin

This commit is contained in:
adisak 2025-09-23 14:56:38 +07:00
parent d999241536
commit 8b40eb0ad5
3 changed files with 66 additions and 9 deletions

View file

@ -1504,6 +1504,8 @@ export class ProfileEmployeeTempController extends Controller {
@Query() isProbation?: boolean,
@Query() isRetire?: boolean,
@Query() type?: string,
@Query("sortBy") sortBy?: string,
@Query("descending") descending?: boolean,
) {
let _data = await new permission().PermissionOrgList(request, "SYS_REGISTRY_TEMP");
let queryLike =
@ -1525,7 +1527,8 @@ export class ProfileEmployeeTempController extends Controller {
if (!findRevision) {
throw new HttpError(HttpStatus.NOT_FOUND, "not found. OrgRevision");
}
const [record, total] = await this.profileRepo
let query = await this.profileRepo
.createQueryBuilder("profileEmployee")
.leftJoinAndSelect("profileEmployee.posLevel", "posLevel")
.leftJoinAndSelect("profileEmployee.posType", "posType")
@ -1638,9 +1641,31 @@ export class ProfileEmployeeTempController extends Controller {
}
}),
)
.skip((page - 1) * pageSize)
.take(pageSize)
.getManyAndCount();
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{
query = query.orderBy(
`profileEmployee.${sortBy}`,
descending ? "DESC" : "ASC"
);
}
}
const [record, total] = await query
.skip((page - 1) * pageSize)
.take(pageSize)
.getManyAndCount();
const data = await Promise.all(
record.map((_data) => {
const shortName =