Converts CSV Method for getting all data to new separate column method
This commit is contained in:
@@ -60,37 +60,7 @@ module.exports = {
|
|||||||
return res.ok();
|
return res.ok();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// csvSingle: function(req, res){
|
|
||||||
// var ids = req.params.id.split(",");
|
|
||||||
// var w = {'where':{'tagID': ids, 'createdAt': {">":mysqlDate(req.params.start), "<": mysqlDate(req.params.end)}}};
|
|
||||||
// Tag_val.find(w).exec(function(err, rows){
|
|
||||||
// if (err) return res.serverError(err);
|
|
||||||
// if (ids.length == 1){
|
|
||||||
// ids = ids[0];
|
|
||||||
// }
|
|
||||||
// Tag.find({'where':{'id': ids}}).exec(function(tag_err, tags_found){
|
|
||||||
// if (tag_err) return res.serverError(tag_err);
|
|
||||||
// var h = ['id', 'DateAdded'];
|
|
||||||
// var hid = ['id', 'DateAdded'];
|
|
||||||
// for (var j = 0; j < tags_found.length; j++){
|
|
||||||
// h.push(tags_found[j].name);
|
|
||||||
// hid.push(tags_found[j].id);
|
|
||||||
// }
|
|
||||||
// var csvString = "";
|
|
||||||
// csvString = csvString + h.join(',') + '\u000d';
|
|
||||||
//
|
|
||||||
// var i = 0;
|
|
||||||
// while (i < rows.length){
|
|
||||||
// csvString = csvString + createCSVrow(hid, rows[i]);
|
|
||||||
// i++;
|
|
||||||
// }
|
|
||||||
// res.set('Content-Type', 'text/csv');
|
|
||||||
// res.set('Content-Disposition', 'attachment;filename=tagdata.csv');
|
|
||||||
// res.send(csvString);
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
csvSingle: function(req, res){
|
csvSingle: function(req, res){
|
||||||
var ids = req.params.id.split(",");
|
var ids = req.params.id.split(",");
|
||||||
var w = {'where':{'tagID': ids, 'createdAt': {">":mysqlDate(req.params.start), "<": mysqlDate(req.params.end)}}};
|
var w = {'where':{'tagID': ids, 'createdAt': {">":mysqlDate(req.params.start), "<": mysqlDate(req.params.end)}}};
|
||||||
@@ -143,23 +113,42 @@ module.exports = {
|
|||||||
if (err) return res.serverError(err);
|
if (err) return res.serverError(err);
|
||||||
Tag.find().exec(function(tag_err, tags_found){
|
Tag.find().exec(function(tag_err, tags_found){
|
||||||
if (tag_err) return res.serverError(tag_err);
|
if (tag_err) return res.serverError(tag_err);
|
||||||
var h = ['id', 'DateAdded'];
|
|
||||||
var hid = ['id', 'DateAdded'];
|
|
||||||
for (var j = 0; j < tags_found.length; j++){
|
|
||||||
h.push(tags_found[j].name);
|
|
||||||
hid.push(tags_found[j].id);
|
|
||||||
}
|
|
||||||
var csvString = "";
|
|
||||||
csvString = csvString + h.join(',') + '\u000d';
|
|
||||||
|
|
||||||
var i = 0;
|
var tag_val_obj = {};
|
||||||
while (i < rows.length){
|
var tag_ids = tags_found.map(function(t){
|
||||||
csvString = csvString + createCSVrow(hid, rows[i]);
|
tag_val_obj[parseInt(t.id)] = {name: t.name, vals: []};
|
||||||
i++;
|
return parseInt(t.id);
|
||||||
|
});
|
||||||
|
|
||||||
|
rows.map(function(r){
|
||||||
|
if(tag_ids.indexOf(r.tagID) > -1){
|
||||||
|
tag_val_obj[r.tagID].vals.push(r.createdAt + "," + r.val.toString() + ",,");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var lengths = [];
|
||||||
|
for (var tid = 0; tid < tag_ids.length; tid++){
|
||||||
|
lengths.push(tag_val_obj[tag_ids[tid]].vals.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var headerString = "";
|
||||||
|
for (var t_h = 0; t_h < tags_found.length; t_h ++){
|
||||||
|
headerString += "datetime," + tags_found[t_h].name +",,";
|
||||||
|
}
|
||||||
|
headerString = headerString.slice(0,-2) + '\u000d';
|
||||||
|
var maxLength = Math.max.apply(null, lengths);
|
||||||
|
var csvString = "";
|
||||||
|
for (var x = 0; x < maxLength; x++){
|
||||||
|
for(var t = 0; t < tag_ids.length; t++){
|
||||||
|
if (x < lengths[t]){
|
||||||
|
csvString += tag_val_obj[tag_ids[t]].vals[x];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
csvString = csvString.slice(0,-2) + '\u000d';
|
||||||
|
}
|
||||||
|
|
||||||
res.set('Content-Type', 'text/csv');
|
res.set('Content-Type', 'text/csv');
|
||||||
res.set('Content-Disposition', 'attachment;filename=tagdata.csv');
|
res.set('Content-Disposition', 'attachment;filename=tagdata.csv');
|
||||||
res.send(csvString);
|
res.send(headerString + csvString);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user