-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
127 lines (109 loc) · 3.28 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
const express = require('express');
const app = express();
const handlebars = require('express-handlebars');
const bodyParser = require('body-parser');
const { triggerAsyncId } = require('async_hooks');
const googleapi = require('./googleapi');
app.engine('handlebars', handlebars({defaultLayout: 'main'}))
app.set('view engine', 'handlebars')
app.use(express.static(__dirname+'/multimidia'));
app.use(express.static(__dirname+'/views'));
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
// Animais: Valor I - ÁGUIA; Valor C - GATO; Valor A - TUBARÃO; Valor O - LOBO
var animais = [];
// Elementos: Primário; Secundário
var elementos = [];
//Rotas
app.get('/', function(req, res){
res.render('analise_perfil');
});
app.get('/resultado', function(req, res){
res.render('resultado', { I: animais[0], C: animais[1], O: animais[2], A: animais[3], elemento_principal: elementos[0], elemento_secundario:elementos[1]});
});
app.get('/resultado_perfil', function(req, res){
res.render('resultado_perfil');
});
app.post('/resultado_perfil', async function(req, res){
tratarResultado(req);
await new Promise(resolve => setTimeout(resolve, 3000));
res.redirect('/resultado');
})
app.listen(8080);
function tratarResultado(req) {
// Contadores animais
var I = 0;
var C = 0;
var A = 0;
var O = 0;
var idade;
var area;
for (let index = 0; index <= 25; index++) {
switch (req.body['r'+ index + '_1']) {
case 'I':
I++;
break;
case 'C':
C++;
break;
case 'A':
A++;
break;
case 'O':
O++;
break;
default:
}
}
// Aplica percentual
I = I * 4;
C = C * 4;
A = A * 4;
O = O * 4;
animais = [];
animais.push(I);
animais.push(C);
animais.push(A);
animais.push(O);
elementos = [];
elementos.push(req.body['rdElementoPrimario']);
elementos.push(req.body['rdElementoSecundario']);
idade = req.body['idade'];
area = req.body['area'];
// Busca lista de animais predominantes.
// Animal predominante é aquele com maior valor percentual.
// Pode haver até 3 animais.
var maxValorAnimal = Math.max( ...animais );
var position;
var animaisPredominantes = [];
var animaisPredominantesFormatado;
var listaAnimais = ['ÁGUIA','GATO','TUBARÃO','LOBO'];
for (let index = 0; index < 5; index++) {
if(animais[index] == maxValorAnimal){
animaisPredominantes.push(listaAnimais[index]);
}
}
animaisPredominantesFormatado = animaisPredominantes.join('-');
let date_obj = new Date();
let date = ("0" + date_obj.getDate()).slice(-2);
let month = ("0" + (date_obj.getMonth() + 1)).slice(-2);
let year = date_obj.getFullYear();
let hours = date_obj.getHours();
let minutes = date_obj.getMinutes();
let seconds = date_obj.getSeconds();
var dataFormatada = year + "-" + month + "-" + date + " " + hours + ":" + minutes + ":" + seconds;
insereResultado(idade, area, animaisPredominantesFormatado, dataFormatada);
}
function insereResultado(idade, area, animaisPredominantesFormatado, dataFormatada) {
googleapi.insertValues(
elementos[0],
elementos[1],
idade,
area,
animais[0],
animais[1],
animais[2],
animais[3],
animaisPredominantesFormatado,
dataFormatada);
}