no message

This commit is contained in:
Bright 2024-08-27 13:56:00 +07:00
parent 1e1dbfd519
commit f4aa87beb8
3 changed files with 98 additions and 43 deletions

View file

@ -10,6 +10,7 @@ import { Position } from "../entities/Position";
import { PosMaster } from "../entities/PosMaster";
import { calculateAge, calculateRetireDate } from "../interfaces/utils";
import permission from "../interfaces/permission";
import { OrgRevision } from "../entities/OrgRevision";
@Route("api/v1/org/profile/government")
@Tags("ProfileGovernment")
@Security("bearerAuth")
@ -18,7 +19,7 @@ export class ProfileGovernmentHistoryController extends Controller {
private govRepo = AppDataSource.getRepository(ProfileGovernment);
private positionRepo = AppDataSource.getRepository(Position);
private posMasterRepo = AppDataSource.getRepository(PosMaster);
private orgRevisionRepository = AppDataSource.getRepository(OrgRevision);
/**
*
* @summary
@ -26,6 +27,13 @@ export class ProfileGovernmentHistoryController extends Controller {
*/
@Get("user")
public async getGovHistoryUser(@Request() request: { user: Record<string, any> }) {
const orgRevision = await this.orgRevisionRepository.findOne({
select: ["id"],
where: {
orgRevisionIsDraft: false,
orgRevisionIsCurrent: true,
},
});
const profile = await this.profileRepo.findOneBy({ keycloak: request.user.sub });
if (!profile) {
throw new HttpError(HttpStatus.BAD_REQUEST, "ไม่พบ profile ดังกล่าว");
@ -39,10 +47,11 @@ export class ProfileGovernmentHistoryController extends Controller {
});
const posMaster = await this.posMasterRepo.findOne({
where: {
orgRevision: {
orgRevisionIsCurrent: true,
orgRevisionIsDraft: false,
},
// orgRevision: {
// orgRevisionIsCurrent: true,
// orgRevisionIsDraft: false,
// },
orgRevisionId: orgRevision?.id,
current_holderId: profile.id,
},
order: { createdAt: "DESC" },
@ -58,10 +67,11 @@ export class ProfileGovernmentHistoryController extends Controller {
where: {
positionIsSelected: true,
posMaster: {
orgRevision: {
orgRevisionIsCurrent: true,
orgRevisionIsDraft: false,
},
// orgRevision: {
// orgRevisionIsCurrent: true,
// orgRevisionIsDraft: false,
// },
orgRevisionId: orgRevision?.id,
current_holderId: profile.id,
},
},
@ -129,6 +139,13 @@ export class ProfileGovernmentHistoryController extends Controller {
@Example({})
public async getGovHistory(@Path() profileId: string, @Request() req: RequestWithUser) {
await new permission().PermissionOrgUserGet(req, "SYS_REGISTRY_OFFICER", profileId);
const orgRevision = await this.orgRevisionRepository.findOne({
select: ["id"],
where: {
orgRevisionIsDraft: false,
orgRevisionIsCurrent: true,
},
});
const record = await this.profileRepo.findOne({
where: { id: profileId },
relations: {
@ -138,10 +155,11 @@ export class ProfileGovernmentHistoryController extends Controller {
});
const posMaster = await this.posMasterRepo.findOne({
where: {
orgRevision: {
orgRevisionIsCurrent: true,
orgRevisionIsDraft: false,
},
// orgRevision: {
// orgRevisionIsCurrent: true,
// orgRevisionIsDraft: false,
// },
orgRevisionId: orgRevision?.id,
current_holderId: profileId,
},
order: { createdAt: "DESC" },
@ -157,10 +175,11 @@ export class ProfileGovernmentHistoryController extends Controller {
where: {
positionIsSelected: true,
posMaster: {
orgRevision: {
orgRevisionIsCurrent: true,
orgRevisionIsDraft: false,
},
// orgRevision: {
// orgRevisionIsCurrent: true,
// orgRevisionIsDraft: false,
// },
orgRevisionId: orgRevision?.id,
current_holderId: profileId,
},
},

View file

@ -27,6 +27,7 @@ import { EmployeePosition } from "../entities/EmployeePosition";
import { EmployeePosMaster } from "../entities/EmployeePosMaster";
import { calculateAge, calculateRetireDate } from "../interfaces/utils";
import permission from "../interfaces/permission";
import { OrgRevision } from "../entities/OrgRevision";
@Route("api/v1/org/profile-employee/government")
@Tags("ProfileEmployeeGovernment")
@Security("bearerAuth")
@ -35,7 +36,7 @@ export class ProfileGovernmentEmployeeController extends Controller {
private govRepo = AppDataSource.getRepository(ProfileGovernment);
private positionRepo = AppDataSource.getRepository(EmployeePosition);
private posMasterRepo = AppDataSource.getRepository(EmployeePosMaster);
private orgRevisionRepository = AppDataSource.getRepository(OrgRevision);
/**
*
* @summary
@ -43,6 +44,13 @@ export class ProfileGovernmentEmployeeController extends Controller {
*/
@Get("user")
public async getGovHistoryUser(@Request() request: { user: Record<string, any> }) {
const orgRevision = await this.orgRevisionRepository.findOne({
select: ["id"],
where: {
orgRevisionIsDraft: false,
orgRevisionIsCurrent: true,
},
});
const profile = await this.profileEmployeeRepo.findOneBy({ keycloak: request.user.sub });
if (!profile) {
throw new HttpError(HttpStatus.BAD_REQUEST, "ไม่พบ profile ดังกล่าว");
@ -56,10 +64,11 @@ export class ProfileGovernmentEmployeeController extends Controller {
});
const posMaster = await this.posMasterRepo.findOne({
where: {
orgRevision: {
orgRevisionIsCurrent: true,
orgRevisionIsDraft: false,
},
// orgRevision: {
// orgRevisionIsCurrent: true,
// orgRevisionIsDraft: false,
// },
orgRevisionId: orgRevision?.id,
current_holderId: profile.id,
},
order: { createdAt: "DESC" },
@ -136,6 +145,13 @@ export class ProfileGovernmentEmployeeController extends Controller {
@Example({})
public async getGovHistory(@Path() profileEmployeeId: string, @Request() req: RequestWithUser) {
await new permission().PermissionOrgUserGet(req, "SYS_REGISTRY_EMP", profileEmployeeId);
const orgRevision = await this.orgRevisionRepository.findOne({
select: ["id"],
where: {
orgRevisionIsDraft: false,
orgRevisionIsCurrent: true,
},
});
const record = await this.profileEmployeeRepo.findOne({
where: { id: profileEmployeeId },
relations: {
@ -145,10 +161,11 @@ export class ProfileGovernmentEmployeeController extends Controller {
});
const posMaster = await this.posMasterRepo.findOne({
where: {
orgRevision: {
orgRevisionIsCurrent: true,
orgRevisionIsDraft: false,
},
// orgRevision: {
// orgRevisionIsCurrent: true,
// orgRevisionIsDraft: false,
// },
orgRevisionId: orgRevision?.id,
current_holderId: profileEmployeeId,
},
order: { createdAt: "DESC" },
@ -164,10 +181,11 @@ export class ProfileGovernmentEmployeeController extends Controller {
where: {
positionIsSelected: true,
posMaster: {
orgRevision: {
orgRevisionIsCurrent: true,
orgRevisionIsDraft: false,
},
// orgRevision: {
// orgRevisionIsCurrent: true,
// orgRevisionIsDraft: false,
// },
orgRevisionId: orgRevision?.id,
current_holderId: profileEmployeeId,
},
},

View file

@ -27,6 +27,7 @@ import { EmployeePosition } from "../entities/EmployeePosition";
import { EmployeePosMaster } from "../entities/EmployeePosMaster";
import { calculateAge, calculateRetireDate } from "../interfaces/utils";
import permission from "../interfaces/permission";
import { OrgRevision } from "../entities/OrgRevision";
@Route("api/v1/org/profile-temp/government")
@Tags("ProfileEmployeeGovernment")
@Security("bearerAuth")
@ -35,7 +36,7 @@ export class ProfileGovernmentEmployeeTempController extends Controller {
private govRepo = AppDataSource.getRepository(ProfileGovernment);
private positionRepo = AppDataSource.getRepository(EmployeePosition);
private posMasterRepo = AppDataSource.getRepository(EmployeePosMaster);
private orgRevisionRepository = AppDataSource.getRepository(OrgRevision);
/**
*
* @summary
@ -43,6 +44,13 @@ export class ProfileGovernmentEmployeeTempController extends Controller {
*/
@Get("user")
public async getGovHistoryUser(@Request() request: { user: Record<string, any> }) {
const orgRevision = await this.orgRevisionRepository.findOne({
select: ["id"],
where: {
orgRevisionIsDraft: false,
orgRevisionIsCurrent: true,
},
});
const profile = await this.profileEmployeeRepo.findOneBy({ keycloak: request.user.sub });
if (!profile) {
throw new HttpError(HttpStatus.BAD_REQUEST, "ไม่พบ profile ดังกล่าว");
@ -56,10 +64,11 @@ export class ProfileGovernmentEmployeeTempController extends Controller {
});
const posMaster = await this.posMasterRepo.findOne({
where: {
orgRevision: {
orgRevisionIsCurrent: true,
orgRevisionIsDraft: false,
},
// orgRevision: {
// orgRevisionIsCurrent: true,
// orgRevisionIsDraft: false,
// },
orgRevisionId: orgRevision?.id,
current_holderId: profile.id,
},
order: { createdAt: "DESC" },
@ -136,6 +145,13 @@ export class ProfileGovernmentEmployeeTempController extends Controller {
@Example({})
public async getGovHistory(@Path() profileEmployeeId: string, @Request() req: RequestWithUser) {
await new permission().PermissionGet(req, "SYS_REGISTRY_TEMP");
const orgRevision = await this.orgRevisionRepository.findOne({
select: ["id"],
where: {
orgRevisionIsDraft: false,
orgRevisionIsCurrent: true,
},
});
const record = await this.profileEmployeeRepo.findOne({
where: { id: profileEmployeeId },
relations: {
@ -145,10 +161,11 @@ export class ProfileGovernmentEmployeeTempController extends Controller {
});
const posMaster = await this.posMasterRepo.findOne({
where: {
orgRevision: {
orgRevisionIsCurrent: true,
orgRevisionIsDraft: false,
},
// orgRevision: {
// orgRevisionIsCurrent: true,
// orgRevisionIsDraft: false,
// },
orgRevisionId: orgRevision?.id,
current_holderId: profileEmployeeId,
},
order: { createdAt: "DESC" },
@ -164,10 +181,11 @@ export class ProfileGovernmentEmployeeTempController extends Controller {
where: {
positionIsSelected: true,
posMaster: {
orgRevision: {
orgRevisionIsCurrent: true,
orgRevisionIsDraft: false,
},
// orgRevision: {
// orgRevisionIsCurrent: true,
// orgRevisionIsDraft: false,
// },
orgRevisionId: orgRevision?.id,
current_holderId: profileEmployeeId,
},
},