Instalação dos Relatórios na versão 2.1.0


#8

@Bonot,

Mesmo substituindo permanece o erro.

O caminho lá em cima tá assim
http://IP_DA_VPS:PORTA/module/Reports/StudentsPerClass

não sei se isso ajuda para identificar-mos a configuração correta.


#9

Acho que você vai precisar reproduzir os passos que indiquei no Erro relatórios após novo pacote de relatórios, para ver qual o caminho dos relatórios que está no container. Você fez o clone dos relatórios certinho?


#10

Segue esses passos:

  • Acessar o container: docker exec -it ieducar_1604 bash , em alguns casos precisa do sudo na frente.
  • Entrar na pasta em que os relatórios se encontram, padrão: cd ieducar/modules/Reports/ReportSources/
  • Execute uma listagem dos arquivos, pra ver se estão aí mesmo: ls
  • Se estiver tudo ok, use o comando pwd para mostrar na tela o caminho atual, e coloque ele no ini.

E o resultado foi esse, depois que digitei pwd de dentro da pasta ReportSource:
/root/i-educar/ieducar/modules/Reports/ReportSources


#11

Na verdade na versão 2.1.0, não tem mais esse ieducar_1604, na instalação.


#12

Tenta colocar assim no ini então:

report.source_path = /root/i-educar/ieducar/modules/Reports/ReportSources/

Na verdade na versão 2.1.0, não tem mais esse ieducar_1604 , na instalação.

Sim, não tem mais.


#13

Alterei,
Mesmo assim, continua se abrir.

É normal ter esses dois parâmetros:

Outra dúvida,
Preciso rodar algum comando depois de atualizar esse arquivo .ini


#14

estou precisando resolver o mesmo problema, a pergunta é : tenho que executar aqueles procedimentos que estão em Instalação dos Relatórios na versão 2.1.0 ? o arquivo phinx.php fica onde nesta ultima versão?


#15

Depois de fazer o clone dos relatórios você rodaram:
docker-compose exec php artisan reports:install
docker-compose exec php artisan migrate

Esses comandos são executados fora do docker.


#16

Rodei sim, @Juchem

De dentro da pasta /i-educar/
docker-compose exec php artisan reports:install

E nesse:
docker-compose exec php artisan migrate


#17

Esse erro para exibir relatórios acontece com todos os relatórios? Já testou outro relatório?

Em i-educar/storage/logs tem alguns arquivos de texto com erros da aplicação, vê se ai não te da uma luz do que pode estar acontecendo.


#18

Acontece com todos os Relatórios.
Vou verificar os logs


#19

As últimas linhas do Log de hoje, estão assim:

Name: situacao_matricula_pkey; Type: CONSTRAINT; Schema: relatorio; Owner: postgres

ALTER TABLE ONLY situacao_matricula
ADD CONSTRAINT situacao_matricula_pkey PRIMARY KEY (cod_situacao);
) at /application/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664, PDOException(code: 42723): SQLSTATE[42723]: Duplicate function: 7 ERROR: function “get_ddd_escola” already exists with same argument types at /application/vendor/laravel/framework/src/Illuminate/Database/Connection.php:507)
[stacktrace]
#0 /application/vendor/laravel/framework/src/Illuminate/Database/Connection.php(624): Illuminate\Database\Connection->runQueryCallback(‘SET search_path…’, Array, Object(Closure))
#1 /application/vendor/laravel/framework/src/Illuminate/Database/Connection.php(511): Illuminate\Database\Connection->run(‘SET search_path…’, Array, Object(Closure))
#2 /application/app/Console/Commands/ReportsInstallCommand.php(58): Illuminate\Database\Connection->unprepared(‘SET search_path…’)
#3 [internal function]: App\Console\Commands\ReportsInstallCommand->handle(Object(Illuminate\Filesystem\Filesystem), Object(Illuminate\Database\PostgresConnection))
#4 /application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#5 /application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#6 /application/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#7 /application/vendor/laravel/framework/src/Illuminate/Container/Container.php(572): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)
#8 /application/vendor/laravel/framework/src/Illuminate/Console/Command.php(183): Illuminate\Container\Container->call(Array)
#9 /application/vendor/symfony/console/Command/Command.php(255): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#10 /application/vendor/laravel/framework/src/Illuminate/Console/Command.php(170): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#11 /application/vendor/symfony/console/Application.php(901): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /application/vendor/symfony/console/Application.php(262): Symfony\Component\Console\Application->doRunCommand(Object(App\Console\Commands\ReportsInstallCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /application/vendor/symfony/console/Application.php(145): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /application/vendor/laravel/framework/src/Illuminate/Console/Application.php(89): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /application/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(122): Illuminate\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /application/artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 {main}
"}


#20

Não consegui executar em modo debug, pra tentar visualizar onde tá o erro.


#21

Esse erro aconteceu por que você deve ter executado 2 vezes as migrations, não deve ser isso que está travando seu relatório.


Bom, podemos tentar fazer o seguinte:
Abra o arquivo i-educar/vendor/cossou/jasperphp/src/JasperPHP/JasperPHP.php
Na linha 186 adiciona esse comando: echo $this->the_command;exit;
Salva o arquivo e tenta gerar o relatório.
Na nova aba que abriu no navegador ter uma string, essa é a string com os comandos para gerar o teu relatório, remova o final dessa string, o final dela deve ter algo como 2>&1 copie o resto dessa string e cole no terminal do container do i-educar, após isso mande executar, cola o retorno do comando aqui para nós.

Eu iria fazer isso em minha instalação, mas meu banco de dados está sem nada, preciso achar um backup ou algo assim.


#22

image

Após alterado esse arquivo, o resultado ao executar o relatório foi:

/application/vendor/cossou/jasperphp/src/JasperPHP/../JasperStarter/bin/jasperstarter compile /root/i-educar/ieducar/modules/Reports/ReportSources/students-per-class.jrxml -o /root/i-educar/ieducar/modules/Reports/ReportSources/students-per-class

Não apareceu, como disse nessa parte (não consegui executar esse passo):

Na nova aba que abriu no navegador ter uma string, essa é a string com os comandos para gerar o teu relatório, remova o final dessa string, o final dela deve ter algo como 2>&1 copie o resto dessa string e cole no terminal do container do i-educar, após isso mande executar, cola o retorno do comando aqui para nós.


#23

Bom dia.
Você não consegue executar esse comando no terminal de dentro do container do docker?


#24

Bom dia,

Copiar todo esse conteúdo e jogar no terminal?

Em qual dos containers? Pq tem um ieduar-php, ieducar-ngnix, …


#25

Isso, copia o comando e joga no terminal do ieducar-php


#26

Assim:

image


#27

Parece que ele não achou o arquivo jasperstarter, tem como você navegar até a pasta bin?
cd /application/vendor/cossou/jasperphp/src/JasperPHP/…/JasperStarter/bin

e depois vai até essa pasta:
cd /application/i-educar/ieducar/modules/Reports/ReportSources

e depois até essa:
cd /root/i-educar/ieducar/modules/Reports/ReportSources

Está um pouco estranho essa estrutura de pastas desses comandos.


Erro na impressão de relatorio em uma vps