@rogeriolino

Estou tentando fazer o rodar o comando automatico para reset de senha mas não
esta funcionando e no release dessa versão constava como problema resolvido poderia
me ajudar com esse problema ?

Estou rodando o seguinte comando no shell para fazer o reset :

/var/www/html/novosga/bin/console novosga:reset

Apresenta a seguinte msg:

In AbstractMySQLDriver.php line 106:

  An exception occurred in driver: could not find driver


In PDOConnection.php line 31:

  could not find driver


In PDOConnection.php line 27:

  could not find driver


novosga:reset [-s|--seguro] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command> [<unidade>].

Meu servidor esta com a seguinte configuração:

  • Debian 9
  • Postgresql 9.6
  • Php 7.3
  • Apache 2

@rogeriolino

Executando o reset por dentro da aplicação em UNIDADE - CONFIGURAÇÕES - TRIAGEM - REINICIAR TODAS SENHAS o reset funciona corretamente.

Já direto na ADMINISTRAÇÃO-SISTEMA-REINICIAR SENHA não funciona apresenta a seguinte msg

"Invalid AJAX response"

No Shell pelo erro que foi apresentado creio que seja algo relacionado ao drive de conexão do banco de dados visto que eu estou utilizado o Postgres.

6 dias depois

Você está exportando a variável de ambiente DATABASE_URL antes de rodar o comando?

@rogeriolino
Devido ao bug que esta dando no redirecionamento da senha com o banco Postgres que relatei no post https://discuss.novosga.org/d/287-erro-ao-encerrar-e-redirecionar-atendimento/3.

Eu reinstalei meu servidor usando banco MARIADB e consegui roda o comando alterando o arquivo doctrine.yaml na linha aonde esta " url: '%env(resolve: DATABASE_URL)%' "coloquei direto a "url: 'mysql://novosga:senha@localhost:3306/novosgadb' ".

Então coloquei para executar via cron o comando de reset das senhas mas essa noite não reiniciou as senhas e ao tentar rodar o comando na mão apresentou esse erro.

* In AbstractMySQLDriver.php line 55:

  An exception occurred while executing '
                  INSERT INTO historico_atendimentos
                  (
                      id, num_local, dt_age, dt_cheg, dt_cha, dt_ini, dt_fim, tempo_espera, tempo_permanencia, tempo_atendimento, tempo_deslocamento, status, resolucao, observacao, senha_sigla, senha_numero, cliente_id, unidade_id, se
  rvico_id, prioridade_id, usuario_id, usuario_tri_id, atendimento_id
                  )
                  SELECT
                      a.id, a.num_local, a.dt_age, a.dt_cheg, a.dt_cha, a.dt_ini, a.dt_fim, a.tempo_espera, a.tempo_permanencia, a.tempo_atendimento, a.tempo_deslocamento, a.status, a.resolucao, a.observacao, a.senha_sigla, a.senha_nu
  mero, a.cliente_id, a.unidade_id, a.servico_id, a.prioridade_id, a.usuario_id, a.usuario_tri_id, a.atendimento_id
                  FROM
                      atendimentos a
                  WHERE
                      a.dt_cheg <= :data AND (a.unidade_id = :unidade OR :unidade = 0)
               AND a.atendimento_id IS NOT NULL' with params ["2019-10-29 08:53:39", 0]:

  SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '22' for key 'PRIMARY'


* In PDOStatement.php line 119:

  SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '22' for key 'PRIMARY'


* In PDOStatement.php line 117:

  SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '22' for key 'PRIMARY'

Fiz um teste no outro servidor que esta com o Banco Postgres e também esta apresentando erro mas é diferente do MARIADB

* In AbstractPostgreSQLDriver.php line 48:

  An exception occurred while executing '
                  DELETE FROM atendimentos
                  WHERE
                      dt_cheg <= :data AND
                      (unidade_id = :unidade OR :unidade = 0)
              ' with params ["2019-10-29 11:53:36", 0]:

  SQLSTATE[23503]: Foreign key violation: 7 ERRO:  atualização ou exclusão em tabela "atendimentos" viola restrição de chave estrangeira "fk_cbbdf95f76323123" em "historico_atendimentos"
  DETAIL:  Chave (id)=(126) ainda é referenciada pela tabela "historico_atendimentos".


