no message
This commit is contained in:
parent
47a9d74a19
commit
388d6488f8
1 changed files with 55 additions and 46 deletions
|
|
@ -70,6 +70,7 @@ import { ProfileFamilyCoupleHistory } from "../entities/ProfileFamilyCoupleHisto
|
|||
import { viewDirector } from "../entities/view/viewDirector";
|
||||
import { viewDirectorActing } from "../entities/view/viewDirectorActing";
|
||||
import CallAPI from "../interfaces/call-api";
|
||||
import { OrgRoot } from "../entities/OrgRoot";
|
||||
@Route("api/v1/org/profile")
|
||||
@Tags("Profile")
|
||||
@Security("bearerAuth")
|
||||
|
|
@ -80,6 +81,7 @@ import CallAPI from "../interfaces/call-api";
|
|||
@SuccessResponse(HttpStatus.OK, "สำเร็จ")
|
||||
export class ProfileController extends Controller {
|
||||
private orgRevisionRepo = AppDataSource.getRepository(OrgRevision);
|
||||
private orgRootRepo = AppDataSource.getRepository(OrgRoot);
|
||||
private posMasterRepo = AppDataSource.getRepository(PosMaster);
|
||||
private profileRepo = AppDataSource.getRepository(Profile);
|
||||
private profileEmpRepo = AppDataSource.getRepository(ProfileEmployee);
|
||||
|
|
@ -4241,16 +4243,26 @@ export class ProfileController extends Controller {
|
|||
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
|
||||
},
|
||||
});
|
||||
let revisionId = "";
|
||||
if (nodeId == null) {
|
||||
const findRevision = await this.orgRevisionRepo.findOne({
|
||||
where: { orgRevisionIsCurrent: true },
|
||||
});
|
||||
if (!findRevision) {
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "not found. OrgRevision");
|
||||
}
|
||||
revisionId = findRevision.id;
|
||||
if (posMaster != null) nodeId = posMaster.orgRootId ?? "";
|
||||
} else {
|
||||
const findRoot = await this.orgRootRepo.findOne({
|
||||
where: { id: nodeId },
|
||||
});
|
||||
if (!findRoot) {
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ไม่พบสำนักงานนี้ในระบบ");
|
||||
}
|
||||
revisionId = findRoot.orgRevisionId;
|
||||
}
|
||||
let nodeCondition = "current_holders.orgRootId = :nodeId";
|
||||
const findRevision = await this.orgRevisionRepo.findOne({
|
||||
where: { orgRevisionIsCurrent: true },
|
||||
});
|
||||
if (!findRevision) {
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "not found. OrgRevision");
|
||||
}
|
||||
const [record, total] = await this.profileRepo
|
||||
.createQueryBuilder("profile")
|
||||
.leftJoinAndSelect("profile.posLevel", "posLevel")
|
||||
|
|
@ -4264,7 +4276,7 @@ export class ProfileController extends Controller {
|
|||
.leftJoinAndSelect("current_holders.orgChild2", "orgChild2")
|
||||
.leftJoinAndSelect("current_holders.orgChild3", "orgChild3")
|
||||
.leftJoinAndSelect("current_holders.orgChild4", "orgChild4")
|
||||
.where("current_holders.orgRevisionId = :orgRevisionId", { orgRevisionId: findRevision.id })
|
||||
.where("current_holders.orgRevisionId = :orgRevisionId", { orgRevisionId: revisionId })
|
||||
.andWhere(
|
||||
posType != undefined && posType != null && posType != ""
|
||||
? "posType.posTypeName LIKE :keyword1"
|
||||
|
|
@ -4305,7 +4317,7 @@ export class ProfileController extends Controller {
|
|||
nodeId: nodeId,
|
||||
})
|
||||
// .andWhere(`current_holders.orgRevisionId LIKE :orgRevisionId`, {
|
||||
// orgRevisionId: findRevision.id,
|
||||
// orgRevisionId: revisionId,
|
||||
// })
|
||||
.orderBy("current_holders.posMasterNo", "ASC")
|
||||
.skip((page - 1) * pageSize)
|
||||
|
|
@ -4316,80 +4328,77 @@ export class ProfileController extends Controller {
|
|||
record.map((_data) => {
|
||||
const posExecutive =
|
||||
_data.current_holders.length == 0 ||
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null ||
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.positions.length ==
|
||||
0 ||
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId) == null ||
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.positions.length == 0 ||
|
||||
_data.current_holders
|
||||
.find((x) => x.orgRevisionId == findRevision.id)
|
||||
.find((x) => x.orgRevisionId == revisionId)
|
||||
?.positions.find((x: any) => x.positionIsSelected == true) == null ||
|
||||
_data.current_holders
|
||||
.find((x) => x.orgRevisionId == findRevision.id)
|
||||
.find((x) => x.orgRevisionId == revisionId)
|
||||
?.positions.find((x: any) => x.positionIsSelected == true)?.posExecutive == null
|
||||
? null
|
||||
: _data.current_holders
|
||||
.find((x) => x.orgRevisionId == findRevision.id)
|
||||
.find((x) => x.orgRevisionId == revisionId)
|
||||
?.positions.find((x: any) => x.positionIsSelected == true)?.posExecutive
|
||||
?.posExecutiveName;
|
||||
|
||||
const shortName =
|
||||
_data.current_holders.length == 0
|
||||
? null
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4 !=
|
||||
null
|
||||
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4.orgChild4ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)
|
||||
?.orgChild3 != null
|
||||
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3.orgChild3ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)
|
||||
?.orgChild2 != null
|
||||
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2.orgChild2ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)
|
||||
?.orgChild1 != null
|
||||
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1.orgChild1ShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) !=
|
||||
null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)
|
||||
?.orgRoot != null
|
||||
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot.orgRootShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == revisionId) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild4 != null
|
||||
? `${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild4.orgChild4ShortName}${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.posMasterNo}`
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == revisionId) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild3 !=
|
||||
null
|
||||
? `${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild3.orgChild3ShortName}${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.posMasterNo}`
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == revisionId) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild2 !=
|
||||
null
|
||||
? `${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild2.orgChild2ShortName}${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.posMasterNo}`
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == revisionId) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild1 !=
|
||||
null
|
||||
? `${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild1.orgChild1ShortName}${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.posMasterNo}`
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == revisionId) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgRoot !=
|
||||
null
|
||||
? `${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgRoot.orgRootShortName}${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.posMasterNo}`
|
||||
: null;
|
||||
const root =
|
||||
_data.current_holders.length == 0 ||
|
||||
(_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot == null)
|
||||
(_data.current_holders.find((x) => x.orgRevisionId == revisionId) != null &&
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgRoot == null)
|
||||
? null
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot;
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgRoot;
|
||||
|
||||
const child1 =
|
||||
_data.current_holders == null ||
|
||||
_data.current_holders.length == 0 ||
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId) == null
|
||||
? null
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1;
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild1;
|
||||
|
||||
const child2 =
|
||||
_data.current_holders == null ||
|
||||
_data.current_holders.length == 0 ||
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId) == null
|
||||
? null
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2;
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild2;
|
||||
|
||||
const child3 =
|
||||
_data.current_holders == null ||
|
||||
_data.current_holders.length == 0 ||
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId) == null
|
||||
? null
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3;
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild3;
|
||||
|
||||
const child4 =
|
||||
_data.current_holders == null ||
|
||||
_data.current_holders.length == 0 ||
|
||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null
|
||||
_data.current_holders.find((x) => x.orgRevisionId == revisionId) == null
|
||||
? null
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4;
|
||||
: _data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild4;
|
||||
|
||||
let _child1 = child1 == null ? "" : `${child1.orgChild1Name}/`;
|
||||
let _child2 = child2 == null ? "" : `${child2.orgChild2Name}/`;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue