import { Injectable } from '@nestjs/common'; import { Connection, Request } from 'mssql'; import { MssqlDBService } from 'src/db/db.service'; import * as mssql from 'mssql' import { CreateCarnetSequenceDTO } from 'src/dto/uscib-managed-sp/carnet-sequence/carnet-sequence.dto'; import { SPID_DTO } from 'src/dto/uscib-managed-sp/sp/sp-property.dto'; @Injectable() export class CarnetSequenceService { constructor(private readonly mssqlDBService: MssqlDBService) { } async getCarnetSequence(body: SPID_DTO) { let connection: Connection; try { connection = await this.mssqlDBService.getConnection(); const request = new Request(connection); request.input('P_SPID', mssql.Int, body.P_SPID); const result = await request.execute('carnetsys.GETCARNETSEQUENCE'); return { data: result.recordset }; } catch (error) { return { error: error.message }; } } async createCarnetSequence(body: CreateCarnetSequenceDTO) { let connection: Connection; try { connection = await this.mssqlDBService.getConnection(); const request = new Request(connection); request.input('P_SPID', mssql.Int, body.P_SPID); request.input('P_REGIONID', mssql.Float, body.P_REGIONID); request.input('P_STARTNUMBER', mssql.Int, body.P_STARTNUMBER); request.input('P_ENDNUMBER', mssql.Int, body.P_ENDNUMBER); request.input('P_CARNETTYPE', mssql.VarChar(4000), body.P_CARNETTYPE); const result = await request.execute('carnetsys.CREATECARNETSEQUENCE'); return { data: result.recordset }; } catch (error) { console.error('Error executing stored procedure:', error); return { error: error.message }; } } }