* In PDOStatement.php line 119:

  SQLSTATE[23503]: Foreign key violation: 7 ERRO:  atualização ou exclusão em tabela "atendimentos" viola restrição de chave estrangeira "fk_cbbdf95f76323123" em "historico_atendimentos"
  DETAIL:  Chave (id)=(126) ainda é referenciada pela tabela "historico_atendimentos".


* In PDOStatement.php line 117:

  SQLSTATE[23503]: Foreign key violation: 7 ERRO:  atualização ou exclusão em tabela "atendimentos" viola restrição de chave estrangeira "fk_cbbdf95f76323123" em "historico_atendimentos"
  DETAIL:  Chave (id)=(126) ainda é referenciada pela tabela "historico_atendimentos". *

    rarandrade Amigo .. qual versao do SGA vc recomendaria? Vejo que tem muitos problemas essa versao 2.0.8 ..
    A versão 1.5.1 seria a melhor? O que voce acha? Valeu!

      kaputeko

      Atualmente eu utilizo a versão 1.5.1 para gerenciar todo o atendimento Ambulatorial do Hospital aonde Trabalho são em media 650 senhas emitidas todos os dias, nesta versão fizemos algumas modificações para atender melhor a nossa instituição juntamente com algumas customizações no Painel, essa versão esta bem estável e já utilizamos ela desde 2016 sem nenhum problema.

      A versão nova 2.0.8 trabalha com um Framework mais robusto que utiliza PHP 7, mas na minha opinião ficou mais complicado para fazer alterações no código original eu consegui corrigir alguns erro que encontrei outro já não consegui solucionar. Estou tentando iniciando um piloto com essa nova versão para atender a demanda do pronto atendimento do hospital juntamente com mais dois ambulatórios de outros dois hospitais que assumimos gestão.

      Estou testando ao máximo a versão 2.0.8 para conseguir identificar bugs que ela possa ter, visto que ela não é a versão final e pelo um post que o @rogeriolino fez ao um tempo atras ele mesmo já esta pensando em partir para uma nova versão 3.0.

        rarandrade Muito bom saber disso. Veja .. estou usando a 1.5 .. vc sabe o que mudou dela pra 1.5.1?
        Obrigado!

        6 dias depois

        A versão v2.0.8 é final sim. Eu utilizo em produção. Mas realmente há a intenção de já pular para a v3.0.

          rogeriolino

          Consegui resolver o erro que estava dando no reset da senha no MARIADB o que estava acontecendo e que o INSERT na tabela "historico_antedimento" esta pegando o id da tabela "atendimentos" isso causava duplicidade da CHAVE PRIMARIA.

          Para corrigir essa situação e fiz a seguinte alteração no arquivo RelationalStorage.php incluindo substr no INSERT e no SELECT para não pegar o campo id ficou desta forma.

          • novosga\src\Infrastructure\Storage\RelationalStorage.php
            • // copia os atendimentos para o historico
                          $sql = "
                              INSERT INTO {$historicoTable}
                              (
                                  " . substr(join(', ', $historicoColumns),4) . "
                              )
                              SELECT
                                  a." . substr(join(', a.', $historicoColumns),6) . "
                              FROM
                                  {$atendimentoTable} a
                              WHERE
                                  a.dt_cheg <= :data AND (a.unidade_id = :unidade OR :unidade = 0)
                          ";
              No postgres ainda não consegui solucionar o erro poderia dar uma olhada nisso ?
            um mês depois

            rarandrade o problema da duplicidade da senha é quando a sequência volta do 1. Problema do MySQL.

            Quando mover para o histórico é para manter o mesmo id. Se trata do mesmo atendimento, porém movido para histórico. Tem que manter o serviços codificados também.

            Na próxima versão, esse problema não irá acontecer. O id sequencial será substituído por uma chave UUID.

              4 anos depois

              rogeriolino e como faz para resolver na versão 2.0.8? as senhas já passaram de 1124 em 1 semana de uso
              ao tentar resetar em Configurações\Sistema\Reiniciar senhas, da erro de Invalid AJAX response

              2 meses depois

              rogeriolino para atualizar da versão 2.0.8, preciso fazer algum comando, ou só a troca dos arquivos?
              ou tem que refazer todo o passo a passo de instalação?