From 953587db37096eb85792e5d3c8dd0942a7bf9317 Mon Sep 17 00:00:00 2001 From: kjjlss2 Date: Sat, 29 Jun 2024 18:24:43 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=9D=98=EA=B3=BC=20=EA=B3=BC=EA=B1=B0?= =?UTF-8?q?=20=EC=B0=A8=ED=8A=B8/=EC=98=88=EC=A7=84=20=EC=A1=B0=ED=9A=8C?= =?UTF-8?q?=20API=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/m-charts/m-charts.controller.ts | 24 +++++++++++++++++++++ backend/src/m-charts/m-charts.service.ts | 19 ++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/backend/src/m-charts/m-charts.controller.ts b/backend/src/m-charts/m-charts.controller.ts index 2e2ab9e..81c5bb5 100644 --- a/backend/src/m-charts/m-charts.controller.ts +++ b/backend/src/m-charts/m-charts.controller.ts @@ -65,4 +65,28 @@ export class MChartsController { getComplaint(@Param('chartId') chartId: number) { return this.mChartsService.getComplaint(chartId); } + + @Get('past/:patientId') + @ApiOperation({ + summary: '과거 차트 목록', + }) + @ApiResponse({ + status: HttpStatus.OK, + description: '과거 차트 목록이 조회되었습니다', + }) + async getPastCharts(@Param('patientId') patientId: number) { + return this.mChartsService.getPastCharts(patientId); + } + + @Get('/:chartId') + @ApiOperation({ + summary: '과거 차트 상세 조회', + }) + @ApiResponse({ + status: HttpStatus.OK, + description: '과거 차트 상세가 조회되었습니다.', + }) + getPastPrediagnosis(@Param('chartId') chartId: number) { + return this.mChartsService.getPastPrediagnosis(chartId); + } } diff --git a/backend/src/m-charts/m-charts.service.ts b/backend/src/m-charts/m-charts.service.ts index a785614..754536d 100644 --- a/backend/src/m-charts/m-charts.service.ts +++ b/backend/src/m-charts/m-charts.service.ts @@ -123,4 +123,23 @@ export class MChartsService { where: { chart: { id: chartId } }, }); } + + async getPastCharts(patientId: number) { + const charts = await this.chartsRepository.find({ + where: { + patient: { id: patientId }, + status: 7, + }, + select: ['id', 'createdAt'], + }); + + return charts; + } + + async getPastPrediagnosis(chartId: number) { + return await this.chartsRepository.find({ + where: { id: chartId }, + relations: ['complaints', 'prescriptions'], // 필요한 관계 추가 + }); + } }