Carga inicial
This commit is contained in:
121
app/Mail/SolicitudServicio.php
Normal file
121
app/Mail/SolicitudServicio.php
Normal file
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use const App\Http\Controllers\DOMESTICO;
|
||||
use App\Models\ServicioDet;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use DB;
|
||||
|
||||
class SolicitudServicio extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($servicio_det_id)
|
||||
{
|
||||
$this->servicio_det_id = $servicio_det_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function build()
|
||||
{
|
||||
$campos = [
|
||||
'fecha_solicitud',
|
||||
'nombre_responsable_sucursal as responsable',
|
||||
'calle',
|
||||
'num_ext',
|
||||
'num_int',
|
||||
'colonia',
|
||||
'ciudad',
|
||||
'cp',
|
||||
'servicio_enc_id',
|
||||
'cat_servicios.nombre as servicio_nombre',
|
||||
'cat_tipos_servicios.id as tipo_servicio',
|
||||
DB::raw("CONCAT(asesor.nombre,' ',asesor.apellido_paterno,' ',asesor.apellido_materno) as asesor_nombre"),
|
||||
'asesor.telefono as asesor_telefono',
|
||||
'cat_tipos_vehiculos.nombre as tipo_vehiculo',
|
||||
'cat_vehiculos.num_economico as vehiculo_num_economico',
|
||||
DB::raw("CONCAT(atencion_cliente.nombre,' ',atencion_cliente.apellido_paterno,' ',atencion_cliente.apellido_materno) as atencion_cliente_nombre")
|
||||
];
|
||||
|
||||
$solicitud = ServicioDet::select($campos)
|
||||
->join('servicios_enc', 'servicios_det.servicio_enc_id', '=', 'servicios_enc.id')
|
||||
->join('clientes_domicilios', 'servicios_enc.cliente_domicilio_id', '=', 'clientes_domicilios.id')
|
||||
->join('cat_servicios', 'servicios_det.servicio_id', '=', 'cat_servicios.id')
|
||||
->join('users as asesor', 'servicios_det.operador_id', '=', 'asesor.id')
|
||||
->join('users as atencion_cliente', 'servicios_enc.usuario_agenda_id', '=', 'atencion_cliente.id')
|
||||
->join('cat_vehiculos', 'servicios_det.vehiculo_id', '=', 'cat_vehiculos.id')
|
||||
->join('cat_tipos_vehiculos', 'cat_vehiculos.tipo_vehiculo_id', '=', 'cat_tipos_vehiculos.id')
|
||||
->join('cat_tipos_servicios', 'servicios_det.tipo_servicio_id', '=', 'cat_tipos_servicios.id')
|
||||
->where('servicios_det.id', $this->servicio_det_id)
|
||||
->first();
|
||||
|
||||
$solicitud->domicilio = $solicitud->calle.' Int. '.$solicitud->num_int.(($solicitud->num_ext)? ' Ext. '.$solicitud->num_ext : '').', '.$solicitud->colonia.', '.$solicitud->ciudad;
|
||||
|
||||
$dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado");
|
||||
$meses = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
|
||||
|
||||
list($f, $h) = explode(" ", $solicitud->fecha_solicitud);
|
||||
list($y,$m,$d) = explode("-", $f);
|
||||
|
||||
$date = Carbon::createFromDate($y,$m,$d, null);
|
||||
|
||||
$solicitud->fecha_solicitud = $dias[$date->format('w')]." ".$date->format('d')." de ".$meses[$date->format('n')-1]. " del ".$date->format('Y')." a las $h hrs";
|
||||
$solicitud->asesor_telefono = $this->phone_number_format($solicitud->asesor_telefono);
|
||||
|
||||
if($solicitud->tipo_servicio == DOMESTICO){
|
||||
$solicitud->mensaje = array(
|
||||
"- Será necesario entrar al domicilio y revisar las instalaciones antes y durante la operación del servicio.",
|
||||
"- Evitar estar cerca de los registros durante la operación del servicio, ya que esto puede provocar un accidente.",
|
||||
"- Si cuenta con mascotas, evitar que estén cerca de la operación.",
|
||||
"- Evitar cruzar por pisos mojados, caminar por encima de la manguera y cruzar por registros.",
|
||||
"- No se realizará ningún servicio sin la supervisión de un adulto.",
|
||||
"- Se entregará un recibo de servicio por cada servicio que realicemos, mismo que será firmado con nombre y firma por supervisor.",
|
||||
"- Si el servicio es negativo se cobrará un costo por visita de $350.00.",
|
||||
"- El tiempo de maniobra de un servicio negativo es de hasta 30 minutos (De autorizar más tiempo de maniobra por parte del cliente, el costo se genera por hora de servicio).",
|
||||
"- Los costos de los servicios se confirmarán antes de iniciar la operación del servicio."
|
||||
);
|
||||
}else{
|
||||
$solicitud->mensaje = array(
|
||||
"- Todos los servicios que realizamos deberán ser supervisados por las áreas correspondientes de la empresa y ésta misma persona tenga el conocimiento de los servicios a realizar.",
|
||||
"- Evitar estar cerca de los registros durante la operación del servicio, ya que esto puede provocar un accidente.",
|
||||
"- Evitar cruzar por pisos mojados, caminar por encima de la manguera y cruzar por registros.",
|
||||
"- Se entregará un recibo de servicio por cada servicio que realicemos, mismo que será firmado con nombre y firma por supervisor.",
|
||||
"- Si el servicio es negativo se cobrará un costo por visita de $350.00.",
|
||||
"- El tiempo de maniobra de un servicio negativo es de hasta 30 minutos (De autorizar más tiempo de maniobra por parte del cliente, el costo se genera por hora de servicio).",
|
||||
"- Los costos de los servicios se confirmaran antes de iniciar la operación del servicio."
|
||||
);
|
||||
};
|
||||
|
||||
return $this->view('email.emailSolicitudServicio', compact('solicitud'))->subject('Servicio agendado.');
|
||||
}
|
||||
|
||||
function phone_number_format($number) {
|
||||
// Allow only Digits, remove all other characters.
|
||||
$number = preg_replace("/[^\d]/","",$number);
|
||||
|
||||
// get number length.
|
||||
$length = strlen($number);
|
||||
|
||||
// if number = 10
|
||||
if($length == 10) {
|
||||
$number = preg_replace("/^1?(\d{3})(\d{3})(\d{4})$/", "($1) $2 $3", $number);
|
||||
}
|
||||
|
||||
return $number;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user