Giter VIP home page Giter VIP logo

novosga's Introduction

Novo SGA

Support queue management system.

Installation

Via Composer

Create project:

composer create-project "novosga/novosga:^2.1" novosga2

Run app installation command and follow instructions:

export APP_ENV=prod
export LANGUAGE=pt_BR
export DATABASE_URL="mysql://user:pass@localhost:5432/novosgadb"

bin/console novosga:install

Via Docker

Documentation in the Novo SGA official docker repository.

Via Git

Clone repository:

git clone https://github.com/novosga/novosga.git novosga2

Then follow Composer install instruction.

Automated installation

To automated installation you need to set up the following environment variables before run novosga:install command:

Database

  • DATABASE_URL

Default administrator user

  • NOVOSGA_ADMIN_USERNAME
  • NOVOSGA_ADMIN_PASSWORD
  • NOVOSGA_ADMIN_FIRSTNAME
  • NOVOSGA_ADMIN_LASTNAME

Default unity

  • NOVOSGA_UNITY_NAME
  • NOVOSGA_UNITY_CODE

Default priority 0

  • NOVOSGA_NOPRIORITY_NAME
  • NOVOSGA_NOPRIORITY_DESCRIPTION

Default priority 1

  • NOVOSGA_PRIORITY_NAME
  • NOVOSGA_PRIORITY_DESCRIPTION

Default attendance place

  • NOVOSGA_PLACE_NAME

novosga's People

Contributors

almino avatar cauancabral avatar charlyr avatar dependabot[bot] avatar haroldofurtado avatar jmada avatar joranfreire avatar phansys avatar ptopenweb avatar rogeriolino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

novosga's Issues

Utilizar um algorítimo criptograficamente seguro para senha

Hash simples baseado em MD5 e SHA1 são facilmente quebráveis com os equipamentos atuais.

Dois links que discutem bastante alterantivas:

Posso implementar uma das soluções na classe Security caso tenha interesse (substituindo o método atual).

Talvez seja interessante criar um mecanismo para fazer atualização das senhas atuais com MD5 para o novo formato.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Web: Integração com LDAP

Adicionar suporte à autenticação via LDAP.

Criar opção no módulo de administração para configurar tipo de autenticação, e os campos a serem preenchidos:

  • Servidor
  • Porta
  • Base DS
  • Username Field (campo no LDAP que representa o login)
  • Search Filter
  • Usuário LDAP
  • Senha

obs: Usuário e Senha é para caso necessite de um usuário válido para fazer as buscas no LDAP.

Se integração com LDAP estiver marcada, primeiro busca o usuário nele, em caso de falha tenta fazer verificação no banco de dados. Já quando a autenticação ocorrer com sucesso cria no banco de dados esse usuário (com senha vazia) para poder vincular aos serviços.

Netbeans client

hola, me podrías decir como importo el panel-client dentro de netbeans, lo e intentado y me genera error.Gracias

Problema con el panel servidor

Cuando cargo server.sh sale este error:
21/02/2013 22:30:28 br.gov.dataprev.controladorpainel.GerenciadorPaineis carregarPaineisDoBanco
GRAVE: Falha carregando painel do banco
java.net.UnknownHostException: -1062731415
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:867)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1246)
at java.net.InetAddress.getAllByName0(InetAddress.java:1197)
at java.net.InetAddress.getAllByName(InetAddress.java:1128)
at java.net.InetAddress.getAllByName(InetAddress.java:1064)
at java.net.InetAddress.getByName(InetAddress.java:1014)
at br.gov.dataprev.controladorpainel.GerenciadorPaineis.carregarPaineisDoBanco(GerenciadorPaineis.java:88)
at br.gov.dataprev.controladorpainel.GerenciadorPaineis.(GerenciadorPaineis.java:66)
at br.gov.dataprev.controladorpainel.GerenciadorPaineis.(GerenciadorPaineis.java:56)
at br.gov.dataprev.controladorpainel.ControladorPainel.main(ControladorPainel.java:75)

Painel Cliente Não Conecta

Boa tarde Rogério. Ao iniciar o Painel Cliente no Windows eu coloco meu ip do Painel Servidor e o Cliente encontra mas não lista as unidades. Como devo proceder?

Módulo Monitor - Busca

Permitir buscar a senha pela letra também.

Aproveitar e melhorar link para abrir modal para cancelar/reativar senha.

Problema na instalação

Pessoal, gostei muito do novosga, mais infelizmente não estou conseguindo realizar a instalação do mesmo.

Gostaria de saber qual o local ou email para tentar retirar as minhas duvidas?

Pois no meu servidor online consegui realizar a instalação do sistema, mais não consigo fazer a comunicação com o painel. Já no meu servidor local, não consigo realizar a instalação de nada.

Problema com Painel do Servidor

Boa tarde Rogerio. Estou tendo um problema ao executar o Painel Servidor. O mesmo roda numa VM. Segue os dados do erro e se possível me da um Help ae =)

