Browse Source

Att: exibindo nome dos destinos ao inves do ID nas modais redirect options, horarios e horarios options

Matheus
Felipe Fontana 6 months ago
parent
commit
e3deb43133
  1. 34
      app/Models/Horario.php
  2. 25
      app/Models/HorarioOption.php
  3. 32
      app/Models/RedirectOption.php
  4. 2
      resources/views/admin/cadastros/horarios.blade.php
  5. 2
      resources/views/admin/cadastros/horariosOption.blade.php
  6. 2
      resources/views/admin/cadastros/redirectOption.blade.php

34
app/Models/Horario.php

@ -23,26 +23,44 @@ class Horario extends Model
public function list(array $params)
{
$horarios = DB::table('horarios as h')
->join('number_channel as nc', 'nc.id', '=', 'h.id_number')
->select('h.*', 'nc.title as name_channel');
$horarios = DB::table(DB::raw("(
SELECT h.*, nc.title as name_channel, nc.id_empresa as id_empresa, nc.id as id_number,
CASE
WHEN h.opcao = '1' THEN q.nome
WHEN h.opcao = '2' THEN r.name
WHEN h.opcao = '3' THEN u.nome
WHEN h.opcao = '4' THEN h.acao
WHEN h.opcao = '5' THEN h.nome
WHEN h.opcao = '6' THEN h.acao
ELSE NULL
END AS additional_info
FROM horarios as h
INNER JOIN number_channel nc on h.id_number = nc.id
INNER JOIN types t on h.opcao::integer = t.id
LEFT JOIN queues q ON h.opcao = '1' AND q.id = (case when h.acao ~ '^[0-9]+$' then h.acao::integer else 0 end)
LEFT JOIN usuarios u ON h.opcao = '3' AND u.id = (case when h.acao ~ '^[0-9]+$' then h.acao::integer else 0 end)
LEFT JOIN redirect r ON h.opcao = '2' AND r.id = (case when h.acao ~ '^[0-9]+$' then h.acao::integer else 0 end)
) as t"));
$horarios->selectRaw('t.*, name_channel, t.additional_info');
if (is_array($params['id_empresa'])) {
$horarios->whereIn('nc.id_empresa', $params['id_empresa']);
$horarios->whereIn('t.id_empresa', $params['id_empresa']);
} else {
$horarios->where('nc.id_empresa', $params['id_empresa']);
$horarios->where('t.id_empresa', $params['id_empresa']);
}
if(isset($params['id_number'])){
$horarios->where('h.id_number', $params['id_number']);
$horarios->where('t.id_number', $params['id_number']);
}
if(isset($params['nome'])){
$horarios->where('h.nome', $params['nome']);
$horarios->where('t.nome', $params['nome']);
}
if(isset($params['status'])){
$horarios->where('h.status', $params['status']);
$horarios->where('t.status', $params['status']);
}
return $horarios->get();

25
app/Models/HorarioOption.php

@ -33,12 +33,29 @@ class HorarioOption extends Model
public function list(array $params)
{
$options = DB::table('horarios_itens as hi')
->join("horarios as h", "h.id", "=", "hi.id_horario")
->select("hi.*", "h.nome as horario_nome");
$options = DB::table(DB::raw("(
SELECT hi.*, h.nome as horario_nome,
CASE
WHEN hi.opcao = '1' THEN q.nome
WHEN hi.opcao = '2' THEN r.name
WHEN hi.opcao = '3' THEN u.nome
WHEN hi.opcao = '4' THEN hi.acao
WHEN hi.opcao = '5' THEN h.nome
WHEN hi.opcao = '6' THEN hi.acao
ELSE NULL
END AS additional_info
FROM horarios_itens hi
INNER JOIN horarios h on hi.id_horario = h.id
INNER JOIN types t on h.opcao::integer = t.id
LEFT JOIN queues q ON hi.opcao = '1' AND q.id = (case when hi.acao ~ '^[0-9]+$' then hi.acao::integer else 0 end)
LEFT JOIN usuarios u ON hi.opcao = '3' AND u.id = (case when hi.acao ~ '^[0-9]+$' then hi.acao::integer else 0 end)
LEFT JOIN redirect r ON hi.opcao = '2' AND r.id = (case when hi.acao ~ '^[0-9]+$' then hi.acao::integer else 0 end)
) as t"));
$options->selectRaw('t.*, t.horario_nome, t.additional_info');
if (isset($params['id_horario'])) {
$options->where('hi.id_horario', $params['id_horario']);
$options->where('t.id_horario', $params['id_horario']);
}
return $options->orderBy('id', 'asc')->get();

32
app/Models/RedirectOption.php

@ -36,24 +36,40 @@ class RedirectOption extends Model
public function list(array $params)
{
$options = DB::table('redirect_option as ro')
->join("redirect as r", "r.id", "=", "ro.id_redirect")
->join("types as t", "t.id", "=", "ro.id_type")
->select("ro.*", "r.name as redirect_name", "t.name as type_name");
$options = DB::table(DB::raw("(
SELECT ro.*, r.name as redirect_name, t.name as type_name,
CASE
WHEN ro.id_type = 1 THEN q.nome
WHEN ro.id_type = 2 THEN r.name
WHEN ro.id_type = 3 THEN u.nome
WHEN ro.id_type = 4 THEN ro.code_id
WHEN ro.id_type = 5 THEN h.nome
WHEN ro.id_type = 6 THEN ro.code_id
ELSE NULL
END AS additional_info
FROM redirect_option ro
INNER JOIN redirect r on ro.id_redirect = r.id
INNER JOIN types t on ro.id_type = t.id
LEFT JOIN queues q ON ro.id_type = 1 AND q.id = (case when ro.code_id ~ '^[0-9]+$' then ro.code_id::integer else 0 end)
LEFT JOIN horarios h ON ro.id_type = 5 AND h.id = (case when ro.code_id ~ '^[0-9]+$' then ro.code_id::integer else 0 end)
LEFT JOIN usuarios u ON ro.id_type = 3 AND u.id = (case when ro.code_id ~ '^[0-9]+$' then ro.code_id::integer else 0 end)
) as t"));
$options->selectRaw('t.*, redirect_name, type_name, t.additional_info');
if (isset($params['sequence'])) {
$options->where('ro.sequence', $params['sequence']);
$options->where('t.sequence', $params['sequence']);
}
if (isset($params['search'])) {
$options->where(DB::raw('LOWER(ro.nome)'), 'LIKE', "%{$params['search']}%");
$options->where(DB::raw('LOWER(t.nome)'), 'LIKE', "%{$params['search']}%");
}
if (isset($params['id_redirect'])) {
$options->where('ro.id_redirect', $params['id_redirect']);
$options->where('t.id_redirect', $params['id_redirect']);
}
return $options->orderBy('sequence', 'asc')->get();
return $options->orderBy('t.sequence', 'asc')->get();
}
public function create(string|int $sequence, string $description, string|int $id_redirect, string|int $id_type, string|int $code_id, bool $hide, string $data_reg, bool $status)

2
resources/views/admin/cadastros/horarios.blade.php

@ -70,7 +70,7 @@
<td class="p-3 text-sm text-gray-700 dark:text-gray-100">{{ $horario->nome }}</td>
<td class="p-3 text-sm text-gray-700 dark:text-gray-100">{{ $horario->name_channel }}</td>
<td class="p-3 text-sm text-gray-700 dark:text-gray-100">{{ $tipos[$horario->opcao] }}</td>
<td class="p-3 text-sm text-gray-700 dark:text-gray-100">{{ $horario->acao }}</td>
<td class="p-3 text-sm text-gray-700 dark:text-gray-100">{{ $horario->additional_info }}</td>
@if ($horario->status)
<td class="p-3 text-sm text-green-500 font-bold">ATIVO</td>
@else

2
resources/views/admin/cadastros/horariosOption.blade.php

@ -96,7 +96,7 @@
<td class="p-3 text-sm text-gray-700 dark:text-gray-100 text-center">{{ $meses[$option->mes] }}</td>
<td class="p-3 text-sm text-gray-700 dark:text-gray-100 text-center">{{ $meses[$option->mes_fim] }}</td>
<td class="p-3 text-sm text-gray-700 dark:text-gray-100 uppercase text-center">{{ $tipos[$option->opcao] }}</td>
<td class="p-3 text-sm text-gray-700 dark:text-gray-100 text-center">{{ $option->acao }}</td>
<td class="p-3 text-sm text-gray-700 dark:text-gray-100 text-center">{{ $option->additional_info }}</td>
<td class="p-3 text-sm font-bold flex items-center gap-2 flex-wrap">
<button class="bg-blue-600 text-white rounded flex-1 text-xl text-center py-2 px-3 cursor-pointer" title="editar horário"
onclick="atualizaHorariosOptions( {{ $option->id }})">

2
resources/views/admin/cadastros/redirectOption.blade.php

@ -64,7 +64,7 @@
{{ $option->type_name }}
</td>
<td class="p-3 text-sm text-gray-700 dark:text-gray-100">
{{ $option->code_id }}
{{ $option->additional_info }}
</td>
@if ($option->hide)

Loading…
Cancel
Save