From 8f233cbe2eac480db72a8d1d5e546bf5969c2dce Mon Sep 17 00:00:00 2001 From: Bright Date: Fri, 13 Jun 2025 10:40:07 +0700 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20KPI=20=E0=B9=80=E0=B8=9E=E0=B8=B4?= =?UTF-8?q?=E0=B9=88=E0=B8=A1=E0=B9=80=E0=B8=8A=E0=B8=B7=E0=B9=88=E0=B8=AD?= =?UTF-8?q?=E0=B8=A1=E0=B9=82=E0=B8=A2=E0=B8=87=E0=B8=81=E0=B8=A5=E0=B8=B8?= =?UTF-8?q?=E0=B9=88=E0=B8=A1=E0=B8=87=E0=B8=B2=E0=B8=99=E0=B9=81=E0=B8=A5?= =?UTF-8?q?=E0=B8=B0=E0=B8=95=E0=B8=B3=E0=B9=81=E0=B8=AB=E0=B8=99=E0=B9=88?= =?UTF-8?q?=E0=B8=87=20=E0=B8=95=E0=B8=B3=E0=B9=81=E0=B8=AB=E0=B8=99?= =?UTF-8?q?=E0=B9=88=E0=B8=87=E0=B8=97=E0=B8=B5=E0=B9=88=E0=B9=80=E0=B8=A5?= =?UTF-8?q?=E0=B8=B7=E0=B8=AD=E0=B8=81=E0=B9=84=E0=B8=A1=E0=B9=88=E0=B8=96?= =?UTF-8?q?=E0=B8=B9=E0=B8=81=E0=B8=9A=E0=B8=B1=E0=B8=99=E0=B8=97=E0=B8=B6?= =?UTF-8?q?=E0=B8=81=20#18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/KpiLinkController.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/controllers/KpiLinkController.ts b/src/controllers/KpiLinkController.ts index f6cc67d..ffb71f9 100644 --- a/src/controllers/KpiLinkController.ts +++ b/src/controllers/KpiLinkController.ts @@ -71,7 +71,7 @@ export class kpiLinkController extends Controller { }); await this.kpiLinkRepository.save(kpiLink, { data: request }); setLogDataDiff(request, { before, after: kpiLink }); - + let _Ids: string[] = [] if (requestBody.positions != null) { await Promise.all( requestBody.positions.map(async (positionName) => { @@ -85,6 +85,7 @@ export class kpiLinkController extends Controller { position.createdAt = new Date(); position.lastUpdatedAt = new Date(); await this.positionRepository.save(position, { data: request }); + _Ids.push(position.id) setLogDataDiff(request, { before, after: position }); }), ); @@ -102,7 +103,15 @@ export class kpiLinkController extends Controller { await this.kpiLinkRepository.save(kpiLink, { data: request }); setLogDataDiff(request, { before, after: kpiLink }); - + const chkPosition = await this.positionRepository.find({ + where: { id: In(_Ids) } + }); + if (chkPosition.length > 0 && chkPosition.every(x => !x.kpiLinkId)) { + await this.positionRepository.update( + { id: In(_Ids) }, + { kpiLinkId: kpiLink.id } + ); + } return new HttpSuccess(kpiLink.id); }