[root@tanatos novosga-painel-server]# /etc/novosga-painel-server/server.sh [root@tanatos novosga-painel-server]# Mar 12, 2013 3:35:10 PM br.gov.dataprev.controladorpainel.ControladorPainel main
INFO: Iniciando Controlador de Paineis
Mar 12, 2013 3:35:10 PM br.gov.dataprev.controladorpainel.ControladorPainel main
INFO: Carregando Configurações
Mar 12, 2013 3:35:10 PM br.gov.dataprev.controladorpainel.ConfigManager
INFO: Agendando primeira tarefa de limpeza para Tue Mar 12 23:50:00 AMT 2013 com repetição a cada 24 horas
Mar 12, 2013 3:35:10 PM br.gov.dataprev.controladorpainel.ControladorPainel main
INFO: Carregando Gerenciador de Conexões SQL...
Exception in thread "main" java.lang.NoClassDefFoundError: com/mchange/v2/c3p0/ComboPooledDataSource
at br.gov.dataprev.controladorpainel.SQLConnectionPool.(SQLConnectionPool.java:54)
at br.gov.dataprev.controladorpainel.SQLConnectionPool.(SQLConnectionPool.java:46)
at br.gov.dataprev.controladorpainel.ControladorPainel.main(ControladorPainel.java:68)
Caused by: java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)

PanelFX - Tarefas

Bug na vocalização [bug]
Após um certo período de funcionamento, a vocalização das senhas parava ficando apenas o som do alerta

Adicionar Context Menu [funcionalidade]
Permitir acessar o menu do painel clicando com o botão direito sobre o cenário

Melhoria da exibição das senhas [melhoria]
Reduzido os números de zeros tanto na senha quanto no guichê, e adicionada identificação de guichê no histórico de senhas

Arquivo CSS [melhoria]
Retirar o arquivo style.css de dentro do jar e adicionar classes aos componentes para facilitar a customização via CSS.

Web: Bloqueio de tela por inatividade

Bloquear acesso quando o usuário ficar X minutos ocioso (sem movimentar o mouse ou digitar alguma coisa).

Alternativas:

  • Redirecionar para a tela de login (e informar na url a página anterior)
  • Abrir modal exibindo o usuário atual e pedir para informar a senha para desbloqueio

Vocalizar senha Linux

Erro ao vocalizar senha no linux na versão 0.7.0, porque não foi atentado ao case do nome do arquivo.

Painel: Atualização automática

Criar funcionalidade para o painel se atualizar a partir da versão disponibilizada pela administração web.

A atualização será automática, quando abrir o painel, sem a necessidade do usuário concordar.

Painel Web - Configuração

Adicionar suporte a configurações de aparência e áudio ao painel web (igual ao painel em JavaFx).

  • Escolher cor de fundo e dos textos
  • Habilitar/desabilitar vocalização de senhas
  • Escolher de idioma

Web: Modo de numeração de senha

Criar na configuração da unidade um campo para escolher o modo de geração dos números das senhas.

Exemplo:

  • Incremental único
  • Incremental por Serviço

Relatório de usuários

Listar os usuários do sistema por cargo (um ou todos). Quando todos, agrupar os usuários por cargo. E mostrar as permissões do cargo.

Erro ao excluir usuário

Erro de restrição de chave estrangeira ao tentar excluir usuário. Passos preDelete:

  • Verificar se não trata do próprio usuário logado;
  • Verificar se possui atendimentos (então não pode excluir);
  • Excluir vínculos (serviços e lotações);
  • Excluir usuário;

touchscreen

hola, hay alguna impletacion para iniciar un terminal automaticamente en la url http:///novosga/?module=sga.triagem&page=touchscreen obteniendo el user/pass y la unidad via get?.

Painel Servidor parando de enviar senhas

Após vários envios de senha, o servidor de painel está travando na query que busca as senhas não enviadas. Não dá mensagem de erro apenas bloqueia o envio.

Painel Web

Bom dia Rogerio,
Gostaria de saber se existe a possibilidade de desenvolvimento de um painel web com um slyder Jquery pra ficar passando propaganda?

Reinicialização de Senhas

Ao final da instalação, deveria gerar um arquivo de acordo com a base de dados escolhida para zerar as senhas salvando os dados no histórico, igual ao do SGA atual (hoje somente no PostgreSQL).

Assim o administrador poderia colocá-lo no Cron ou no Agendador de tarefas.

Acha uma boa sugestão?

Após adicionar novo usuário deveria haver um redirecionamento

Ao finalizar uma adição de usuário, o sistema simplesmente recarrega a tela anterior com os dados registrados, mostrando uma tela que não representa nem a de criação de um usuário (não tem todos os campos), nem a de edição (sem botão para mudar a senha).

Acredito que a linha 112 do CrudController deveria redirecionar o usuário para tela de edição completa, um endereço como ?module=usuarios&page=edit&id=2

Relatórios ordenados por senha são inconsistentes

Ao ir em Estatísticas e gerar relatórios de atendimentos, se houver uma rotina para reiniciar constantemente as senhas, os registros ficam todos embaralhados, sem organização temporal.

