Skip to content

Commit

Permalink
improving query parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
rogeriolino committed Apr 9, 2021
1 parent 1c1d30c commit a82850b
Showing 1 changed file with 88 additions and 67 deletions.
155 changes: 88 additions & 67 deletions Controller/DefaultController.php
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ private function totalAtendimentosStatus(
$usuario
) {
$dados = [];
$query = $this
$qb = $this
->getDoctrine()
->getManager()
->createQueryBuilder()
Expand All @@ -220,14 +220,17 @@ private function totalAtendimentosStatus(
->andWhere('e.dataChegada <= :fim')
->andWhere('e.unidade = :unidade')
->andWhere('e.status = :status')
->andWhere('(:usuario IS NULL OR e.usuario = :usuario)')
->setParameters([
'inicio' => $dataInicial,
'fim' => $dataFinal,
'unidade' => $unidade->getId(),
'usuario' => $usuario,
])
->getQuery();
->setParameter('inicio', $dataInicial)
->setParameter('fim', $dataFinal)
->setParameter('unidade', $unidade->getId());

if ($usuario) {
$qb
->andWhere('e.usuario = :usuario')
->setParameter('usuario', $usuario);
}

$query = $qb->getQuery();

foreach ($situacoes as $k => $v) {
$query->setParameter('status', $k);
Expand All @@ -244,7 +247,7 @@ private function totalAtendimentosServico(
$usuario
) {
$dados = [];
$rs = $this
$qb = $this
->getDoctrine()
->getManager()
->createQueryBuilder()
Expand All @@ -259,15 +262,19 @@ private function totalAtendimentosServico(
->andWhere('a.dataChegada >= :inicio')
->andWhere('a.dataChegada <= :fim')
->andWhere('a.unidade = :unidade')
->andWhere('(:usuario IS NULL OR a.usuario = :usuario)')
->groupBy('s')
->setParameters([
'status' => AtendimentoService::ATENDIMENTO_ENCERRADO,
'inicio' => $dataInicial,
'fim' => $dataFinal,
'unidade' => $unidade->getId(),
'usuario' => $usuario,
])
->setParameter('status', AtendimentoService::ATENDIMENTO_ENCERRADO)
->setParameter('inicio', $dataInicial)
->setParameter('fim', $dataFinal)
->setParameter('unidade', $unidade->getId());

if ($usuario) {
$qb
->andWhere('e.usuario = :usuario')
->setParameter('usuario', $usuario);
}

$rs = $qb
->getQuery()
->getResult();

Expand All @@ -293,7 +300,7 @@ private function tempoMedioAtendimentos(
'total' => $translator->trans('label.total_time', [], self::DOMAIN),
];

$rs = $this
$qb = $this
->getDoctrine()
->getManager()
->createQueryBuilder()
Expand All @@ -308,16 +315,20 @@ private function tempoMedioAtendimentos(
->where('a.dataChegada >= :inicio')
->andWhere('a.dataChegada <= :fim')
->andWhere('a.unidade = :unidade')
->andWhere('(:usuario IS NULL OR a.usuario = :usuario)')
->setParameters([
'inicio' => $dataInicial,
'fim' => $dataFinal,
'unidade' => $unidade->getId(),
'usuario' => $usuario,
])
->setParameter('inicio', $dataInicial)
->setParameter('fim', $dataFinal)
->setParameter('unidade', $unidade->getId());

if ($usuario) {
$qb
->andWhere('e.usuario = :usuario')
->setParameter('usuario', $usuario);
}

$rs = $qb
->getQuery()
->getResult();

foreach ($rs as $r) {
foreach ($tempos as $k => $v) {
$dados[$v] = (int) $r[$k];
Expand Down Expand Up @@ -384,7 +395,7 @@ private function servicosDisponiveisUnidade($unidade)

private function servicosRealizados(DateTime $dataInicial, DateTime $dataFinal, $unidade, $usuario)
{
$rs = $this
$qb = $this
->getDoctrine()
->getManager()
->createQueryBuilder()
Expand All @@ -398,16 +409,20 @@ private function servicosRealizados(DateTime $dataInicial, DateTime $dataFinal,
->where('e.unidade = :unidade')
->andWhere('e.dataChegada >= :dataInicial')
->andWhere('e.dataChegada <= :dataFinal')
->andWhere('(:usuario IS NULL OR e.usuario = :usuario)')
->groupBy('s')
->orderBy('s.nome', 'ASC')
->setParameters([
'dataInicial' => $dataInicial,
'dataFinal' => $dataFinal,
'unidade' => $unidade,
'usuario' => $usuario,
])
->setMaxResults(self::MAX_RESULTS)
->setParameter('dataInicial', $dataInicial)
->setParameter('dataFinal', $dataFinal)
->setParameter('unidade', $unidade)
->setMaxResult(self::MAX_RESULTS);

if ($usuario) {
$qb
->andWhere('e.usuario = :usuario')
->setParameter('usuario', $usuario);
}

$rs = $qb
->getQuery()
->getResult();

Expand All @@ -422,7 +437,7 @@ private function servicosRealizados(DateTime $dataInicial, DateTime $dataFinal,

private function atendimentosConcluidos(DateTime $dataInicial, DateTime $dataFinal, $unidade, $usuario)
{
$rs = $this
$qb = $this
->getDoctrine()
->getManager()
->createQueryBuilder()
Expand All @@ -432,22 +447,26 @@ private function atendimentosConcluidos(DateTime $dataInicial, DateTime $dataFin
->andWhere('e.status = :status')
->andWhere('e.dataChegada >= :dataInicial')
->andWhere('e.dataChegada <= :dataFinal')
->andWhere('(:usuario IS NULL OR e.usuario = :usuario)')
->orderBy('e.dataChegada', 'ASC')
->setParameters([
'status' => AtendimentoService::ATENDIMENTO_ENCERRADO,
'dataInicial' => $dataInicial,
'dataFinal' => $dataFinal,
'unidade' => $unidade,
'usuario' => $usuario,
])
->setParameter('status', AtendimentoService::ATENDIMENTO_ENCERRADO)
->setParameter('dataInicial', $dataInicial)
->setParameter('dataFinal', $dataFinal)
->setParameter('unidade', $unidade)
->setMaxResults(self::MAX_RESULTS);

if ($usuario) {
$qb
->andWhere('e.usuario = :usuario')
->setParameter('usuario', $usuario);
}

$rs = $qb
->getQuery()
->setMaxResults(self::MAX_RESULTS)
->getResult();

$dados = [
'unidade' => $unidade->getNome(),
'usuario' => $usuario,
'unidade' => $unidade->getNome(),
'usuario' => $usuario,
'atendimentos' => $rs,
];

Expand All @@ -456,7 +475,7 @@ private function atendimentosConcluidos(DateTime $dataInicial, DateTime $dataFin

private function atendimentosStatus(DateTime $dataInicial, DateTime $dataFinal, $unidade, $usuario)
{
$rs = $this
$qb = $this
->getDoctrine()
->getManager()
->createQueryBuilder()
Expand All @@ -465,21 +484,25 @@ private function atendimentosStatus(DateTime $dataInicial, DateTime $dataFinal,
->where('e.unidade = :unidade')
->andWhere('e.dataChegada >= :dataInicial')
->andWhere('e.dataChegada <= :dataFinal')
->andWhere('(:usuario IS NULL OR e.usuario = :usuario)')
->orderBy('e.dataChegada', 'ASC')
->setParameters([
'dataInicial' => $dataInicial,
'dataFinal' => $dataFinal,
'unidade' => $unidade,
'usuario' => $usuario,
])
->setParameter('dataInicial', $dataInicial)
->setParameter('dataFinal', $dataFinal)
->setParameter('unidade', $unidade)
->setMaxResults(self::MAX_RESULTS);

if ($usuario) {
$qb
->andWhere('e.usuario = :usuario')
->setParameter('usuario', $usuario);
}

$rs = $qb
->getQuery()
->setMaxResults(self::MAX_RESULTS)
->getResult();

$dados = [
'unidade' => $unidade->getNome(),
'usuario' => $usuario,
'unidade' => $unidade->getNome(),
'usuario' => $usuario,
'atendimentos' => $rs,
];

Expand Down Expand Up @@ -509,9 +532,9 @@ private function tempoMedioAtendentes(DateTime $dataInicial, DateTime $dataFinal
->groupBy('u')
->orderBy('u.nome', 'ASC')
->setParameters([
'unidade' => $unidade,
'unidade' => $unidade,
'dataInicial' => $dataInicial,
'dataFinal' => $dataFinal,
'dataFinal' => $dataFinal,
])
->getQuery()
->setMaxResults(self::MAX_RESULTS)
Expand Down Expand Up @@ -548,9 +571,7 @@ private function lotacoes(UsuarioService $usuarioService, $unidade, $nomeServico
->join('e.perfil', 'c')
->where('uni = :unidade')
->orderBy('usu.nome', 'ASC')
->setParameters([
'unidade' => $unidade
])
->setParameter('unidade', $unidade)
->getQuery()
->setMaxResults(self::MAX_RESULTS)
->getResult();
Expand All @@ -561,7 +582,7 @@ private function lotacoes(UsuarioService $usuarioService, $unidade, $nomeServico
}

$dados = [
'unidade' => $unidade->getNome(),
'unidade' => $unidade->getNome(),
'lotacoes' => $lotacoes,
'servicos' => $servicos,
];
Expand All @@ -584,7 +605,7 @@ private function perfis()

foreach ($perfis as $perfil) {
$dados[$perfil->getId()] = [
'perfil' => $perfil->getNome(),
'perfil' => $perfil->getNome(),
'permissoes' => $perfil->getModulos(),
];
}
Expand Down

0 comments on commit a82850b

Please sign in to comment.