modified for holders
This commit is contained in:
parent
bc294ce7ce
commit
4aad1c977f
@ -3,7 +3,7 @@ import { ManageClientsService } from './manage-clients.service';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { CreateClientDataDTO, GetPreparerByClientidContactsByClientidLocByClientidDTO } from 'src/oracle/manage-clients/manage-clients.dto';
|
||||
|
||||
@Controller('manage-clients')
|
||||
@Controller('mssql')
|
||||
export class ManageClientsController {
|
||||
constructor(private readonly manageClientsService: ManageClientsService) {}
|
||||
|
||||
|
||||
28
src/mssql/manage-holders/manage-holders.controller.ts
Normal file
28
src/mssql/manage-holders/manage-holders.controller.ts
Normal file
@ -0,0 +1,28 @@
|
||||
import { Body, Controller, Get, Param, ParseIntPipe, Post } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { CreateHoldersDTO, GetHolderOrContactDTO } from 'src/oracle/manage-holders/manage-holders.dto';
|
||||
import { ManageHoldersService } from './manage-holders.service';
|
||||
|
||||
@Controller('mssql')
|
||||
export class ManageHoldersController {
|
||||
|
||||
constructor(private readonly manageHoldersService: ManageHoldersService) { }
|
||||
|
||||
@ApiTags('Manage Holders - Mssql')
|
||||
@Post('/CreateHolderData')
|
||||
CreateHolders(@Body() body: CreateHoldersDTO) {
|
||||
return this.manageHoldersService.CreateHolders(body);
|
||||
// return {message:"Request received.."}
|
||||
}
|
||||
|
||||
@ApiTags('Manage Holders - Mssql')
|
||||
@Get('/GetHolderRecord/:p_spid/:p_holderid')
|
||||
GetHolderMaster(
|
||||
@Param('p_spid', ParseIntPipe) p_spid: number,
|
||||
@Param('p_holderid', ParseIntPipe) p_holderid: number,
|
||||
) {
|
||||
const reqParams: GetHolderOrContactDTO = { p_spid, p_holderid };
|
||||
|
||||
return this.manageHoldersService.GetHolderRecord(reqParams);
|
||||
}
|
||||
}
|
||||
9
src/mssql/manage-holders/manage-holders.module.ts
Normal file
9
src/mssql/manage-holders/manage-holders.module.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { ManageHoldersController } from './manage-holders.controller';
|
||||
import { ManageHoldersService } from './manage-holders.service';
|
||||
|
||||
@Module({
|
||||
controllers: [ManageHoldersController],
|
||||
providers: [ManageHoldersService]
|
||||
})
|
||||
export class ManageHoldersModule {}
|
||||
127
src/mssql/manage-holders/manage-holders.service.ts
Normal file
127
src/mssql/manage-holders/manage-holders.service.ts
Normal file
@ -0,0 +1,127 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { Connection, Request } from 'mssql';
|
||||
import { MssqlDBService } from 'src/db/db.service';
|
||||
import { CreateHoldersDTO, GetHolderOrContactDTO } from 'src/oracle/manage-holders/manage-holders.dto';
|
||||
import * as mssql from 'mssql';
|
||||
|
||||
@Injectable()
|
||||
export class ManageHoldersService {
|
||||
constructor(private readonly mssqlDBService: MssqlDBService) { }
|
||||
|
||||
CreateHolders = async (body: CreateHoldersDTO) => {
|
||||
const newBody = {
|
||||
p_spid: null,
|
||||
p_clientlocationid: null,
|
||||
p_holderno: null,
|
||||
p_holdertype: null,
|
||||
p_uscibmemberflag: null,
|
||||
p_govagencyflag: null,
|
||||
p_holdername: null,
|
||||
p_namequalifier: null,
|
||||
p_addlname: null,
|
||||
p_address1: null,
|
||||
p_address2: null,
|
||||
p_city: null,
|
||||
p_state: null,
|
||||
p_zip: null,
|
||||
p_country: null,
|
||||
p_userid: null,
|
||||
p_contactstable: null,
|
||||
};
|
||||
|
||||
const reqBody = JSON.parse(JSON.stringify(body));
|
||||
|
||||
function setEmptyStringsToNull(obj) {
|
||||
Object.keys(obj).forEach((key) => {
|
||||
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
||||
setEmptyStringsToNull(obj[key]);
|
||||
} else if (obj[key] === '') {
|
||||
obj[key] = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
setEmptyStringsToNull(reqBody);
|
||||
|
||||
const finalBody: CreateHoldersDTO = { ...newBody, ...reqBody };
|
||||
|
||||
let connection: Connection;
|
||||
try {
|
||||
connection = await this.mssqlDBService.getConnection();
|
||||
const request = new Request(connection);
|
||||
request.input('p_spid', mssql.Int, finalBody.p_spid);
|
||||
request.input('p_clientlocationid', mssql.Int, finalBody.p_clientlocationid);
|
||||
request.input('p_holderno', mssql.VarChar(15), finalBody.p_holderno);
|
||||
request.input('p_holdertype', mssql.VarChar(3), finalBody.p_holdertype);
|
||||
request.input('p_uscibmemberflag', mssql.VarChar(1), finalBody.p_uscibmemberflag);
|
||||
request.input('p_govagencyflag', mssql.VarChar(1), finalBody.p_govagencyflag);
|
||||
request.input('p_holdername', mssql.VarChar(50), finalBody.p_holdername);
|
||||
request.input('p_namequalifier', mssql.VarChar(10), finalBody.p_namequalifier);
|
||||
request.input('p_addlname', mssql.VarChar(50), finalBody.p_addlname);
|
||||
request.input('p_address1', mssql.VarChar(50), finalBody.p_address1);
|
||||
request.input('p_address2', mssql.VarChar(50), finalBody.p_address2);
|
||||
request.input('p_city', mssql.VarChar(30), finalBody.p_city);
|
||||
request.input('p_state', mssql.VarChar(2), finalBody.p_state);
|
||||
request.input('p_zip', mssql.VarChar(10), finalBody.p_zip);
|
||||
request.input('p_country', mssql.VarChar(2), finalBody.p_country);
|
||||
request.input('p_userid', mssql.VarChar(50), finalBody.p_userid);
|
||||
|
||||
const contactTable = new mssql.Table('carnetsys.ContactsTable');
|
||||
contactTable.create = true;
|
||||
contactTable.columns.add('FirstName', mssql.VarChar(50));
|
||||
contactTable.columns.add('LastName', mssql.VarChar(50));
|
||||
contactTable.columns.add('MiddleInitial', mssql.VarChar(3));
|
||||
contactTable.columns.add('Title', mssql.VarChar(50));
|
||||
contactTable.columns.add('EmailAddress', mssql.VarChar(100));
|
||||
contactTable.columns.add('PhoneNo', mssql.VarChar(20));
|
||||
contactTable.columns.add('MobileNo', mssql.VarChar(20));
|
||||
contactTable.columns.add('FaxNo', mssql.VarChar(20));
|
||||
|
||||
finalBody.p_contactstable && finalBody.p_contactstable.forEach((contact) => {
|
||||
contactTable.rows.add(
|
||||
contact.FirstName,
|
||||
contact.LastName,
|
||||
contact.MiddleInitial,
|
||||
contact.Title,
|
||||
contact.EmailAddress,
|
||||
contact.PhoneNo,
|
||||
contact.MobileNo,
|
||||
contact.FaxNo,
|
||||
);
|
||||
});
|
||||
|
||||
request.input('p_contactstable', contactTable);
|
||||
|
||||
const result = await request.execute('carnetsys.CreateHolderData');
|
||||
return { data: result.recordset };
|
||||
} catch (error) {
|
||||
console.error('Error executing stored procedure:', error);
|
||||
return { error: error.message };
|
||||
} finally {
|
||||
if (connection) {
|
||||
connection.close();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
GetHolderRecord = async (body: GetHolderOrContactDTO) => {
|
||||
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_holderid', mssql.Int, body.p_holderid);
|
||||
|
||||
const result = await request.execute('carnetsys.GetHolderMaster');
|
||||
return { data: result.recordset };
|
||||
} catch (error) {
|
||||
console.error('Error executing stored procedure:', error);
|
||||
return { error: error.message };
|
||||
} finally {
|
||||
if (connection) {
|
||||
connection.close();
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -3,10 +3,11 @@ import { MssqlController } from './mssql.controller';
|
||||
import { MssqlService } from './mssql.service';
|
||||
import { UscibManagedSpModule } from './uscib-managed-sp/uscib-managed-sp.module';
|
||||
import { ManageClientsModule } from './manage-clients/manage-clients.module';
|
||||
import { ManageHoldersModule } from './manage-holders/manage-holders.module';
|
||||
|
||||
@Module({
|
||||
controllers: [MssqlController],
|
||||
providers: [MssqlService],
|
||||
imports: [UscibManagedSpModule, ManageClientsModule]
|
||||
imports: [UscibManagedSpModule, ManageClientsModule, ManageHoldersModule]
|
||||
})
|
||||
export class MssqlModule {}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user