From 918d295d53965f657dde816c418b4f2c2dbf5755 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Mon, 7 Oct 2024 16:15:16 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A=20API=20?= =?UTF-8?q?=E0=B8=97=E0=B8=94=E0=B8=A5=E0=B8=AD=E0=B8=87=E0=B8=87=E0=B8=B2?= =?UTF-8?q?=E0=B8=99=20=3D=3D>=20personal/list=3Fstatus=3D2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/PersonalController.ts | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/controllers/PersonalController.ts b/src/controllers/PersonalController.ts index a47e561..5cd7ddd 100644 --- a/src/controllers/PersonalController.ts +++ b/src/controllers/PersonalController.ts @@ -115,10 +115,23 @@ export class PersonalController extends Controller { * */ @Get("list") - async ListPersonal(@Request() request: RequestWithUser) { + async ListPersonal( + @Query() status: string = "", + @Query("page") page: number = 1, + @Query("pageSize") pageSize: number = 10, + @Request() request: RequestWithUser + ) { await new permission().PermissionList(request, "SYS_PROBATION"); - const lists = await this.personalRepository.find({ + const conditions: any = {}; + if (status) { + conditions.probation_status = status; + } + + const [lists, total] = await this.personalRepository.findAndCount({ order: { createdAt: "DESC" }, + where: conditions, + skip: (page - 1) * pageSize, + take: pageSize, }); if (!lists) { @@ -133,7 +146,9 @@ export class PersonalController extends Controller { await Promise.all( lists.map(async (item, index) => { const probation_no = await this.assignRepository.count({ - where: { personal_id: item.personal_id }, + where: { + personal_id: item.personal_id, + }, }); await result.push({ @@ -151,7 +166,7 @@ export class PersonalController extends Controller { }) ); - return new HttpSuccess(result); + return new HttpSuccess({ data: result, total: total }); } /**