refactor: reduce code duplication
This commit is contained in:
parent
1a18f7c5d7
commit
6fdfd5b140
1 changed files with 10 additions and 56 deletions
|
|
@ -207,64 +207,18 @@ export class EmployeeController extends Controller {
|
|||
@Query() page: number = 1,
|
||||
@Query() pageSize: number = 30,
|
||||
) {
|
||||
const where = {
|
||||
OR: queryOrNot<Prisma.EmployeeWhereInput[]>(query, [
|
||||
{
|
||||
employeePassport: {
|
||||
some: { number: { contains: query } },
|
||||
},
|
||||
},
|
||||
{ firstName: { contains: query } },
|
||||
{ firstNameEN: { contains: query } },
|
||||
{ lastName: { contains: query } },
|
||||
{ lastNameEN: { contains: query } },
|
||||
...whereAddressQuery(query),
|
||||
]),
|
||||
AND: {
|
||||
...filterStatus(status),
|
||||
customerBranch: {
|
||||
customerId,
|
||||
customer: isSystem(req.user)
|
||||
? undefined
|
||||
: {
|
||||
registeredBranch: {
|
||||
OR: permissionCond(req.user),
|
||||
},
|
||||
},
|
||||
},
|
||||
subDistrict: zipCode ? { zipCode } : undefined,
|
||||
gender,
|
||||
},
|
||||
} satisfies Prisma.EmployeeWhereInput;
|
||||
|
||||
const [result, total] = await prisma.$transaction([
|
||||
prisma.employee.findMany({
|
||||
orderBy: [{ statusOrder: "asc" }, { createdAt: "asc" }],
|
||||
include: {
|
||||
employeePassport: passport ? { orderBy: { expireDate: "desc" } } : undefined,
|
||||
employeeVisa: visa ? { orderBy: { expireDate: "desc" } } : undefined,
|
||||
province: true,
|
||||
district: true,
|
||||
subDistrict: true,
|
||||
customerBranch: {
|
||||
include: { customer: true },
|
||||
},
|
||||
createdBy: true,
|
||||
updatedBy: true,
|
||||
},
|
||||
where,
|
||||
take: pageSize,
|
||||
skip: (page - 1) * pageSize,
|
||||
}),
|
||||
prisma.employee.count({ where }),
|
||||
]);
|
||||
|
||||
return {
|
||||
result,
|
||||
return this.listByCriteria(
|
||||
req,
|
||||
zipCode,
|
||||
gender,
|
||||
status,
|
||||
visa,
|
||||
passport,
|
||||
customerId,
|
||||
query,
|
||||
page,
|
||||
pageSize,
|
||||
total,
|
||||
};
|
||||
);
|
||||
}
|
||||
|
||||
@Post("list")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue