history update position

This commit is contained in:
mamoss 2025-08-26 13:47:43 +07:00
parent 0df264e900
commit 910e568973
10 changed files with 625 additions and 16 deletions

View file

@ -41,6 +41,8 @@ import { AuthRole } from "../entities/AuthRole";
import { RequestWithUser } from "../middlewares/user";
import permission from "../interfaces/permission";
import { setLogDataDiff } from "../interfaces/utils";
import { CreatePosMasterHistoryEmployeeTemp } from "../services/PositionService";
import { PosMasterEmployeeTempHistory } from "../entities/PosMasterEmployeeTempHistory";
@Route("api/v1/org/employee-temp/pos")
@Tags("Employee")
@Security("bearerAuth")
@ -53,6 +55,7 @@ export class EmployeeTempPositionController extends Controller {
private employeePosTypeRepository = AppDataSource.getRepository(EmployeePosType);
private employeePosLevelRepository = AppDataSource.getRepository(EmployeePosLevel);
private employeeTempPosMasterRepository = AppDataSource.getRepository(EmployeeTempPosMaster);
private posMasterHistoryRepository = AppDataSource.getRepository(PosMasterEmployeeTempHistory);
private employeePositionRepository = AppDataSource.getRepository(EmployeePosition);
private profileRepository = AppDataSource.getRepository(ProfileEmployee);
private orgRevisionRepository = AppDataSource.getRepository(OrgRevision);
@ -2004,6 +2007,7 @@ export class EmployeeTempPositionController extends Controller {
dataMaster.lastUpdatedAt = new Date();
// dataMaster.next_holderId = requestBody.profileId;
await this.employeeTempPosMasterRepository.save(dataMaster);
await CreatePosMasterHistoryEmployeeTemp(dataMaster.id, request);
return new HttpSuccess();
}
@ -2178,8 +2182,12 @@ export class EmployeeTempPositionController extends Controller {
posMaster.current_holderId = body.profileId;
posMaster.lastUpdatedAt = new Date();
// posMaster.next_holderId = body.profileId;
if (posMasterOld != null) await this.employeeTempPosMasterRepository.save(posMasterOld);
if (posMasterOld != null) {
await this.employeeTempPosMasterRepository.save(posMasterOld);
await CreatePosMasterHistoryEmployeeTemp(posMasterOld.id, request);
}
await this.employeeTempPosMasterRepository.save(posMaster);
await CreatePosMasterHistoryEmployeeTemp(posMaster.id, request);
const positionNew = await this.employeePositionRepository.findOne({
where: {
@ -2202,4 +2210,19 @@ export class EmployeeTempPositionController extends Controller {
}
return new HttpSuccess();
}
/**
* API
*
* @summary (ADMIN)
*
*/
@Get("history-update/{id}")
async listPosMasterHistory(@Path() id: string, @Request() request: RequestWithUser) {
const posMasterHistory = await this.posMasterHistoryRepository.find({
where: { ancestorDNA: id },
});
return new HttpSuccess(posMasterHistory);
}
}