- 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>
110 lines
4.2 KiB
PHP
Executable File
110 lines
4.2 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class ServicioDet extends Model
|
|
{
|
|
/**
|
|
* The table associated with the model.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $table = 'servicios_det';
|
|
|
|
/**
|
|
* The table primary key.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $primaryKey = 'id';
|
|
|
|
/**
|
|
* The attributes that should be casted to native types.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $casts = [];
|
|
|
|
/**
|
|
* Indicates if the primary key is autoincrement.
|
|
*
|
|
* @var bool
|
|
*/
|
|
public $incrementing = true;
|
|
|
|
/**
|
|
* Indicates if the model should be timestamped.
|
|
*
|
|
* @var bool
|
|
*/
|
|
public $timestamps = true;
|
|
|
|
/**
|
|
* The attributes that should be filleable for arrays.
|
|
*
|
|
* @var array
|
|
*
|
|
* $guarded = [] or $filleable = []
|
|
*/
|
|
|
|
protected $guarded = [];
|
|
|
|
/**
|
|
* The attributes that are mass assignable.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $fillable = [
|
|
'servicio_enc_id', 'servicio_id', 'estatus_servicio_id', 'tipo_servicio_id', 'fecha_solicitud', 'duracion', 'definido_cliente', 'operador_id', 'vehiculo_id', 'auxiliar_1', 'auxiliar_2', 'costo_servicio', 'aceptado', 'observacion', 'observacion_atencion_cliente', 'requiere_encuesta','facturado', 'cat_motivos_estatus_id'
|
|
];
|
|
|
|
/**
|
|
* The attributes that should be hidden for arrays.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $hidden = [
|
|
//
|
|
];
|
|
|
|
public function scopeJoinDetalleServicio($query)
|
|
{
|
|
return $query->join('cat_servicios', 'cat_servicios.id', '=', 'servicios.servicio_id')
|
|
->join('cat_estatus_servicios', 'cat_estatus_servicios.id', '=', 'servicios.estatus_servicio_id')
|
|
->join('cat_formas_pagos', 'cat_formas_pagos.id', '=', 'servicios.forma_pago_id')
|
|
->join('cat_tipos_servicios', 'cat_tipos_servicios.id', '=', 'servicios.tipo_servicio_id')
|
|
->join('users', 'users.id', '=', 'servicios.usuario_agenda_id')
|
|
->join('clientes', 'clientes.id', '=', 'servicios.cliente_id')
|
|
->join('clientes_domicilios', 'clientes_domicilios.id', '=', 'servicios.cliente_domicilio_id')
|
|
->leftJoin('users as operador', 'operador.id', '=', 'servicios.operador_id')
|
|
->leftJoin('cat_vehiculos', 'cat_vehiculos.id', '=', 'servicios.vehiculo_id');
|
|
}
|
|
|
|
public function scopeJoinDetalleServicioDet($query)
|
|
{
|
|
return $query->join('cat_servicios', 'cat_servicios.id', '=', 'servicios_det.servicio_id')
|
|
->join('cat_estatus_servicios', 'cat_estatus_servicios.id', '=', 'servicios_det.estatus_servicio_id')
|
|
->join('cat_tipos_servicios', 'cat_tipos_servicios.id', '=', 'servicios_det.tipo_servicio_id')
|
|
->leftJoin('users as operador', 'operador.id', '=', 'servicios_det.operador_id')
|
|
->leftJoin('cat_vehiculos', 'cat_vehiculos.id', '=', 'servicios_det.vehiculo_id')
|
|
->leftJoin('vehiculos_sucursales', 'vehiculos_sucursales.vehiculo_id', '=', 'servicios_det.vehiculo_id')
|
|
->leftJoin('sucursales', 'sucursales.id', '=', 'vehiculos_sucursales.sucursal_id')
|
|
->leftJoin('sucursales as sucursal_operador', 'sucursal_operador.id', '=', 'operador.sucursal_id')
|
|
->leftJoin('users as auxiliares_1', 'auxiliares_1.id', '=', 'servicios_det.auxiliar_1')
|
|
->leftJoin('sucursales as sucursal_auxiliares_1', 'sucursal_auxiliares_1.id', '=', 'auxiliares_1.sucursal_id')
|
|
->leftJoin('users as auxiliares_2', 'auxiliares_2.id', '=', 'servicios_det.auxiliar_2')
|
|
->leftJoin('sucursales as sucursal_auxiliares_2', 'sucursal_auxiliares_2.id', '=', 'auxiliares_2.sucursal_id');
|
|
}
|
|
|
|
public function scopeJoinDetalleServicioDetMovil($query)
|
|
{
|
|
return $query->join('servicios_enc', 'servicios_enc.id', '=', 'servicios_det.servicio_enc_id')
|
|
->join('cat_formas_pagos', 'cat_formas_pagos.id', '=', 'servicios_enc.forma_pago_id')
|
|
->join('users', 'users.id', '=', 'servicios_enc.usuario_agenda_id')
|
|
->join('clientes', 'clientes.id', '=', 'servicios_enc.cliente_id')
|
|
->join('clientes_domicilios', 'clientes_domicilios.id', '=', 'servicios_enc.cliente_domicilio_id');
|
|
}
|
|
}
|