เช็ค ข้อมูลหลัก #809 (เรื่อง search)
This commit is contained in:
parent
5e8b372323
commit
39b82dfa0a
3 changed files with 53 additions and 8 deletions
|
|
@ -562,10 +562,11 @@ export class PositionController extends Controller {
|
|||
@Get("position")
|
||||
async findPosition(@Query("keyword") keyword?: string, @Query("type") type?: string) {
|
||||
let findPosDict: any;
|
||||
if(keyword && keyword?.length > 0){
|
||||
switch (type) {
|
||||
case "positionName":
|
||||
findPosDict = await this.posDictRepository.find({
|
||||
where: { posDictName: Like(`%${keyword}%`) },
|
||||
where: { posDictName: keyword && keyword.length > 0?Like(`%${keyword}%`):"1=1" },
|
||||
relations: ["posType", "posLevel", "posExecutive"],
|
||||
order: {
|
||||
posDictName: "ASC",
|
||||
|
|
@ -587,7 +588,7 @@ export class PositionController extends Controller {
|
|||
|
||||
case "positionField":
|
||||
findPosDict = await this.posDictRepository.find({
|
||||
where: { posDictField: Like(`%${keyword}%`) },
|
||||
where: { posDictField: keyword && keyword.length > 0?Like(`%${keyword}%`):"1=1" },
|
||||
relations: ["posType", "posLevel", "posExecutive"],
|
||||
order: {
|
||||
posDictField: "ASC",
|
||||
|
|
@ -609,7 +610,7 @@ export class PositionController extends Controller {
|
|||
|
||||
case "positionType":
|
||||
const findTypes: PosType[] = await this.posTypeRepository.find({
|
||||
where: { posTypeName: Like(`%${keyword}%`) },
|
||||
where: { posTypeName: keyword && keyword.length > 0?Like(`%${keyword}%`):"1=1" },
|
||||
order: {
|
||||
// posTypeName: "ASC"
|
||||
posTypeRank: "ASC",
|
||||
|
|
@ -640,7 +641,7 @@ export class PositionController extends Controller {
|
|||
|
||||
case "positionLevel":
|
||||
const findLevel: PosLevel[] = await this.posLevelRepository.find({
|
||||
where: { posLevelName: Like(`%${keyword}%`) },
|
||||
where: { posLevelName: keyword && keyword.length > 0?Like(`%${keyword}%`):"1=1" },
|
||||
order: {
|
||||
// posLevelName: "ASC"
|
||||
posLevelRank: "ASC",
|
||||
|
|
@ -671,7 +672,7 @@ export class PositionController extends Controller {
|
|||
|
||||
case "positionExecutive":
|
||||
const findExecutive: PosExecutive[] = await this.posExecutiveRepository.find({
|
||||
where: { posExecutiveName: Like(`%${keyword}%`) },
|
||||
where: { posExecutiveName: keyword && keyword.length > 0?Like(`%${keyword}%`):"1=1" },
|
||||
select: ["id"],
|
||||
});
|
||||
findPosDict = await this.posDictRepository.find({
|
||||
|
|
@ -697,7 +698,7 @@ export class PositionController extends Controller {
|
|||
|
||||
case "positionExecutiveField":
|
||||
findPosDict = await this.posDictRepository.find({
|
||||
where: { posDictExecutiveField: Like(`%${keyword}%`) },
|
||||
where: { posDictExecutiveField: keyword && keyword.length > 0?Like(`%${keyword}%`):"1=1" },
|
||||
relations: ["posType", "posLevel", "posExecutive"],
|
||||
order: {
|
||||
posDictName: "ASC",
|
||||
|
|
@ -719,7 +720,7 @@ export class PositionController extends Controller {
|
|||
|
||||
case "positionArea":
|
||||
findPosDict = await this.posDictRepository.find({
|
||||
where: { posDictArea: Like(`%${keyword}%`) },
|
||||
where: { posDictArea: keyword && keyword.length > 0?Like(`%${keyword}%`):"1=1" },
|
||||
relations: ["posType", "posLevel", "posExecutive"],
|
||||
order: {
|
||||
posDictName: "ASC",
|
||||
|
|
@ -807,6 +808,26 @@ export class PositionController extends Controller {
|
|||
},
|
||||
});
|
||||
break;
|
||||
}
|
||||
}else{
|
||||
findPosDict = await this.posDictRepository.find({
|
||||
relations: ["posType", "posLevel", "posExecutive"],
|
||||
order: {
|
||||
posDictName: "ASC",
|
||||
createdAt: "DESC",
|
||||
posType:{
|
||||
posTypeRank: "ASC",
|
||||
createdAt: "DESC"
|
||||
},
|
||||
posLevel: {
|
||||
posLevelRank: "ASC",
|
||||
createdAt: "DESC"
|
||||
},
|
||||
posExecutive: {
|
||||
posExecutivePriority: "ASC"
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
const mapDataPosDict = await Promise.all(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue