1305 lines
60 KiB
JavaScript
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
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|