|
|
|
@ -40,9 +40,28 @@ class RelatorioHistoricoAtendimentoController extends Controller
|
|
|
|
|
$agentes = $this->agenteRepository->list(["id_empresa" => $idEmpresa]); |
|
|
|
|
$queues = $this->queueRepository->list(["id_empresa" => $idEmpresa]); |
|
|
|
|
$channels = $this->numberChannelRepository->list(["id_empresa" => $idEmpresa]); |
|
|
|
|
$atendimentos = $this->atendimentosRepository->getCompletAtend(["id_empresa" => $idEmpresa, "protocolo" => $request->protocolo, |
|
|
|
|
"atendente" => $request->atendente, "usuario" => $request->usuario, "dataInicio" => $request->dataInicio, |
|
|
|
|
"cliente_id" => $request->cliente_id, "dataFim" => $request->dataFim, "fila" => $request->fila, "channel" => $request->channel]); |
|
|
|
|
|
|
|
|
|
// Verifique se o protocolo está presente na solicitação |
|
|
|
|
if ($request->has('protocolo')) { |
|
|
|
|
// Remova os hífens do protocolo |
|
|
|
|
$protocolo = str_replace('-', '', $request->protocolo); |
|
|
|
|
$atendimentos = $this->atendimentosRepository->getCompletAtend([ |
|
|
|
|
"id_empresa" => $idEmpresa, |
|
|
|
|
"protocolo" => $protocolo |
|
|
|
|
]); |
|
|
|
|
} else { |
|
|
|
|
$atendimentos = $this->atendimentosRepository->getCompletAtend([ |
|
|
|
|
"id_empresa" => $idEmpresa, |
|
|
|
|
"protocolo" => $request->protocolo, |
|
|
|
|
"atendente" => $request->atendente, |
|
|
|
|
"usuario" => $request->usuario, |
|
|
|
|
"dataInicio" => $request->dataInicio, |
|
|
|
|
"cliente_id" => $request->cliente_id, |
|
|
|
|
"dataFim" => $request->dataFim, |
|
|
|
|
"fila" => $request->fila, |
|
|
|
|
"channel" => $request->channel |
|
|
|
|
]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return view('admin.relatorios.historicoAtendimentos.historicoAtendimentos', compact('atendimentos', 'selected', 'agentes', 'queues', 'channels')); |
|
|
|
|
} |
|
|
|
@ -72,4 +91,52 @@ class RelatorioHistoricoAtendimentoController extends Controller
|
|
|
|
|
|
|
|
|
|
return view('admin.relatorios.historicoAtendimentos.historicoAtendimento', compact('messages', 'contato', 'atendentes')); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function getCompletAtend(array $filters) |
|
|
|
|
{ |
|
|
|
|
$query = $this->newQuery(); |
|
|
|
|
|
|
|
|
|
if (isset($filters['id_empresa'])) { |
|
|
|
|
$query->where('id_empresa', $filters['id_empresa']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($filters['protocolo'])) { |
|
|
|
|
$query->where('protocolo', $filters['protocolo']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Outros filtros são ignorados se protocolo estiver presente |
|
|
|
|
if (!isset($filters['protocolo'])) { |
|
|
|
|
if (isset($filters['atendente'])) { |
|
|
|
|
$query->where('atendente', $filters['atendente']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($filters['usuario'])) { |
|
|
|
|
$query->where('usuario', $filters['usuario']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($filters['dataInicio'])) { |
|
|
|
|
$query->where('data_inicio', '>=', $filters['dataInicio']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($filters['dataFim'])) { |
|
|
|
|
$query->where('data_fim', '<=', $filters['dataFim']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($filters['cliente_id'])) { |
|
|
|
|
$query->where('cliente_id', $filters['cliente_id']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($filters['fila'])) { |
|
|
|
|
$query->where('fila', $filters['fila']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($filters['channel'])) { |
|
|
|
|
$query->where('channel', $filters['channel']); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return $query->get(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|