feat: Actualizacion sistema SIO Backend

- Nuevo modulo de historial de cambios (ServicioHistorial)
- Observer para tracking automatico de cambios en servicios
- Correccion de variables auxiliar en ServiciosController
- Actualizacion de configuraciones y migraciones
- Endpoint para consultar historial de cambios

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
SIO Admin
2026-01-17 23:01:55 +00:00
parent 51880798ca
commit de656b70a2
362 changed files with 286 additions and 11 deletions

View File

@@ -395,6 +395,10 @@ class ServiciosController extends Controller
$contain_aux_1 = array_key_exists('auxiliar_1', $data);
$contain_aux_2 = array_key_exists('auxiliar_2', $data);
$auxiliar_1_name = null;
$auxiliar_2_name = null;
$auxiliar_3_name = null;
if ($auxiliar_1) {
$auxiliar_1_name = ($contain_aux_1 && $s->auxiliar_1 == $data['auxiliar_1']) ? "El auxiliar: '" . $auxiliar_1->nombre . " " . $auxiliar_1->apellido_paterno . " " . $auxiliar_1->apellido_materno . "' no está disponible." : null;
}
@@ -403,8 +407,6 @@ class ServiciosController extends Controller
$auxiliar_2_name = ($contain_aux_2 && $s->auxiliar_2 == $data['auxiliar_2']) ? "El auxiliar: '" . $auxiliar_2->nombre . " " . $auxiliar_2->apellido_paterno . " " . $auxiliar_2->apellido_materno . "' no está disponible." : null;
}
$auxiliar_3_name = null;
$salida_array = compact('operador_name', 'vehiculo_name', 'auxiliar_1_name', 'auxiliar_2_name', 'auxiliar_3_name');
$salida = collect($salida_array)->filter()->values();
@@ -1407,6 +1409,31 @@ class ServiciosController extends Controller
return response()->unauthorized('No es posible actualizar, pongase en contacto con un administrador');
}
/**
* Obtener historial de cambios de un servicio
*/
public function historial($servicio_det_id)
{
$historial = \App\Models\ServicioHistorial::where('servicio_det_id', $servicio_det_id)
->join('users', 'users.id', '=', 'servicios_historial.usuario_id')
->select(
'servicios_historial.*',
'users.nombre as usuario_nombre',
'users.apellido_paterno as usuario_apellido'
)
->orderBy('servicios_historial.created_at', 'DESC')
->get()
->map(function ($item) {
$camposLegibles = \App\Models\ServicioHistorial::$camposLegibles;
$item->campo_legible = $camposLegibles[$item->campo] ?? $item->campo;
$item->usuario_completo = $item->usuario_nombre . ' ' . $item->usuario_apellido;
$item->tiempo_transcurrido = \Carbon\Carbon::parse($item->created_at)->diffForHumans();
return $item;
});
return response()->success($historial);
}
function filtrosServicios(Request $request){
$user = Auth::user();