From d0028430e0185bd03dcc2fe57c2d29252f43c16e Mon Sep 17 00:00:00 2001 From: sriramv Date: Wed, 15 Sep 2021 12:23:14 +0530 Subject: [PATCH] test.master --- .gitignore | 2 +- app/controllers/test.controller.js | 188 +++++++++++++++++++++++++++++ 2 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 app/controllers/test.controller.js diff --git a/.gitignore b/.gitignore index 478b61e..19f0ba2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ /node_modules /storage .env -/app/controllers/test.controller.js + diff --git a/app/controllers/test.controller.js b/app/controllers/test.controller.js new file mode 100644 index 0000000..6a88f88 --- /dev/null +++ b/app/controllers/test.controller.js @@ -0,0 +1,188 @@ + +const { sequelize, Entities , Financials , Statementsmaster , Sectionsmaster , Subsectionsmaster , Brokenperiods , Entityfinyears } = require('../models') +const { logMsg } = require('../services/logger.js'); + + + +// new promise((resolve,reject) =>{ +// resolve(''); +// }) + +exports.intiator = (req, res) => { + const losid = req.query.losid + console.log(losid) + console.log('1') + try + { + // const data = starter(losid,MenuList) + const data = starter(losid,MenuList) + setTimeout(()=>{ + console.log(data) + console.log('5') + res.send({'status':200,'message':"success",'data':data}); + },10000); + + // res.send(data); + + } + catch(err) { + res.status(500).send({'status':404, + message: err.message || "Some error occurred while inserting statements." ,'data': "No data" + }); } + } + +// menu list api + MenuList = (value) => { + + console.log(value) + console.log('3') + const losid = value.losid + try { + + if(value.status == 200) + { + Statementsmaster.findAll({ + where :{is_active : 1} , + attributes: ['id', 'statement', 'is_active'], + include :[{ + association: 'sectionsmasterData' , + where :{is_active : 1} , + attributes: ['id', 'section', 'is_active'], + include :[{ + association: 'subsectionsmasterData' , + where :{is_active : 1} , + attributes: ['id', 'subsection','itemtext', 'is_active'], + required :false + }], + required :false + }], + required :false + }) + .then(MasterData => { + Entities.findAll({where : { losid } , attributes: ['id', 'losid' , 'pan' , 'cin' , 'bizname' , 'entity_type' , 'activity_group' , 'biz_act_desc' ] }) + .then(EntitiesData => { + let data = []; + EntitiesData.forEach((value, key)=>{ + obj_data = { ...value.dataValues , statementsmasterrData:MasterData } + + data.push(obj_data); + }) // end of EntitiesData foreach + console.log(data) + console.log('4') + //return (data); + // return intiator({'losid':losid,'status':200,'message':"success",'data':data}); // success message + // res.send({'losid':losid,'status':200,'message':"success",'data':"No data"}); + // logMsg.info("MenuList api working"); + }); // end of findall EntitiesData + }); // end of findall masters datas + } // end of starter function if condition + //return {'status':200,'message':"success",'data':data}; + } + + catch (err) { + console.log(err) + return res.status(500).json({'status':404,'message':"failed",'data':"No data"}) + } + +}; + + +//testing + function starter(value, MenuList) + { +const losid = value +console.log(value) +console.log('2') +//const losid = req.losid; + + +//pro 42 api call using losid +const Pro42Data = [ + {"losid":losid,"pan":"AA1234AAAA","cin":"test1_cin","bizname":"test1_bizname","entity_type":"type","activity_group":"grp","biz_act_desc":"des","createdby":4}, + {"losid":losid,"pan":"BB1234BBBB","cin":"test2_cin","bizname":"test2_bizname","entity_type":"type","activity_group":"grp","biz_act_desc":"des","createdby":4} + ]; +// insert pro42data into entities table using using foreach +Pro42Data.forEach((Pro42Datavalue, key)=>{ + // check if the Pro42Data (entity) already inserted + Entities.findOne({ where: { losid : Pro42Datavalue.losid , pan : Pro42Datavalue.pan , cin : Pro42Datavalue.cin } }).then(Entity => { + if(Entity) + { + // skip inserting + } + else + { + Entities.create({ "losid":Pro42Datavalue.losid,"pan":Pro42Datavalue.pan,"cin":Pro42Datavalue.cin,"bizname":Pro42Datavalue.bizname,"entity_type":Pro42Datavalue.entity_type,"activity_group":Pro42Datavalue.activity_group,"biz_act_desc":Pro42Datavalue.biz_act_desc,"createdby":Pro42Datavalue.createdby}) + .then(Entitydata => { + + //create Entityfinyears data + const Y1 = new Date().getFullYear(); + const Y2 = Y1-1; + const Y3 = Y2-1; + Entityfinyears.create({ "losid":Entitydata.dataValues.losid,"entityid":Entitydata.dataValues.id,"Y1":Y1,"Y2":Y2,"Y3":Y3,"Y1_st_type":2,"Y2_st_type":2,"Y3_st_type":2}) + .then(Entityfinyearsdata => { + + //create financials data based on Entityfinyears + let fin_years_array = []; + fin_years_array = [ + {"entity_id":Entityfinyearsdata.dataValues.entityid,"fy":Entityfinyearsdata.dataValues.Y1,"st_type":Entityfinyearsdata.dataValues.Y1_st_type}, + {"entity_id":Entityfinyearsdata.dataValues.entityid,"fy":Entityfinyearsdata.dataValues.Y2,"st_type":Entityfinyearsdata.dataValues.Y2_st_type}, + {"entity_id":Entityfinyearsdata.dataValues.entityid,"fy":Entityfinyearsdata.dataValues.Y3,"st_type":Entityfinyearsdata.dataValues.Y3_st_type} + ]; + + // create skeletion + fin_years_array.forEach((value, key)=>{ + const entity_id = value.entity_id; + const fy = value.fy; + const st_type = value.st_type; + + // generate financials data array + let fin_data_array = []; + for (let i = 1; i < 120; i++) + { + fin_data_obj = { "entity_id":entity_id,"st_type":st_type,"itemid":i,"fy":fy,"value":0,"is_active":1,"createdby":4} + fin_data_array.push(fin_data_obj); + } + //bulk financials data create + Financials.bulkCreate(fin_data_array); + //console.log(fin_data_array) + }); + + + }).catch(err => { + res.status(404).send({'status':404, + message: err.message || "Some error occurred while insertinging statements." ,'data': "No data" }); + }); // end of entity fin year table data insert + + }).catch(err => { + res.status(404).send({'status':404, + message: err.message || "Some error occurred while insertinging statements." ,'data': "No data" }); + }); // end of entity insert + + } //end of else condition + + }); // end of (losid,pan,cin) combination checking entity data exist or not + + }); // end of pro42 data foreach + + return MenuList({'losid':losid,'status':200,'message':"success",'data':"No data"}); // success message + + + //end of try catch + +}; + + + +exports.testwo = async (req, res) => { + req_obj ={"losid":"TEST123"} + const testhree_fn = testhree(req_obj) + console.log(testhree_fn) + +}; +function testhree(req , res) { + console.log( new Date().getFullYear()) + console.log( req.losid) + return {'status':200,'message':"success"}; +} + +