splitUp:GWM
This commit is contained in:
parent
8dae71820b
commit
e4a0712c6a
@ -1,6 +1,11 @@
|
||||
const { sequelize,OutputActiveAndClosedLoans,OutSanctionAmt_P,OutSanctionAmt_C,OutEnquiryAmountP,OutEnquiryAmountC} = require('../models')
|
||||
const { sequelize,OutputActiveAndClosedLoans,OutSanctionAmt_P,OutSanctionAmt_C,OutEnquiryAmountP,OutEnquiryAmountC,
|
||||
InBorrowerDetail,ConBorrowDetail,ConIDDetail,BorrowerProfile,BorrowidDetail
|
||||
,InEnquiryDetail,ConEnquiryDetail,EnquiryDetail
|
||||
,InCreditFacility,CreditFacilityCurrentDetail,ConAccountTranscation
|
||||
,InDpdTranscationTable,AcHistoryAndDPD,ConDPDTranscation} = require('../models')
|
||||
const { logMsg } = require('../services/logger.js');
|
||||
|
||||
const Helper = require('../services/cibil.controller.helper.js');
|
||||
const { Op } = require('sequelize');
|
||||
// landing page list of all pan number and reference number from commercial & consumer against losid
|
||||
exports.LandingPageDetailsList =async (req, res) =>
|
||||
{
|
||||
@ -310,31 +315,34 @@ exports.EnquiryAmountSplitUp =async (req, res) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if(req.query.input_data_from == "commercialData")
|
||||
{
|
||||
query = "SELECT ApplicationRefno as ref_no,EnquiryDetailsEnquiryDt as date,EnquiryDetailsEnquiryPurpose as facility_type,EnquiryDetailsEnquiryAmt as amount FROM com_enquiry_detail where losid ='"+req.query.losid+"' and ApplicationRefno = "+req.query.ref_no+" and EnquiryDetailsEnquiryPurpose = '"+req.query.facility_type+"' order by EnquiryDetailsEnquiryDt DESC";
|
||||
}
|
||||
else
|
||||
{
|
||||
query = "SELECT MemberReferenceNumber as ref_no,DateOfEnquiry as date,EnquiryPurpose as facility_type,EnquiryAmount as amount FROM con_enquiry_detail where losid ='"+req.query.losid+"' and MemberReferenceNumber = "+req.query.ref_no+" and EnquiryPurpose = '"+req.query.facility_type+"' order by DateOfEnquiry DESC";
|
||||
}
|
||||
|
||||
sequelize.query(query).then(async(data) => {
|
||||
if(data[0].length != 0)
|
||||
|
||||
month = req.query.month_range;
|
||||
if(month == 'total')
|
||||
{
|
||||
where = {losid:req.query.losid,ReferenceNumber:req.query.ref_no,EnquiryPurpose:req.query.facility_type}
|
||||
}
|
||||
else
|
||||
{
|
||||
month_data_array = month.split("_");
|
||||
if(month_data_array.length == 1)
|
||||
{
|
||||
where = {losid:req.query.losid,ReferenceNumber:req.query.ref_no,EnquiryPurpose:req.query.facility_type,month_bucket_index:month_data_array[0]}
|
||||
}
|
||||
else if(month_data_array.length == 2)
|
||||
{
|
||||
where = {losid:req.query.losid,ReferenceNumber:req.query.ref_no,EnquiryPurpose:req.query.facility_type,month_bucket_index:{[Op.between] : [month_data_array[0] , month_data_array[1] ]}}
|
||||
}
|
||||
else
|
||||
{
|
||||
res.send({'status':200 , message:"Success." ,'data':data});
|
||||
}else {
|
||||
res.send({'status':400 , message:"Failed." ,'data':"No data"});
|
||||
where = {losid:req.query.losid,ReferenceNumber:req.query.ref_no,EnquiryPurpose:req.query.facility_type,month_bucket_index:{ [Op.gt]: month_data_array[2]}}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}).catch(err=>{
|
||||
|
||||
res.send({'status':400 , message: "Failed" ,'data': "Nodata"});
|
||||
})
|
||||
}
|
||||
|
||||
InEnquiryDetail.findAll({where:where,order: [ ['DateOfEnquiry', 'DESC']]})
|
||||
.then(async(data)=>{ res.send({'status':200 , message:"Success." ,'data':data});})
|
||||
.catch(err=>{ logMsg.info("EnquiryAmountSplitUp failed = " +err); res.send({'status':400 , message:"Failed." ,'data':"No data"}); });
|
||||
|
||||
|
||||
|
||||
|
||||
} catch(err) {
|
||||
res.status(500).send({'status':404,
|
||||
@ -347,18 +355,32 @@ exports.ConsolidatedEnquiryAmountSplitUp =async (req, res) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
query = "SELECT MemberReferenceNumber as ref_no,DateOfEnquiry as date,EnquiryPurpose as facility_type,EnquiryAmount as amount FROM con_enquiry_detail where losid ='"+req.query.losid+"' and EnquiryPurpose = '"+req.query.facility_type+"' order by DateOfEnquiry DESC";
|
||||
sequelize.query(query).then(async(data) => {
|
||||
month = req.query.month_range;
|
||||
if(month == 'total')
|
||||
{
|
||||
where = {losid:req.query.losid,EnquiryPurpose:req.query.facility_type}
|
||||
}
|
||||
else
|
||||
{
|
||||
month_data_array = month.split("_");
|
||||
if(month_data_array.length == 1)
|
||||
{
|
||||
where = {losid:req.query.losid,EnquiryPurpose:req.query.facility_type,month_bucket_index:month_data_array[0]}
|
||||
}
|
||||
else if(month_data_array.length == 2)
|
||||
{
|
||||
where = {losid:req.query.losid,EnquiryPurpose:req.query.facility_type,month_bucket_index:{[Op.between] : [month_data_array[0] , month_data_array[1] ]}}
|
||||
}
|
||||
else
|
||||
{
|
||||
where = {losid:req.query.losid,EnquiryPurpose:req.query.facility_type,month_bucket_index:{ [Op.gt]: month_data_array[2]}}
|
||||
}
|
||||
}
|
||||
|
||||
InEnquiryDetail.findAll({where:where,order: [ ['DateOfEnquiry', 'DESC']]})
|
||||
.then(async(data)=>{ res.send({'status':200 , message:"Success." ,'data':data});})
|
||||
.catch(err=>{ logMsg.info("EnquiryAmountSplitUp failed = " +err); res.send({'status':400 , message:"Failed." ,'data':"No data"}); });
|
||||
|
||||
res.send({'status':200 , message:"Success." ,'data':data});
|
||||
|
||||
}).catch(err=>{
|
||||
|
||||
res.send({'status':400 , message: "Failed" ,'data': "Nodata"});
|
||||
})
|
||||
|
||||
|
||||
|
||||
} catch(err) {
|
||||
res.status(500).send({'status':404,
|
||||
message: err.message || "Some error occurred while inserting statements." ,'data': "No data"
|
||||
@ -373,27 +395,33 @@ exports.SanctionAmountSplitUp =async (req, res) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if(req.query.input_data_from == "commercialData")
|
||||
{
|
||||
query = " SELECT ApplicationRefno as ref_no,CreditFacilityCDLstReportedDate as date,CreditFacilityCDcfType as facility_type, CreditFacilityCDAmtSanctionedAmt as amount FROM com_credit_facility_current_detail where losid ='"+req.query.losid+"' and ApplicationRefno = "+req.query.ref_no+" and CreditFacilityCDcfType = '"+req.query.facility_type+"' order by CreditFacilityCDLstReportedDate DESC";
|
||||
}
|
||||
else
|
||||
{
|
||||
query = "SELECT MemberReferenceNumber as ref_no,DateOpenedDisbursed as date,AccountType as facility_type ,HighCreditSanctionedAmount as amount FROM con_account_transaction_detail where losid ='"+req.query.losid+"' and MemberReferenceNumber = "+req.query.ref_no+" and AccountType = '"+req.query.facility_type+"' order by DateOpenedDisbursed DESC";
|
||||
}
|
||||
|
||||
sequelize.query(query).then(async(data) => {
|
||||
if(data[0].length != 0)
|
||||
month = req.query.month_range;
|
||||
if(month == 'total')
|
||||
{
|
||||
where = {losid:req.query.losid,ReferenceNumber:req.query.ref_no,AccountType:req.query.facility_type}
|
||||
}
|
||||
else
|
||||
{
|
||||
month_data_array = month.split("_");
|
||||
if(month_data_array.length == 1)
|
||||
{
|
||||
where = {losid:req.query.losid,ReferenceNumber:req.query.ref_no,AccountType:req.query.facility_type,month_bucket_index:month_data_array[0]}
|
||||
}
|
||||
else if(month_data_array.length == 2)
|
||||
{
|
||||
where = {losid:req.query.losid,ReferenceNumber:req.query.ref_no,AccountType:req.query.facility_type,month_bucket_index:{[Op.between] : [month_data_array[0] , month_data_array[1] ]}}
|
||||
}
|
||||
else
|
||||
{
|
||||
res.send({'status':200 , message:"Success." ,'data':data});
|
||||
}else {
|
||||
res.send({'status':400 , message:"Failed." ,'data':"No data"});
|
||||
where = {losid:req.query.losid,ReferenceNumber:req.query.ref_no,AccountType:req.query.facility_type,month_bucket_index:{ [Op.gt]: month_data_array[2]}}
|
||||
}
|
||||
}
|
||||
|
||||
InCreditFacility.findAll({where:where,order: [ ['DateOpenedDisbursed', 'DESC']]})
|
||||
.then(async(data)=>{ res.send({'status':200 , message:"Success." ,'data':data});})
|
||||
.catch(err=>{ logMsg.info("EnquiryAmountSplitUp failed = " +err); res.send({'status':400 , message:"Failed." ,'data':"No data"}); });
|
||||
|
||||
|
||||
}).catch(err=>{
|
||||
|
||||
res.send({'status':400 , message: "Failed" ,'data': "Nodata"});
|
||||
})
|
||||
|
||||
|
||||
|
||||
@ -408,21 +436,379 @@ exports.ConsolidatedSanctionAmountSplitUp =async (req, res) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
query = "SELECT MemberReferenceNumber as ref_no,DateOpenedDisbursed as date,AccountType as facility_type ,HighCreditSanctionedAmount as amount FROM con_account_transaction_detail where losid = '"+req.query.losid+"' and AccountType = '"+req.query.facility_type+"'";
|
||||
sequelize.query(query).then(async(data) => {
|
||||
|
||||
res.send({'status':200 , message:"Success." ,'data':data});
|
||||
|
||||
}).catch(err=>{
|
||||
|
||||
res.send({'status':400 , message: "Failed" ,'data': "Nodata"});
|
||||
})
|
||||
|
||||
|
||||
month = req.query.month_range;
|
||||
if(month == 'total')
|
||||
{
|
||||
where = {losid:req.query.losid,AccountType:req.query.facility_type}
|
||||
}
|
||||
else
|
||||
{
|
||||
month_data_array = month.split("_");
|
||||
if(month_data_array.length == 1)
|
||||
{
|
||||
where = {losid:req.query.losid,AccountType:req.query.facility_type,month_bucket_index:month_data_array[0]}
|
||||
}
|
||||
else if(month_data_array.length == 2)
|
||||
{
|
||||
where = {losid:req.query.losid,AccountType:req.query.facility_type,month_bucket_index:{[Op.between] : [month_data_array[0] , month_data_array[1] ]}}
|
||||
}
|
||||
else
|
||||
{
|
||||
where = {losid:req.query.losid,AccountType:req.query.facility_type,month_bucket_index:{ [Op.gt]: month_data_array[2]}}
|
||||
}
|
||||
}
|
||||
|
||||
InCreditFacility.findAll({where:where,order: [ ['DateOpenedDisbursed', 'DESC']]})
|
||||
.then(async(data)=>{ res.send({'status':200 , message:"Success." ,'data':data});})
|
||||
.catch(err=>{ logMsg.info("EnquiryAmountSplitUp failed = " +err); res.send({'status':400 , message:"Failed." ,'data':"No data"}); });
|
||||
|
||||
|
||||
|
||||
} catch(err) {
|
||||
res.status(500).send({'status':404,
|
||||
message: err.message || "Some error occurred while inserting statements." ,'data': "No data"
|
||||
}); } //end of try catch
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
exports.test =async (req, res) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
// end_date = '2022-05-05'
|
||||
// sk = await Helper.createSkeleton(end_date);
|
||||
// res.send({sk})
|
||||
// dpd_dates = ['2019-10-01','2019-09-20','2019-08-20','2019-07-20','2019-06-20','2019-05-20','2019-04-20','2019-03-20'];
|
||||
// dpd_dates.forEach(async(element) => {
|
||||
// data = await Helper.findBucketCount(sk,element);
|
||||
// console.log(data);
|
||||
// });
|
||||
|
||||
srt = "Credit Facility 1";
|
||||
num = srt.replace ( /[^\d.]/g, '' );
|
||||
console.log(num);
|
||||
|
||||
} catch(err) {
|
||||
res.status(500).send({'status':404,
|
||||
message: err.message || "Some error occurred while inserting statements." ,'data': "No data"
|
||||
}); } //end of try catch
|
||||
|
||||
};
|
||||
exports.test2 =async (req, res) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
// BorrowerProfileData = await BorrowerProfile.findAll({attributes: ['losid','ApplicationRefno','EnqInfoBorrowerName','EnqInfoPan'],raw:true ,where:{losid:'MW112233'}});
|
||||
// BorrowerProfileArray = [];
|
||||
// BorrowerProfileData.forEach(value => {
|
||||
// BorrowerProfileDataObj = {
|
||||
// losid : value.losid,
|
||||
// ReferenceNumber : value.ApplicationRefno,
|
||||
// ConsumerNameField1 : value.EnqInfoBorrowerName,
|
||||
// ConsumerNameField2 : null,
|
||||
// ConsumerNameField3 : null,
|
||||
// ConsumerNameField4 : null,
|
||||
// ConsumerNameField5 : null,
|
||||
// PAN : value.EnqInfoPan,
|
||||
// cibil_type : 1
|
||||
// }
|
||||
// BorrowerProfileArray.push(BorrowerProfileDataObj);
|
||||
// });
|
||||
// await InBorrowerDetail.bulkCreate(BorrowerProfileArray);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ConBorrowDetailData = await ConBorrowDetail.findAll({attributes: ['losid','MemberReferenceNumber','ConsumerNameField1','ConsumerNameField2','ConsumerNameField3','ConsumerNameField4','ConsumerNameField5'],raw:true ,where:{losid:'MW112233'},include:[{model:ConIDDetail , attributes: ['IDNumber'],where:{IDType:'Income Tax ID Number'}}]});
|
||||
// ConBorrowDetailArray = [];
|
||||
// ConBorrowDetailData.forEach(value => {
|
||||
// ConBorrowDetailDataObj = {
|
||||
// losid : value.losid,
|
||||
// ReferenceNumber : value.MemberReferenceNumber,
|
||||
// ConsumerNameField1 : value.ConsumerNameField1,
|
||||
// ConsumerNameField2 : value.ConsumerNameField2,
|
||||
// ConsumerNameField3 : value.ConsumerNameField3,
|
||||
// ConsumerNameField4 : value.ConsumerNameField4,
|
||||
// ConsumerNameField5 : value.ConsumerNameField5,
|
||||
// PAN : value['ConIDDetails.IDNumber'],
|
||||
// cibil_type : 2
|
||||
// }
|
||||
|
||||
// ConBorrowDetailArray.push(ConBorrowDetailDataObj);
|
||||
// });
|
||||
// await InBorrowerDetail.bulkCreate(ConBorrowDetailArray);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// end_date = '2022-05-05'
|
||||
// sk = await Helper.createSkeleton(end_date);
|
||||
// ComEnquiryDetailData = await EnquiryDetail.findAll({attributes: ['losid','ApplicationRefno','EnquiryDetailsEnquiryDt','EnquiryDetailsEnquiryPurpose','EnquiryDetailsEnquiryAmt'],raw:true ,where:{losid:'MW112233'}});
|
||||
// ComEnquiryDetailArray = [];
|
||||
// ComEnquiryDetailData.forEach(async(value) => {
|
||||
// month_bucket_result = await Helper.findBucketCount(sk,value.EnquiryDetailsEnquiryDt);
|
||||
// ComEnquiryDetailDataObj = {
|
||||
// losid : value.losid,
|
||||
// ReferenceNumber : value.ApplicationRefno,
|
||||
// DateOfEnquiry : value.EnquiryDetailsEnquiryDt,
|
||||
// EnquiryPurpose : value.EnquiryDetailsEnquiryPurpose,
|
||||
// EnquiryAmount : value.EnquiryDetailsEnquiryAmt,
|
||||
// month_bucket_index : month_bucket_result,
|
||||
// cibil_type : 1
|
||||
// }
|
||||
// ComEnquiryDetailArray.push(ComEnquiryDetailDataObj);
|
||||
// });
|
||||
// setTimeout(async() => {
|
||||
|
||||
// await InEnquiryDetail.bulkCreate(ComEnquiryDetailArray).catch(err=>{res.send({data:err})});
|
||||
// res.send({data:ComEnquiryDetailArray})
|
||||
// }, 3000);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// end_date = '2022-05-05'
|
||||
// sk = await Helper.createSkeleton(end_date);
|
||||
// ConEnquiryDetailData = await ConEnquiryDetail.findAll({attributes: ['losid','MemberReferenceNumber','DateOfEnquiry','EnquiryPurpose','EnquiryAmount'],raw:true ,where:{losid:'MW112233'}});
|
||||
// ConEnquiryDetailArray = [];
|
||||
// ConEnquiryDetailData.forEach(async(value) => {
|
||||
// month_bucket_result = await Helper.findBucketCount(sk,value.DateOfEnquiry);
|
||||
// ConEnquiryDetailDataObj = {
|
||||
// losid : value.losid,
|
||||
// ReferenceNumber : value.MemberReferenceNumber,
|
||||
// DateOfEnquiry : value.DateOfEnquiry,
|
||||
// EnquiryPurpose : value.EnquiryPurpose,
|
||||
// EnquiryAmount : value.EnquiryAmount,
|
||||
// month_bucket_index : month_bucket_result,
|
||||
// cibil_type : 2
|
||||
// }
|
||||
// ConEnquiryDetailArray.push(ConEnquiryDetailDataObj);
|
||||
// });
|
||||
// setTimeout(async() => {
|
||||
|
||||
// await InEnquiryDetail.bulkCreate(ConEnquiryDetailArray).catch(err=>{res.send({data:err})});
|
||||
// res.send({data:ConEnquiryDetailArray})
|
||||
// }, 3000);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// end_date = '2022-05-05'
|
||||
// sk = await Helper.createSkeleton(end_date);
|
||||
// ComCreditFacilityCurrentDetailData = await CreditFacilityCurrentDetail.findAll({attributes: ['losid','ApplicationRefno','CreditFacilityCDcfSrNo','CreditFacilityCDcfType','CreditFacilityCDDatesSanctionedDt','CreditFacilityCDLstReportedDate','CreditFacilityCDAmtSanctionedAmt','CreditFacilityCDAmtoutstandingBalance','CreditFacilityCDAmtOverdue','CreditFacilityCDODTenure','CreditFacilityCDAmtinstallmentAmt'],raw:true ,where:{losid:'MW112233'}});
|
||||
|
||||
// ComCreditFacilityCurrentDetailData.forEach(async(value) => {
|
||||
// month_bucket_result = await Helper.findBucketCount(sk,value.DateOpenedDisbursed);
|
||||
// Num = value.ApplicationRefno;
|
||||
// Refno = Num.toString();
|
||||
// AccountTranDetailsID = value.CreditFacilityCDcfSrNo.replace ( /[^\d.]/g, '' );
|
||||
// ComCreditFacilityCurrentDetailObj = {
|
||||
// losid : value.losid,
|
||||
// InTblAccountTranDetailsID : AccountTranDetailsID,
|
||||
// ReferenceNumber : Refno,
|
||||
// AccountType : value.CreditFacilityCDcfType,
|
||||
// OwnershipIndicator : null,
|
||||
// DateOpenedDisbursed:value.CreditFacilityCDDatesSanctionedDt ,
|
||||
// DateReportedAndCertified :value.CreditFacilityCDLstReportedDate ,
|
||||
// HighCreditSanctionedAmount : value.CreditFacilityCDAmtSanctionedAmt,
|
||||
// CurrentBalance : value.CreditFacilityCDAmtoutstandingBalance,
|
||||
// AmountOverdue : value.CreditFacilityCDAmtOverdue,
|
||||
// CreditLimit : null,
|
||||
// RepaymentTenure : value.CreditFacilityCDODTenure,
|
||||
// EMIAmount : value.CreditFacilityCDAmtinstallmentAmt,
|
||||
// month_bucket_index : month_bucket_result,
|
||||
// cibil_type : 1
|
||||
// }
|
||||
|
||||
// await InCreditFacility.create(ComCreditFacilityCurrentDetailObj).then(async(ComInCreditFacilityData)=>{
|
||||
|
||||
// ComAcHistoryAndDPD = await AcHistoryAndDPD.findAll({attributes: ['ApplicationRefno','CFHistory24Monthsmonth','CFHistory24MonthsACorDPD','BorrowerCurrentDetailsID'],raw:true ,
|
||||
// where:{BorrowerCurrentDetailsID : ComInCreditFacilityData.dataValues.InTblAccountTranDetailsID ,ApplicationRefno:ComInCreditFacilityData.dataValues.ReferenceNumber}});
|
||||
|
||||
// if(ComAcHistoryAndDPD.length != 0)
|
||||
// {
|
||||
// var DpdDataInsert = new Promise(async(resolve, reject) => {
|
||||
// ComAcHistoryAndDPDArray = [];
|
||||
// ComAcHistoryAndDPD.forEach(async(value,index,array) => {
|
||||
// month_bucket_result_com_dpd = await Helper.findBucketCount(sk,value.CFHistory24Monthsmonth);
|
||||
// ComAcHistoryAndDPDObj = {
|
||||
// AccountTranDetailsID : ComInCreditFacilityData.dataValues.AccountTranDetailsID,
|
||||
// ReferenceNumber : value.ApplicationRefno,
|
||||
// cibil_type : 1,
|
||||
// StartDate : value.CFHistory24Monthsmonth,
|
||||
// Code : value.CFHistory24MonthsACorDPD,
|
||||
// month_bucket_index : month_bucket_result_com_dpd,
|
||||
// }
|
||||
// ComAcHistoryAndDPDArray.push(ComAcHistoryAndDPDObj);
|
||||
|
||||
// if (index === array.length -1) { resolve(ComAcHistoryAndDPDArray); }
|
||||
// });
|
||||
// });
|
||||
|
||||
// DpdDataInsert.then(async(ComAcHistoryAndDPDArray)=>{
|
||||
// await InDpdTranscationTable.bulkCreate(ComAcHistoryAndDPDArray).catch(err=>{res.send({data:err})});
|
||||
// });
|
||||
|
||||
// }
|
||||
// }).catch(err=>{res.send({data:err})});
|
||||
|
||||
// });
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// end_date = '2022-05-05'
|
||||
// sk = await Helper.createSkeleton(end_date);
|
||||
// ConAccountTranscationData = await ConAccountTranscation.findAll({attributes: ['losid','AccountTranDetailsID','MemberReferenceNumber','AccountType','OwnershipIndicator','DateOpenedDisbursed','DateReportedAndCertified','HighCreditSanctionedAmount','CurrentBalance','AmountOverdue','CreditLimit','RepaymentTenure','EMIAmount'],raw:true ,where:{losid:'MW112233'}});
|
||||
|
||||
|
||||
// ConAccountTranscationData.forEach(async(value) => {
|
||||
// month_bucket_result = await Helper.findBucketCount(sk,value.DateOpenedDisbursed);
|
||||
// Num = value.MemberReferenceNumber;
|
||||
// MemberReferenceNumber = Num.toString();
|
||||
// ConAccountTranscationObj = {
|
||||
// losid : value.losid,
|
||||
// InTblAccountTranDetailsID : value.AccountTranDetailsID,
|
||||
// ReferenceNumber : MemberReferenceNumber,
|
||||
// AccountType : value.AccountType,
|
||||
// OwnershipIndicator : value.OwnershipIndicator,
|
||||
// DateOpenedDisbursed:value.DateOpenedDisbursed ,
|
||||
// DateReportedAndCertified :value.DateReportedAndCertified ,
|
||||
// HighCreditSanctionedAmount : value.HighCreditSanctionedAmount,
|
||||
// CurrentBalance : value.CurrentBalance,
|
||||
// AmountOverdue : value.AmountOverdue,
|
||||
// CreditLimit : value.CreditLimit,
|
||||
// RepaymentTenure : value.RepaymentTenure,
|
||||
// EMIAmount : value.EMIAmount,
|
||||
// month_bucket_index : month_bucket_result,
|
||||
// cibil_type : 2
|
||||
// }
|
||||
|
||||
// await InCreditFacility.create(ConAccountTranscationObj).then(async(InCreditFacilityData)=>{
|
||||
|
||||
// RefNo = InCreditFacilityData.dataValues.ReferenceNumber;
|
||||
// ConDPDTranscationData = await ConDPDTranscation.findAll({attributes: ['AccountTranDetailsID','MemberRefNo','StartDate','Code'],raw:true ,
|
||||
// where:{MemberRefNo: RefNo,AccountTranDetailsID: InCreditFacilityData.dataValues.InTblAccountTranDetailsID}});
|
||||
// if(ConDPDTranscationData.length != 0)
|
||||
// {
|
||||
// var DataInsert = new Promise(async(resolve, reject) => {
|
||||
// ConDPDTranscationDataArray = [];
|
||||
// ConDPDTranscationData.forEach(async(value,index,array) => {
|
||||
|
||||
// month_bucket_result_dpd = await Helper.findBucketCount(sk,value.StartDate);
|
||||
// ConDPDTranscationDataObj = {
|
||||
// AccountTranDetailsID : InCreditFacilityData.dataValues.AccountTranDetailsID,
|
||||
// ReferenceNumber : value.MemberRefNo,
|
||||
// cibil_type : 2,
|
||||
// StartDate : value.StartDate,
|
||||
// Code : value.Code,
|
||||
// month_bucket_index : month_bucket_result_dpd,
|
||||
// }
|
||||
// ConDPDTranscationDataArray.push(ConDPDTranscationDataObj);
|
||||
// //resolve
|
||||
// if (index === array.length -1) { resolve(ConDPDTranscationDataArray); }
|
||||
// });
|
||||
// });
|
||||
// DataInsert.then(async(ConDPDTranscationDataArray)=>{
|
||||
|
||||
// // insert consumer DPd data here
|
||||
// await InDpdTranscationTable.bulkCreate(ConDPDTranscationDataArray).catch(err=>{res.send({data:err})});
|
||||
|
||||
// });
|
||||
// }
|
||||
|
||||
// }).catch(err=>{res.send({data:err})});
|
||||
|
||||
// });//end of consumer credit facility data foreach loop
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} catch(err) {
|
||||
res.status(500).send({'status':404,
|
||||
message: err.message || "Some error occurred while inserting statements." ,'data': "No data"
|
||||
}); } //end of try catch
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ module.exports = (sequelize, DataTypes) => {
|
||||
AcHistoryAndDPD.init(
|
||||
|
||||
{
|
||||
temp_id: { type: DataTypes.INTEGER },
|
||||
temp_id: { type: DataTypes.INTEGER },
|
||||
ApplicationRefno: { type: DataTypes.INTEGER },
|
||||
BorrowerCurrentDetailsID: { type: DataTypes.INTEGER },
|
||||
CFHistory24Monthsmonth: { type: DataTypes.DATE },
|
||||
|
||||
@ -6,6 +6,7 @@ module.exports = (sequelize, DataTypes) => {
|
||||
}
|
||||
BorrowerProfile.init(
|
||||
{
|
||||
losid :{type: DataTypes.STRING},
|
||||
temp_id : { type: DataTypes.INTEGER },
|
||||
ApplicationRefno : { type: DataTypes.INTEGER },
|
||||
ReportIssuesCode : { type: DataTypes.STRING },
|
||||
@ -267,6 +268,12 @@ module.exports = (sequelize, DataTypes) => {
|
||||
modelName: 'BorrowerProfile',
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
BorrowerProfile.associate = models => {
|
||||
BorrowerProfile.hasMany(models.BorrowidDetail, {
|
||||
foreignKey: 'ApplicationRefno',
|
||||
sourceKey : 'ApplicationRefno'
|
||||
});
|
||||
}
|
||||
return BorrowerProfile
|
||||
}
|
||||
@ -7,6 +7,7 @@ module.exports = (sequelize, DataTypes) => {
|
||||
ConBorrowDetail.init(
|
||||
|
||||
{
|
||||
losid:{type: DataTypes.STRING},
|
||||
BDeatailsID: { type: DataTypes.INTEGER },
|
||||
MemberReferenceNumber: { type: DataTypes.INTEGER },
|
||||
EnquiryMemberUserID: { type: DataTypes.STRING }, //
|
||||
@ -55,6 +56,11 @@ module.exports = (sequelize, DataTypes) => {
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
ConBorrowDetail.associate = models => {
|
||||
ConBorrowDetail.hasMany(models.ConIDDetail, {
|
||||
foreignKey: 'MemberReferenceNumber',
|
||||
sourceKey : 'MemberReferenceNumber'
|
||||
});
|
||||
}
|
||||
return ConBorrowDetail
|
||||
}
|
||||
@ -5,18 +5,18 @@ module.exports = (sequelize, DataTypes) => {
|
||||
|
||||
}
|
||||
ConDPDTranscation.init(
|
||||
|
||||
|
||||
{
|
||||
detail_id: { type: DataTypes.INTEGER },
|
||||
account_tran_detail_id: { type: DataTypes.INTEGER },
|
||||
member_ref_no: { type: DataTypes.STRING }, //
|
||||
start_date: { type: DataTypes.DATE },
|
||||
code: { type: DataTypes.STRING }, //
|
||||
entry_date: { type: DataTypes.DATE }
|
||||
DetailID: { type: DataTypes.INTEGER },
|
||||
AccountTranDetailsID: { type: DataTypes.INTEGER },
|
||||
MemberRefNo: { type: DataTypes.INTEGER }, //
|
||||
StartDate: { type: DataTypes.DATE },
|
||||
Code: { type: DataTypes.INTEGER }, //
|
||||
EntryDate: { type: DataTypes.DATE }
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
tableName: 'emp_details',
|
||||
tableName: 'con_dpd_transaction_detail',
|
||||
modelName: 'ConDPDTranscation',
|
||||
}
|
||||
)
|
||||
|
||||
@ -7,16 +7,17 @@ module.exports = (sequelize, DataTypes) => {
|
||||
ConEnquiryDetail.init(
|
||||
|
||||
{
|
||||
ApplicationRefno: { type: DataTypes.INTEGER },
|
||||
EnquiryDetailsCreditLender: { type: DataTypes.STRING },
|
||||
EnquiryDetailsEnquiryDt: { type: DataTypes.STRING },
|
||||
EnquiryDetailsEnquiryPurpose: { type: DataTypes.STRING },
|
||||
EnquiryDetailsEnquiryAmt: { type: DataTypes.INTEGER },
|
||||
temp_id: { type: DataTypes.INTEGER }
|
||||
losid :{ type: DataTypes.STRING },
|
||||
EnquiryID: { type: DataTypes.INTEGER },
|
||||
MemberReferenceNumber: { type: DataTypes.INTEGER },
|
||||
DateOfEnquiry: { type: DataTypes.DATE },
|
||||
EnquiringMemberShortName: { type: DataTypes.STRING },
|
||||
EnquiryPurpose: { type: DataTypes.STRING },
|
||||
EnquiryAmount: { type: DataTypes.INTEGER }
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
tableName: 'com_enquiry_detail',
|
||||
tableName: 'con_enquiry_detail',
|
||||
modelName: 'ConEnquiryDetail',
|
||||
}
|
||||
)
|
||||
|
||||
@ -7,17 +7,18 @@ module.exports = (sequelize, DataTypes) => {
|
||||
ConIDDetail.init(
|
||||
|
||||
{
|
||||
id_detail_id: { type: DataTypes.INTEGER },
|
||||
member_ref_no: { type: DataTypes.STRING }, //
|
||||
id_type: { type: DataTypes.DATE },
|
||||
id_number: { type: DataTypes.STRING }, //
|
||||
issue_date: { type: DataTypes.DATE },
|
||||
expiration_date: { type: DataTypes.DATE },
|
||||
enrich_through_enquiry: { type: DataTypes.DATE }, //
|
||||
|
||||
IDDetailsID: { type: DataTypes.INTEGER },
|
||||
MemberReferenceNumber: { type: DataTypes.INTEGER }, //
|
||||
IDType: { type: DataTypes.STRING },
|
||||
IDNumber: { type: DataTypes.STRING }, //
|
||||
IssueDate: { type: DataTypes.DATE },
|
||||
ExpirationDate: { type: DataTypes.DATE },
|
||||
EnrichedThroughEnquiry: { type: DataTypes.DATE }, //
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
tableName: 'emp_details',
|
||||
tableName: 'con_id_detail',
|
||||
modelName: 'ConIDDetail',
|
||||
}
|
||||
)
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
'use strict'
|
||||
const { Model } = require('sequelize')
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
class CreditFacilityCurrentDertail extends Model {
|
||||
class CreditFacilityCurrentDetail extends Model {
|
||||
|
||||
}
|
||||
CreditFacilityCurrentDertail.init(
|
||||
CreditFacilityCurrentDetail.init(
|
||||
|
||||
{
|
||||
temp_id: { type: DataTypes.INTEGER },
|
||||
@ -65,10 +65,10 @@ module.exports = (sequelize, DataTypes) => {
|
||||
{
|
||||
sequelize,
|
||||
tableName: 'com_credit_facility_current_detail',
|
||||
modelName: 'CreditFacilityCurrentDertail',
|
||||
modelName: 'CreditFacilityCurrentDetail',
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
return CreditFacilityCurrentDertail
|
||||
return CreditFacilityCurrentDetail
|
||||
}
|
||||
@ -7,9 +7,10 @@ module.exports = (sequelize, DataTypes) => {
|
||||
EnquiryDetail.init(
|
||||
|
||||
{
|
||||
losid :{ type: DataTypes.STRING },
|
||||
ApplicationRefno: { type: DataTypes.INTEGER },
|
||||
EnquiryDetailsCreditLender: { type: DataTypes.STRING },
|
||||
EnquiryDetailsEnquiryDt: { type: DataTypes.STRING },
|
||||
EnquiryDetailsEnquiryDt: { type: DataTypes.DATE },
|
||||
EnquiryDetailsEnquiryPurpose: { type: DataTypes.STRING },
|
||||
EnquiryDetailsEnquiryAmt: { type: DataTypes.INTEGER },
|
||||
temp_id: { type: DataTypes.INTEGER }
|
||||
|
||||
30
app/models/InBorrowerDetail.js
Normal file
30
app/models/InBorrowerDetail.js
Normal file
@ -0,0 +1,30 @@
|
||||
'use strict'
|
||||
const { Model } = require('sequelize')
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
class InBorrowerDetail extends Model {
|
||||
|
||||
}
|
||||
InBorrowerDetail.init(
|
||||
|
||||
{
|
||||
losid : { type: DataTypes.STRING },
|
||||
ReferenceNumber : { type: DataTypes.STRING },
|
||||
ConsumerNameField1 : { type: DataTypes.STRING },
|
||||
ConsumerNameField2 : { type: DataTypes.STRING },
|
||||
ConsumerNameField3 : { type: DataTypes.STRING },
|
||||
ConsumerNameField4 : { type: DataTypes.STRING },
|
||||
ConsumerNameField5 : { type: DataTypes.STRING },
|
||||
PAN : { type: DataTypes.STRING },
|
||||
cibil_type : { type: DataTypes.INTEGER },
|
||||
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
tableName: 'in_borrower_detail',
|
||||
modelName: 'InBorrowerDetail',
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
return InBorrowerDetail
|
||||
}
|
||||
42
app/models/InCreditFacility.js
Normal file
42
app/models/InCreditFacility.js
Normal file
@ -0,0 +1,42 @@
|
||||
'use strict'
|
||||
const { Model } = require('sequelize')
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
class InCreditFacility extends Model {
|
||||
|
||||
}
|
||||
InCreditFacility.init(
|
||||
|
||||
{
|
||||
AccountTranDetailsID : {
|
||||
type: DataTypes.INTEGER,
|
||||
autoIncrement : true,
|
||||
primaryKey: true
|
||||
},
|
||||
InTblAccountTranDetailsID :{type : DataTypes.INTEGER},
|
||||
cibil_type : { type: DataTypes.INTEGER },
|
||||
losid : { type: DataTypes.STRING },
|
||||
ReferenceNumber : { type: DataTypes.STRING },
|
||||
AccountType : { type: DataTypes.STRING },
|
||||
OwnershipIndicator : { type: DataTypes.STRING },
|
||||
DateOpenedDisbursed:{type: DataTypes.DATE} ,
|
||||
month_bucket_index :{type: DataTypes.INTEGER},
|
||||
DateReportedAndCertified :{type: DataTypes.DATE} ,
|
||||
HighCreditSanctionedAmount : { type: DataTypes.INTEGER },
|
||||
CurrentBalance : { type: DataTypes.INTEGER },
|
||||
AmountOverdue : { type: DataTypes.INTEGER },
|
||||
CreditLimit : { type: DataTypes.INTEGER },
|
||||
RepaymentTenure : { type: DataTypes.INTEGER },
|
||||
EMIAmount : { type: DataTypes.INTEGER },
|
||||
WrittenOffAndSettledStatus : {type: DataTypes.STRING}
|
||||
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
tableName: 'in_credit_facility',
|
||||
modelName: 'InCreditFacility',
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
return InCreditFacility
|
||||
}
|
||||
27
app/models/InDpdTranscationTable.js
Normal file
27
app/models/InDpdTranscationTable.js
Normal file
@ -0,0 +1,27 @@
|
||||
'use strict'
|
||||
const { Model } = require('sequelize')
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
class InDpdTranscationTable extends Model {
|
||||
|
||||
}
|
||||
InDpdTranscationTable.init(
|
||||
|
||||
{
|
||||
AccountTranDetailsID : { type: DataTypes.INTEGER },
|
||||
ReferenceNumber : { type: DataTypes.STRING },
|
||||
cibil_type : { type: DataTypes.INTEGER },
|
||||
StartDate : { type: DataTypes.DATE },
|
||||
Code : { type: DataTypes.STRING },
|
||||
month_bucket_index : { type: DataTypes.INTEGER },
|
||||
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
tableName: 'in_dpd_transaction_detail',
|
||||
modelName: 'InDpdTranscationTable',
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
return InDpdTranscationTable
|
||||
}
|
||||
28
app/models/InEnquiryDetail.js
Normal file
28
app/models/InEnquiryDetail.js
Normal file
@ -0,0 +1,28 @@
|
||||
'use strict'
|
||||
const { Model } = require('sequelize')
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
class InEnquiryDetail extends Model {
|
||||
|
||||
}
|
||||
InEnquiryDetail.init(
|
||||
|
||||
{
|
||||
|
||||
losid : { type: DataTypes.STRING },
|
||||
ReferenceNumber : { type: DataTypes.STRING },
|
||||
cibil_type : { type: DataTypes.INTEGER },
|
||||
DateOfEnquiry : { type: DataTypes.DATE },
|
||||
month_bucket_index : { type: DataTypes.INTEGER },
|
||||
EnquiryPurpose : { type: DataTypes.STRING },
|
||||
EnquiryAmount : { type: DataTypes.INTEGER },
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
tableName: 'in_enquiry_detail',
|
||||
modelName: 'InEnquiryDetail',
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
return InEnquiryDetail
|
||||
}
|
||||
@ -5,7 +5,8 @@ module.exports = app => {
|
||||
const { logMsg } = require('../services/logger.js');
|
||||
var router = require("express").Router();
|
||||
|
||||
|
||||
router.get("/test2", Cibilcontroller.test2);
|
||||
router.get("/test", Cibilcontroller.test);
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
@ -243,11 +244,11 @@ router.get("/consolidatedSummaryViewOfCreditFacilities", Cibilcontroller.Consoli
|
||||
* required: true
|
||||
* example: Other
|
||||
* - in: query
|
||||
* name: input_data_from
|
||||
* name: month_range
|
||||
* schema:
|
||||
* type: string
|
||||
* required: true
|
||||
* example: consumerData
|
||||
* example: total
|
||||
* responses:
|
||||
* 200:
|
||||
* description: success
|
||||
@ -274,6 +275,12 @@ router.get("/enquiryAmountSplitUp", Cibilcontroller.EnquiryAmountSplitUp);
|
||||
* type: string
|
||||
* required: true
|
||||
* example: Other
|
||||
* - in: query
|
||||
* name: month_range
|
||||
* schema:
|
||||
* type: string
|
||||
* required: true
|
||||
* example: 1
|
||||
* responses:
|
||||
* 200:
|
||||
* description: success
|
||||
|
||||
80
app/services/cibil.controller.helper.js
Normal file
80
app/services/cibil.controller.helper.js
Normal file
@ -0,0 +1,80 @@
|
||||
//const { sequelize} = require('../models');
|
||||
const { logMsg } = require('../services/logger.js');
|
||||
|
||||
function createSkeleton(statement_end_date)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
end_date = "'"+statement_end_date+"'";
|
||||
let date = new Date(end_date);
|
||||
date.setDate(01);
|
||||
|
||||
years_skeleton = [];
|
||||
for(let i=0;i<36;i++)
|
||||
{
|
||||
//store on fly month number
|
||||
month_count = date.getMonth() + 1;
|
||||
//create on fly month data
|
||||
new_date = date.toLocaleString('default', { month: 'short' })+"-"+date.getFullYear();
|
||||
//create on fly period data
|
||||
if(month_count > 9)
|
||||
{ new_period = date.getFullYear()+"-"+month_count+"-01"; }
|
||||
else { new_period = date.getFullYear()+"-0"+month_count+"-01"; }
|
||||
obj = { months:new_date , period:new_period};
|
||||
// push skeleton object
|
||||
years_skeleton.push(obj);
|
||||
|
||||
|
||||
//Reset date here
|
||||
date.setMonth(date.getMonth() - 1);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
return years_skeleton;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
catch (error)
|
||||
{
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function findBucketCount(sk_array,dpd_date)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
current_dpd_date = "'"+dpd_date+"'";
|
||||
let date = new Date(current_dpd_date);
|
||||
converted_date = date.toLocaleString('default', { month: 'short' })+"-"+date.getFullYear();
|
||||
return findBucketNumber = new Promise((resolve, reject) => {
|
||||
sk_array.forEach((value,index,array) => {
|
||||
if(value.months == converted_date) { resolve(index + 1); }
|
||||
if (index === array.length -1) { resolve(37); }
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
catch (error)
|
||||
{
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
|
||||
createSkeleton : createSkeleton , findBucketCount : findBucketCount
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user