From 812d493679dbcee32f0454c2464063e67065951b Mon Sep 17 00:00:00 2001 From: Kallesh B S Date: Wed, 16 Jul 2025 14:20:27 +0530 Subject: [PATCH] new API EstimatedFees added in carnet-Application with access modification for some client API for user client --- .../carnet-application.controller.ts | 5 +++ .../carnet-application.service.ts | 35 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src/oracle/carnet-application/carnet-application.controller.ts b/src/oracle/carnet-application/carnet-application.controller.ts index 1fb39e6..c9e7e88 100644 --- a/src/oracle/carnet-application/carnet-application.controller.ts +++ b/src/oracle/carnet-application/carnet-application.controller.ts @@ -78,6 +78,11 @@ export class CarnetApplicationController { return this.carnetApplicationService.UpdateShippingDetails(body); } + @Get('EstimatedFees/:P_SPID/:P_USERID/:P_HEADERID') + EstimatedFees(@Param() body: GetCarnetControlCenterDTO) { + return this.carnetApplicationService.EstimatedFees(body); + } + // processing [ PROCESSINGCENTER_PKG ] @Patch('ProcessOriginalCarnet') diff --git a/src/oracle/carnet-application/carnet-application.service.ts b/src/oracle/carnet-application/carnet-application.service.ts index 6ec0497..697b70d 100644 --- a/src/oracle/carnet-application/carnet-application.service.ts +++ b/src/oracle/carnet-application/carnet-application.service.ts @@ -688,6 +688,41 @@ export class CarnetApplicationService { } } + async EstimatedFees(body: GetCarnetControlCenterDTO) { + let connection; + + try { + connection = await this.oracleDBService.getConnection(); + + const result = await connection.execute( + `BEGIN + CARNETCONTROLCENTER_PKG.GetHolderstoEdit( + :P_SPID, :P_USERID , :P_HEADERID, :P_CURSOR + ); + END;`, + { + P_SPID: { val: body.P_SPID, type: oracledb.DB_TYPE_NUMBER }, + P_USERID: { val: body.P_USERID, type: oracledb.DB_TYPE_NVARCHAR }, + P_HEADERID: { val: body.P_HEADERID, type: oracledb.DB_TYPE_NUMBER }, + P_CURSOR: { type: oracledb.CURSOR, dir: oracledb.BIND_OUT } + }, + { outFormat: oracledb.OUT_FORMAT_OBJECT } + ); + + const outBinds = result.outBinds; + if (!outBinds?.P_CURSOR) { + this.logger.error('One or more expected cursors are missing from stored procedure output.'); + throw new InternalServerException("Incomplete data received from the database."); + } + + return await fetchCursor(outBinds.P_CURSOR, CarnetApplicationService.name); + } catch (error) { + handleError(error, CarnetApplicationService.name) + } finally { + await closeOracleDbConnection(connection, CarnetApplicationService.name) + } + } + // processing [ PROCESSINGCENTER_PKG ] async ProcessOriginalCarnet(body: CarnetProcessingCenterDTO) {