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 { viewDirector } from "../entities/view/viewDirector";
|
||||||
import { viewDirectorActing } from "../entities/view/viewDirectorActing";
|
import { viewDirectorActing } from "../entities/view/viewDirectorActing";
|
||||||
import CallAPI from "../interfaces/call-api";
|
import CallAPI from "../interfaces/call-api";
|
||||||
|
import { OrgRoot } from "../entities/OrgRoot";
|
||||||
@Route("api/v1/org/profile")
|
@Route("api/v1/org/profile")
|
||||||
@Tags("Profile")
|
@Tags("Profile")
|
||||||
@Security("bearerAuth")
|
@Security("bearerAuth")
|
||||||
|
|
@ -80,6 +81,7 @@ import CallAPI from "../interfaces/call-api";
|
||||||
@SuccessResponse(HttpStatus.OK, "สำเร็จ")
|
@SuccessResponse(HttpStatus.OK, "สำเร็จ")
|
||||||
export class ProfileController extends Controller {
|
export class ProfileController extends Controller {
|
||||||
private orgRevisionRepo = AppDataSource.getRepository(OrgRevision);
|
private orgRevisionRepo = AppDataSource.getRepository(OrgRevision);
|
||||||
|
private orgRootRepo = AppDataSource.getRepository(OrgRoot);
|
||||||
private posMasterRepo = AppDataSource.getRepository(PosMaster);
|
private posMasterRepo = AppDataSource.getRepository(PosMaster);
|
||||||
private profileRepo = AppDataSource.getRepository(Profile);
|
private profileRepo = AppDataSource.getRepository(Profile);
|
||||||
private profileEmpRepo = AppDataSource.getRepository(ProfileEmployee);
|
private profileEmpRepo = AppDataSource.getRepository(ProfileEmployee);
|
||||||
|
|
@ -4241,16 +4243,26 @@ export class ProfileController extends Controller {
|
||||||
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
|
orgRevision: { orgRevisionIsDraft: false, orgRevisionIsCurrent: true },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
let revisionId = "";
|
||||||
if (nodeId == null) {
|
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 ?? "";
|
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";
|
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
|
const [record, total] = await this.profileRepo
|
||||||
.createQueryBuilder("profile")
|
.createQueryBuilder("profile")
|
||||||
.leftJoinAndSelect("profile.posLevel", "posLevel")
|
.leftJoinAndSelect("profile.posLevel", "posLevel")
|
||||||
|
|
@ -4264,7 +4276,7 @@ export class ProfileController extends Controller {
|
||||||
.leftJoinAndSelect("current_holders.orgChild2", "orgChild2")
|
.leftJoinAndSelect("current_holders.orgChild2", "orgChild2")
|
||||||
.leftJoinAndSelect("current_holders.orgChild3", "orgChild3")
|
.leftJoinAndSelect("current_holders.orgChild3", "orgChild3")
|
||||||
.leftJoinAndSelect("current_holders.orgChild4", "orgChild4")
|
.leftJoinAndSelect("current_holders.orgChild4", "orgChild4")
|
||||||
.where("current_holders.orgRevisionId = :orgRevisionId", { orgRevisionId: findRevision.id })
|
.where("current_holders.orgRevisionId = :orgRevisionId", { orgRevisionId: revisionId })
|
||||||
.andWhere(
|
.andWhere(
|
||||||
posType != undefined && posType != null && posType != ""
|
posType != undefined && posType != null && posType != ""
|
||||||
? "posType.posTypeName LIKE :keyword1"
|
? "posType.posTypeName LIKE :keyword1"
|
||||||
|
|
@ -4305,7 +4317,7 @@ export class ProfileController extends Controller {
|
||||||
nodeId: nodeId,
|
nodeId: nodeId,
|
||||||
})
|
})
|
||||||
// .andWhere(`current_holders.orgRevisionId LIKE :orgRevisionId`, {
|
// .andWhere(`current_holders.orgRevisionId LIKE :orgRevisionId`, {
|
||||||
// orgRevisionId: findRevision.id,
|
// orgRevisionId: revisionId,
|
||||||
// })
|
// })
|
||||||
.orderBy("current_holders.posMasterNo", "ASC")
|
.orderBy("current_holders.posMasterNo", "ASC")
|
||||||
.skip((page - 1) * pageSize)
|
.skip((page - 1) * pageSize)
|
||||||
|
|
@ -4316,80 +4328,77 @@ export class ProfileController extends Controller {
|
||||||
record.map((_data) => {
|
record.map((_data) => {
|
||||||
const posExecutive =
|
const posExecutive =
|
||||||
_data.current_holders.length == 0 ||
|
_data.current_holders.length == 0 ||
|
||||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) == null ||
|
_data.current_holders.find((x) => x.orgRevisionId == revisionId) == null ||
|
||||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.positions.length ==
|
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.positions.length == 0 ||
|
||||||
0 ||
|
|
||||||
_data.current_holders
|
_data.current_holders
|
||||||
.find((x) => x.orgRevisionId == findRevision.id)
|
.find((x) => x.orgRevisionId == revisionId)
|
||||||
?.positions.find((x: any) => x.positionIsSelected == true) == null ||
|
?.positions.find((x: any) => x.positionIsSelected == true) == null ||
|
||||||
_data.current_holders
|
_data.current_holders
|
||||||
.find((x) => x.orgRevisionId == findRevision.id)
|
.find((x) => x.orgRevisionId == revisionId)
|
||||||
?.positions.find((x: any) => x.positionIsSelected == true)?.posExecutive == null
|
?.positions.find((x: any) => x.positionIsSelected == true)?.posExecutive == null
|
||||||
? null
|
? null
|
||||||
: _data.current_holders
|
: _data.current_holders
|
||||||
.find((x) => x.orgRevisionId == findRevision.id)
|
.find((x) => x.orgRevisionId == revisionId)
|
||||||
?.positions.find((x: any) => x.positionIsSelected == true)?.posExecutive
|
?.positions.find((x: any) => x.positionIsSelected == true)?.posExecutive
|
||||||
?.posExecutiveName;
|
?.posExecutiveName;
|
||||||
|
|
||||||
const shortName =
|
const shortName =
|
||||||
_data.current_holders.length == 0
|
_data.current_holders.length == 0
|
||||||
? null
|
? null
|
||||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null &&
|
: _data.current_holders.find((x) => x.orgRevisionId == revisionId) != null &&
|
||||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild4 !=
|
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild4 != null
|
||||||
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 == findRevision.id)?.orgChild4.orgChild4ShortName}${_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 == findRevision.id) != null &&
|
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild3 !=
|
||||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)
|
null
|
||||||
?.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 == findRevision.id)?.orgChild3.orgChild3ShortName}${_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 == findRevision.id) != null &&
|
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild2 !=
|
||||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)
|
null
|
||||||
?.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 == findRevision.id)?.orgChild2.orgChild2ShortName}${_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 == findRevision.id) != null &&
|
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild1 !=
|
||||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)
|
null
|
||||||
?.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 == findRevision.id)?.orgChild1.orgChild1ShortName}${_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 == findRevision.id) !=
|
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgRoot !=
|
||||||
null &&
|
null
|
||||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)
|
? `${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgRoot.orgRootShortName}${_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.posMasterNo}`
|
||||||
?.orgRoot != null
|
|
||||||
? `${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot.orgRootShortName}${_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.posMasterNo}`
|
|
||||||
: null;
|
: null;
|
||||||
const root =
|
const root =
|
||||||
_data.current_holders.length == 0 ||
|
_data.current_holders.length == 0 ||
|
||||||
(_data.current_holders.find((x) => x.orgRevisionId == findRevision.id) != null &&
|
(_data.current_holders.find((x) => x.orgRevisionId == revisionId) != null &&
|
||||||
_data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot == null)
|
_data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgRoot == null)
|
||||||
? null
|
? null
|
||||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgRoot;
|
: _data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgRoot;
|
||||||
|
|
||||||
const child1 =
|
const child1 =
|
||||||
_data.current_holders == null ||
|
_data.current_holders == null ||
|
||||||
_data.current_holders.length == 0 ||
|
_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
|
? null
|
||||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild1;
|
: _data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild1;
|
||||||
|
|
||||||
const child2 =
|
const child2 =
|
||||||
_data.current_holders == null ||
|
_data.current_holders == null ||
|
||||||
_data.current_holders.length == 0 ||
|
_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
|
? null
|
||||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild2;
|
: _data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild2;
|
||||||
|
|
||||||
const child3 =
|
const child3 =
|
||||||
_data.current_holders == null ||
|
_data.current_holders == null ||
|
||||||
_data.current_holders.length == 0 ||
|
_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
|
? null
|
||||||
: _data.current_holders.find((x) => x.orgRevisionId == findRevision.id)?.orgChild3;
|
: _data.current_holders.find((x) => x.orgRevisionId == revisionId)?.orgChild3;
|
||||||
|
|
||||||
const child4 =
|
const child4 =
|
||||||
_data.current_holders == null ||
|
_data.current_holders == null ||
|
||||||
_data.current_holders.length == 0 ||
|
_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
|
? 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 _child1 = child1 == null ? "" : `${child1.orgChild1Name}/`;
|
||||||
let _child2 = child2 == null ? "" : `${child2.orgChild2Name}/`;
|
let _child2 = child2 == null ? "" : `${child2.orgChild2Name}/`;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue