|
|
|
@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin;
|
|
|
|
|
use App\Http\Controllers\Controller; |
|
|
|
|
use Illuminate\Support\Facades\DB; |
|
|
|
|
use Illuminate\Support\Facades\Gate; |
|
|
|
|
use Illuminate\Http\Request; |
|
|
|
|
|
|
|
|
|
class GraficosController extends Controller |
|
|
|
|
{ |
|
|
|
@ -18,14 +19,14 @@ class GraficosController extends Controller
|
|
|
|
|
return view("admin.graficos.graficos"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function show() |
|
|
|
|
public function show(Request $request) |
|
|
|
|
{ |
|
|
|
|
$data = $this->getRelatorioDados(); |
|
|
|
|
$data = $this->getRelatorioDados($request->dataInicio, $request->dataFim); |
|
|
|
|
|
|
|
|
|
return response()->json(['status' => true, 'data' => $data]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private function getRelatorioDados() |
|
|
|
|
private function getRelatorioDados($dataInicio, $dataFim) |
|
|
|
|
{ |
|
|
|
|
$user = auth()->user(); |
|
|
|
|
$id_empresa = $user->empresa->first()->id; |
|
|
|
@ -33,7 +34,17 @@ class GraficosController extends Controller
|
|
|
|
|
$atendimentosData = DB::table('usuarios as u') |
|
|
|
|
->leftJoin('atendimento as a', 'u.id', '=', 'a.id_usuario') |
|
|
|
|
->select('u.nome', DB::raw('count(a.id_usuario) as qtde_atendimento')) |
|
|
|
|
->where('a.id_empresa', $id_empresa) |
|
|
|
|
->where('a.id_empresa', $id_empresa); |
|
|
|
|
|
|
|
|
|
if ($dataInicio && $dataFim) { |
|
|
|
|
$atendimentosData->whereBetween(DB::raw('a.data_reg::DATE'), [$dataInicio, $dataFim]); |
|
|
|
|
} elseif ($dataInicio) { |
|
|
|
|
$atendimentosData->where(DB::raw('a.data_reg::DATE'), '>=', $dataInicio); |
|
|
|
|
} elseif ($dataFim) { |
|
|
|
|
$atendimentosData->where(DB::raw('a.data_reg::DATE'), '<=', $dataFim); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$atendimentosData = $atendimentosData |
|
|
|
|
->groupBy('u.nome') |
|
|
|
|
->get(); |
|
|
|
|
|
|
|
|
@ -44,14 +55,34 @@ class GraficosController extends Controller
|
|
|
|
|
->where([ |
|
|
|
|
['ue.id_empresa', '=', $id_empresa], |
|
|
|
|
['ea.evento', '<>', config('event.CONF_EVENT_ESPERA')], |
|
|
|
|
]) |
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
if ($dataInicio && $dataFim) { |
|
|
|
|
$atendimentosStatusData->whereBetween(DB::raw('ea.data_reg::DATE'), [$dataInicio, $dataFim]); |
|
|
|
|
} elseif ($dataInicio) { |
|
|
|
|
$atendimentosStatusData->where(DB::raw('ea.data_reg::DATE'), '>=', $dataInicio); |
|
|
|
|
} elseif ($dataFim) { |
|
|
|
|
$atendimentosStatusData->where(DB::raw('ea.data_reg::DATE'), '<=', $dataFim); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$atendimentosStatusData = $atendimentosStatusData |
|
|
|
|
->groupBy('ea.evento') |
|
|
|
|
->get(); |
|
|
|
|
|
|
|
|
|
$filasMaisUsadas = DB::table('queues as q') |
|
|
|
|
->join('eventos_atendimento as ea', 'ea.id_queue', '=', 'q.id') |
|
|
|
|
->select('q.nome', DB::raw('count(ea.id_queue) as qtde_fila')) |
|
|
|
|
->where('q.id_empresa', $id_empresa) |
|
|
|
|
->where('q.id_empresa', $id_empresa); |
|
|
|
|
|
|
|
|
|
if ($dataInicio && $dataFim) { |
|
|
|
|
$filasMaisUsadas->whereBetween(DB::raw('ea.data_reg::DATE'), [$dataInicio, $dataFim]); |
|
|
|
|
} elseif ($dataInicio) { |
|
|
|
|
$filasMaisUsadas->where(DB::raw('ea.data_reg::DATE'), '>=', $dataInicio); |
|
|
|
|
} elseif ($dataFim) { |
|
|
|
|
$filasMaisUsadas->where(DB::raw('ea.data_reg::DATE'), '<=', $dataFim); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$filasMaisUsadas = $filasMaisUsadas |
|
|
|
|
->groupBy('q.nome') |
|
|
|
|
->get(); |
|
|
|
|
|
|
|
|
@ -65,4 +96,6 @@ class GraficosController extends Controller
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|