consolidated Api :GWM

This commit is contained in:
sriramv 2022-06-15 15:49:17 +05:30
parent 5af46865d3
commit 2f707f0583
2 changed files with 228 additions and 8 deletions

View File

@ -1,7 +1,7 @@
const { sequelize,OutputActiveAndClosedLoans,OutSanctionAmt_P,OutSanctionAmt_C,OutEnquiryAmountP,OutEnquiryAmountC} = require('../models')
const { logMsg } = require('../services/logger.js');
// landing page list of all pan number and reference number from commercial & consumer against losid
exports.LandingPageDetailsList =async (req, res) =>
{
try
@ -48,15 +48,11 @@ exports.ActiveAndClosedLoansDetailsList =async (req, res) =>
exports.SanctionAmtAndReplaceOfDeptDetailsList =async (req, res) =>
{
try
{
SanctionAmtData = await OutSanctionAmt_P.findOne({where:{losid:req.query.losid} , include: [ {model: OutSanctionAmt_C , attributes: ["months_range"], group: "months_range" }]});
SanctionAmtData = await OutSanctionAmt_P.findOne({where:{losid:req.query.losid,ref_no:req.query.ref_no} , include: [ {model: OutSanctionAmt_C , attributes: ["months_range"], group: "months_range" }]});
if(SanctionAmtData && SanctionAmtData.OutSanctionAmt_Cs.length != 0)
{
var select_items = "";
@ -76,7 +72,7 @@ exports.SanctionAmtAndReplaceOfDeptDetailsList =async (req, res) =>
});
var query = "Select a.id,a.facility_type,a.total "+select_items+" FROM out_sanction_amt_and_replacement_of_debt_p a "+sub_query+" WHERE a.losid = '"+req.query.losid+"' and ref_no = '"+req.query.ref_no+"'";
console.log(query);
sequelize.query(query).then(async(data) => {
SanctionData = {monthRange : monthRangeArray ,SanctionAmountData : data};
res.send({'status':200 , message:"Success." ,'data':SanctionData});
@ -101,7 +97,7 @@ exports.EnquirySummaryDetailsList =async (req, res) =>
{
try
{
EnquiryAmtData = await OutEnquiryAmountP.findOne({where:{losid:req.query.losid} , include: [ {model: OutEnquiryAmountC , attributes: ["months_range"], group: "months_range" }]});
EnquiryAmtData = await OutEnquiryAmountP.findOne({where:{losid:req.query.losid,ref_no:req.query.ref_no} , include: [ {model: OutEnquiryAmountC , attributes: ["months_range"], group: "months_range" }]});
if(EnquiryAmtData && EnquiryAmtData.OutEnquiryAmountCs.length != 0)
{
@ -165,3 +161,142 @@ exports.SummaryViewOfCreditFacilities =async (req, res) =>
};
// consolidated api's
exports.ConsolidatedActiveAndClosedLoansDetailsList =async (req, res) =>
{
try
{
LoanData = await OutputActiveAndClosedLoans.findAll({raw : true , where:{losid:req.query.losid}});
if(LoanData.length != 0)
{
res.send({'status':200 , message:"Success." ,'data': LoanData});
}
else{
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.ConsolidatedSanctionAmtAndReplaceOfDeptDetailsList =async (req, res) =>
{
try
{
SanctionAmtData = await OutSanctionAmt_P.findOne({where:{losid:req.query.losid} , include: [ {model: OutSanctionAmt_C , attributes: ["months_range"], group: "months_range" }]});
if(SanctionAmtData && SanctionAmtData.OutSanctionAmt_Cs.length != 0)
{
var select_items = "";
var sub_query = "";
const words = ['','one','two','three','four', 'five','six','seven','eight','nine','ten'];
monthRangeArray = [];
SanctionAmtData.OutSanctionAmt_Cs.forEach((value,index) => {
monthRange = value.dataValues.months_range;
monthRange_aliseName = monthRange.replace(/[->]/g , '_');
obj = { "key" : monthRange_aliseName , "name" : monthRange}
monthRangeArray.push(obj);
key_addition = index + 1;
alisename = words[key_addition];
select_items += ",SUM("+alisename+".amt) as amt_"+monthRange_aliseName+",SUM("+alisename+".count) as count_"+monthRange_aliseName+",SUM("+alisename+".opening_amt) as opening_amt_"+monthRange_aliseName+",SUM("+alisename+".opening_count) as opening_count_"+monthRange_aliseName+",SUM("+alisename+".closing_amt) as closing_amt_"+monthRange_aliseName+",SUM("+alisename+".closing_count) as closing_count_"+monthRange_aliseName+" ";
sub_query += " JOIN ( SELECT sanction_amt_id,months_range,amt,count,opening_amt,opening_count,closing_amt,closing_count FROM out_sanction_amt_and_replacement_of_debt_c where months_range= '"+monthRange+"' group by sanction_amt_id,months_range,amt,count,opening_amt,opening_count,closing_amt,closing_count) "+alisename+" ON a.id = "+alisename+".sanction_amt_id";
});
var query = "Select a.facility_type,SUM(a.total) as total "+select_items+" FROM out_sanction_amt_and_replacement_of_debt_p a "+sub_query+" WHERE a.losid = '"+req.query.losid+"' group by a.facility_type,a.total";
sequelize.query(query).then(async(data) => {
SanctionData = {monthRange : monthRangeArray ,SanctionAmountData : data};
res.send({'status':200 , message:"Success." ,'data':SanctionData});
}).catch(err=>{ logMsg.info(err); res.send({'status':400 , message: "Failed" ,'data': "Nodata"}); })
}
else
{
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"
}); } //end of try catch
};
exports.ConsolidatedEnquirySummaryDetailsList =async (req, res) =>
{
try
{
EnquiryAmtData = await OutEnquiryAmountP.findOne({where:{losid:req.query.losid} , include: [ {model: OutEnquiryAmountC , attributes: ["months_range"], group: "months_range" }]});
if(EnquiryAmtData && EnquiryAmtData.OutEnquiryAmountCs.length != 0)
{
var select_items = "";
var sub_query = "";
const words = ['','one','two','three','four', 'five','six','seven','eight','nine','ten'];
monthRangeArray = [];
EnquiryAmtData.OutEnquiryAmountCs.forEach((value,index) => {
monthRange = value.dataValues.months_range;
monthRange_aliseName = monthRange.replace(/[->]/g , '_');
obj = { "key" : monthRange_aliseName , "name" : monthRange}
monthRangeArray.push(obj);
key_addition = index + 1;
alisename = words[key_addition];
select_items += ",SUM("+alisename+".amt) as amt_"+monthRange_aliseName+",SUM("+alisename+".count) as count_"+monthRange_aliseName+" ";
sub_query += " JOIN ( SELECT enquiry_amount_id,months_range,amt,count FROM out_enquiry_amount_c where months_range= '"+monthRange+"' group by enquiry_amount_id,months_range,amt,count) "+alisename+" ON a.id = "+alisename+".enquiry_amount_id";
});
var query = "Select a.facility_type,SUM(a.total) as total "+select_items+" FROM out_enquity_amount_p a "+sub_query+" WHERE a.losid = '"+req.query.losid+"' group by a.facility_type,a.total ";
sequelize.query(query).then(async(data) => {
EnquiryData = {monthRange : monthRangeArray ,EnquiryAmountData : data};
res.send({'status':200 , message:"Success." ,'data':EnquiryData});
}).catch(err=>{ res.send({'status':400 , message: "Failed" ,'data': "Nodata"}); })
}
else
{
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"
}); } //end of try catch
};
exports.ConsolidatedSummaryViewOfCreditFacilities =async (req, res) =>
{
try
{
sequelize.query("select count(*) as total_accounts_count,count(case when overdue_amount > 0 then 1 else null end) as overdue_amount_count,count(case when current_balance = 0 then 1 else null end) as zero_balance_count,count(case when overdue_amount <= 0 then 1 else null end) as nill_overdue_amount_count,MAX(sanctioned_amount) as high_credit,SUM(current_balance) as sum_current_balance ,SUM(overdue_amount) as sum_overdue_amount ,MAX(opened_date) as latest_opened_date ,MIN(opened_date) as oldest_opened_date from out_active_and_closed_loans_details where losid = '"+req.query.losid+"' and is_active = 1 " ).then(async(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"
}); } //end of try catch
};

View File

@ -133,6 +133,91 @@ router.get("/enquirySummaryDetailsList", Cibilcontroller.EnquirySummaryDetailsLi
/**
* @swagger
* /api/consolidatedActiveAndClosedLoansDetailsList:
* get:
* summary: consolidated loan Details List
* description: Get active & closed loans Data
* parameters:
* - in: query
* name: losid
* schema:
* type: string
* required: true
* example: MW112233
* responses:
* 200:
* description: success
*/
router.get("/consolidatedActiveAndClosedLoansDetailsList", Cibilcontroller.ConsolidatedActiveAndClosedLoansDetailsList);
/**
* @swagger
* /api/consolidatedSanctionAmtAndReplaceOfDeptDetailsList:
* get:
* summary: consolidated sanction Amt And Replace Of Dept Details List
* description:
* parameters:
* - in: query
* name: losid
* schema:
* type: string
* required: true
* example: MW112233
* responses:
* 200:
* description: success
*/
router.get("/consolidatedSanctionAmtAndReplaceOfDeptDetailsList", Cibilcontroller.ConsolidatedSanctionAmtAndReplaceOfDeptDetailsList);
/**
* @swagger
* /api/consolidatedEnquirySummaryDetailsList:
* get:
* summary: consolidated Enquiry Summary Details
* description:
* parameters:
* - in: query
* name: losid
* schema:
* type: string
* required: true
* example: MW112233
* responses:
* 200:
* description: success
*/
router.get("/consolidatedEnquirySummaryDetailsList", Cibilcontroller.ConsolidatedEnquirySummaryDetailsList);
/**
* @swagger
* /api/consolidatedSummaryViewOfCreditFacilities:
* get:
* summary: consolidated Summary View Of Credit Facilities
* description:
* parameters:
* - in: query
* name: losid
* schema:
* type: string
* required: true
* example: MW112233
* responses:
* 200:
* description: success
*/
router.get("/consolidatedSummaryViewOfCreditFacilities", Cibilcontroller.ConsolidatedSummaryViewOfCreditFacilities);
// routes started here
app.use('/api', router);
};