api ตำแหน่งทั้งหมด
This commit is contained in:
parent
7388202061
commit
971c611c5d
1 changed files with 209 additions and 1 deletions
|
|
@ -939,7 +939,7 @@ export class PositionController extends Controller {
|
||||||
item.orgRoot == null
|
item.orgRoot == null
|
||||||
? "-"
|
? "-"
|
||||||
: item.orgChild1 == null
|
: item.orgChild1 == null
|
||||||
? item.orgRoot
|
? item.orgRoot.orgRootShortName
|
||||||
: item.orgChild2 == null
|
: item.orgChild2 == null
|
||||||
? item.orgChild1.orgChild1ShortName
|
? item.orgChild1.orgChild1ShortName
|
||||||
: item.orgChild3 == null
|
: item.orgChild3 == null
|
||||||
|
|
@ -1044,4 +1044,212 @@ export class PositionController extends Controller {
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API ตำแหน่งทั้งหมด
|
||||||
|
*
|
||||||
|
* @summary ORG_055 - ตำแหน่งทั้งหมด (ADMIN) #60
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Post("summary")
|
||||||
|
async PositionSummary(
|
||||||
|
@Body() requestBody: { id: string; type: number },
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
|
||||||
|
let summary: any;
|
||||||
|
let totalPosition: any;
|
||||||
|
let totalPositionCurrentUse: any;
|
||||||
|
let totalPositionCurrentVacant: any;
|
||||||
|
let totalPositionNextUse: any;
|
||||||
|
let totalPositionNextVacant: any;
|
||||||
|
|
||||||
|
switch(requestBody.type){
|
||||||
|
case 0: {
|
||||||
|
const NodeId = await this.posMasterRepository.findOne({where: {orgRootId: requestBody.id}});
|
||||||
|
if(!NodeId){
|
||||||
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตามไอดีนี้ : " + requestBody.id);
|
||||||
|
}
|
||||||
|
totalPosition = await this.posMasterRepository.count({
|
||||||
|
where: { orgRootId: requestBody.id },
|
||||||
|
});
|
||||||
|
totalPositionCurrentUse = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgRootId: requestBody.id,
|
||||||
|
profileIdCurrentHolder: Not(IsNull()) && Not(""),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionCurrentVacant = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgRootId: requestBody.id,
|
||||||
|
profileIdCurrentHolder: IsNull() && "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionNextUse = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgRootId: requestBody.id,
|
||||||
|
profileIdNextHolder: Not(IsNull()) && Not(""),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionNextVacant = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgRootId: requestBody.id,
|
||||||
|
profileIdNextHolder: IsNull() && "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1: {
|
||||||
|
const NodeId = await this.posMasterRepository.findOne({where: {orgChild1Id: requestBody.id}});
|
||||||
|
if(!NodeId){
|
||||||
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตามไอดีนี้ : " + requestBody.id);
|
||||||
|
}
|
||||||
|
totalPosition = await this.posMasterRepository.count({
|
||||||
|
where: { orgChild1Id: requestBody.id },
|
||||||
|
});
|
||||||
|
totalPositionCurrentUse = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild1Id: requestBody.id,
|
||||||
|
profileIdCurrentHolder: Not(IsNull()) && Not(""),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionCurrentVacant = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild1Id: requestBody.id,
|
||||||
|
profileIdCurrentHolder: IsNull() && "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionNextUse = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild1Id: requestBody.id,
|
||||||
|
profileIdNextHolder: Not(IsNull()) && Not(""),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionNextVacant = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild1Id: requestBody.id,
|
||||||
|
profileIdNextHolder: IsNull() && "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 2: {
|
||||||
|
const NodeId = await this.posMasterRepository.findOne({where: {orgChild2Id: requestBody.id}});
|
||||||
|
if(!NodeId){
|
||||||
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตามไอดีนี้ : " + requestBody.id);
|
||||||
|
}
|
||||||
|
totalPosition = await this.posMasterRepository.count({
|
||||||
|
where: { orgChild2Id: requestBody.id },
|
||||||
|
});
|
||||||
|
totalPositionCurrentUse = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild2Id: requestBody.id,
|
||||||
|
profileIdCurrentHolder: Not(IsNull()) && Not(""),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionCurrentVacant = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild2Id: requestBody.id,
|
||||||
|
profileIdCurrentHolder: IsNull() && "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionNextUse = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild2Id: requestBody.id,
|
||||||
|
profileIdNextHolder: Not(IsNull()) && Not(""),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionNextVacant = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild2Id: requestBody.id,
|
||||||
|
profileIdNextHolder: IsNull() && "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 3: {
|
||||||
|
const NodeId = await this.posMasterRepository.findOne({where: {orgChild3Id: requestBody.id}});
|
||||||
|
if(!NodeId){
|
||||||
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตามไอดีนี้ : " + requestBody.id);
|
||||||
|
}
|
||||||
|
totalPosition = await this.posMasterRepository.count({
|
||||||
|
where: { orgChild3Id: requestBody.id },
|
||||||
|
});
|
||||||
|
totalPositionCurrentUse = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild3Id: requestBody.id,
|
||||||
|
profileIdCurrentHolder: Not(IsNull()) && Not(""),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionCurrentVacant = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild3Id: requestBody.id,
|
||||||
|
profileIdCurrentHolder: IsNull() && "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionNextUse = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild3Id: requestBody.id,
|
||||||
|
profileIdNextHolder: Not(IsNull()) && Not(""),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionNextVacant = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild3Id: requestBody.id,
|
||||||
|
profileIdNextHolder: IsNull() && "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 4: {
|
||||||
|
const NodeId = await this.posMasterRepository.findOne({where: {orgChild4Id: requestBody.id}});
|
||||||
|
if(!NodeId){
|
||||||
|
throw new HttpError(HttpStatusCode.NOT_FOUND, "ไม่พบข้อมูลตามไอดีนี้ : " + requestBody.id);
|
||||||
|
}
|
||||||
|
totalPosition = await this.posMasterRepository.count({
|
||||||
|
where: { orgChild4Id: requestBody.id },
|
||||||
|
});
|
||||||
|
totalPositionCurrentUse = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild4Id: requestBody.id,
|
||||||
|
profileIdCurrentHolder: Not(IsNull()) && Not(""),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionCurrentVacant = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild4Id: requestBody.id,
|
||||||
|
profileIdCurrentHolder: IsNull() && "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionNextUse = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild4Id: requestBody.id,
|
||||||
|
profileIdNextHolder: Not(IsNull()) && Not(""),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
totalPositionNextVacant = await this.posMasterRepository.count({
|
||||||
|
where: {
|
||||||
|
orgChild4Id: requestBody.id,
|
||||||
|
profileIdNextHolder: IsNull() && "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
summary = {
|
||||||
|
totalPosition: totalPosition,
|
||||||
|
totalPositionCurrentUse: totalPositionCurrentUse,
|
||||||
|
totalPositionCurrentVacant: totalPositionCurrentVacant,
|
||||||
|
totalPositionNextUse: totalPositionNextUse,
|
||||||
|
totalPositionNextVacant: totalPositionNextVacant
|
||||||
|
}
|
||||||
|
return new HttpSuccess(summary);
|
||||||
|
|
||||||
|
} catch (error) {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue