Files
intranet/app/Controller/Operadores.php
2020-12-01 17:23:13 -03:00

48 lines
1.5 KiB
PHP

<?php
namespace App\Controller;
use Carbon\Carbon;
use App\Definition\Controller;
use Incoviba\old\Proyecto\Agente;
use Incoviba\old\Proyecto\Proyecto;
use Incoviba\old\Proyecto\ProyectoAgente;
class Operadores
{
use Controller;
public static function agregar()
{
$proyecto = model(Proyecto::class)->findOne(get('proyecto'));
$operadores = model(Agente::class)
->select('agente.*')
->join('agente_tipo', ['agente_tipo.agente', '=', 'agente.id'])
->join('tipo_agente', ['tipo_agente.id', '=', 'agente_tipo.tipo'])
->where('tipo_agente.descripcion', 'operador')
->orderByAsc('agente.abreviacion')
->findMany();
$vigentes = array_map(function($item) {
return $item->agente()->agente();
}, $proyecto->operadoresVigentes());
echo view('proyectos.operadores.add', compact('proyecto', 'operadores', 'vigentes'));
}
public static function add()
{
$proyecto = model(Proyecto::class)->findOne(get('proyecto'));
$fecha = Carbon::today(config('app.timezone'));
foreach (post('operadores') as $op) {
$operador = model(Agente::class)->findOne($op);
$at = $operador->tipos(19);
$data = [
'proyecto' => $proyecto->id,
'agente' => $at->id,
'fecha' => $fecha->format('Y-m-d'),
'comision' => 2
];
$pa = model(ProyectoAgente::class)->create($data);
$pa->new();
}
header('Location: ' . nUrl('proyectos', 'show', ['proyecto' => $proyecto->id]));
}
}