Acredito que o correto seja ordenar pelo campo dataInicial.
O que acha?

Mensagem do Painel

Quando a senha é de alguma prioridade, não aparece a mensagem prioridade no painel cliente.

Web: Atualização automática

Criar servidor de releases e verificar se há versão disponível quando entrar na Administração. E deixar opção para o usuário poder atualizar a sua versão apenas clicando em "atualizar".

Tipo de atendimento por Guichê

Adicionar campo na modal aonde define o número do guichê, para também informar o tipo de atendimento o mesmo irá atender.

  • Todos
  • Somente prioritário
  • Somente não prioritário

Guardar essa opção na sessão para poder utilizar ao buscar a fila de atendimento do usuário.

Visualização de Usuários

Um usuário que tem permissão ao módulo, mas que não é do grupo Raiz(enfim, o grupo primário) não deveria poder visualizar usuários de outras unidades diversas da qual o usuário pertence, ou seja, essa visualização geral caberia apenas aos Usuários do Grupo raiz.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Web: Módulo de agendamento

Esse módulo, na verdade será apenas gerencial, apenas para acompanhar os agendamentos. Já que essa funcionalidade implica em alterar outros módulos.

O cliente poderá se cadastrar na fila de atendimento (agendar) em no máximo um dia antes do atendimento previsto. Escolhendo a unidade e o serviço que deseja ser atendido (atendimento normal, não prioritário). Deve ser obrigatório o preenchimento do documento.

Quando o cliente chegar à triagem, deverá apresentar o documento e automaticamente identificará o atendimento agendado para o dia. E atualizará a tabela de agendamento com o número gerado.

Alterar verificação de próximo para procurar também na tabela de agendamento, se existe alguma senha gerada para a data e hora atual. Então chama-la.

A identificação de que o atendimento se trata de um agendamento deverá ser apresentada no Painel, e também para o atendente.

Para facilitar integração com outros sistemas, o cadastro de um novo agendamento deve ser feito por um post em uma determinada URL que retorna um JSON.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Estatísticas - Melhorias

  • Adicionar campo para filtrar gráficos por unidade
  • Remover serviços inativos no relatório de serviços por unidade
  • Adicionar coluna de tempo de permanência no relatório de atendimentos concluídos
  • Nome do cliente no relatório de atendimentos
  • Zebrar linhas

Atendimentos prioritários consecutivos

Criar opção para limitar o número de atendimentos prioritários para cada atendimento normal.

Problema: Se enquanto uma senha normal que está aguardando, chegar X senhas prioritárias, o atendimento normal só será realizado quando depois de todos X prioritários.

Web: Letra da senha quando redirecionada

Como na tabela de atendimentos só guarda o serviço do atendimento. A letra da senha pode alterar quando houver um redirecionamento.

Exemplo: senha 1 para o serviço A (A0001), foi redirecionada para o serviço B, então no painel aparecerá B0001 e não mais A0001. Isso pode gerar confusão caso o atendente não explique ao cliente.

Solução: adicionar uma coluna para guardar também a letra da senha na tabela de atendimento, e mantê-la quando o serviço for redirecionado. Assim quando um atendente que só atende o serviço B, já saberá também previamente que se trata de um redirecionamento.

CSS da tela de TRIAGEM

Acredito que retirar o traço abaixo dos números que tem na tela de triagem e colorir com a mesma cor dos botões ficaria mais interessante, pois facilitaria visualmente para o operador da TRIAGEM no caso manual.

Testes versão 0.1.8

Efetuar testes para geração de release

  • Instalação normal;
  • Instalação com migração da versão SGA Livre;
  • Geração de senhas no módulo de triagem;
  • Módulo de atendimentos: normais e com redirecionamento;

Ambiente

  • Informar sistema operacional
  • Informar banco de dados
  • Informar browser e versão

Web: Gerenciar painéis

Criar página para gerenciar os paineis via interface web.

  • Exibir paineis conectados por unidade (mostar ip);
  • Dialog para visualizar os serviços de cada painel;
  • Opção para ativar/desativar painel.

Problemas ao conectar com MS SQL

Tentei instalar o novosga com MS SQL, porém deu erro na etapa 6. Quando clico em instalar aparece a informação " SQLSTATE[HY000]: General error: 111 General SQL Server error: Check messages from the SQL Server [111](severity 15) []". Como devo proceder para instalar o novosga no MS SQL ?

Peso por serviço

Caros,
Na comunidade do sga livre tem uma postagem que o administrador pode relacionar o serviço com o usuário e determinar um peso para que o usuário possa atender a todos os tipos de serviços, mais possa direcionar seu foco a um tipo de atendimento. caso não haja esse tipo de atendimento ele continua atendendo os outros. Como posso inserir essa funcionalidade no sistema? pois hoje quando crio um usuário no sistema consigo inserir o serviço que ele vai atender. mais não consigo determinar um peso a sua fila!
Grato!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.