Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2.3] Portabilis patch 03/07/2020 #716

Merged
merged 73 commits into from
Jul 6, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
8763426
Utiliza query builders ao invés de SQL
edersoares Apr 12, 2020
7e5116a
Rota e controller para consulta do Educacenso
edersoares Jun 11, 2019
29c03b5
View da consulta do Educacenso
edersoares Jun 11, 2019
e235afc
Modifica queries do repositório para trazer mais dados
edersoares Jun 11, 2019
836af74
Permite utilizar as constantes das classes para descrição de valores
edersoares Jun 11, 2019
caf9482
Relacionamentos entre instituição e escola
edersoares Jun 11, 2019
26767cf
Implementação dos filtros da tela de consulta do Educacenso
edersoares Jun 11, 2019
2d0fecb
Data Educacenso na instituição
edersoares Jun 11, 2019
37d233e
Exibe a data do Educacenso correta
edersoares Jun 11, 2019
eef5b70
Selects e inputs utilizando HTML
edersoares Jun 12, 2019
abf3fe7
Utiliza includes de selects e input
edersoares Jun 12, 2019
6ee37b6
Migration para inserir o menu
edersoares Jun 12, 2019
e9f96e6
Inverte ordem de colunas
edersoares Jun 12, 2019
2081e64
Exibe o nome da disciplina correta na listagem
edersoares Jun 12, 2019
5375fb8
Ajustes após rebase
edersoares Mar 31, 2020
ac11588
Breadcrumb e ajustes de texto
edersoares Mar 31, 2020
2fd6784
Ordenação
edersoares Mar 31, 2020
a7a65b2
Melhoria de performance
edersoares Mar 31, 2020
edc5dde
Usa componentes do sistema
edersoares Mar 31, 2020
50ba6a0
SQL de extração de dados do Educacenso
edersoares Apr 10, 2020
974b27f
Query builders para exportação de dados
edersoares Apr 11, 2020
d36e734
Cria migrações do Educacenso
edersoares Apr 13, 2020
73ef53e
Corrige problema ao criar view
edersoares Apr 13, 2020
ad001c1
Faz paginação dos resultados
edersoares Apr 13, 2020
c4f84c7
Exibe o total de registros na paginação
edersoares Apr 13, 2020
b10b6c7
Ajusta teste após refatoração de getNameAttribute de LegacySchool
munizeverton Apr 21, 2020
6a765c1
Inclui método para tratar caracteres especiais
gustavomendess Jun 3, 2020
e2aff2a
Corrige o local do método em alguns arquivos
gustavomendess Jun 8, 2020
fea6a3a
Corrige sugestões do CR
gustavomendess Jun 9, 2020
8ec656e
Corrige arquivo que tinha sofrido alterações equivocadas
gustavomendess Jun 9, 2020
526733c
Remove campos não utilizados da tabela de servidor
munizeverton Jun 18, 2020
7d18c90
Remove campos antigos de clsPmieducarServidor
munizeverton Jun 18, 2020
47ccbfc
Remove campos antigos da função pmieducar.unifica_pessoas
munizeverton Jun 18, 2020
fa1ebc6
Implementa variável auxiliar para receber valor escapado
gustavomendess Jun 23, 2020
1182c36
Altera consultas ao banco com códigos mais recente
gustavomendess Jun 23, 2020
a62a6b7
Melhora funcionamento do exists
gustavomendess Jun 24, 2020
c8a544d
Implementa método para tratar caracteres especiais em outros campos
gustavomendess Jun 25, 2020
d8d7205
Remove addlashes desnecessário
gustavomendess Jun 25, 2020
3bcdb25
Revert "Remove campos não utilizados da tabela de servidor"
munizeverton Jun 29, 2020
9aa0217
Revert "Remove campos antigos da função pmieducar.unifica_pessoas"
munizeverton Jun 29, 2020
bf08eb5
Merge pull request #7496 from portabilis/issue-7405
munizeverton Jun 29, 2020
c96991f
Implementa método para tratar aspas simples em [Atualizar histórico] …
gustavomendess Jun 29, 2020
ff1109b
Merge branch 'master' into issue-5821
edersoares Jun 29, 2020
0b40952
Remove tratamento duplicado na tela de instituições
gustavomendess Jun 30, 2020
8f6cbee
Altera nome da variável na class da instituição
gustavomendess Jun 30, 2020
baf678d
Converte para maiúscula opções do select de escolas
edersoares Jun 30, 2020
686823b
Corrige instância do objeto
gustavomendess Jun 30, 2020
08be906
Merge pull request #7463 from portabilis/issue-2558
gustavomendess Jun 30, 2020
a7a0d06
Remove linha em branco no início de arquivo
munizeverton Jul 2, 2020
85650b9
Merge pull request #7536 from portabilis/issue-7535
munizeverton Jul 2, 2020
f189890
Inclui método para validar se o nome da pessoa será em Uppercase
gustavomendess Jul 2, 2020
a5732ac
Merge pull request #7538 from portabilis/issue-2558-2
gustavomendess Jul 2, 2020
6bd537d
Merge pull request #5829 from portabilis/issue-5821
edersoares Jul 2, 2020
981b479
Merge branch 'master' into issue-5821
edersoares Jul 2, 2020
b5c7a33
Corrige nome do menu e processo de cadastro
edersoares Jul 2, 2020
6c68267
Merge pull request #7540 from portabilis/issue-5821
edersoares Jul 2, 2020
bdc1132
Adiciona return esquecido
edersoares Jul 2, 2020
1a51f52
Merge pull request #7542 from portabilis/fix-educacenso
edersoares Jul 2, 2020
ba5962c
Corrige Breadcrumb na tela da agenda
gustavomendess Jul 2, 2020
629d53a
Corrige indentação da tela da agenda
gustavomendess Jul 2, 2020
1e3874e
Exibe código HTML nas notificações
munizeverton Jul 3, 2020
ad832a8
Cria parâmetro para não executar em determinados bancos
munizeverton Jul 3, 2020
10e6689
Merge pull request #7546 from portabilis/feature/html-notifications
munizeverton Jul 3, 2020
a576688
Merge pull request #7547 from portabilis/feature/queryall-database-se…
munizeverton Jul 3, 2020
9d37300
Merge pull request #7543 from portabilis/issue-7531
gustavomendess Jul 3, 2020
cd48172
Abre notificações em uma nova aba
munizeverton Jul 3, 2020
64b7a25
Merge pull request #7548 from portabilis/feature/new-tap-notifications
munizeverton Jul 3, 2020
f86b20f
Cria arquivo com a função original
munizeverton Jul 3, 2020
35b8b66
Corrige bug na função que trata datas em ano bissexto
munizeverton Jul 3, 2020
35176f1
Merge pull request #7549 from portabilis/fix/ano-bissexto
munizeverton Jul 3, 2020
c1e755d
Merge branch 'master' into community-patch-2020-07-03
gustavomendess Jul 3, 2020
1617969
Merge pull request #7551 from portabilis/community-patch-2020-07-03
edersoares Jul 3, 2020
7065c1f
Version
gustavomendess Jul 6, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion app/Console/Commands/QueryAllCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class QueryAllCommand extends Command
*
* @var string
*/
protected $signature = 'query:all';
protected $signature = 'query:all {--no-database=*}';

/**
* The console command description.
Expand All @@ -36,7 +36,13 @@ public function handle()
$data = [];
$file = file_get_contents(storage_path('query.sql'));

$excludedDatabases = $this->option('no-database');

foreach ($this->getConnections() as $connection) {
if (in_array($connection, $excludedDatabases)) {
continue;
}

try {
$data = (array) DB::connection($connection)->selectOne($file);
} catch (Exception $exception) {
Expand Down
113 changes: 113 additions & 0 deletions app/Http/Controllers/EducacensoController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
<?php

namespace App\Http\Controllers;

use App\Models\LegacyInstitution;
use App\Repositories\EducacensoRepository;
use ComponenteCurricular_Model_CodigoEducacenso;
use Illuminate\Http\Request;
use Illuminate\View\View;

class EducacensoController extends Controller
{
/**
* @param LegacyInstitution $institution
* @param array $records
* @param null $paginate
*
* @return View
*/
private function view(LegacyInstitution $institution, $records = [], $paginate = null)
{
$this->breadcrumb('Consulta 1ª fase - Matrícula inicial', [
url('intranet/educar_educacenso_index.php') => 'Educacenso',
]);

$this->menu(70);

$schools = $institution->schools()->with('person')->get()->sortBy(function ($school) {
return $school->name;
});

return view('educacenso.consult', [
'institution' => $institution,
'schools' => $schools,
'paginate' => $paginate,
'record20' => $records['record20'] ?? null,
'record40' => $records['record40'] ?? null,
'record50' => $records['record50'] ?? null,
'record60' => $records['record60'] ?? null,
]);
}

