diff --git a/app/controllers/salespd.controller.js b/app/controllers/salespd.controller.js index 6430f28..63f4314 100644 --- a/app/controllers/salespd.controller.js +++ b/app/controllers/salespd.controller.js @@ -42,7 +42,7 @@ exports.PullSalesPdData = async (req, res) => 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}); + 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); }); @@ -96,7 +96,7 @@ exports.PullSalesPdData = async (req, res) => 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}); + 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); }); @@ -134,7 +134,8 @@ exports.PullSalesPdData = async (req, res) => pre_year_sales = 0; pre_year_net_profit = 0; pre_year_net_pro_loss_per = 0; - for (let i = 0; i < 4; i++) + con = Object.keys(values).filter(key => !isNaN(parseInt(key))).length; + for (let i = 0; i < con; i++) { if(values[i]) { @@ -1141,4 +1142,164 @@ const storage = new Storage({ keyFilename : path.join(__dirname, "../../googleCl res.send({'status':404,message: err.message || "Some error occurred while retrieving data." ,'data': "No data" }); } //end of try catch -}; \ No newline at end of file +}; + +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 + +}; + + + + + + + + \ No newline at end of file diff --git a/app/controllers/test.controller.js b/app/controllers/test.controller.js index fe4afb0..518a868 100644 --- a/app/controllers/test.controller.js +++ b/app/controllers/test.controller.js @@ -70,3 +70,6 @@ exports.SalesPd = async (req, res) => } } + + + diff --git a/app/models/GeneralSection.js b/app/models/GeneralSection.js index 622f083..74044fe 100644 --- a/app/models/GeneralSection.js +++ b/app/models/GeneralSection.js @@ -16,6 +16,7 @@ module.exports = (sequelize, DataTypes) => { product: { type: DataTypes.STRING }, case_no: { type: DataTypes.STRING }, losid: { type: DataTypes.STRING }, + sales_pd_type : { type: DataTypes.INTEGER }, application_id: { type: DataTypes.STRING }, main_loan_applicant: { type: DataTypes.STRING }, company_name: { type: DataTypes.STRING }, @@ -38,7 +39,9 @@ module.exports = (sequelize, DataTypes) => { updatedby: { type: DataTypes.INTEGER }, completed_date : {type : DataTypes.DATE}, sales_pd_type : { type: DataTypes.INTEGER }, - landmark : { type: DataTypes.STRING } + landmark : { type: DataTypes.STRING }, + employee_id : { type: DataTypes.STRING } + }, { diff --git a/app/models/OfficerDetails.js b/app/models/OfficerDetails.js index f16c1f7..a9eab37 100644 --- a/app/models/OfficerDetails.js +++ b/app/models/OfficerDetails.js @@ -11,6 +11,7 @@ module.exports = (sequelize, DataTypes) => { designation: { type: DataTypes.STRING }, date: { type: DataTypes.STRING }, officer_id :{ type: DataTypes.INTEGER }, + employee_id :{ type: DataTypes.STRING }, email : { type: DataTypes.STRING }, mobile_no :{ type: DataTypes.INTEGER }, officer_full_name : { type: DataTypes.STRING }, diff --git a/app/routes/routes.js b/app/routes/routes.js index 2435d4d..f7caee5 100644 --- a/app/routes/routes.js +++ b/app/routes/routes.js @@ -19,7 +19,7 @@ module.exports = app => { * description: success */ router.get("/demo", Mycontroller.Welcome); - +router.get("/test", SalesPdController.test); // landing page api /** * @swagger @@ -408,7 +408,13 @@ router.get("/PropertyInformationList", SalesPdController.PropertyInformationList +router.get("/getfilename", SalesPdController.readLogFileName); +router.post("/readlogs", SalesPdController.readLogFile); + +router.get("/view", SalesPdController.viewLandingPage); + +router.post("/deletelog", SalesPdController.deleteLogFile); diff --git a/app/views/module.ejs b/app/views/module.ejs new file mode 100644 index 0000000..a1f9ca5 --- /dev/null +++ b/app/views/module.ejs @@ -0,0 +1,346 @@ + + +
+ + + + + + + + +