sort
This commit is contained in:
parent
a4e3e5d417
commit
f2fcdbaaae
1 changed files with 29 additions and 5 deletions
|
|
@ -306,9 +306,11 @@ export class SalaryController extends Controller {
|
|||
@Query("page") page: number = 1,
|
||||
@Query("pageSize") pageSize: number = 10,
|
||||
@Query("keyword") keyword?: string,
|
||||
@Query("sortBy") sortBy?: string,
|
||||
@Query("descending") descending?: boolean,
|
||||
) {
|
||||
await new permission().PermissionList(request, "SYS_SALARY_CHART_OFFICER");
|
||||
const [salary, total] = await AppDataSource.getRepository(Salarys)
|
||||
let query = await AppDataSource.getRepository(Salarys)
|
||||
.createQueryBuilder("salary")
|
||||
.leftJoinAndSelect("salary.posType_", "posType_")
|
||||
.leftJoinAndSelect("salary.posLevel_", "posLevel_")
|
||||
|
|
@ -319,13 +321,35 @@ export class SalaryController extends Controller {
|
|||
.orWhere("posLevel_.posLevelName LIKE :keyword", { keyword: `%${keyword}%` });
|
||||
}),
|
||||
)
|
||||
.orderBy("salary.isActive", "DESC")
|
||||
.addOrderBy("posType_.posTypeRank", "DESC")
|
||||
.addOrderBy("posLevel_.posLevelRank", "DESC")
|
||||
|
||||
if (sortBy) {
|
||||
if(sortBy === "posType"){
|
||||
query = query.orderBy(
|
||||
`posType_.posTypeName`,
|
||||
descending ? "DESC" : "ASC"
|
||||
);
|
||||
}else if(sortBy === "posLevel"){
|
||||
query = query.orderBy(
|
||||
`posLevel_.posLevelName`,
|
||||
descending ? "DESC" : "ASC"
|
||||
);
|
||||
}else{
|
||||
query = query.orderBy(
|
||||
`salary.${sortBy}`,
|
||||
descending ? "DESC" : "ASC"
|
||||
);
|
||||
}
|
||||
}else{
|
||||
query = query.orderBy("salary.isActive", "DESC")
|
||||
.addOrderBy("posType_.posTypeRank", "DESC")
|
||||
.addOrderBy("posLevel_.posLevelRank", "DESC")
|
||||
}
|
||||
|
||||
const [salary, total] = await query
|
||||
.skip((page - 1) * pageSize)
|
||||
.take(pageSize)
|
||||
.getManyAndCount();
|
||||
|
||||
|
||||
const _salary = salary.map((item) => ({
|
||||
id: item.id,
|
||||
name: item.name,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue