Utilizando script-servidor para visualizar os usuários do sistema


#1

Olá amigos,

Segue um simples exemplo de como visualizar os usuários do sistema em uma View.

Resultado:

1 - Adicione um componente HTML :

<!DOCTYPE html>
<html>
<head>
<style>
#customers {
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    border-collapse: collapse;
    width: 100%;
}

#customers td, #customers th {
    border: 1px solid #ddd;
    padding: 8px;
}

#customers tr:nth-child(even){background-color: #f2f2f2;}

#customers tr:hover {background-color: #ddd;}

#customers th {
    padding-top: 8px;
    padding-bottom: 8px;
    text-align: left;
    background-color: #4CAF50;
    color: white;
}
</style>
</head>
<body>



</body>
</html>

2 - Adicione um componente script-servidor em uma TAG que sempre esteje habilitada.

var dpDao = new com.serotonin.mango.db.dao.UserDao();
var dpVo = dpDao.getActiveUsers();
var usersCount = dpVo.size();
var html = "<table id=\"customers\"><tr><th>ID<\/th><th>Nome<\/th><th>Email<\/th><\/tr>";
var coun  = 0;
for(var i = 0; i < usersCount ;i++)  
{  
coun = coun + 1;
var usr = dpDao.getUser(coun);
var id = usr['id'];
var nome = usr['username'];
var email = usr['email'];


html += "<tr>";

html += "<td>";
html += id;
html += "</td>";

html += "<td>";
html += nome;
html += "</td>";


html += "<td>";
html += email;
html += "</td>";

html += "</tr>";
}








return html;

Como exibir o nome do usuário logado na tela IHM?
#2

Massa, um simples exemplo, mas que pode ser aplicado para outras funcionalidades no Scadabr, Parabéns!


#3

Parabéns pela dica. Essa é sensacional.
Nunca pensei que poderíamos colocar o resultado de uma query em html na visualização desta forma!


#4

Olá,
Muito obrigado pelo agradecimento. Existem outras classes DAO que podem ser utilizada, como Alarmes,Histórico entre outras.

Classes DAO herdada do MANGO M2M: C:\Program Files\ScadaBR\webapps\ScadaBR\WEB-INF\classes\com\serotonin\mango\db\dao

Classe DAO desenvolvida pela equipe BR: C:\Program Files\ScadaBR\webapps\ScadaBR\WEB-INF\classes\br\org\scadabr\db\dao

Divirta-se kkkkk


#5

Parabéns pela dica.
Estou a tentar reproduzir o script mas este esta a dar erro quando coloco as variáveis “username” e “emai” se deixar só a variável “id” esta não da erro. Parece-me que quando é uma variável que recebe texto da erro se for numérica não da erro.

O erro é:

poderiam ajudar no problema.
Estou a usar a versão 1.1.


#6

Olá amigo,
A versão 1.1 não funciona o componente script-servidor. Utilize a versão mais estável que é a 1.0 CE disponível no site do ScadaBR.com.br


#7

Obrigado pelo esclarecimento.

Tens alguma ideia de qual será o problema? Vou tentar investigar um pouco se não conseguir resolver vou ter de arranjar o código fonte dessa versão, é que estou a desenvolver novo protocolo e tenho de passá lo para a versão 1.0.


#8

Não sei dizer oque deve ser, eu imagino que seja em relação a versão do JAVA, a versão ScadaBR 1.0 CE utiliza JAVA 6, e a versão 1.1 do ScadaBR utiliza java 8, o código re-utilizado da versão 1.0 CE tem alguma dependência do JAVA 6 quando se trata do script-servidor.

Qual protocolo está utilizando?


#9

Obrigado,

Vou verificar com outras versões do java.

O protocolo é para recolher dados dos contadores de energia por Ethernet e Serial da norma IEC60870-5-102. Utilizado na rede Elétrica Espanhola.


#10

Entendi, como você realiza a leitura de consumo na rede elétrica? Você utiliza a serial para se comunicar com algum hardware que realiza a leitura e responde na serial o consumo kWh instantâneo ou você utiliza um micro controlador com porta ethernet e serial para comunicação e um transformador de corrente? Explique um pouco mais …


#11

A leitura é realizada directamente no contador de energia. Neste caso em particular os contadores de energia são electrónicos e possuem funções de Datalogger incorporadas internamente. Estes disponibilizam acesso a leituras de valores instantâneos e de histórico por intermédio de comunicação Serial ou Ethernet ligados directamente ao contador.
Para poder realizar essa leitura vasta possuir um sistema SCADA ou um Datalogger que tenha implementado o protocolo de comunicação do contador e é possível aceder as medições efectuadas por estes.
Não é necessário mais nenhum equipamento extra.


#12

Boas,

Testei o exemplo dado para versões de java 9 e 10 (Windows 10 + Tomcat 7 + (java 7, Java 9 e Java 10) e ScadaBR 1.1) o qual funcionou correctamente como podem ver nas imagens abaixo.

Não funciona com Java 8.


#13

Opa Jcassa, bom dia meu amigo.

Então, acredito que este seu post seja justamente a resposta sobre um tópico que abri. Sendo que estou com dois impasses. Pode me dar um help ?

Seguinte:
Primeiramente ao inserir o seu código no componente HTML, ao clicar em confirmar o componente desaparece da representação.

No segundo passo, tenho esse erro na tela!

O que pode estar acontecendo?

Abraço.
Prayol


#14

Meu amigo,

Impasses contornados !

Quanto a invisibilidade conforme sabe, é uma ocorrência normal.

Com relação ao erro relatado, como você mesmo já informou, há uma incompatibilidade. Sendo que, como não utilizarei a herança da classe “UserDao”, substitui temporariamente as variáveis ( id, username e email ) por texto simples, somente para efeito de teste e como pode ver, funcionou.

Agora meu próximo passo, é saber como farei para adequar seus códigos, as minhas necessidades abaixo.

Obs.: Um último teste que acabei de fazer, também não tive nenhum problema em usar variáveis associadas a classe do DAO “PointValueDao”.

Parabéns e valeu pelo post!

Forte abraço.


#15

E usando o banco mysql tem como?


#16

olá amigo, podera colar o código do seu exemplo com data point?