How to invoke a url in the Node into an html page?

Asked

Viewed 223 times

1

My files are these...

regressao.js (regre.list(data) Which calculates the regression and returns values for atualizaPa.js (atualPA.atua(data,palavra)

var db = require('../config/db_config.js'); //Definição do CONTROLLER no BANCO
var atual = require('../controller/atualizaPA.js');

// função de de listar-----------------------------------------------
exports.list = function regressao(data) {

    var capTX = 0;
    var contPA = 0;
    var consPA = 0;
    var consDia = 0.02;
    var capT2 = 0;
    var diasTY = 0;
    var calcXY = 0;
    var somDes = 0;
    var medX = 0;
    var medY = 0;
    var calcA = 0;
    var calcB = 0;
    var desvioP = 0;
    var erroP = 0;

    if (!data) {

        return ({
            error: 'Regressão não realizada'
        });
    } else {
        for (var i = 0; i < data.paa.length; i++) {

            var ps = data.paa[i];

            capTX += ps.capacPA; // Soma do consumo de todos os PA's
            contPA = 1 + i; // Contador da amostragem
            capT2 += ps.capacPA * ps.capacPA;
            diasTY += ps.capacPA / (ps.qtdPesPA * consDia);
            consPA += (ps.capacPA / (ps.qtdPesPA * consDia)) * ps.qtdPesPA;
            calcXY += ps.capacPA * (ps.capacPA / (ps.qtdPesPA * consDia));
        };

        medX = (capTX / contPA);
        medY = (diasTY / contPA);
        calcA = ((contPA * calcXY) - (capTX * diasTY)) / ((contPA * capT2) - (capTX * capTX));
        calcB = (medY - (calcA * medX));

        for (var i = 0; i < data.paa.length; i++) {
            var md = data.paa[i];
            somDes += (medY - md.capacPA / (md.qtdPesPA * consDia)) * (medY - md.capacPA / (md.qtdPesPA * consDia));

        };
        desvioP = Math.sqrt(somDes / (contPA - 1));
        erroP = (desvioP / Math.sqrt(contPA));

        return (calcA + ' ' + calcB + ' ' + erroP + ' ' + consDia);
    }
};

updates.js Updating all records with the calculation returned from the previous function

var paAtual = require('../controller/paController.js');
var db = require('../config/db_config.js'); //Definição do CONTROLLER no BANCO

exports.atua = function(data, palavra) {

    var calcA = parseFloat(palavra[0]);
    var calcB = parseFloat(palavra[1]);
    var erroP = parseFloat(palavra[2]);
    var consDia = parseFloat(palavra[3]);
    var atua;
    var valor = 0;

    data.paa = data.paa.map(function(teste) {
        var linhaY = teste.capacPA / (teste.qtdPesPA * consDia);
        teste.qtdDiaPA = Math.round(((linhaY - ((calcA * teste.capacPA) + calcB) + erroP) + erroP + linhaY) * erroP / 10);
        teste.cadPA = new Date();

        db.Pa.findOne({
            codPA: teste.codPA
        }, function(error, pa) {

            if (!error && !pa) {

                return ('PA ' + test.codPA + ' NÃO ENCONTRADO');
            } else {

                pa.codPA = teste.codPA;
                pa.latPA = teste.latPA;
                pa.lonPA = teste.lonPA;
                pa.qtdPesPA = teste.qtdPesPA;
                pa.qtdDiaPA = teste.qtdDiaPA;
                pa.adminPA = teste.adminPA;
                pa.nomePA = teste.nomePA;
                pa.capacPA = teste.capacPA;
                pa.cidadePA = teste.cidadePA;
                pa.estadoPA = teste.estadoPA;
                pa.statusPA = teste.statusPA;
                pa.cadPA = new Date
                pa.save(function(error, pa) {
                    if (error) {
                        return ('Valor de campo inválido');
                    } else {
                        return (pa);
                    }
                });
            }
        })
        valor = [teste.qtdDiaPA, Math.round(linhaY), teste.capacPA];
        return valor;
    });
    var test = data.paa;
    //test = test.replace(/"/gi, '');
    return test;
};

app.js - What is my interpoint where I call /regre to perform the previous functions

// ***EU QUERO TRANSFORMAR ISSO EM UM FUNÇÃO EM QUE POSSA CHAMAR DE ONDE QUISER***

var app = require('./config/app_config.js');
var regre = require('./controller/regressao.js');
var atualPA = require('./controller/atualizaPA.js');
var verifica = require('./controller/entrega.js');
var fs = require('fs');
//var consPA = 0, qtdDias = 0, consumo = 0, popul = 0, cont = 0;

var paController = require('./controller/paController.js');
var pipeiroController = require('./controller/pipeiroController.js');
var rotaController = require('./controller/rotaController.js');
var manancialController = require('./controller/manancialController.js');
var omController = require('./controller/omController.js');
var entregaController = require('./controller/entregaController.js');
var validator = require('validator');
var replace = require('replace');
var data = 0;
var palavra = 0;
var testando = 0;

app.get('/regre', function(req, res) {
    paController.list(function(resp) {
        data = {
            "paa": resp
        };
        var teste = regre.list(data);
        palavra = teste.split(" ");
        var atual = atualPA.atua(data, palavra);
        res.jsonp(atual);
    });
});

graphic.html - Which is where I want to call the function that will bring the array data to be rendered, that is, when the page is loaded, it should already go with the data set returned - array.

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript" src="../controller/entrega.js"></script>
    <script type="text/javascript">    
          var testegraf = [[9,11,8],[8,9,8],[1,3,10],[4,7,10],[8,11,10],[5,11,12],[5,13,14],[24,39,15],[1,10,15],[18,33,16]];
      //var aux1 = testegraf.replace(/"/gi, ''); 

      google.charts.load('current', {'packages':['scatter']});
      google.charts.setOnLoadCallback(drawChart);

      function drawChart () {

        var data = new google.visualization.DataTable();
        data.addColumn('number', 'Analise Dispersão');
        data.addColumn('number', 'Regressão');
        data.addColumn('number', 'Cisternas');

        alert([testegraf]);

        data.addRows(testegraf);

        var options = {
          chart: {
            title: 'Analise de Regressão em dispersão',
            subtitle: 'Baseado nas Cisternas Existentes'
          },
          width: 500,
          height: 300,
          series: {
            0: {axis: 'hours studied'},
            1: {axis: 'final grade'}
          },
          axes: {
            y: {
              'hours studied': {label: 'Cisternas'},
              'final grade': {label: 'Regressão'}
            }
          }
        };
        var chart = new google.charts.Scatter(document.getElementById('scatter_dual_y'));

        chart.draw(data, options);

      }
    </script>
  </head>
  <body>
    <div id="scatter_dual_y" style="width: 500px; height: 500px;"></div>
  </body>
</html>

So far, I haven’t been able to get it computed in html.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.