search emp approve

This commit is contained in:
mamoss 2025-05-27 17:39:20 +07:00
parent 5eb46baeeb
commit cb1323eb1a

View file

@ -21,6 +21,7 @@ import { PosMasterAct } from "../entities/PosMasterAct";
import { viewDirectorActing } from "../entities/view/viewDirectorActing";
import { viewDirector } from "../entities/view/viewDirector";
import { ProfileEmployee } from "../entities/ProfileEmployee";
import { EmployeePosMaster } from "../entities/EmployeePosMaster";
@Route("api/v1/org/workflow")
@Tags("Workflow")
@ -38,6 +39,7 @@ export class WorkflowController extends Controller {
private metaStateRepo = AppDataSource.getRepository(MetaState);
private metaStateOperatorRepo = AppDataSource.getRepository(MetaStateOperator);
private posMasterRepo = AppDataSource.getRepository(PosMaster);
private posMasterEmpRepo = AppDataSource.getRepository(EmployeePosMaster);
private posMasterActRepo = AppDataSource.getRepository(PosMasterAct);
private assignRepo = AppDataSource.getRepository(Assign);
@ -806,25 +808,46 @@ export class WorkflowController extends Controller {
page: number;
pageSize: number;
keycloakId?: string | null;
type?: string | null;
},
) {
let posMasterUser: PosMaster = new PosMaster();
let posMasterUser = null;
if (body.keycloakId) {
posMasterUser = (await this.posMasterRepo.findOne({
where: {
orgRevision: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false },
current_holder: { keycloak: body.keycloakId },
},
relations: ["current_holder", "current_holder.posType", "current_holder.posLevel"],
})) as PosMaster;
if (body.type == "employee") {
posMasterUser = await this.posMasterEmpRepo.findOne({
where: {
orgRevision: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false },
current_holder: { keycloak: body.keycloakId },
},
relations: ["current_holder", "current_holder.posType", "current_holder.posLevel"],
});
} else {
posMasterUser = await this.posMasterRepo.findOne({
where: {
orgRevision: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false },
current_holder: { keycloak: body.keycloakId },
},
relations: ["current_holder", "current_holder.posType", "current_holder.posLevel"],
});
}
} else {
posMasterUser = (await this.posMasterRepo.findOne({
where: {
orgRevision: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false },
current_holder: { keycloak: request.user.sub },
},
relations: ["current_holder", "current_holder.posType", "current_holder.posLevel"],
})) as PosMaster;
if (body.type == "employee") {
posMasterUser = await this.posMasterEmpRepo.findOne({
where: {
orgRevision: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false },
current_holder: { keycloak: request.user.sub },
},
relations: ["current_holder", "current_holder.posType", "current_holder.posLevel"],
});
} else {
posMasterUser = await this.posMasterRepo.findOne({
where: {
orgRevision: { orgRevisionIsCurrent: true, orgRevisionIsDraft: false },
current_holder: { keycloak: request.user.sub },
},
relations: ["current_holder", "current_holder.posType", "current_holder.posLevel"],
});
}
}
if (!posMasterUser || !posMasterUser.orgRootId)