smc_cet_salespd_backend/app/controllers/salespd.controller.js
2023-08-04 15:36:27 +05:30

1305 lines
60 KiB
JavaScript

const { sequelize, GeneralSection , BriefOfBusiness , DetailsOfKeyShareHolder , FinalRemarks , FinancialInformation , FundRequirement , InstitutionDetail , OfficerDetails , Photograph , ProductInformation , PropertyInformation} = require('../models')
const { logMsg } = require('../services/logger.js');
const ApiCallHelper = require('../services/apicallhelper.js');
const request = require('request');
const fs = require('fs');
const path = require('path');
const {Storage} = require('@google-cloud/storage');
exports.PullSalesPdData = async (req, res) =>
{
try
{
IfGeneralSectionDataExist = await GeneralSection.findOne({ where : { ref_no : req.body.pdid ,product:req.body.product,case_no :req.body.caseno, is_active : 1 }});
if(IfGeneralSectionDataExist)
{
res.send({'status':200, 'message': "data already exist." ,'data': "No data" });
logMsg.info("GeneralSection data already exist.,PdId(ref_no)= "+req.body.pdid);
}
else
{
var salesPD = new Promise(async(resolve, reject) => {
const tempData =JSON.parse(JSON.stringify(req.body.data));
logMsg.info("Insertion started for PdId(ref_no)= "+req.body.pdid);
var count = 0;
var generalSectionData = [ ];
var storeId = [ ];
const len = Object.keys(tempData).length - 1;
for (const [keys, values] of Object.entries(tempData)) {
count++;
if (Array.isArray(values) == true )
{
pre_year_sales = 0;
pre_year_net_profit = 0;
pre_year_net_pro_loss_per = 0;
values.forEach(async(values) => {
if (keys == 'section1') {
if(values.pincode == 'Others') { pincode = values.pincode_others; }else { pincode = values.pincode; }
if(values.person_met_contact_no == "") { delete values.person_met_contact_no; }
Object.assign(values, { ref_no: req.body.pdid , product :req.body.product , case_no :req.body.caseno , completed_date : new Date(req.body.completed_date) , pincode : pincode , sales_pd_type:req.body.sales_pd_type,employee_id : req.body.employee_id});
await GeneralSection.create( values )
.then((successData)=>{logMsg.info("GeneralSection insert success ,PdId= "+successData.dataValues.pd_id);})
.catch((err)=>{ logMsg.info("GeneralSection insert failed ,PdId(ref_no)= "+req.body.pdid+ " ERR =" + err); });
storeId = await GeneralSection.findOne({ where : { ref_no : req.body.pdid ,case_no :req.body.caseno, is_active : 1 }});
};
if (keys == 'section2') {
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id }); await FundRequirement.create( values ).then((successData)=>{logMsg.info("FundRequirement insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FundRequirement insert failed ,PdId= "+storeId.pd_id+" Error = "+err); });
}else{resolve(false)}
};
if (keys == 'section3') {
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id }); await DetailsOfKeyShareHolder.create( values).then((successData)=>{logMsg.info("DetailsOfKeyShareHolder insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("DetailsOfKeyShareHolder insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else{resolve(false)}
};
if (keys == 'section4') {
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id }); await BriefOfBusiness.create( values).then((successData)=>{logMsg.info("BreifOfBusiness insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("BreifOfBusiness insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else{resolve(false)}
};
if (keys == 'section5') { };
if (keys == 'section6') {
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id }); await PropertyInformation.create( values).then((successData)=>{logMsg.info("PropertyInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("PropertyInformation insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else{resolve(false)}
};
if (keys == 'section7') {
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id }); await FinalRemarks.create( values).then((successData)=>{logMsg.info("FinalRemarks insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FinalRemarks insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else{resolve(false)}
};
if (keys == 'section8') {
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id }); await OfficerDetails.create( values).then((successData)=>{logMsg.info("OfficerDetails insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("OfficerDetails insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else{resolve(false)}
};
if (keys == 'section9') {
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id,ref_no:req.body.pdid });
await Photograph.create( values).then((successData)=>{logMsg.info("Photograph insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("Photograph insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else {resolve(false); }
};
// if (keys == 'section10') { Object.assign(values, { pd_id: storeId.pd_id }); await InstitutionDetail.create( values).then((successData)=>{logMsg.info("InstitutionDetail insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("InstitutionDetail insert failed ,PdId= "+storeId.pd_id);}); };
// if (keys == 'section11') { Object.assign(values, { pd_id: storeId.pd_id }); await ProductInformation.create( values).then((successData)=>{logMsg.info("ProductInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("ProductInformation insert failed ,PdId= "+storeId.pd_id);}); };
});
}
else
{
if (keys == 'section1') {
if(values.pincode == 'Others') { pincode = values.pincode_others; }else { pincode = values.pincode; }
if(values.person_met_contact_no == "") { delete values.person_met_contact_no; }
Object.assign(values, { ref_no: req.body.pdid , product :req.body.product , case_no :req.body.caseno ,completed_date : new Date(req.body.completed_date) , pincode : pincode, sales_pd_type:req.body.sales_pd_type,employee_id : req.body.employee_id});
await GeneralSection.create( values )
.then((successData)=>{logMsg.info("GeneralSection insert success ,PdId= "+successData.dataValues.pd_id);})
.catch((err)=>{ logMsg.info("GeneralSection insert failed ,PdId(ref_no)= "+req.body.pdid+ " ERR =" + err); });
storeId = await GeneralSection.findOne({ where : { ref_no : req.body.pdid ,case_no :req.body.caseno, is_active : 1 }});
};
if (keys == 'section2') { if(storeId) { Object.assign(values, { pd_id: storeId.pd_id }); await FundRequirement.create( values ).then((successData)=>{logMsg.info("FundRequirement insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FundRequirement insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); }else{resolve(false)} };
if (keys == 'section3') { if(storeId) { Object.assign(values, { pd_id: storeId.pd_id }); await DetailsOfKeyShareHolder.create( values).then((successData)=>{logMsg.info("DetailsOfKeyShareHolder insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("DetailsOfKeyShareHolder insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); }else{resolve(false)} };
if (keys == 'section4' && req.body.product == 'MEQ')
{
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id });
await InstitutionDetail.create( values).then((successData)=>{logMsg.info("InstitutionDetail insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("BreifOfBusiness insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else{resolve(false)}
}
else if (keys == 'section4')
{
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id });
await BriefOfBusiness.create( values).then((successData)=>{logMsg.info("BreifOfBusiness insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("BreifOfBusiness insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else{resolve(false)}
};
if (keys == 'section5' && req.body.product == 'MEQ')
{
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id });
await ProductInformation.create( values).then((successData)=>{logMsg.info("ProductInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("ProductInformation insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else{resolve(false)}
}
else if (keys == 'section5') {
if(storeId) {
//initially declare calculation values as 0
pre_year_sales = 0;
pre_year_net_profit = 0;
pre_year_net_pro_loss_per = 0;
con = Object.keys(values).filter(key => !isNaN(parseInt(key))).length;
for (let i = 0; i < con; i++)
{
if(values[i])
{
sales_revenue = values[i].sales_revenue;
net_profit = values[i].net_profit;
income_considered_per_month = parseFloat((values.income_considered / 12)).toFixed(2);
net_profit_net_loss_to_sales = parseFloat(((net_profit / sales_revenue) * 100)).toFixed(2);
sales_over_py = parseFloat((((sales_revenue - pre_year_sales) / pre_year_sales ) * 100)).toFixed(2);
net_profit_over_py = parseFloat((((net_profit - pre_year_net_profit) / pre_year_net_profit ) * 100)).toFixed(2);
net_profit_percentage_over_py = parseFloat(((( ((net_profit / sales_revenue ) * 100 ) - pre_year_net_pro_loss_per) / pre_year_net_pro_loss_per ) * 100)).toFixed(2);
if(sales_over_py == "Infinity"){sales_over_py="NA";}if(net_profit_over_py == "Infinity"){net_profit_over_py="NA";}if(net_profit_percentage_over_py == "Infinity"){net_profit_percentage_over_py="NA";}
//assign calculated value inside object(on fly object inside for loop)
Object.assign(values[i], { pd_id: storeId.pd_id , income_considered: values.income_considered , income_assessment_program_recommended: values.income_assessment_program_recommended , fixed_obligations: values.fixed_obligations , income_considered_per_month:income_considered_per_month , net_profit_net_loss_to_sales:net_profit_net_loss_to_sales , sales_over_py:sales_over_py , net_profit_over_py:net_profit_over_py , net_profit_percentage_over_py:net_profit_percentage_over_py});
//insert data here
await FinancialInformation.create( values[i] ).then((successData)=>{logMsg.info("FinancialInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FinancialInformation insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
//reset calculation values
pre_year_sales = sales_revenue;
pre_year_net_profit = net_profit;
pre_year_net_pro_loss_per = ((net_profit / sales_revenue ) * 100 );
}
}
}else{resolve(false)}
}
if (keys == 'section6' && req.body.product == 'MEQ')
{
if(storeId) {
//initially declare calculation values as 0
pre_year_sales = 0;
pre_year_net_profit = 0;
pre_year_net_pro_loss_per = 0;
for (let i = 0; i < 4; i++)
{
if(values[i])
{
sales_revenue = values[i].sales_revenue;
net_profit = values[i].net_profit;
income_considered_per_month = parseFloat((values.income_considered / 12)).toFixed(2);
net_profit_net_loss_to_sales = parseFloat(((net_profit / sales_revenue) * 100)).toFixed(2);
sales_over_py = parseFloat((((sales_revenue - pre_year_sales) / pre_year_sales ) * 100)).toFixed(2);
net_profit_over_py = parseFloat((((net_profit - pre_year_net_profit) / pre_year_net_profit ) * 100)).toFixed(2);
net_profit_percentage_over_py = parseFloat(((( ((net_profit / sales_revenue ) * 100 ) - pre_year_net_pro_loss_per) / pre_year_net_pro_loss_per ) * 100)).toFixed(2);
if(sales_over_py == "Infinity"){sales_over_py="NA";}if(net_profit_over_py == "Infinity"){net_profit_over_py="NA";}if(net_profit_percentage_over_py == "Infinity"){net_profit_percentage_over_py="NA";}
//assign calculated value inside object(on fly object inside for loop)
Object.assign(values[i], { pd_id: storeId.pd_id , income_considered: values.income_considered , income_assessment_program_recommended: values.income_assessment_program_recommended , fixed_obligations: values.fixed_obligations , income_considered_per_month:income_considered_per_month , net_profit_net_loss_to_sales:net_profit_net_loss_to_sales , sales_over_py:sales_over_py , net_profit_over_py:net_profit_over_py , net_profit_percentage_over_py:net_profit_percentage_over_py});
//insert data here
await FinancialInformation.create( values[i] ).then((successData)=>{logMsg.info("FinancialInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FinancialInformation insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
//reset calculation values
pre_year_sales = sales_revenue;
pre_year_net_profit = net_profit;
pre_year_net_pro_loss_per = ((net_profit / sales_revenue ) * 100 );
}
}
}else{resolve(false)}
}
else if (keys == 'section6') {
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id });
await PropertyInformation.create( values).then((successData)=>{logMsg.info("PropertyInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("PropertyInformation insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else{resolve(false)}
};
if (keys == 'section7') { if(storeId) { Object.assign(values, { pd_id: storeId.pd_id }); await FinalRemarks.create( values).then((successData)=>{logMsg.info("FinalRemarks insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FinalRemarks insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); }else{resolve(false)} };
if (keys == 'section8') { if(storeId) { Object.assign(values, { pd_id: storeId.pd_id }); await OfficerDetails.create( values).then((successData)=>{logMsg.info("OfficerDetails insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("OfficerDetails insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); }else{resolve(false)} };
// if (keys == 'section10') { Object.assign(values, { pd_id: storeId.pd_id }); await InstitutionDetail.create( values).then((successData)=>{logMsg.info("InstitutionDetail insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("InstitutionDetail insert failed ,PdId= "+storeId.pd_id);}); };
// if (keys == 'section11') { Object.assign(values, { pd_id: storeId.pd_id }); await ProductInformation.create( values).then((successData)=>{logMsg.info("ProductInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("ProductInformation insert failed ,PdId= "+storeId.pd_id);}); };
}
if (len == count - 1 )
{
resolve();
}
} // end of for loop
}); // end of promise
salesPD.then(async(result) => {
setTimeout(() => {
if(result == false)
{
res.send({'status':404,'message':"failed",'data':"No Data"});
}else{
logMsg.info("Insertion completed for PdId(ref_no)= "+req.body.pdid);
res.send({'status':200,'message':"success",'data':"No Data"});
}
}, 1000);
});
}// end of if else condition
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
// exports.PullSalesPdData = async (req, res) =>
// {
// try
// {
// GeneralSectionData = await GeneralSection.findOne({ where : { ref_no : req.body.pdid ,case_no :req.body.caseno, is_active : 1 }});
// if(GeneralSectionData)
// {
// res.send({'status':200, 'message': "data already exist." ,'data': "No data" });
// }else{
// const tempData =JSON.parse(JSON.stringify(req.body.data));
// var count = 0;
// var generalSectionData = [ ];
// var storeId = [ ];
// const len = Object.keys(tempData).length - 1;
// for (const [keys, values] of Object.entries(tempData)) {
// count++;
// if (Array.isArray(values) == true )
// {
// pre_year_sales = 0;
// pre_year_net_profit = 0;
// pre_year_net_pro_loss_per = 0;
// values.forEach(async(values) => {
// if (keys == 'section1') {
// Object.assign(values, { ref_no: req.body.pdid , product :req.body.product , case_no :req.body.caseno});
// await GeneralSection.create( values )
// .then((successData)=>{logMsg.info("GeneralSection insert success ,PdId= "+successData.dataValues.pd_id);})
// .catch((err)=>{ logMsg.info("GeneralSection insert failed ,PdId(ref_no)= "+req.body.pdid+ " ERR =" + err); });
// storeId = await GeneralSection.findOne({ where : { ref_no : req.body.pdid ,case_no :req.body.caseno, is_active : 1 }});
// };
// if (keys == 'section2') { Object.assign(values, { pd_id: storeId.pd_id }); await FundRequirement.create( values ).then((successData)=>{logMsg.info("FundRequirement insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FundRequirement insert failed ,PdId= "+storeId.pd_id+" Error = "+err); }); };
// if (keys == 'section3') { Object.assign(values, { pd_id: storeId.pd_id }); await DetailsOfKeyShareHolder.create( values).then((successData)=>{logMsg.info("DetailsOfKeyShareHolder insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("DetailsOfKeyShareHolder insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// if (keys == 'section4') { Object.assign(values, { pd_id: storeId.pd_id }); await BriefOfBusiness.create( values).then((successData)=>{logMsg.info("BreifOfBusiness insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("BreifOfBusiness insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// if (keys == 'section5') {
// };
// if (keys == 'section6') { Object.assign(values, { pd_id: storeId.pd_id }); await PropertyInformation.create( values).then((successData)=>{logMsg.info("PropertyInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("PropertyInformation insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// if (keys == 'section7') { Object.assign(values, { pd_id: storeId.pd_id }); await FinalRemarks.create( values).then((successData)=>{logMsg.info("FinalRemarks insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FinalRemarks insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// if (keys == 'section8') { Object.assign(values, { pd_id: storeId.pd_id }); await OfficerDetails.create( values).then((successData)=>{logMsg.info("OfficerDetails insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("OfficerDetails insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// // if (keys == 'section10') { Object.assign(values, { pd_id: storeId.pd_id }); await InstitutionDetail.create( values).then((successData)=>{logMsg.info("InstitutionDetail insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("InstitutionDetail insert failed ,PdId= "+storeId.pd_id);}); };
// // if (keys == 'section11') { Object.assign(values, { pd_id: storeId.pd_id }); await ProductInformation.create( values).then((successData)=>{logMsg.info("ProductInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("ProductInformation insert failed ,PdId= "+storeId.pd_id);}); };
// });
// }
// else
// {
// if (keys == 'section1') {
// Object.assign(values, { ref_no: req.body.pdid , product :req.body.product , case_no :req.body.caseno});
// await GeneralSection.create( values )
// .then((successData)=>{logMsg.info("GeneralSection insert success ,PdId= "+successData.dataValues.pd_id);})
// .catch((err)=>{ logMsg.info("GeneralSection insert failed ,PdId(ref_no)= "+req.body.pdid+ " ERR =" + err); });
// storeId = await GeneralSection.findOne({ where : { ref_no : req.body.pdid ,case_no :req.body.caseno, is_active : 1 }});
// };
// if (keys == 'section2') { Object.assign(values, { pd_id: storeId.pd_id }); await FundRequirement.create( values ).then((successData)=>{logMsg.info("FundRequirement insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FundRequirement insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// if (keys == 'section3') { Object.assign(values, { pd_id: storeId.pd_id }); await DetailsOfKeyShareHolder.create( values).then((successData)=>{logMsg.info("DetailsOfKeyShareHolder insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("DetailsOfKeyShareHolder insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// if (keys == 'section4' && req.body.product == 'MEQ')
// {
// Object.assign(values, { pd_id: storeId.pd_id });
// await InstitutionDetail.create( values).then((successData)=>{logMsg.info("InstitutionDetail insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("BreifOfBusiness insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
// }
// else if (keys == 'section4') { Object.assign(values, { pd_id: storeId.pd_id }); await BriefOfBusiness.create( values).then((successData)=>{logMsg.info("BreifOfBusiness insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("BreifOfBusiness insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// if (keys == 'section5' && req.body.product == 'MEQ')
// {
// Object.assign(values, { pd_id: storeId.pd_id });
// await ProductInformation.create( values).then((successData)=>{logMsg.info("ProductInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("BreifOfBusiness insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
// }
// else if (keys == 'section5') {
// //initially declare calculation values as 0
// pre_year_sales = 0;
// pre_year_net_profit = 0;
// pre_year_net_pro_loss_per = 0;
// for (let i = 0; i < 4; i++)
// {
// if(values[i])
// {
// sales_revenue = values[i].sales_revenue;
// net_profit = values[i].net_profit;
// income_considered_per_month = parseFloat((values.income_considered / 12)).toFixed(2);
// net_profit_net_loss_to_sales = parseFloat(((net_profit / sales_revenue) * 100)).toFixed(2);
// sales_over_py = parseFloat((((sales_revenue - pre_year_sales) / pre_year_sales ) * 100)).toFixed(2);
// net_profit_over_py = parseFloat((((net_profit - pre_year_net_profit) / pre_year_net_profit ) * 100)).toFixed(2);
// net_profit_percentage_over_py = parseFloat(((( ((net_profit / sales_revenue ) * 100 ) - pre_year_net_pro_loss_per) / pre_year_net_pro_loss_per ) * 100)).toFixed(2);
// if(sales_over_py == "Infinity"){sales_over_py="NA";}if(net_profit_over_py == "Infinity"){net_profit_over_py="NA";}if(net_profit_percentage_over_py == "Infinity"){net_profit_percentage_over_py="NA";}
// //assign calculated value inside object(on fly object inside for loop)
// Object.assign(values[i], { pd_id: storeId.pd_id , income_considered: values.income_considered , income_assessment_program_recommended: values.income_assessment_program_recommended , fixed_obligations: values.fixed_obligations , income_considered_per_month:income_considered_per_month , net_profit_net_loss_to_sales:net_profit_net_loss_to_sales , sales_over_py:sales_over_py , net_profit_over_py:net_profit_over_py , net_profit_percentage_over_py:net_profit_percentage_over_py});
// //insert data here
// await FinancialInformation.create( values[i] ).then((successData)=>{logMsg.info("FinancialInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FinancialInformation insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
// //reset calculation values
// pre_year_sales = sales_revenue;
// pre_year_net_profit = net_profit;
// pre_year_net_pro_loss_per = ((net_profit / sales_revenue ) * 100 );
// }
// }
// }
// if (keys == 'section6' && req.body.product == 'MEQ')
// {
// //initially declare calculation values as 0
// pre_year_sales = 0;
// pre_year_net_profit = 0;
// pre_year_net_pro_loss_per = 0;
// for (let i = 0; i < 4; i++)
// {
// if(values[i])
// {
// sales_revenue = values[i].sales_revenue;
// net_profit = values[i].net_profit;
// income_considered_per_month = parseFloat((values.income_considered / 12)).toFixed(2);
// net_profit_net_loss_to_sales = parseFloat(((net_profit / sales_revenue) * 100)).toFixed(2);
// sales_over_py = parseFloat((((sales_revenue - pre_year_sales) / pre_year_sales ) * 100)).toFixed(2);
// net_profit_over_py = parseFloat((((net_profit - pre_year_net_profit) / pre_year_net_profit ) * 100)).toFixed(2);
// net_profit_percentage_over_py = parseFloat(((( ((net_profit / sales_revenue ) * 100 ) - pre_year_net_pro_loss_per) / pre_year_net_pro_loss_per ) * 100)).toFixed(2);
// if(sales_over_py == "Infinity"){sales_over_py="NA";}if(net_profit_over_py == "Infinity"){net_profit_over_py="NA";}if(net_profit_percentage_over_py == "Infinity"){net_profit_percentage_over_py="NA";}
// //assign calculated value inside object(on fly object inside for loop)
// Object.assign(values[i], { pd_id: storeId.pd_id , income_considered: values.income_considered , income_assessment_program_recommended: values.income_assessment_program_recommended , fixed_obligations: values.fixed_obligations , income_considered_per_month:income_considered_per_month , net_profit_net_loss_to_sales:net_profit_net_loss_to_sales , sales_over_py:sales_over_py , net_profit_over_py:net_profit_over_py , net_profit_percentage_over_py:net_profit_percentage_over_py});
// //insert data here
// await FinancialInformation.create( values[i] ).then((successData)=>{logMsg.info("FinancialInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FinancialInformation insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
// //reset calculation values
// pre_year_sales = sales_revenue;
// pre_year_net_profit = net_profit;
// pre_year_net_pro_loss_per = ((net_profit / sales_revenue ) * 100 );
// }
// }
// }
// else if (keys == 'section6') { Object.assign(values, { pd_id: storeId.pd_id }); await PropertyInformation.create( values).then((successData)=>{logMsg.info("PropertyInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("PropertyInformation insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// if (keys == 'section7') { Object.assign(values, { pd_id: storeId.pd_id }); await FinalRemarks.create( values).then((successData)=>{logMsg.info("FinalRemarks insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("FinalRemarks insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// if (keys == 'section8') { Object.assign(values, { pd_id: storeId.pd_id }); await OfficerDetails.create( values).then((successData)=>{logMsg.info("OfficerDetails insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("OfficerDetails insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); };
// // if (keys == 'section10') { Object.assign(values, { pd_id: storeId.pd_id }); await InstitutionDetail.create( values).then((successData)=>{logMsg.info("InstitutionDetail insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("InstitutionDetail insert failed ,PdId= "+storeId.pd_id);}); };
// // if (keys == 'section11') { Object.assign(values, { pd_id: storeId.pd_id }); await ProductInformation.create( values).then((successData)=>{logMsg.info("ProductInformation insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("ProductInformation insert failed ,PdId= "+storeId.pd_id);}); };
// }
// if (len == count - 1 )
// {
// setTimeout(() => {
// res.send({'status':200,'message':"success",'data':"No Data"});
// }, 1000);
// }
// }
// }
// } catch(err) {
// res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
// } //end of try catch
// };
exports.PullSalesPdPhotographsData = async (req, res) =>
{
try
{
// fetch SMC PdId from DB
GeneralSectionData = await GeneralSection.findOne({ where : { ref_no : req.body.pdid ,case_no :req.body.caseno, is_active : 1 }});
PdId = GeneralSectionData.dataValues.pd_id;
await Photograph.create({pd_id: PdId , ref_no :req.body.pdid , img_name :req.body.img_name , img : img_name})
.then((successData)=>{
logMsg.info("Photograph insert success ,PdId= "+PdId);
res.send({'status':200,'message':"success",'data':"No data"});
}).catch((err)=>{
logMsg.info("Photograph insert failed ,PdId= "+PdId+" ERROR : "+err);
res.send({'status':404,message: "Failed." ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
exports.imageView = async (req, res) =>
{
try
{
const filePath = "storage/uploads/"+req.query.img_name;
const { dirname } = require('path');
const appDir = dirname(require.main.filename);
res.sendFile(filePath , { root: appDir });
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" }) ;
} //end of try catch
};
exports.DownloadPdReport = async (req, res) =>
{
try
{
// pd_id = req.query.ref_no;
// DownloadPdReportUrl = process.env.PD_REPORT_URL;
// url = DownloadPdReportUrl+"getSalesPDReportforCETApp?sales_pd_id="+pd_id;
// request({
// url: url,
// method: "GET"
// }, function (error, response, body) {
// if (body != undefined) {
// data = JSON.parse(body);
// if ( data.status == 200) {
// link = data.records;
// res.send({'status':200,'message':"success",'data':link});
// }else{
// res.send({'status':404,'message':"failed",'data':"No data"});
// }
// }else{
// res.send({'status':404,'message':"failed",'data':"No data"});
// }
// });
const storage = new Storage({ keyFilename : path.join(__dirname, "../../googleCloud.json") });
const bucketName = process.env.GCP_BUCKET_NAME;
const fileName = 'pd'+req.query.ref_no+'/'+req.query.ref_no+'.pdf';
const options = {version: 'v2', action: 'read',expires: Date.now() + 1000 * 60 * 60, };
const [url] = await storage.bucket(bucketName).file(fileName).getSignedUrl(options);
res.send({'status':200,'message':"success",'data':url});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//GeneralSection data List Api
exports.SalesPDLandingPageList = async (req, res) =>
{
try
{
losid = req.query.losid;
GeneralSection.findAll({ where:{losid: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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//GeneralSection data List Api
exports.SectionList = async (req, res) =>
{
try
{
// applicantDetails = await ApiCallHelper.MainApplicantDetails(req.query.losid);
// MainApplicantDetails = JSON.parse(applicantDetails);
// if(MainApplicantDetails.status == 200)
// {
// main_loan_applicant = MainApplicantDetails.data.name;
pdId = req.query.pd_id;
GeneralSection.findAll({ where:{case_no:pdId,is_active : 1},
include: [ {model: FundRequirement }, {model: DetailsOfKeyShareHolder }, {model: FinancialInformation }, {model: FinalRemarks }, {model: BriefOfBusiness }, {model: PropertyInformation }, {model: OfficerDetails }, {model: ProductInformation } , {model: InstitutionDetail } , {model: Photograph }] })
.then(async(data) =>
{
if(data[0].dataValues.product == 'MEQ')
{
section_name_obj = {section1_key : "GeneralSection" ,section1_name : "General Section" ,section2_key : "FundRequirements",section2_name : "Fund Requirements",section3_key : "DetailsOfKeyShareHolders",section3_name : "Details Of Key Share Holders",section4_key : "InstitutionDetails",section4_name : "Institution Details",section5_key : "ProductInformations",section5_name : "Product Informations",section6_key : "FinancialInformations",section6_name : "Financial Informations",section7_key : "FinalRemarks",section7_name : "Final Remarks",section8_key : "OfficerDetails",section8_name : "Officer Details",section9_key : "Photographs",section9_name : "Photographs"};
}else{
section_name_obj = {section1_key : "GeneralSection" ,section1_name : "General Section" ,section2_key : "FundRequirements",section2_name : "Fund Requirements",section3_key : "DetailsOfKeyShareHolders",section3_name : "Details Of Key Share Holders",section4_key : "BriefOfBusinesses",section4_name : "Brief Of Businesses",section5_key : "FinancialInformations",section5_name : "Financial Informations",section6_key : "PropertyInformations",section6_name : "Property Informations",section7_key : "FinalRemarks",section7_name : "Final Remarks",section8_key : "OfficerDetails",section8_name : "Officer Details",section9_key : "Photographs",section9_name : "Photographs"};
}
if(data.length > 0)
{
if(Array.isArray(data[0].dataValues.Photographs) == true && data[0].dataValues.Photographs.length > 0)
{
ImageData = [];
const storage = new Storage({ keyFilename : path.join(__dirname, "../../googleCloud.json") });
const bucketName = process.env.GCP_BUCKET_NAME;
for(const PhotographsValue of data[0].dataValues.Photographs)
{
const fileName = 'pd'+PhotographsValue.ref_no+'/images/'+PhotographsValue.img;
const options = {version: 'v2', action: 'read',expires: Date.now() + 1000 * 60 * 60, };
const [url] = await storage.bucket(bucketName).file(fileName).getSignedUrl(options);
await ImageData.push( Object.assign(PhotographsValue.dataValues, { url: url }));
}
Object.assign(data[0], {Photographs:ImageData})
}
res_data = {data : data , section_names : section_name_obj}
res.send({'status':200,'message':"success",'data':res_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 data" ,'data': "No 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 data." ,'data': "No data" });
} //end of try catch
};
//BreifOfBusiness data List Api
exports.BreifOfBusinessList = async (req, res) =>
{
try
{
BreifOfBusiness.findAll({raw: true , where:{pd_id:req.query.pd_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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//DetailsOfKeyShareHolder data List Api
exports.DetailsOfKeyShareHolderList = async (req, res) =>
{
try
{
DetailsOfKeyShareHolder.findAll({raw: true , where:{pd_id:req.query.pd_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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//FinalRemarks data List Api
exports.FinalRemarksList = async (req, res) =>
{
try
{
FinalRemarks.findAll({raw: true , where:{pd_id:req.query.pd_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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//FinancialInformation data List Api
exports.FinancialInformationList = async (req, res) =>
{
try
{
FinancialInformation.findAll({raw: true , where:{pd_id:req.query.pd_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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//FundRequirement data List Api
exports.FundRequirementList = async (req, res) =>
{
try
{
FundRequirement.findAll({raw: true , where:{pd_id:req.query.pd_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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//InstitutionDetail data List Api
exports.InstitutionDetailList = async (req, res) =>
{
try
{
InstitutionDetail.findAll({raw: true , where:{pd_id:req.query.pd_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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//OfficerDetails data List Api
exports.OfficerDetailsList = async (req, res) =>
{
try
{
OfficerDetails.findAll({raw: true , where:{pd_id:req.query.pd_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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//Photograph data List Api
exports.PhotographList = async (req, res) =>
{
try
{
Photograph.findAll({raw: true , where:{pd_id:req.query.pd_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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//ProductInformation data List Api
exports.ProductInformationList = async (req, res) =>
{
try
{
ProductInformation.findAll({raw: true , where:{pd_id:req.query.pd_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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
//PropertyInformation data List Api
exports.PropertyInformationList = async (req, res) =>
{
try
{
PropertyInformation.findAll({raw: true , where:{pd_id:req.query.pd_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 data" ,'data': "No data" });
});
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
exports.PullSalesPdshareholderData = async (req, res) =>
{
try
{
IfGeneralSectionDataExist = await GeneralSection.findOne({ where : { ref_no : req.body.pdid ,product:req.body.product,case_no :req.body.caseno, is_active : 1 }});
if(IfGeneralSectionDataExist)
{
var salesPD = new Promise(async(resolve, reject) => {
const tempData =JSON.parse(JSON.stringify(req.body.data));
logMsg.info("Insertion started for PdId(ref_no)= "+req.body.pdid);
var count = 0;
var storeId = IfGeneralSectionDataExist;
const len = Object.keys(tempData).length - 1;
for (const [keys, values] of Object.entries(tempData)) {
count++;
if (Array.isArray(values) == true )
{
values.forEach(async(values) => {
if (keys == 'section3') {
if(storeId) {
Object.assign(values, { pd_id: storeId.pd_id }); await DetailsOfKeyShareHolder.create( values).then((successData)=>{logMsg.info("DetailsOfKeyShareHolder insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("DetailsOfKeyShareHolder insert failed ,PdId= "+storeId.pd_id+" Error = "+err);});
}else{resolve(false)}
};
});
}
else
{
if (keys == 'section3') { if(storeId) { Object.assign(values, { pd_id: storeId.pd_id }); await DetailsOfKeyShareHolder.create( values).then((successData)=>{logMsg.info("DetailsOfKeyShareHolder insert success ,PdId= "+storeId.pd_id);}).catch((err)=>{ logMsg.info("DetailsOfKeyShareHolder insert failed ,PdId= "+storeId.pd_id+" Error = "+err);}); }else{resolve(false)} };
}
if (len == count - 1 )
{
resolve();
}
} // end of for loop
}); // end of promise
salesPD.then(async(result) => {
setTimeout(() => {
if(result == false)
{
res.send({'status':404,'message':"failed",'data':"No Data"});
}else{
logMsg.info("Insertion completed for PdId(ref_no)= "+req.body.pdid);
res.send({'status':200,'message':"success",'data':"No Data"});
}
}, 1000);
});
}// end of if else condition
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
exports.ReInsertImageData = async (req, res) =>
{
try
{
IfGeneralSectionDataExist = await GeneralSection.findOne({ where : { ref_no : req.body.pdid ,product:req.body.product,case_no :req.body.caseno, is_active : 1 }});
if(IfGeneralSectionDataExist)
{
var salesPD = new Promise(async(resolve, reject) => {
const reqData =JSON.parse(JSON.stringify(req.body.data));
if (Array.isArray(reqData.section9) == true )
{
Photograph.destroy({ where: { pd_id: IfGeneralSectionDataExist.pd_id , ref_no :req.body.pdid} }).then(function(result) {
logMsg.info("Photos count for pd_id (ref_no) = "+reqData.section9.length);
reqData.section9.forEach(async(values,index,array) => {
Object.assign(values, { pd_id: IfGeneralSectionDataExist.pd_id,ref_no:req.body.pdid });
await Photograph.create( values).then((successData)=>{logMsg.info("Photograph insert success name = "+values.img+", PdId = "+IfGeneralSectionDataExist.pd_id);}).catch((err)=>{ logMsg.info("Photograph insert failed name = "+values.img+", PdId = "+IfGeneralSectionDataExist.pd_id+" Error = "+err);});
if(array.length == index+1){resolve(true);}
});
}).catch(err=>{});
} else {resolve(false); }
}); // end of promise
salesPD.then(async(result) => {
setTimeout(() => {
if(result == false)
{
res.send({'status':404,'message':"failed",'data':"No Data"});
}else{
res.send({'status':200,'message':"success",'data':"No Data"});
}
}, 1000);
});
} else { res.send({'status':404,'message':"PD not exist",'data':"No Data"}); }
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
exports.downloadFile = async (req, res) =>
{
try
{
const storage = new Storage({ keyFilename : path.join(__dirname, "../../googleCloud.json") });
// downloas file ***********************
// const bucketName = 'sales-pd';
// const srcFilename = 'pd2968/images/1676975188920-temp02023-02-21_03-56-27.png';
// const destFilename = '1676975188920-temp02023-02-21_03-56-27.png';
// const options = {destination: destFilename,};
// await storage.bucket(bucketName).file(srcFilename).download(options);
// console.log(
// "The object " + srcFilename +
// " coming from bucket " + bucketName +
// " has been downloaded to " + destFilename
// );
// downloas file ***********************
// create url ***********************
// const bucketName = 'sales-pd';
// const fileName = 'pd2968/images/1676975188920-temp02023-02-21_03-56-27.png';
// const options = {
// version: 'v2', // defaults to 'v2' if missing.
// action: 'read',
// expires: Date.now() + 1000 * 60 * 60, // one hour
// };
// const [url] = await storage.bucket(bucketName).file(fileName).getSignedUrl(options);
// console.log(`The signed url for ${fileName} is ${url}.`);
// create url ***********************
} catch(err) {
res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" });
} //end of try catch
};
exports.test = async (req, res) => {
const storage = new Storage({ keyFilename : path.join(__dirname, "../../googleCloud.json") });
bucketName = 'pd-giene-data';
const bucket = storage.bucket(bucketName);
try {
const [files] = await bucket.getFiles();
const fileNames = files.map((file) => file.name);
console.log('File names:', fileNames);
res.send({'data':fileNames})
} catch (error) {
console.error('Error retrieving file names:', error);
}
}
exports.readLogFileName = async (req , res) =>
{
try
{
folderName = req;
const logFilePath = 'storage/log';
const fileNames = fs.readdirSync(logFilePath);
// Remove the first element (0th index)
const [, ...data] = fileNames;
return 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.readLogFile = async (req , res) =>
{
try
{
folderName = req.body.folder;
fileName = req.body.file;
const logFilePath = 'storage/log/'+fileName;
fs.readFile(logFilePath, 'utf8', (err, data) => {
if (err) {
console.error(err);
res.status(500).send({'status':404,'message': err.message || "Error reading log file." ,'data': "No data"});
}
res.send({'status':200 , message:"Success." ,'data': 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.viewLandingPage = async (req , res) =>
{
try
{
moduleName = [ { "module":"SALES PD","folder":"smc_cet_salespd_backend"} ];
img = []
for(const [index,val] of moduleName.entries())
{
fileName = await this.readLogFileName(val.folder);
for (let i = 0; i < fileName.length; i++)
{
filePath = 'storage/log/'+fileName[i];
const logData = fs.readFileSync(filePath);
// Convert the file content to Base64
const base64Data = logData.toString('base64');
// Create Base64 URL from Base64 data
const base64Url = `data:application/octet-stream;base64,${encodeURIComponent(base64Data)}`;
img.push(base64Url)
}
moduleName[index] = await Object.assign(val,{'file':fileName , 'img':img});
};
res.render( 'module' , { 'data' : moduleName } ,function (err, html ) {
res.send(html)
})
}
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.deleteLogFile = async (req , res) =>
{
try
{
folderName = req.body.folder;
fileName = req.body.file;
// folderName = 'smc_cet_creditpd_backend';
// fileName = 'msg.log.2023-07-10';
const logFilePath = 'storage/log/'+fileName;
fs.unlink(logFilePath, (err) => {
if (err) {
console.error(`Error deleting file: ${err}`);
return;
}
console.log('File deleted successfully.');
res.send({'status':200 , message:"Success." ,'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.callSineedgeApi = (req, res) =>
{
try
{
request('http://www.google.com', function (error, response, body) {
res = this.PullSalesPdData(body);
if(res.status == 200){
res.send({'status':200 , message:"Success." ,'data': Msg});
}
else{
res.send({'status':404 , 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
};