consolidated Api :GWM
This commit is contained in:
parent
5af46865d3
commit
2f707f0583
@ -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
|
||||
|
||||
};
|
||||
@ -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);
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user