47 lines
1.8 KiB
TypeScript
47 lines
1.8 KiB
TypeScript
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 };
|
|
}
|
|
}
|
|
}
|