faxno optional, clientcontact-id added for client-contact-controls, Search-Holder API in holder section
This commit is contained in:
parent
4572ea4bcc
commit
34c5b5d22d
@ -121,7 +121,8 @@ export class GetClientDTO extends IntersectionType(
|
||||
) { }
|
||||
|
||||
export class ClientContactControlsDTO extends IntersectionType(
|
||||
GetClientDTO,
|
||||
SPID_DTO,
|
||||
CLIENT_CONTACTID_DTO,
|
||||
USERID_DTO
|
||||
) { }
|
||||
|
||||
|
||||
@ -98,7 +98,7 @@ export class CONTACTSTABLE_ROW_DTO extends IntersectionType(
|
||||
EMAIL_ADDRESS_DTO,
|
||||
PHONE_NO_DTO,
|
||||
MOBILE_NO_DTO,
|
||||
FAX_NO_DTO
|
||||
PartialType(FAX_NO_DTO)
|
||||
) { }
|
||||
|
||||
export class CONTACTSTABLE_DTO {
|
||||
|
||||
@ -89,5 +89,9 @@ export class HolderContactActivateOrInactivateDTO extends IntersectionType(
|
||||
SPID_DTO,
|
||||
HOLDERCONTACTID_DTO,
|
||||
USERID_DTO
|
||||
) {
|
||||
}
|
||||
) {}
|
||||
|
||||
export class SearchHolderDTO extends IntersectionType(
|
||||
SPID_DTO,
|
||||
HOLDERNAME_DTO
|
||||
){}
|
||||
@ -403,7 +403,7 @@ export class ManageClientsService {
|
||||
END;`,
|
||||
{
|
||||
P_SPID: { val: body.P_SPID, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_CLIENTID: { val: body.P_CLIENTID, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_CLIENTID: { val: body.P_CLIENTCONTACTID, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_USERID: { val: body.P_USERID, type: oracledb.DB_TYPE_NVARCHAR },
|
||||
P_CURSOR: { type: oracledb.CURSOR, dir: oracledb.BIND_OUT }
|
||||
},
|
||||
@ -447,7 +447,7 @@ export class ManageClientsService {
|
||||
END;`,
|
||||
{
|
||||
P_SPID: { val: body.P_SPID, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_CLIENTID: { val: body.P_CLIENTID, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_CLIENTID: { val: body.P_CLIENTCONTACTID, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_USERID: { val: body.P_USERID, type: oracledb.DB_TYPE_NVARCHAR },
|
||||
P_CURSOR: { type: oracledb.CURSOR, dir: oracledb.BIND_OUT }
|
||||
},
|
||||
@ -491,7 +491,7 @@ export class ManageClientsService {
|
||||
END;`,
|
||||
{
|
||||
P_SPID: { val: body.P_SPID, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_CLIENTID: { val: body.P_CLIENTID, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_CLIENTID: { val: body.P_CLIENTCONTACTID, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_USERID: { val: body.P_USERID, type: oracledb.DB_TYPE_NVARCHAR },
|
||||
P_CURSOR: { type: oracledb.CURSOR, dir: oracledb.BIND_OUT }
|
||||
},
|
||||
|
||||
@ -14,14 +14,19 @@ import { ManageHoldersService } from './manage-holders.service';
|
||||
|
||||
import {
|
||||
CreateHoldersDTO, GetHolderDTO, HolderActivateOrInactivateDTO,
|
||||
HolderContactActivateOrInactivateDTO, UpdateHolderContactDTO, UpdateHolderDTO
|
||||
HolderContactActivateOrInactivateDTO, SearchHolderDTO, UpdateHolderContactDTO, UpdateHolderDTO
|
||||
} from 'src/dto/property.dto';
|
||||
|
||||
@ApiTags('Manage Holders - Oracle')
|
||||
@Controller('oracle')
|
||||
export class ManageHoldersController {
|
||||
constructor(private readonly manageHoldersService: ManageHoldersService) { }
|
||||
|
||||
@ApiTags('Manage Holders - Oracle')
|
||||
@Get('SearchHolder/:P_SPID/:P_HOLDERNAME')
|
||||
SearchHolder(@Param() param: SearchHolderDTO) {
|
||||
return this.manageHoldersService.SearchHolder(param)
|
||||
}
|
||||
|
||||
@Post('/CreateHolderData')
|
||||
CreateHolders(@Body() body: CreateHoldersDTO) {
|
||||
return this.manageHoldersService.CreateHolders(body);
|
||||
@ -29,49 +34,41 @@ export class ManageHoldersController {
|
||||
// return {message:"Request received.."}
|
||||
}
|
||||
|
||||
@ApiTags('Manage Holders - Oracle')
|
||||
@Put('/UpdateHolder')
|
||||
UpdateHolder(@Body() body: UpdateHolderDTO) {
|
||||
return this.manageHoldersService.UpdateHolder(body);
|
||||
}
|
||||
|
||||
@ApiTags('Manage Holders - Oracle')
|
||||
@Put('/UpdateHolderContact')
|
||||
UpdateHolderContact(@Body() body: UpdateHolderContactDTO) {
|
||||
return this.manageHoldersService.UpdateHolderContact(body);
|
||||
}
|
||||
|
||||
@ApiTags('Manage Holders - Oracle')
|
||||
@Get('/GetHolderRecord/:P_SPID/:P_HOLDERID')
|
||||
GetHolderMaster(@Param() body: GetHolderDTO) {
|
||||
return this.manageHoldersService.GetHolderRecord(body);
|
||||
}
|
||||
|
||||
@ApiTags('Manage Holders - Oracle')
|
||||
@Get('/GetHolderContacts/:P_SPID/:P_HOLDERID')
|
||||
GetHolderContacts(@Param() body: GetHolderDTO) {
|
||||
return this.manageHoldersService.GetHolderContacts(body);
|
||||
}
|
||||
|
||||
@ApiTags('Manage Holders - Oracle')
|
||||
@Patch('/InactivateHolder/:P_SPID/:P_HOLDERID/:P_USERID')
|
||||
InactivateHolder(@Param() body: HolderActivateOrInactivateDTO) {
|
||||
return this.manageHoldersService.InactivateHolder(body);
|
||||
}
|
||||
|
||||
@ApiTags('Manage Holders - Oracle')
|
||||
@Patch('/ReactivateHolder/:P_SPID/:P_HOLDERID/:P_USERID')
|
||||
ReactivateHolder(@Param() body: HolderActivateOrInactivateDTO) {
|
||||
return this.manageHoldersService.ReactivateHolder(body);
|
||||
}
|
||||
|
||||
@ApiTags('Manage Holders - Oracle')
|
||||
@Patch('/InactivateHolderContact/:P_SPID/:P_HOLDERCONTACTID/:P_USERID')
|
||||
InactivateHolderContact(@Param() body: HolderContactActivateOrInactivateDTO) {
|
||||
return this.manageHoldersService.InactivateHolderContact(body);
|
||||
}
|
||||
|
||||
@ApiTags('Manage Holders - Oracle')
|
||||
@Patch('/ReactivateHolderContact/:P_SPID/:P_HOLDERCONTACTID/:P_USERID')
|
||||
ReactivateHolderContact(@Param() body: HolderContactActivateOrInactivateDTO) {
|
||||
return this.manageHoldersService.ReactivateHolderContact(body);
|
||||
|
||||
@ -7,7 +7,7 @@ import { closeOracleDbConnection, fetchCursor, handleError, setEmptyStringsToNul
|
||||
|
||||
import {
|
||||
CreateHoldersDTO, GetHolderDTO, HolderActivateOrInactivateDTO,
|
||||
HolderContactActivateOrInactivateDTO, UpdateHolderContactDTO, UpdateHolderDTO
|
||||
HolderContactActivateOrInactivateDTO, SearchHolderDTO, UpdateHolderContactDTO, UpdateHolderDTO
|
||||
} from 'src/dto/property.dto';
|
||||
import { OracleService } from '../oracle.service';
|
||||
import { BadRequestException } from 'src/exceptions/badRequest.exception';
|
||||
@ -562,4 +562,49 @@ export class ManageHoldersService {
|
||||
await closeOracleDbConnection(connection, ManageHoldersService.name)
|
||||
}
|
||||
};
|
||||
|
||||
SearchHolder = async (body: SearchHolderDTO) => {
|
||||
let connection;
|
||||
|
||||
try {
|
||||
connection = await this.oracleDBService.getConnection();
|
||||
|
||||
const result: Result<any> = await connection.execute(
|
||||
`BEGIN
|
||||
MANAGEHOLDER_PKG.SearchHolder(
|
||||
:P_SPID, :P_HOLDERNAME, :P_CURSOR
|
||||
);
|
||||
END;`,
|
||||
{
|
||||
P_SPID: { val: body.P_SPID, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_HOLDERCONTACTID: { val: body.P_HOLDERNAME, type: oracledb.DB_TYPE_NUMBER },
|
||||
P_CURSOR: { type: oracledb.CURSOR, dir: oracledb.BIND_OUT }
|
||||
},
|
||||
{
|
||||
outFormat: oracledb.OUT_FORMAT_OBJECT,
|
||||
},
|
||||
);
|
||||
|
||||
await connection.commit();
|
||||
|
||||
const outBinds: any = 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.");
|
||||
}
|
||||
|
||||
const fres: any = await fetchCursor(outBinds.P_CURSOR, ManageHoldersService.name);
|
||||
|
||||
if (fres.length > 0 && fres[0].ERRORMESG) {
|
||||
this.logger.warn(fres[0].ERRORMESG);
|
||||
throw new BadRequestException(fres[0].ERRORMESG)
|
||||
}
|
||||
|
||||
return fres;
|
||||
} catch (error) {
|
||||
handleError(error, ManageHoldersService.name)
|
||||
} finally {
|
||||
await closeOracleDbConnection(connection, ManageHoldersService.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -165,7 +165,7 @@ export class OracleService {
|
||||
x.P_EMAILADDRESS,
|
||||
x.P_PHONENO,
|
||||
x.P_MOBILENO,
|
||||
x.P_FAXNO,
|
||||
x?.P_FAXNO,
|
||||
);
|
||||
}),
|
||||
)
|
||||
@ -182,6 +182,46 @@ export class OracleService {
|
||||
}
|
||||
}
|
||||
|
||||
async get_CONTACTS_TABLE_INSTANCEX(finalBody: any) {
|
||||
|
||||
// P_CONTACTSTABLE: { val: CONTACTSTABLE_INSTANCE, type: 'CARNETSYS.CONTACTSTABLE' }
|
||||
|
||||
// P_CONTACTSTABLE: { val: CONTACTSTABLE_INSTANCE, type: oracledb.DB_TYPE_OBJECT }
|
||||
// this is working fine for CreateCientContact
|
||||
|
||||
let connection;
|
||||
try {
|
||||
connection = await this.oracleDBService.getConnection();
|
||||
|
||||
const CONTACTSROW = await connection.getDbObjectClass('C##CARNETSYS.CONTACTSROW');
|
||||
const CONTACTSARRAY = await connection.getDbObjectClass('C##CARNETSYS.CONTACTSARRAY');
|
||||
const CONTACTSTABLE = await connection.getDbObjectClass('C##CARNETSYS.CONTACTSTABLE');
|
||||
|
||||
const contactRows = finalBody.P_CONTACTSTABLE?.map((x: CONTACTSTABLE_ROW_DTO) => {
|
||||
return new CONTACTSROW({
|
||||
FIRSTNAME: x.P_FIRSTNAME,
|
||||
LASTNAME: x.P_LASTNAME,
|
||||
MIDDLEINITIAL: x.P_MIDDLEINITIAL,
|
||||
TITLE: x.P_TITLE,
|
||||
EMAILADDRESS: x.P_EMAILADDRESS,
|
||||
PHONENO: x.P_PHONENO,
|
||||
MOBILENO: x.P_MOBILENO,
|
||||
FAXNO: x.P_FAXNO,
|
||||
});
|
||||
}) ?? [];
|
||||
|
||||
const contactsArrayInstance = new CONTACTSARRAY(contactRows);
|
||||
const CONTACTSTABLE_INSTANCE = new CONTACTSTABLE({ CONTACTS: contactsArrayInstance });
|
||||
|
||||
return CONTACTSTABLE_INSTANCE;
|
||||
|
||||
} catch (error) {
|
||||
throw new Error("Error occured completing this process")
|
||||
} finally {
|
||||
await closeOracleDbConnection(connection, OracleService.name)
|
||||
}
|
||||
}
|
||||
|
||||
async get_CLIENTLOCADDRESS_TABLE_INSTANCE(finalBody: any) {
|
||||
|
||||
// P_CLIENTLOCADDRESSTABLE: { val: CLIENTLOCADDRESSTABLE_INSTANCE, type: 'CARNETSYS.CLIENTLOCADDRESSTABLE' }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user