fix ผู้เกษียณ ในแบบร่าง ของระบบโครงสร้างไม่ถูกปลด #1912

This commit is contained in:
harid 2025-11-03 18:05:29 +07:00
parent d6383ec2c4
commit ee4bff7f50
2 changed files with 55 additions and 43 deletions

View file

@ -1477,24 +1477,6 @@ export class CommandController extends Controller {
}
// @Get("XXX")
async cronjobUpdateRetirementStatus(/*@Request() request: RequestWithUser*/) {
// let body = {
// client_id: "gettoken",
// client_secret: process.env.AUTH_ACCOUNT_SECRET,
// grant_type: "client_credentials",
// };
// const postData = querystring.stringify(body);
// const response = await axios.post(
// `${process.env.KC_URL}/realms/${process.env.KC_REALMS}/protocol/openid-connect/token`,
// postData,
// {
// headers: {
// "Content-Type": "application/x-www-form-urlencoded",
// api_key: process.env.API_KEY,
// },
// },
// );
// const adminToken = response.data.access_token;
// const adminToken = request.headers["authorization"]?.replace("Bearer ", "");
const adminToken = await getToken() ?? "";
const today = new Date();
today.setUTCHours(0, 0, 0, 0);
@ -1668,32 +1650,30 @@ export class CommandController extends Controller {
}
async posMasterRetire(profileId: string, type: string, _Date: Date) {
const orgRevision = await this.orgRevisionRepo.findOne({
const revisionIsCurrent = await this.orgRevisionRepo.findOne({
where: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false },
});
if (orgRevision) {
if (revisionIsCurrent) {
let _posMaster: any = null;
let _position: any = null;
if (type == "OFFICER") {
_posMaster = await this.posMasterRepository.findOne({
where: {
orgRevisionId: orgRevision.id,
orgRevisionId: revisionIsCurrent.id,
current_holderId: profileId,
},
});
if (_posMaster) {
_position = await this.positionRepository.findOne({
where: {
await this.positionRepository.update(
{
posMasterId: _posMaster.id,
positionIsSelected: true,
},
});
if (_position) {
_position.positionIsSelected = false;
_position.lastUpdateFullName = "System Administrator";
_position.lastUpdatedAt = _Date;
await this.positionRepository.save(_position);
}
{
positionIsSelected: false,
lastUpdateFullName: "System Administrator",
lastUpdatedAt: _Date,
}
);
_posMaster.isSit = false;
_posMaster.current_holderId = null;
_posMaster.lastUpdateFullName = "System Administrator";
@ -1701,26 +1681,57 @@ export class CommandController extends Controller {
await this.posMasterRepository.save(_posMaster);
await CreatePosMasterHistoryOfficer(_posMaster.id, null);
}
const revisionIsDraft = await this.orgRevisionRepo.findOne({
where: { orgRevisionIsCurrent: false, orgRevisionIsDraft: true },
});
if (revisionIsDraft) {
_posMaster = null;
_posMaster = await this.posMasterRepository.findOne({
where: {
orgRevisionId: revisionIsDraft.id,
next_holderId: profileId,
},
});
if (_posMaster) {
await this.positionRepository.update(
{
posMasterId: _posMaster.id,
positionIsSelected: true,
},
{
positionIsSelected: false,
lastUpdateFullName: "System Administrator",
lastUpdatedAt: _Date,
}
);
_posMaster.isSit = false;
_posMaster.next_holderId = null;
_posMaster.lastUpdateFullName = "System Administrator";
_posMaster.lastUpdatedAt = _Date;
await this.posMasterRepository.save(_posMaster);
await CreatePosMasterHistoryOfficer(_posMaster.id, null);
}
// console.log("clear posMaster & position 'Draf' success")
}
} else if (type == "EMPLOYEE") {
_posMaster = await this.employeePosMasterRepository.findOne({
where: {
orgRevisionId: orgRevision.id,
orgRevisionId: revisionIsCurrent.id,
current_holderId: profileId,
},
});
if (_posMaster) {
_position = await this.employeePositionRepository.findOne({
where: {
await this.employeePositionRepository.update(
{
posMasterId: _posMaster.id,
positionIsSelected: true,
},
});
if (_position) {
_position.positionIsSelected = false;
_position.lastUpdateFullName = "System Administrator";
_position.lastUpdatedAt = _Date;
await this.employeePositionRepository.save(_position);
}
{
positionIsSelected: false,
lastUpdateFullName: "System Administrator",
lastUpdatedAt: _Date,
}
);
_posMaster.isSit = false;
_posMaster.current_holderId = null;
_posMaster.lastUpdateFullName = "System Administrator";
@ -1729,6 +1740,7 @@ export class CommandController extends Controller {
await CreatePosMasterHistoryEmployee(_posMaster.id, null);
}
}
// console.log("clear posMaster & position 'Current' success")
}
}