splitUp:GWM

This commit is contained in:
sriramv 2022-06-29 15:00:04 +05:30
parent 8dae71820b
commit e4a0712c6a
15 changed files with 715 additions and 99 deletions

View File

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

View File

@ -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 },

View File

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

View File

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

View File

@ -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',
}
)

View File

@ -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',
}
)

View File

@ -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',
}
)

View File

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

View File

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

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

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

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

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

View File

@ -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

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