@ -89,18 +88,35 @@ class DashboardController extends Controller
private function relatoriosDados()
{
$id_empresa = Helper::getIdEmpresa();
$relatorio = DB::table('queues as q')
->leftJoin('supervisor as s', 's.fila', '=', 'q.nome')
->leftJoin('atendimento as a', 'a.id_usuario', '=', 's.id_usuario')
->select('q.id as fila_id', 'q.nome as fila', DB::raw('count( DISTINCT s.id) as quantidade_supervisores'), DB::raw('COALESCE(COUNT(a.id), 0) AS quantidade_atendimentos'))
->where([
['q.id_empresa', $id_empresa],
['q.is_ativa', true],
])
->groupBy('q.nome', 'q.id')
->orderBy('q.nome', 'asc')
->get();
->leftJoin('supervisor as s', 's.fila', '=', 'q.nome')
->leftJoin('atendimento as a', 'a.id_usuario', '=', 's.id_usuario')
->select(
'q.id as fila_id',
'q.nome as fila',
DB::raw('count( DISTINCT s.id) as quantidade_supervisores'),
DB::raw(
"(
SELECT count(*) from atendimento ma
INNER JOIN eventos_atendimento ea ON ea.uniqueid = ma.uniqueid
WHERE ma.data_reg >= current_date AND ea.id_queue = q.id AND evento = 'START')
as atendimento_dia"
),
DB::raw(
"(
SELECT count(*) from atendimento ma
INNER JOIN eventos_atendimento ea ON ea.uniqueid = ma.uniqueid
WHERE ma.data_reg >= current_date AND ea.id_queue = q.id AND evento in ('ABANDON', 'LOST_CONNECTION')
) as atendimentos_abandonados"
)
)
->where([
['q.id_empresa', $id_empresa],
['q.is_ativa', true],
])
->groupBy('q.nome', 'q.id')
->orderBy('q.nome', 'asc')
->get();
return $relatorio;
}
@ -110,14 +126,13 @@ class DashboardController extends Controller
<textareaplaceholder="Digite alguma nota para o contato: "name="descricao"rows="5"class="w-full dark:bg-gray-800 placeholder:text-gray-800 dark:placeholder:text-gray-100 dark:text-gray-100"></textarea>
<textareaplaceholder="Digite alguma nota para o contato: "name="descricao"rows="5"class="w-full dark:bg-gray-800 placeholder:text-gray-800 dark:placeholder:text-gray-100 dark:text-gray-100"></textarea>