Browse Source

Ajuste em filtro de relatorio historico de atendimentos

1.0.3
guilherme.guia 12 months ago
parent
commit
21cfb6a281
  1. 18
      app/Http/Controllers/Admin/Relatorios/RelatorioHistoricoAtendimentoController.php
  2. 10
      app/Models/Atendimentos.php
  3. 2
      public/js/relatorios/historicoChamadas/index.js
  4. 9
      resources/views/admin/relatorios/historicoAtendimentos/historicoAtendimentos.blade.php

18
app/Http/Controllers/Admin/Relatorios/RelatorioHistoricoAtendimentoController.php

@ -32,21 +32,19 @@ class RelatorioHistoricoAtendimentoController extends Controller
$selected = (object) $request->all();
$idEmpresa = Helper::getIdEmpresa();
$quantidadeRegistros = $selected->registros ?? 20;
$atendimentos = $this->atendimentosRepository->getCompletAtend(["id_empresa" => $idEmpresa, "protocolo" => $request->protocolo, "usuario" => strtolower($request->usuario), "atendente" => strtolower($request->atendente)], $quantidadeRegistros);
$atendimentos = $this->atendimentosRepository->getCompletAtend(["id_empresa" => $idEmpresa, "search" => $request->search, "atendente" => $request->atendente]);
$arrFilter = $atendimentos;
if ($request->atendente) {
$arrFilter = $this->atendimentosRepository->getCompletAtend(["id_empresa" => $idEmpresa, "atendente" => strtolower($request->atendente)], $quantidadeRegistros);
$arrFilter = $this->atendimentosRepository->getCompletAtend(["id_empresa" => $idEmpresa, "atendente" => strtolower($request->atendente)]);
}
$filtro_atendentes = $this->agenteRepository->list(["id_empresa" => $idEmpresa]);
$filtro_usuarios = array_values(array_reduce($arrFilter->items(), function ($carry, $item) {
$carry[$item->nome_client] = $item->nome_client;
return $carry;
}, []));
return view('admin.relatorios.historicoAtendimentos.historicoAtendimentos', compact('atendimentos', 'selected', 'filtro_atendentes', 'filtro_usuarios'));
// $filtro_usuarios = array_values(array_reduce($arrFilter->items(), function ($carry, $item) {
// $carry[$item->nome_client] = $item->nome_client;
// return $carry;
// }, []));
// dd($atendimentos);
return view('admin.relatorios.historicoAtendimentos.historicoAtendimentos', compact('atendimentos', 'selected', 'filtro_atendentes'));
}
public function show($uniqueid): View

10
app/Models/Atendimentos.php

@ -34,6 +34,7 @@ class Atendimentos extends Model
->join('protocolo_reg as r', "r.uniqueid", "=", "a.uniqueid")
->leftJoin('contatos as c', "c.contato", "=", "a.cliente_id")
->select(DB::raw('DISTINCT a.uniqueid'), DB::raw('COALESCE(c.nome, a.nome) AS nome_client'), 'u.nome as nome_atendente', 'r.protocolo as protocolo')
// ->select(DB::raw('DISTINCT a.uniqueid'), DB::raw('a.nome nome_client'), 'u.nome as nome_atendente', 'r.protocolo as protocolo')
->whereIn('ea.evento', [config('event.CONF_EVENT_TIMERMINO_CLIENTE'), config('event.CONF_EVENT_TIMERMINO_AGENTE')]);
if (isset($params['id_empresa'])) {
@ -52,10 +53,17 @@ class Atendimentos extends Model
if (isset($params['atendente'])) {
$atendimentos->where(DB::raw('LOWER(u.nome)'), 'LIKE', "%{$params['atendente']}%");
}
if (isset($params['search'])) {
$atendimentos->where(DB::raw('LOWER(a.nome)'), 'LIKE', "%{$params['search']}%")
->orWhere(DB::raw('r.protocolo'), 'LIKE', "%{$params['search']}%");
}
$atendimentos->orderByDesc('r.protocolo');
return $atendimentos->paginate($quantidade);
// dd($atendimentos->paginate(10));
// dd($atendimentos->get());
return $atendimentos->paginate(10);
// return $atendimentos->get();
}

2
public/js/relatorios/historicoChamadas/index.js

@ -5,7 +5,7 @@ function montaChat(messages, cliente_id) {
messages.forEach((message) => {
const datesend = converdata(new Date(message.msg_date).getTime());
let typesend = cliente_id == message.src ? "receiver" : "sender";
let typesend = cliente_id == message.src ? "sender" : "receiver";
let statusMessage = message.status != 'error' ? datesend : '<span class="message-error" style="color:red">Mensagem não foi enviada!</span>';
if (message.type == "text") {

9
resources/views/admin/relatorios/historicoAtendimentos/historicoAtendimentos.blade.php

@ -11,9 +11,9 @@
<h1 class="text-gray-100">Filtrar por: </h1>
<div class="search bg-white dark:bg-gray-800 rounded overflow-hidden px-3 py-1">
<i class="fas fa-search dark:text-gray-100"></i>
<input type="text" name="protocolo" value="{{$selected->protocolo ?? ""}}" class="border-none bg-transparent focus:ring-transparent placeholder:text-gray-800 dark:placeholder:text-gray-100 dark:text-gray-100 " placeholder="Protocolo: ">
<input type="text" name="search" value="{{$selected->search ?? ""}}" class="min-w-[250px] border-none bg-transparent focus:ring-transparent placeholder:text-gray-800 dark:placeholder:text-gray-100 dark:text-gray-100 " placeholder="Protocolo/Agente">
</div>
<select class="border-none rounded overflow-hidden dark:bg-gray-800 dark:text-gray-100 py-3" name="usuario">
{{-- <select class="border-none rounded overflow-hidden dark:bg-gray-800 dark:text-gray-100 py-3" name="usuario">
<option value="">Usuário</option>
@foreach ($filtro_usuarios as $usuario)
@if (isset($selected->usuario) && $selected->usuario === $usuario)
@ -22,7 +22,7 @@
<option value="{{$usuario}}">{{$usuario}}</option>
@endif
@endforeach
</select>
</select> --}}
<select class="border-none rounded overflow-hidden dark:bg-gray-800 dark:text-gray-100 py-3" name="atendente">
<option value="" selected>Atendente</option>
@foreach ( $filtro_atendentes as $atendente)
@ -68,9 +68,8 @@
</div>
@endforelse
{{$atendimentos->appends([
'protocolo' => request()->get('protocolo', ''),
'search' => request()->get('search', ''),
'atendente' => request()->get('atendente', ''),
'usuario' => request()->get('usuario', ''),
])->links()}}
</div>
</div>

Loading…
Cancel
Save