/**
* @param Request $request
* @param EducacensoRepository $repository
* @param LegacyInstitution $institution
*
* @return View
*/
public function consult(
Request $request,
EducacensoRepository $repository,
LegacyInstitution $institution
) {
$record = $request->query('record');
$school = $request->query('ref_cod_escola');
$year = $request->query('year');

if (empty($record) || empty($school) || empty($year)) {
return $this->view($institution);
}

$records = [];

if ($record == '20') {
$paginate = $repository->getBuilderForRecord20($year, $school)
->orderBy('nomeTurma')
->paginate();

$records['record20'] = $paginate->items();
}

if ($record == '40') {
$paginate = $repository->getBuilderForRecord40($school)
->orderBy('nomePessoa')
->paginate();

$records['record40'] = $paginate->items();
}

if ($record == '50') {
require_once base_path('ieducar/modules/ComponenteCurricular/Model/CodigoEducacenso.php');

$paginate = $repository->getBuilderForRecord50($year, $school)
->paginate();

$records['record50'] = collect($paginate->items())
->map(function ($item) {
$disciplines = explode(',', substr($item->componentes, 1, -1));

$item->componentes = collect($disciplines)->unique()->map(function ($discipline) {
return ComponenteCurricular_Model_CodigoEducacenso::getDescription($discipline);
})->toArray();

return $item;
})
->sortBy(function ($data) {
return "{$data->nomeDocente}{$data->nomeTurma}";
})
->values();
}

if ($record == '60') {
$paginate = $repository->getBuilderForRecord60($year, $school)
->orderBy('nomeAluno')
->paginate();

$records['record60'] = $paginate->items();
}

return $this->view($institution, $records, $paginate);
}
}
20 changes: 19 additions & 1 deletion app/Models/LegacyInstitution.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use DateTime;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne;

/**
Expand All @@ -14,6 +15,7 @@
* @property string $city Noda da cidade da instituição
* @property string $state Sigla do estado da instituição
* @property DateTime $relocation_date Data base para remanejamento
* @property DateTime $educacenso_date Data de corte do Educacenso
*/
class LegacyInstitution extends Model
{
Expand All @@ -39,7 +41,7 @@ class LegacyInstitution extends Model
* @var array
*/
protected $dates = [
'data_base_remanejamento'
'data_base_remanejamento', 'data_educacenso',
];

/**
Expand Down Expand Up @@ -97,6 +99,14 @@ public function getRelocationDateAttribute()
return $this->data_base_remanejamento;
}

/**
* @return DateTime
*/
public function getEducacensoDateAttribute()
{
return $this->data_educacenso;
}

/**
* Indica se os campos do Censo são obrigatórios.
*
Expand All @@ -119,4 +129,12 @@ public function getAllowRegistrationOutAcademicYearAttribute()
{
return boolval($this->permitir_matricula_fora_periodo_letivo);
}

/**
* @return HasMany
*/
public function schools()
{
return $this->hasMany(LegacySchool::class, 'ref_cod_instituicao', 'cod_instituicao');
}
}
15 changes: 10 additions & 5 deletions app/Models/LegacySchool.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
/**
* LegacySchool
*
* @property string $name
*
* @property LegacyInstitution $institution
*/
class LegacySchool extends Model
Expand Down Expand Up @@ -71,6 +73,14 @@ public function getIdAttribute()
return $this->cod_escola;
}

/**
* @return string
*/
public function getNameAttribute()
{
return $this->person->nome;
}

/**
* Relacionamento com a instituição.
*
Expand Down Expand Up @@ -110,11 +120,6 @@ public function organization()
return $this->belongsTo(LegacyOrganization::class, 'ref_idpes');
}

public function getNameAttribute()
{
return DB::selectOne('SELECT relatorio.get_nome_escola(:escola) AS nome', ['escola' => $this->id])->nome;
}

/**
* @return HasOne
*/
Expand Down
Loading