smc_cet_mainapp_backend/app/controllers/entity.applicant.controller.js
2023-08-17 16:22:13 +05:30

1414 lines
53 KiB
JavaScript

const { raw } = require('body-parser');
const { sequelize , LoanDetail , EntityDetails , ApplicantsDetails , ApplicantsRelationship , ResidenceAddressDetails , PropertyOwnershipIncomeConsidered , DueDiligenceCheck , TradeReferences , CheckTypeMaster , EnquiriesAndDisbursements , PropertyAndLtv , ATNWrelatedInputs , SalesPD , ATNWrelatedInputMaster ,ATNWrelationship , OtherParameterMaster ,OtherParameterMasterValue , OtherParameterRelationship , OtherParameters , ATNErelatedInputSubVal , DataFromLos , FormulaMaster , LoanAndLtvMaster , EntityApplicantMaster } = require('../models')
const { logMsg } = require('../services/logger.js');
//create EntityDetails , DueDiligenceCheck And ATNWrelatedInputs API
exports.createEntityDetails = async (req, res) =>
{
try
{
EntityDetails.create(req.body).then(async(data) =>
{
CheckTypeMaster.findAll({raw: true , where : {is_active : 1}}).then(async(CheckTypeMasterData) =>
{
entityid = data.dataValues.id;
DueDiligenceCheckData = [];
for (const value of CheckTypeMasterData)
{
check_type_obj = {entity_id:entityid , check_type_id:value.id , check_type:value.value};
DueDiligenceCheckData.push(check_type_obj);
}
setTimeout(() => {
DueDiligenceCheck.bulkCreate(DueDiligenceCheckData)
.then(DueDiligenceCheckData =>{ logMsg.info("DueDiligenceCheck Data Creation Success for EntityId= "+entityid); })
.catch(err =>{ logMsg.info("DueDiligenceCheck Data Creation Failed for EntityId= "+entityid+" Error= "+err); });
}, 500);
})
.catch(err => { logMsg.info("DueDiligenceCheckType Data Fetching Failed for EntityId= "+entityid+" Error= "+err); });
// ATNWrelatedInput data create
ATNWrelatedInputMaster.findAll({raw: true , where : {is_active : 1}}).then(async(ATNWrelatedInputMasterData) =>
{
entityid = data.dataValues.id;
ATNWrelatedInputMasterData_arr = [];
ATNWrelatedInputMasterData_arr_val = [];
for (const value of ATNWrelatedInputMasterData)
{
if ( value.id == 9 || value.id == 10 )
{
atnw_master_value_data = { atnw_related_input :value.master_name };
ATNWrelatedInputMasterData_arr_val.push(atnw_master_value_data);
}
else
{
atnw_master_data = {entity_id:entityid , atnw_related_input_id:value.id , atnw_related_input:value.master_name};
ATNWrelatedInputMasterData_arr.push(atnw_master_data);
}
}
setTimeout(() => {
ATNWrelatedInputs.bulkCreate(ATNWrelatedInputMasterData_arr)
.then(ATNWrelatedInputMasterData_arr =>
{
ATNWrelatedInputMasterData_arr.forEach( async (atnw_element) => {
if (atnw_element.atnw_related_input_id == 8) {
ATNWrelatedInputMasterData_arr_val.forEach( async (atnw_related_input_id_element) => {
Object.assign( atnw_related_input_id_element, { master_id : atnw_element.id });
ATNErelatedInputSubVal.create(atnw_related_input_id_element).then(data => {
logMsg.info("ATNWrelatedInputs_subValue Data Creation Success for EntityId= "+entityid);
})
});
}
});
logMsg.info("ATNWrelatedInputs Data Creation Success for EntityId= "+entityid);
})
.catch(err =>{ logMsg.info("ATNWrelatedInputs Data Creation Failed for EntityId= "+entityid+" Error= "+err); });
}, 500);
})
.catch(err => { logMsg.info("ATNWrelatedInputs Data Fetching Failed for EntityId= "+entityid+" Error= "+err); });
// delete from atnw_related_inputs where entity_id = 2
// otherParameter data create
OtherParameterMaster.findAll({raw: true , where : {is_active : 1}}).then(async(OtherParameterMasterData) =>
{
entityid = data.dataValues.id;
OtherParameterMasterData_arr = [];
for (const value of OtherParameterMasterData)
{
op_master_data = {entity_id:entityid , op_master_id:value.id , master_name:value.master_name};
OtherParameterMasterData_arr.push(op_master_data);
}
setTimeout(() => {
OtherParameters.bulkCreate(OtherParameterMasterData_arr)
.then(OtherParameterMasterData_arr =>{ logMsg.info("otherParameter Data Creation Success for EntityId= "+entityid); })
.catch(err =>{ logMsg.info("otherParameter Data Creation Failed for EntityId= "+entityid+" Error= "+err); });
}, 500);
})
.catch(err => { logMsg.info("otherParameter Data Fetching Failed for EntityId= "+entityid+" Error= "+err); });
setTimeout(() => {
res.send({'status':200,'message':"success",'data':data});
}, 1000);
logMsg.info("Entity created successfully");
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//update Entity Details Api
exports.updateEntityDetails = async (req, res) =>
{
try
{
id = req.body.id;
delete req.body.id;
// update check value
EntityDetails.update(req.body,{ where: { id: id }}).then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//create Applicant Details with ResidenceAddress & ApplicantRelationship & PropertyOwnership Details (or) Applicant Details with PropertyOwnership Details
exports.createApplicantDetails = async (req, res) =>
{
try
{
ApplicantsRelationshipData = req.body.applicant_relationship;
ResidenceAddressDetailsData = req.body.residence_address;
PropertyOwnershipIncomeConsideredData = req.body.property_ownership_income_considered;
delete req.body.applicant_relationship
delete req.body.residence_address
delete req.body.property_ownership_income_considered ;
await ApplicantsDetails.create(req.body).then(async (data) =>
{
if(req.body.entity_type == "Individual")
{
ApplicantsRelationshipData = Object.assign(ApplicantsRelationshipData, {loan_no_id: req.body.loan_no_id});
ApplicantsRelationshipData = Object.assign(ApplicantsRelationshipData, {losid: req.body.losid});
ApplicantsRelationshipData = Object.assign(ApplicantsRelationshipData, {applicant_id: data.dataValues.id});
await ApplicantsRelationship.create(ApplicantsRelationshipData)
.then(data=>{logMsg.info("ApplicantsRelationship inserted");}).catch(err=>{logMsg.info("ApplicantsRelationship Failed , Msg :" +err);});
ResidenceAddressDetailsData = Object.assign(ResidenceAddressDetailsData, {loan_no_id: req.body.loan_no_id});
ResidenceAddressDetailsData = Object.assign(ResidenceAddressDetailsData, {losid: req.body.losid});
ResidenceAddressDetailsData = Object.assign(ResidenceAddressDetailsData, {applicant_id: data.dataValues.id});
await ResidenceAddressDetails.create(ResidenceAddressDetailsData)
.then(data=>{logMsg.info("ResidenceAddressDetails inserted");}).catch(err=>{logMsg.info("ResidenceAddressDetails Failed , Msg :" +err);});
if (req.body.product == "LFMP")
{
PropertyOwnershipIncomeConsideredData = Object.assign(PropertyOwnershipIncomeConsideredData, {loan_no_id: req.body.loan_no_id});
PropertyOwnershipIncomeConsideredData = Object.assign(PropertyOwnershipIncomeConsideredData, {losid: req.body.losid});
PropertyOwnershipIncomeConsideredData = Object.assign(PropertyOwnershipIncomeConsideredData, {applicant_id: data.dataValues.id});
await PropertyOwnershipIncomeConsidered.create(PropertyOwnershipIncomeConsideredData)
.then(data=>{logMsg.info("PropertyOwnershipIncomeConsidered inserted");}).catch(err=>{logMsg.info("PropertyOwnershipIncomeConsidered Failed , Msg :" +err);});
}
}
else
{
if (req.body.product == "LFMP")
{
PropertyOwnershipIncomeConsideredData = Object.assign(PropertyOwnershipIncomeConsideredData, {loan_no_id: req.body.loan_no_id});
PropertyOwnershipIncomeConsideredData = Object.assign(PropertyOwnershipIncomeConsideredData, {losid: req.body.losid});
PropertyOwnershipIncomeConsideredData = Object.assign(PropertyOwnershipIncomeConsideredData, {applicant_id: data.dataValues.id});
await PropertyOwnershipIncomeConsidered.create(PropertyOwnershipIncomeConsideredData)
.then(data=>{logMsg.info("PropertyOwnershipIncomeConsidered inserted");}).catch(err=>{logMsg.info("PropertyOwnershipIncomeConsidered Failed , Msg :" +err);});
}
}
// send response here
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//update ApplicantDetails
exports.updateApplicantDetails = async (req, res) =>
{
try
{
id = req.body.id;
delete req.body.id;
ApplicantsDetails.findOne({raw: true , where: { id: id }}).then(async (ApplicantsDetailsData) =>
{
if(ApplicantsDetailsData.name != req.body.name)
{
ApplicantsDetails.update(req.body,{ where: { id: id }}).then(async(data) =>
{
await ApplicantsRelationship.update({name_of_the_individual:req.body.name},{ where: { applicant_id: id , is_active : 1}})
.then(data=>{logMsg.info("ApplicantsRelationship name updated");}).catch(err=>{logMsg.info("ApplicantsRelationship name update Failed , Msg :" +err);});
await ResidenceAddressDetails.update({name_of_the_individual:req.body.name},{ where: { applicant_id: id , is_active : 1}})
.then(data=>{logMsg.info("ResidenceAddressDetails name updated");}).catch(err=>{logMsg.info("ResidenceAddressDetails name update Failed , Msg :" +err);});
await PropertyOwnershipIncomeConsidered.update({name_of_the_loan_applicants:req.body.name,applicant_type:req.body.applicant_type},{ where: { applicant_id: id , is_active : 1}})
.then(data=>{logMsg.info("PropertyOwnershipIncomeConsidered name updated");}).catch(err=>{logMsg.info("PropertyOwnershipIncomeConsidered name update Failed , Msg :" +err);});
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
}
else if (ApplicantsDetailsData.applicant_type != req.body.applicant_type)
{
ApplicantsDetails.update(req.body,{ where: { id: id }}).then(async(data) =>
{
await PropertyOwnershipIncomeConsidered.update({applicant_type:req.body.applicant_type},{ where: { applicant_id: id , is_active : 1}})
.then(data=>{logMsg.info("PropertyOwnershipIncomeConsidered applicant_type updated");}).catch(err=>{logMsg.info("PropertyOwnershipIncomeConsidered applicant_type update Failed , Msg :" +err);});
res.send({'status':200,'message':"success",'data':data});
}).catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
}
else
{
ApplicantsDetails.update(req.body,{ where: { id: id }}).then(async(data) =>
{
res.send({'status':200,'message':"success",'data':data});
}).catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//update ApplicantsRelationship Api (Deactivate old value create new record)
exports.updateApplicantsRelationship = async (req, res) =>
{
try
{
id = req.body.id;
updatedby = req.body.updatedby;
delete req.body.id;
delete req.body.updatedby;
// update old value is_active = 0 where requested id
await ApplicantsRelationship.update({ updatedby : updatedby ,is_active : 0 },{ where: { id: id }});
// create new entry
ApplicantsRelationship.create(req.body).then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
}
//update ResidenceAddressDetails Api (Deactivate old value create new record)
exports.updateResidenceAddressDetails = async (req, res) =>
{
try
{
id = req.body.id;
updatedby = req.body.updatedby;
delete req.body.id;
delete req.body.updatedby;
// update old value is_active = 0 where requested id
await ResidenceAddressDetails.update({ updatedby : updatedby ,is_active : 0 },{ where: { id: id }});
// create new entry
ResidenceAddressDetails.create(req.body).then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
}
//update PropertyOwnership and IncomeConsidered data Api (Deactivate old value create new record)
exports.updatePropertyOwnershipIncomeConsidered = async (req, res) =>
{
try
{
id = req.body.id;
updatedby = req.body.updatedby;
delete req.body.id;
delete req.body.updatedby;
// update old value is_active = 0 where requested id
await PropertyOwnershipIncomeConsidered.update({ updatedby : updatedby ,is_active : 0 },{ where: { id: id }});
// create new entry
PropertyOwnershipIncomeConsidered.create(req.body).then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
}
//create TradeReferencesDetails Api
exports.createTradeReferencesDetails = async (req, res) =>
{
try
{
TradeReferences.create(req.body).then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//update TradeReferencesDetails Api (Deactivate old value create new record)
exports.updateTradeReferencesDetails = async (req, res) =>
{
try
{
id = req.body.id;
updatedby = req.body.updatedby;
delete req.body.id;
delete req.body.updatedby;
// update old value is_active = 0 where requested id
await TradeReferences.update({ updatedby : updatedby ,is_active : 0 },{ where: { id: id }});
// create new entry
TradeReferences.create(req.body).then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//update DueDiligenceCheck Api
exports.updateDueDiligenceCheck = async (req, res) =>
{
try
{
req.body.forEach( async (element , index ) =>
{
id = element.id;
delete element.id;
// update value
DueDiligenceCheck.update(element,{ where: { id: id }}).then(data =>
{
if (index == [req.body].length -1)
{
res.send({'status':200,'message':"success",'data':data});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//create EnquiriesAndDisbursements Api
exports.createEnquiriesAndDisbursementsDetails = async (req, res) =>
{
try
{
EnquiriesAndDisbursements.create(req.body).then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while inserting." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting ." ,'data': "No data" });
} //end of try catch
};
//update EnquiriesAndDisbursements Api (Deactivate old value create new record)
exports.updateEnquiriesAndDisbursementsDetails = async (req, res) =>
{
try
{
id = req.body.id;
updatedby = req.body.updatedby;
delete req.body.id;
delete req.body.updatedby;
// update old value is_active = 0 where requested id
await EnquiriesAndDisbursements.update({ updatedby : updatedby ,is_active : 0 },{ where: { id: id }});
// create new entry
EnquiriesAndDisbursements.create(req.body).then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while updating ." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while updating ." ,'data': "No data" });
} //end of try catch
};
//landingPageApi(All Loan detail list ) List Api
exports.landingPageApi = async (req, res) =>
{
try
{
LoanDetail.findAll({raw: true , where : { is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//EntityDetails List Api
exports.EntityDetailsList = async (req, res) =>
{
try
{
EntityDetails.findAll({raw: true ,where:{losid : req.query.losid , loan_no_id : req.query.loan_no_id , is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//ApplicantDetails List Api
exports.ApplicantDetailsList = async (req, res) =>
{
try
{
ApplicantsDetails.findAll({raw: true , where:{losid : req.query.losid ,loan_no_id : req.query.loan_no_id , is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//ApplicantRelationship List Api
exports.ApplicantRelationshipList = async (req, res) =>
{
try
{
ApplicantsRelationship.findAll({raw: true , where:{losid : req.query.losid , loan_no_id : req.query.loan_no_id , is_active : 1 }}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//ResidenceAddressDetails List Api
exports.ResidenceAddressDetailsList = async (req, res) =>
{
try
{
ResidenceAddressDetails.findAll({raw: true , where:{losid : req.query.losid , loan_no_id : req.query.loan_no_id , is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//PropertyOwnership List Api
exports.PropertyOwnershipList = async (req, res) =>
{
try
{
PropertyOwnershipIncomeConsidered.findAll({raw: true , where:{losid : req.query.losid , loan_no_id : req.query.loan_no_id , is_active : 1 }}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//DueDiligenceCheck List Api
exports.DueDiligenceCheckList = async (req, res) =>
{
try
{
DueDiligenceCheck.findAll({raw: true , where : {entity_id : req.query.entity_id , is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//TradeReferences List Api
exports.TradeReferencesList = async (req, res) =>
{
try
{
TradeReferences.findAll({raw: true , where : {entity_id : req.query.entity_id , is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//EnquiriesAndDisbursements List Api
exports.EnquiriesAndDisbursementsList = async (req, res) =>
{
try
{
EnquiriesAndDisbursements.findAll({raw: true , where : {entity_id : req.query.entity_id , is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
// Entity and Applicant Name List Api for banking module (not for this module use)
exports.EntityApplicantNameList = async (req, res) =>
{
try
{
sequelize.query("select losid, entity_name as ac_in_name_of from entity_details where losid = '"+req.query.losid+"' and is_active = 1 union select losid, name as ac_in_name_of from applicants 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':404,message: err.message || "Some error occurred while fetching." ,'data': "No data" })});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while fetching." ,'data': "No data" });
} //end of try catch
};
//update updateATNWrelatedInputs Api
exports.updateATNWrelatedInputs = async (req, res) =>
{
try
{
// update value
req.body.forEach( async (element , index ) =>
{
const update_subValue_data = element.subValue;
delete element.subValue;
id = element.id;
delete element.id;
ATNWrelatedInputs.update(element,{ where: { id: id }}).then(data =>
{
if (element.atnw_related_input_id == 8)
{
update_subValue_data.forEach( async (update_subValue_data_element , index ) => {
id = update_subValue_data_element.id;
delete update_subValue_data_element.id;
ATNErelatedInputSubVal.update(update_subValue_data_element,{ where: { id: id }}).then(data =>
{
if (update_subValue_data.length - 1 == index)
{
res.send({'status':200,'message':"success",'data':data});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
});
}
// else if( req.body.length - 1 == index )
// {
// res.send({'status':200,'message':"success",'data':data});
// }
logMsg.info("ATNWrelatedInputs Data Update Success "+data);
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//this api for SalesPd module (not for this module use)
exports.MainApplicantDetailsList = async (req, res) =>
{
try
{
ApplicantsDetails.findOne({raw: true , where:{losid : req.query.losid ,applicant_type : "Main Applicant" , is_active : 1}}).then(data =>
{
if(data)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//create Property & LTV Details Api
exports.createPropertyAndLtv = async (req, res) =>
{
try
{
PropertyAndLtv.create(req.body).then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//update Property & LTV Details Api
exports.updatePropertyAndLtv = async (req, res) =>
{
try
{
id = req.body.id;
updatedby = req.body.updatedby;
delete req.body.id;
delete req.body.updatedby;
PropertyAndLtv.update(req.body,{ where: { id: id }})
.then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
}
//Property & LTV Details List Api
exports.PropertyAndLtvList = async (req, res) =>
{
try
{
PropertyAndLtv.findAll({ where : { losid : req.query.losid , is_active : 1},
include : [{ model : LoanDetail}],
}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//delete Property & LTV Details Api
exports.deletePropertyAndLtv = async (req, res) =>
{
try
{
PropertyAndLtv.delete({ where: { id: req.query.id }})
.then(data =>
{
res.send({'status':200,'message':"success",'data':"No data"});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
}
//create LoanDetail Api
exports.createLoanDetail = async (req, res) =>
{
try
{
LoanDetail.create(req.body).then(data =>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//update LoanDetail Api
exports.updateLoanDetail = async (req, res) =>
{
try
{
id = req.body.id;
updatedby = req.body.updatedby;
delete req.body.id;
delete req.body.updatedby;
await LoanDetail.update(req.body,{ where: { id: id }}).then(data=>{
res.send({'status':200,'message':"success",'data':data})
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
}
//ATNWrelatedInputsList List Api
exports.ATNWrelatedInputsList = async (req, res) =>
{
try
{
ATNWrelatedInputs.findAll( { where : {entity_id : req.query.entity_id , is_active : 1},
include : [{ model: ATNErelatedInputSubVal }]
}).then(data =>
{
if(data.length > 0)
{
Object.assign(data[7].ATNErelatedInputSubVals[0].dataValues ,{ 'market_valuation_rs' : data[7].ATNErelatedInputSubVals[0].atnw_related_input_value });
Object.assign(data[7].ATNErelatedInputSubVals[1].dataValues,{ 'gross_book_value_rs' : data[7].ATNErelatedInputSubVals[1].atnw_related_input_value });
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//update OtherParameter Api
exports.updateOtherParameters = async (req, res) =>
{
try
{
req.body.forEach( async (element,index) =>
{
id = element.id;
delete element.id;
// update value
OtherParameters.update(element,{ where: { id: id }}).then(data =>
{
if ([req.body].length - 1 == index) {
res.send({'status':200,'message':"success",'data':data});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//OtherParameters List Api
exports.OtherParametersList = async (req, res) =>
{
try
{
OtherParameters.findAll({raw: true , where : {entity_id : req.query.entity_id , is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
//LoanDeatilList List Api
exports.LoanDeatilList = async (req, res) =>
{
try
{
LoanDetail.findAll({raw: true , where : { losid : req.query.losid , is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
// Pan List Api For Cibil
exports.ApplicantPanList = async (req, res) =>
{
try
{
LoanDetail.findAll({ where : { losid : req.query.losid , is_active : 1}}).then(data =>
{
sequelize.query(`SELECT loan_details.losid , applicants.pan_no AS PAN , applicants.entity_type FROM loan_details JOIN applicants ON applicants.loan_no_id = '${data[0].id}' and applicants.is_active = 1 where loan_details.id = '${data[0].id}' and loan_details.is_active = 1; \
SELECT loan_details.losid , entity_details.pan_no As PAN , entity_details.entity_type FROM loan_details JOIN entity_details ON entity_details.loan_no_id = '${data[0].id}' and entity_details.is_active = 1 where loan_details.id = '${data[0].id}' and loan_details.is_active = 1`)
.then(data=>
{
res.send({'status':200,'message':"success",'data':data});
})
.catch(err=>{ res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" })});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
// Data from api List Api
exports.DataFromLos = async (req, res) =>
{
try
{
DataFromLos.findAll({raw: true , where : { is_editable : 0 , is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
// Formula Master List Api
exports.FormulaMasterList = async (req, res) =>
{
try
{
FormulaMaster.findAll({raw: true , where : { is_active : 1}}).then(data =>
{
if(data.length > 0)
{
res.send({'status':200,'message':"success",'data':data});
}
else {
res.send({'status':404,'message':"failed",'data':"No data"});
}
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
// Master List Api
exports.MainAppMasterDataList = async (req, res) =>
{
try
{
FormulaMasterData = await FormulaMaster.findAll({ where : { is_active : 1}});
EntityApplicantMasterData = await EntityApplicantMaster.findAll({ where : { is_active : 1}});
LoanAndLtvMasterData = await LoanAndLtvMaster.findAll({ where : { is_active : 1}});
if(FormulaMasterData.length > 0 || EntityApplicantMasterData.length > 0 || LoanAndLtvMasterData.length > 0 )
{
data = { 'FormulaMasterData': FormulaMasterData ,'EntityApplicantMasterData': EntityApplicantMasterData ,'LoanAndLtvMasterData': LoanAndLtvMasterData }
res.send({'status':200,'message':"success", "data" : data });
}
else
{
res.send({'status':404,'message':"failed",'data':"No data"});
}
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" });
} //end of try catch
};
// delete trade reference api
exports.DeleteTradeReference = async (req, res) =>
{
try
{
TradeReferences.destroy({ where: { id : req.query.id , is_active : 1 }})
.then(data =>
{
res.send({'status':200,'message':"success",'data': data});
})
.catch(err => {
res.send({'status':404,
message: err.message || "Some error occurred while create entity applicant masterdata." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while fetching." ,'data': "No data" });
} //end of try catch
};
// test api
exports.test = async (req, res) =>
{
try
{
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while fetching." ,'data': "No data" });
} //end of try catch
};
// exports.queryConstruct = async (req, res) => {
// try
// {
// data = [];
// let Queryvalues = "CREATE TABLE com_borrower_profile ";
// data.forEach((result, index, array) => {
// Object.keys(result).forEach((key) => {
// if(index == 0)
// {
// if(result[key] == 'float')
// { Datatype = "numeric(25,0) NULL"; Queryvalues += "("+key +" "+Datatype+","; }
// else if(result[key] == 'NoneType')
// { Datatype = "nvarchar(255) NULL"; Queryvalues += "("+key +" "+Datatype+","; }
// else if(result[key] == 'str')
// { Datatype = "nvarchar(255) NULL"; Queryvalues += "("+key +" "+Datatype+","; }
// else if(result[key] == 'datetime')
// { Datatype = "datetime NULL"; Queryvalues += "("+key +" "+Datatype+","; }
// else if(result[key] == 'int')
// { Datatype = "int NULL"; Queryvalues += "("+key +" "+Datatype+","; }
// }
// else if (array.length == index + 1 )
// {
// if(result[key] == 'float')
// { Datatype = "numeric(25,0) NULL"; Queryvalues += key +" "+Datatype+", ";}
// else if(result[key] == 'NoneType')
// { Datatype = "nvarchar(255) NULL"; Queryvalues += key +" "+Datatype+", ";}
// else if(result[key] == 'str')
// { Datatype = "nvarchar(255) NULL"; Queryvalues += key +" "+Datatype+", "; }
// else if(result[key] == 'datetime')
// { Datatype = "datetime NULL"; Queryvalues += key +" "+Datatype+", "; }
// else if(result[key] == 'int')
// { Datatype = "int NULL"; Queryvalues += key +" "+Datatype+")"; }
// }
// else
// {
// if(result[key] == 'float')
// { Datatype = "numeric(25,0) NULL"; Queryvalues += key +" "+Datatype+","; }
// else if(result[key] == 'NoneType')
// { Datatype = "nvarchar(255) NULL"; Queryvalues += key +" "+Datatype+","; }
// else if(result[key] == 'str')
// { Datatype = "nvarchar(255) NULL"; Queryvalues += key +" "+Datatype+","; }
// else if(result[key] == 'datetime')
// { Datatype = "datetime NULL"; Queryvalues += key +" "+Datatype+","; }
// else if(result[key] == 'int')
// { Datatype = "int NULL"; Queryvalues += key +" "+Datatype+","; }
// }
// })
// })
// setTimeout(() => {
// Queryvalues += "createdby int NULL , createdAt datetimeoffset(7) NULL , updatedby int NULL , updatedAt datetimeoffset(7) NULL )"
// console.log(Queryvalues);
// }, 7000);
// }catch(err) {
// res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data"});
// }
// };
// exports.insertQueryConstruct = async (req, res) => {
// try
// {
// ColumnNameData = [{"PhoneDetailsID": "float"}, {"MemberReferenceNumber": "float"}, {"TelephoneNumber": "float"}, {"TelephoneExtension": "NoneType"}, {"TelephoneType": "str"}, {"EnrichedThroughEnquiry": "str"}];
// QueryColumn = "INSERT INTO table_name ";
// ColumnNameData.forEach((result, index, array) => {
// Object.keys(result).forEach((key) => {
// if(index == 0) { QueryColumn += "( "+key; }
// else if (array.length == index + 1 ) { QueryColumn += ", "+key+" )"; }
// else { QueryColumn += ", "+key; }
// })
// })
// data = [];
// let Queryvalues = "";
// data.forEach((result, index, array) => {
// Object.keys(result).forEach((key , index , array ) => {
// if(index == 0) {
// if (typeof result[key] === 'string' ) { Queryvalues += "('"+result[key]+"',"; } else { Queryvalues += "("+result[key]+","; }
// }
// else if (array.length == index + 1 ) {
// if (typeof result[key] === 'string' ) { Queryvalues += "'"+result[key]+"'),"; } else { Queryvalues += result[key]+"),"; }
// }
// else {
// if (typeof result[key] === 'string' ) { Queryvalues += "'"+result[key]+"',"; } else { Queryvalues += result[key]+","; }
// }
// })
// })
// setTimeout(() => {
// Queryvalues = Queryvalues.slice(0, -1);
// console.log(QueryColumn +" VALUES "+ Queryvalues);
// }, 7000);
// }catch(err) { res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data"}); }
// };