sort admin
This commit is contained in:
parent
d999241536
commit
8b40eb0ad5
3 changed files with 66 additions and 9 deletions
|
|
@ -56,11 +56,14 @@ export class ProfileDevelopmentEmployeeController extends Controller {
|
||||||
@Query("page") page: number = 1,
|
@Query("page") page: number = 1,
|
||||||
@Query("pageSize") pageSize: number = 10,
|
@Query("pageSize") pageSize: number = 10,
|
||||||
@Query() searchKeyword: string = "",
|
@Query() searchKeyword: string = "",
|
||||||
|
@Query("sortBy") sortBy?: string,
|
||||||
|
@Query("descending") descending?: boolean,
|
||||||
) {
|
) {
|
||||||
let _workflow = await new permission().Workflow(req, profileId, "SYS_REGISTRY_EMP");
|
let _workflow = await new permission().Workflow(req, profileId, "SYS_REGISTRY_EMP");
|
||||||
if (_workflow == false)
|
if (_workflow == false)
|
||||||
await new permission().PermissionOrgUserGet(req, "SYS_REGISTRY_EMP", profileId);
|
await new permission().PermissionOrgUserGet(req, "SYS_REGISTRY_EMP", profileId);
|
||||||
const [profileDevelopment, total] = await AppDataSource.getRepository(ProfileDevelopment)
|
|
||||||
|
let query = await AppDataSource.getRepository(ProfileDevelopment)
|
||||||
.createQueryBuilder("profileDevelopment")
|
.createQueryBuilder("profileDevelopment")
|
||||||
.where({ profileEmployeeId: profileId })
|
.where({ profileEmployeeId: profileId })
|
||||||
.andWhere(
|
.andWhere(
|
||||||
|
|
@ -100,9 +103,19 @@ export class ProfileDevelopmentEmployeeController extends Controller {
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.orderBy("profileDevelopment.createdAt", "ASC")
|
.orderBy("profileDevelopment.createdAt", "ASC")
|
||||||
|
|
||||||
|
if (sortBy) {
|
||||||
|
query = query.orderBy(
|
||||||
|
`profileDevelopment.${sortBy}`,
|
||||||
|
descending ? "DESC" : "ASC"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const [profileDevelopment, total] = await query
|
||||||
.skip((page - 1) * pageSize)
|
.skip((page - 1) * pageSize)
|
||||||
.take(pageSize)
|
.take(pageSize)
|
||||||
.getManyAndCount();
|
.getManyAndCount();
|
||||||
|
|
||||||
return new HttpSuccess({ data: profileDevelopment, total });
|
return new HttpSuccess({ data: profileDevelopment, total });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -110,6 +110,8 @@ export class ProfileEditEmployeeController extends Controller {
|
||||||
@Query("pageSize") pageSize: number = 10,
|
@Query("pageSize") pageSize: number = 10,
|
||||||
@Query("keyword") keyword: string = "",
|
@Query("keyword") keyword: string = "",
|
||||||
@Query("status") status: string = "",
|
@Query("status") status: string = "",
|
||||||
|
@Query("sortBy") sortBy?: string,
|
||||||
|
@Query("descending") descending?: boolean,
|
||||||
) {
|
) {
|
||||||
let data = await new permission().PermissionOrgList(request, "SYS_REGISTRY_EMP");
|
let data = await new permission().PermissionOrgList(request, "SYS_REGISTRY_EMP");
|
||||||
const orgRevisionPublish = await this.orgRevisionRepository
|
const orgRevisionPublish = await this.orgRevisionRepository
|
||||||
|
|
@ -117,7 +119,8 @@ export class ProfileEditEmployeeController extends Controller {
|
||||||
.where("orgRevision.orgRevisionIsDraft = false")
|
.where("orgRevision.orgRevisionIsDraft = false")
|
||||||
.andWhere("orgRevision.orgRevisionIsCurrent = true")
|
.andWhere("orgRevision.orgRevisionIsCurrent = true")
|
||||||
.getOne();
|
.getOne();
|
||||||
let [getProfileEdit, total] = await AppDataSource.getRepository(ProfileEdit)
|
|
||||||
|
let query = await AppDataSource.getRepository(ProfileEdit)
|
||||||
.createQueryBuilder("ProfileEdit")
|
.createQueryBuilder("ProfileEdit")
|
||||||
.leftJoinAndSelect("ProfileEdit.profileEmployee", "profileEmployee")
|
.leftJoinAndSelect("ProfileEdit.profileEmployee", "profileEmployee")
|
||||||
.leftJoinAndSelect("profileEmployee.current_holders", "current_holders")
|
.leftJoinAndSelect("profileEmployee.current_holders", "current_holders")
|
||||||
|
|
@ -209,9 +212,25 @@ export class ProfileEditEmployeeController extends Controller {
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.orderBy("ProfileEdit.createdAt", "DESC")
|
.orderBy("ProfileEdit.createdAt", "DESC")
|
||||||
.skip((page - 1) * pageSize)
|
|
||||||
.take(pageSize)
|
if (sortBy) {
|
||||||
.getManyAndCount();
|
if(sortBy == "fullname"){
|
||||||
|
query = query.orderBy(
|
||||||
|
`profileEmployee.firstName`,
|
||||||
|
descending ? "DESC" : "ASC"
|
||||||
|
);
|
||||||
|
}else{
|
||||||
|
query = query.orderBy(
|
||||||
|
`ProfileEdit.${sortBy}`,
|
||||||
|
descending ? "DESC" : "ASC"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let [getProfileEdit, total] = await query
|
||||||
|
.skip((page - 1) * pageSize)
|
||||||
|
.take(pageSize)
|
||||||
|
.getManyAndCount();
|
||||||
|
|
||||||
const _data = getProfileEdit.map((item) => ({
|
const _data = getProfileEdit.map((item) => ({
|
||||||
id: item.id,
|
id: item.id,
|
||||||
|
|
|
||||||
|
|
@ -1504,6 +1504,8 @@ export class ProfileEmployeeTempController extends Controller {
|
||||||
@Query() isProbation?: boolean,
|
@Query() isProbation?: boolean,
|
||||||
@Query() isRetire?: boolean,
|
@Query() isRetire?: boolean,
|
||||||
@Query() type?: string,
|
@Query() type?: string,
|
||||||
|
@Query("sortBy") sortBy?: string,
|
||||||
|
@Query("descending") descending?: boolean,
|
||||||
) {
|
) {
|
||||||
let _data = await new permission().PermissionOrgList(request, "SYS_REGISTRY_TEMP");
|
let _data = await new permission().PermissionOrgList(request, "SYS_REGISTRY_TEMP");
|
||||||
let queryLike =
|
let queryLike =
|
||||||
|
|
@ -1525,7 +1527,8 @@ export class ProfileEmployeeTempController extends Controller {
|
||||||
if (!findRevision) {
|
if (!findRevision) {
|
||||||
throw new HttpError(HttpStatus.NOT_FOUND, "not found. OrgRevision");
|
throw new HttpError(HttpStatus.NOT_FOUND, "not found. OrgRevision");
|
||||||
}
|
}
|
||||||
const [record, total] = await this.profileRepo
|
|
||||||
|
let query = await this.profileRepo
|
||||||
.createQueryBuilder("profileEmployee")
|
.createQueryBuilder("profileEmployee")
|
||||||
.leftJoinAndSelect("profileEmployee.posLevel", "posLevel")
|
.leftJoinAndSelect("profileEmployee.posLevel", "posLevel")
|
||||||
.leftJoinAndSelect("profileEmployee.posType", "posType")
|
.leftJoinAndSelect("profileEmployee.posType", "posType")
|
||||||
|
|
@ -1638,9 +1641,31 @@ export class ProfileEmployeeTempController extends Controller {
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.skip((page - 1) * pageSize)
|
|
||||||
.take(pageSize)
|
if (sortBy) {
|
||||||
.getManyAndCount();
|
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(
|
const data = await Promise.all(
|
||||||
record.map((_data) => {
|
record.map((_data) => {
|
||||||
const shortName =
|
const shortName =
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue