BE/src/oracle/oracle.controller.ts
2025-03-24 17:21:59 +05:30

447 lines
15 KiB
TypeScript

import { BadRequestException, Body, Controller, Get, Param, ParseIntPipe, Patch, Post, Put, Query, UsePipes } from '@nestjs/common';
import { OracleService } from './oracle.service';
import { ActivateOrInactivateParamRecordDTO, CreateBasicFeeDTO, CreateBondRateDTO, CreateCargoRateDTO, CreateCarnetSequenceDTO, CreateCfFeeDTO, CreateCsFeeDTO, CreateEfFeeDTO, CreateFeeCommDTO, CreateParamRecordDTO, CreateTableRecordDTO, GetCarnetDetailsbyCarnetStatusDTO, InsertNewServiceProviderDTO, InsertRegionsDto, InsertSPContactsDTO, SaveCarnetApplicationDTO, TestDTO, TransmitApplicationtoProcessDTO, UpdateBasicFeeDTO, UpdateBondRateDTO, UpdateCargoRateDTO, UpdateCfFeeDTO, UpdateCsFeeDTO, UpdateEfFeeDTO, UpdateFeeCommBodyDTO, UpdateFeeCommDTO, UpdateParamRecordDTO, UpdateRegionDto, UpdateServiceProviderDTO, UpdateSPContactsDTO } from './oracle.dto';
import { ParamTableService } from './paramTable.service';
import { ManageFeeService } from './manageFee.service';
import { ApiOperation, ApiPropertyOptional, ApiQuery, ApiTags } from '@nestjs/swagger';
import { HomePageDataService } from './homePageData.service';
@Controller('oracle')
export class OracleController {
constructor(
private readonly oarcleService: OracleService,
private readonly paramTableService: ParamTableService,
private readonly manageFeeService: ManageFeeService,
private readonly homePageDataService: HomePageDataService
) { }
// HomePageData
@ApiTags('HomePage - Oracle')
@Get('/GetHomePageData/:id')
GetHomePageData(@Param('id', ParseIntPipe) id: number) {
return this.homePageDataService.GetHomePageData(id);
}
@ApiTags('HomePage - Oracle')
@Get('/GetCarnetSummaryData/:userid')
GetCarnetSummaryData(@Param('userid') id: string) {
return this.homePageDataService.GetCarnetSummaryData(id);
}
@ApiTags('HomePage - Oracle')
@Post('/SaveCarnetApplication')
SaveCarnetApplication(@Body() body: SaveCarnetApplicationDTO) {
return this.homePageDataService.SaveCarnetApplication(body);
// return body;
}
@ApiTags('HomePage - Oracle')
@Post('/TransmitApplicationtoProcess')
TransmitApplicationtoProcess(@Body() body: TransmitApplicationtoProcessDTO) {
return this.homePageDataService.TransmitApplicationtoProcess(body);
}
@ApiTags('HomePage - Oracle')
@Get('/GetCarnetDetailsbyCarnetStatus/:p_spid/:p_userid/:p_CarnetStatus')
GetCarnetDetailsbyCarnetStatus(
@Param('p_spid', ParseIntPipe) p_spid: number,
@Param('p_userid') p_userid: string,
@Param('p_CarnetStatus') p_CarnetStatus: string
) {
if (!p_spid || !p_userid || !p_CarnetStatus) {
throw new BadRequestException('spid, userid and Carnet Status are required');
}
else if (Number(p_userid) || Number(p_CarnetStatus )) {
throw new BadRequestException('Param p_userid and p_CarnetStatus should be string');
}
try {
const body: GetCarnetDetailsbyCarnetStatusDTO = {
p_spid: p_spid,
p_userid: p_userid,
p_CarnetStatus: p_CarnetStatus
};
return this.homePageDataService.GetCarnetDetailsbyCarnetStatus(body);
}
catch (err) {
return new BadRequestException({ message: 'Validation faileda', error: err.message })
}
}
// @ApiTags('HomePage - Oracle')
// @Post('/test')
// test(@Body() body:TestDTO) {
// return body;
// }
// Regions
@ApiTags('Regions - Oracle')
@Post('/InsertRegions')
insertRegions(@Body() body: InsertRegionsDto) {
return this.oarcleService.insertRegions(body.p_region, body.p_name);
}
@ApiTags('Regions - Oracle')
@Patch('/UpdateRegion')
updateRegions(@Body() body: UpdateRegionDto) {
return this.oarcleService.updateRegions(body.p_regionID, body.p_name);
}
@ApiTags('Regions - Oracle')
@Get('/GetRegions')
getRegions() {
return this.oarcleService.getRegions();
}
// Service Provider [ SP ]
@ApiTags('SP - Oracle')
@Post('/InsertNewServiceProvider')
insertNewServiceProvider(@Body() body: InsertNewServiceProviderDTO) {
return this.oarcleService.insertNewServiceProvider(
body.p_name,
body.p_lookupcode,
body.p_address1,
body.p_address2,
body.p_city,
body.p_state,
body.p_zip,
body.p_country,
body.p_issuingregion,
body.p_replacementregion,
body.p_bondsurety,
body.p_cargopolicyno,
body.p_cargosurety,
body.p_user_id,
body.P_NOTES,
body.P_FILEIDS
)
}
@ApiTags('SP - Oracle')
@Put('/UpdateServiceProvider')
updateServiceProider(@Body() body: UpdateServiceProviderDTO) {
return this.oarcleService.updateServiceProvider(
body.p_spid,
body.p_name,
body.p_lookupcode,
body.p_address1,
body.p_address2,
body.p_city,
body.p_state,
body.p_zip,
body.p_country,
body.p_issuingregion,
body.p_replacementregion,
body.p_bondsurety,
body.p_cargopolicyno,
body.p_cargosurety,
body.p_user_id,
body.P_NOTES,
body.P_FILEIDS
)
}
@ApiTags('SP - Oracle')
@Get('/GetAllServiceproviders')
getAllServiceproviders() {
return this.oarcleService.getAllServiceproviders();
}
@ApiTags('SP - Oracle')
@Get('/GetSelectedServiceprovider/:id')
getSelectedServiceprovider(@Param('id', ParseIntPipe) id: number) {
return this.oarcleService.getServiceproviderByID(id);
}
// SPContacts
@ApiTags('SPContacts - Oracle')
@Post('/InsertSPContacts')
insertSPContacts(@Body() body: InsertSPContactsDTO) {
return this.oarcleService.insertSPContacts(
body.p_spid,
body.p_defcontactflag,
body.p_firstname,
body.p_lastname,
body.P_MIDDLEINITIAL,
body.p_title,
body.p_phoneno,
body.p_mobileno,
body.p_faxno,
body.p_emailaddress,
body.p_user_id
)
}
@ApiTags('SPContacts - Oracle')
@Post('/SetSPDefaultcontact/:id')
setSPDefaultcontact(@Param('id', ParseIntPipe) id: number) {
return this.oarcleService.setSPDefaultcontact(id)
}
@ApiTags('SPContacts - Oracle')
@Put('/UpdateSPContacts')
updateSPContacts(@Body() body: UpdateSPContactsDTO) {
return this.oarcleService.updateSPContacts(
body.p_spcontactid,
body.p_firstname,
body.p_lastname,
body.P_MIDDLEINITIAL,
body.p_title,
body.p_phoneno,
body.p_mobileno,
body.p_faxno,
body.p_emailaddress,
body.p_user_id
)
}
@ApiTags('SPContacts - Oracle')
@Post('/InactivateSPContact/:id')
inactivateSPContact(@Param('id', ParseIntPipe) id: number) {
return this.oarcleService.inactivateSPContact(id)
}
@ApiTags('SPContacts - Oracle')
@Get('/GetSPDefaultcontact/:id')
getSPDefaultcontact(@Param('id', ParseIntPipe) id: number) {
return this.oarcleService.getSPDefaultcontacts(id)
}
// @Get('/GetAllSPcontacts')
// getSPcontacts() {
// return this.oarcleService.getSPcontacts();
// }
// Carnet Sequence
@ApiTags('Carnet Sequence - Oracle')
@Post('/CreateCarnetSequence/')
createCarnetSequence(@Body() body: CreateCarnetSequenceDTO) {
return this.oarcleService.createCarnetSequence(
body.p_spid,
body.p_regionid,
body.p_startnumber,
body.p_endnumber,
body.p_carnettype
)
}
@ApiTags('Carnet Sequence - Oracle')
@Get('/GetCarnetSequence/:id')
getCarnetSequence(@Param('id', ParseIntPipe) id: number) {
return this.oarcleService.getCarnetSequence(id)
}
// param table
@ApiTags('Param Table - Oracle')
@Get('/GetParamValues')
@UsePipes()
@ApiQuery({ name: 'id', required: false, type: Number, description: 'The ID of the parameter' })
@ApiQuery({ name: 'type', required: false, type: String, description: 'The type of the parameter' })
getParamValues(
@Query('id') id: string,
@Query('type') type: string
) {
return this.paramTableService.GETPARAMVALUES(id ? Number(id) : undefined, type);
}
@ApiTags('Param Table - Oracle')
@Post('/CreateTableRecord')
createTableRecord(@Body() body: CreateTableRecordDTO) {
return this.paramTableService.CREATETABLERECORD(body.P_USERID, body.P_TABLEFULLDESC)
}
@ApiTags('Param Table - Oracle')
@Post('/CreateParamRecord')
createParamRecord(@Body() body: CreateParamRecordDTO) {
return this.paramTableService.CREATEPARAMRECORD(
body.P_PARAMTYPE,
body.P_PARAMDESC,
body.P_PARAMVALUE,
body.P_SORTSEQ,
body.P_USERID,
body.P_SPID,
body.P_ADDLPARAMVALUE1,
body.P_ADDLPARAMVALUE2,
body.P_ADDLPARAMVALUE3,
body.P_ADDLPARAMVALUE4,
body.P_ADDLPARAMVALUE5,
)
}
@ApiTags('Param Table - Oracle')
@Patch('/UpdateParamRecord')
UpdateParamRecord(@Body() body: UpdateParamRecordDTO) {
return this.paramTableService.UPDATEPARAMRECORD(body)
}
@ApiTags('Param Table - Oracle')
@Put('/InActivateParamRecord')
inActivateParamRecord(@Body() body: ActivateOrInactivateParamRecordDTO) {
return this.paramTableService.INACTIVATEPARAMRECORD(body)
}
@ApiTags('Param Table - Oracle')
@Put('/ReActivateParamRecord')
reActivateParamRecord(@Body() body: ActivateOrInactivateParamRecordDTO) {
return this.paramTableService.REACTIVATEPARAMRECORD(body)
}
// ManageFee
@ApiTags('Manage Fee - Oracle')
@Post('/CreateBasicFee')
CreateBasicFee(@Body() body: CreateBasicFeeDTO) {
return this.manageFeeService.CREATEBASICFEE(body)
}
@ApiTags('Manage Fee - Oracle')
@Post('/CreateBondRate')
CreateBondRate(@Body() body: CreateBondRateDTO) {
return this.manageFeeService.CREATEBONDRATE(body)
}
@ApiTags('Manage Fee - Oracle')
@Post('/CreateCargoRate')
CreateCargoRate(@Body() body: CreateCargoRateDTO) {
return this.manageFeeService.CREATECARGORATE(body)
}
@ApiTags('Manage Fee - Oracle')
@Post('/CreateCfFee')
CreateCfFee(@Body() body: CreateCfFeeDTO) {
return this.manageFeeService.CREATECFFEE(body)
}
@ApiTags('Manage Fee - Oracle')
@Post('/CreateCsFee')
CreateCsFee(@Body() body: CreateCsFeeDTO) {
return this.manageFeeService.CREATECSFEE(body)
}
@ApiTags('Manage Fee - Oracle')
@Post('/CreateEfFee')
CreateEeFee(@Body() body: CreateEfFeeDTO) {
return this.manageFeeService.CREATEEFFEE(body)
}
@ApiTags('Manage Fee - Oracle')
@Post('/CreateFeeComm')
CreateFeeComm(@Body() body: CreateFeeCommDTO) {
return this.manageFeeService.CREATEFEECOMM(body)
}
@ApiTags('Manage Fee - Oracle')
@Patch('/UpdateBasicFee')
UpdateBasicFee(@Body() body: UpdateBasicFeeDTO) {
return this.manageFeeService.UPDATEBASICFEE(body)
}
@ApiTags('Manage Fee - Oracle')
@Patch('/UpdateBondRate')
UpdateBondRate(@Body() body: UpdateBondRateDTO) {
return this.manageFeeService.UPDATEBONDRATE(body)
}
@ApiTags('Manage Fee - Oracle')
@Patch('/UpdateCargoRate')
UpdateCargoRate(@Body() body: UpdateCargoRateDTO) {
return this.manageFeeService.UPDATECARGORATE(body)
}
@ApiTags('Manage Fee - Oracle')
@Patch('/UpdateCfFee')
UpdateCfFee(@Body() body: UpdateCfFeeDTO) {
return this.manageFeeService.UPDATECFFEE(body)
}
@ApiTags('Manage Fee - Oracle')
@Patch('/UpdateCsFee')
UpdateCsFee(@Body() body: UpdateCsFeeDTO) {
return this.manageFeeService.UPDATECSFEE(body)
}
@ApiTags('Manage Fee - Oracle')
@Patch('/UpdateEfFee')
UpdateEfFee(@Body() body: UpdateEfFeeDTO) {
return this.manageFeeService.UPDATEEFFEE(body)
}
@ApiTags('Manage Fee - Oracle')
@Patch('/UpdateFeeComm')
UpdateFeeComm(@Body() body: UpdateFeeCommBodyDTO) {
return this.manageFeeService.UPDATEFEECOMM(body)
}
@ApiTags('Manage Fee - Oracle')
@Get('/GetBasicFeeRates/:P_SPID/:P_ACTIVE_INACTIVE')
GetBasicFeeRates(
@Param('P_SPID', ParseIntPipe) P_SPID: number,
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
) {
return this.manageFeeService.GETBASICFEERATES(P_SPID, P_ACTIVE_INACTIVE)
}
@ApiTags('Manage Fee - Oracle')
@Get('/GetBondRates/:P_SPID/:P_ACTIVE_INACTIVE')
GetBondRates(
@Param('P_SPID', ParseIntPipe) P_SPID: number,
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
) {
return this.manageFeeService.GETBONDRATES(P_SPID, P_ACTIVE_INACTIVE)
}
@ApiTags('Manage Fee - Oracle')
@Get('/GetCargoRates/:P_SPID/:P_ACTIVE_INACTIVE')
GetCargoRates(
@Param('P_SPID', ParseIntPipe) P_SPID: number,
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
) {
return this.manageFeeService.GETCARGORATES(P_SPID, P_ACTIVE_INACTIVE)
}
@ApiTags('Manage Fee - Oracle')
@Get('/GetCfFeeRates/:P_SPID/:P_ACTIVE_INACTIVE')
GetCfFeeRates(
@Param('P_SPID', ParseIntPipe) P_SPID: number,
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
) {
return this.manageFeeService.GETCFFEERATES(P_SPID, P_ACTIVE_INACTIVE)
}
@ApiTags('Manage Fee - Oracle')
@Get('/GetCsFeeRates/:P_SPID/:P_ACTIVE_INACTIVE')
GetCsFeeRates(
@Param('P_SPID', ParseIntPipe) P_SPID: number,
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
) {
return this.manageFeeService.GETCSFEERATES(P_SPID, P_ACTIVE_INACTIVE)
}
@ApiTags('Manage Fee - Oracle')
@Get('/GetEfFeeRates/:P_SPID/:P_ACTIVE_INACTIVE')
GetEfFeeRates(
@Param('P_SPID', ParseIntPipe) P_SPID: number,
@Param('P_ACTIVE_INACTIVE',) P_ACTIVE_INACTIVE: string
) {
return this.manageFeeService.GETEFFEERATES(P_SPID, P_ACTIVE_INACTIVE)
}
@ApiTags('Manage Fee - Oracle')
@Get('/GetFeeComm/:P_SPID/:P_ACTIVE_INACTIVE')
GetFeeComm(
@Param('P_SPID', ParseIntPipe) P_SPID: number,
@Param('P_ACTIVE_INACTIVE') P_ACTIVE_INACTIVE: string
) {
return this.manageFeeService.GETFEECOMM(P_SPID, P_ACTIVE_INACTIVE)
}
}