BE/src/mssql/uscib-managed-sp/carnet-sequence/carnet-sequence.service.ts
2025-06-05 17:06:18 +05:30

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