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); }