Carga inicial
This commit is contained in:
34
app/Mail/ResetPassword.php
Normal file
34
app/Mail/ResetPassword.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
|
||||
class ResetPassword extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(User $user)
|
||||
{
|
||||
$this->user = $user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function build()
|
||||
{
|
||||
return $this->view('email.emailRecuperar',array('user'=>$this->user))->subject('Recuperar Contraseña');
|
||||
}
|
||||
}
|
||||
67
app/Mail/RespuestasOperador.php
Normal file
67
app/Mail/RespuestasOperador.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use App\Models\RespuestaOperadorDet;
|
||||
use App\Models\RespuestaOperadorEnc;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
|
||||
class RespuestasOperador extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($respuestas_operador_enc_id)
|
||||
{
|
||||
$this->respuesta_operador_enc_id = $respuestas_operador_enc_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function build()
|
||||
{
|
||||
$id = $this->respuesta_operador_enc_id;
|
||||
|
||||
$re = RespuestaOperadorDet::where('respuestas_operador_enc_id',$id)
|
||||
->where('tipo', 'REVISION')
|
||||
->get();
|
||||
|
||||
$material = RespuestaOperadorDet::where('respuestas_operador_enc_id',$id)
|
||||
->where('tipo', 'MATERIAL')
|
||||
->get();
|
||||
|
||||
$herramienta = RespuestaOperadorDet::where('respuestas_operador_enc_id',$id)
|
||||
->where('tipo', 'HERRAMIENTA')
|
||||
->get();
|
||||
|
||||
$revision = [];
|
||||
$num_economico = "";
|
||||
foreach ($re as $r){
|
||||
if(!$r->tipo_checkbox && !$r->tipo_text && !$r->tipo_radio_btn){
|
||||
$num_economico = $r->respuesta_text;
|
||||
}else{
|
||||
array_push($revision,$r);
|
||||
}
|
||||
}
|
||||
$usuario = RespuestaOperadorEnc::select('users.nombre', 'users.apellido_paterno')
|
||||
->join('users', 'respuestas_operador_enc.user_id', '=', 'users.id')
|
||||
->where('respuestas_operador_enc.id',$id)
|
||||
->first();
|
||||
|
||||
$nombre_usuario = $usuario->nombre." ".$usuario->apellido_paterno;
|
||||
|
||||
$subject = "Check-list Asesor $nombre_usuario - Vehículo $num_economico";
|
||||
|
||||
return $this->view('email.emailRespuestasOperador', compact('revision', 'material', 'herramienta'))->subject($subject);
|
||||
}
|
||||
}
|
||||
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;
|
||||
|
||||
}
|
||||
}
|
||||
203
app/Mail/SolicitudServicioTerminado.php
Normal file
203
app/Mail/SolicitudServicioTerminado.php
Normal file
@@ -0,0 +1,203 @@
|
||||
<?php
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use App\Http\Controllers\AtencionClientes\ServiciosController;
|
||||
use const App\Http\Controllers\NEGATIVO;
|
||||
use const App\Http\Controllers\REALIZADO;
|
||||
use App\Models\ServicioDet;
|
||||
use App\Models\ServicioEvidencia;
|
||||
use App\Models\ServicioProgreso;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use DB;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Log;
|
||||
|
||||
class SolicitudServicioTerminado extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($servicio_enc_id, $servicio_det_id)
|
||||
{
|
||||
$this->servicio_enc_id = $servicio_enc_id;
|
||||
$this->servicio_det_id = $servicio_det_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function build()
|
||||
{
|
||||
$pdf = $this->generarPDF($this->servicio_enc_id,$this->servicio_det_id);
|
||||
$info = [
|
||||
'contacto' => $pdf['contacto'],
|
||||
'folio' => $pdf['folio'],
|
||||
'servicio' => $pdf['servicio']
|
||||
];
|
||||
|
||||
return $this->view('email.emailSolicitudServicioTerminado', compact('info'))->subject('Servicio terminado.')->attachData($pdf['pdf'], $pdf['nombre'], [
|
||||
'mime' => 'application/pdf',
|
||||
]);
|
||||
|
||||
return $this->view('email.emailSolicitudServicioTerminado')->subject('Servicio terminado.');
|
||||
}
|
||||
|
||||
function generarPDF($servicio_enc_id, $servicio_det_id){
|
||||
|
||||
setlocale(LC_MONETARY, 'en_US');
|
||||
|
||||
$det = ServicioDet::where('id', $servicio_det_id)->first();
|
||||
|
||||
if($det->estatus_servicio_id != REALIZADO && $det->estatus_servicio_id != NEGATIVO){
|
||||
return response()->unprocessable('Error', ['El servicio no está terminado.']);
|
||||
}
|
||||
|
||||
$campos = [
|
||||
'servicios_enc.id as folio',
|
||||
'clientes.denominacion as nombre_cliente',
|
||||
DB::raw("DATE_FORMAT(`servicios_det`.`fecha_solicitud`, '%d/%m/%Y') as 'fecha_solicitud'"),
|
||||
'clientes_domicilios.ciudad',
|
||||
'clientes_domicilios.celular_responsable as telefono',
|
||||
'clientes_domicilios.nombre_responsable_sucursal as contacto',
|
||||
'cat_servicios.nombre as servicio',
|
||||
'servicios_progreso.comentarios as observaciones',
|
||||
'servicios_det.costo_servicio',
|
||||
DB::raw("TIME_FORMAT(`servicios_progreso`.`fecha_ini_celular`, '%H:%i:%s') as 'fecha_inicio'"),
|
||||
'servicios_progreso.duracion',
|
||||
DB::raw("TIME_FORMAT(`servicios_progreso`.`fecha_fin_celular`, '%H:%i:%s') as 'fecha_final'"),
|
||||
DB::raw("CONCAT(asesor.nombre,' ',asesor.apellido_paterno,' ',asesor.apellido_materno) as asesor"),
|
||||
'sucursales.nombre as sucursal',
|
||||
DB::raw("CONCAT(auxiliar.nombre,' ',auxiliar.apellido_paterno,' ',auxiliar.apellido_materno) as auxiliar"),
|
||||
'cat_vehiculos.num_economico as vehiculo',
|
||||
'servicios_progreso.firma',
|
||||
'estatus_servicio_id',
|
||||
'clientes_domicilios.calle',
|
||||
'clientes_domicilios.num_ext',
|
||||
'clientes_domicilios.num_int',
|
||||
'clientes_domicilios.colonia',
|
||||
'clientes_domicilios.cp',
|
||||
'servicios_progreso.aplica_garantia'
|
||||
];
|
||||
|
||||
$servicios = ServicioDet::select($campos)
|
||||
->join('servicios_enc', 'servicios_det.servicio_enc_id', '=', 'servicios_enc.id')
|
||||
->join('clientes', 'servicios_enc.cliente_id', '=', 'clientes.id')
|
||||
->join('clientes_domicilios', 'servicios_enc.cliente_domicilio_id','=','clientes_domicilios.id')
|
||||
->join('cat_servicios', 'servicios_det.servicio_id', '=', 'cat_servicios.id')
|
||||
->leftJoin('servicios_progreso', 'servicios_det.id', '=', 'servicios_progreso.servicio_det_id')
|
||||
->join('users as asesor', 'servicios_det.operador_id', '=', 'asesor.id')
|
||||
->leftJoin('users as auxiliar', 'servicios_det.auxiliar_1', '=', 'auxiliar.id')
|
||||
->join('sucursales', 'servicios_enc.sucursal_id', '=', 'sucursales.id')
|
||||
->join('cat_vehiculos', 'servicios_det.vehiculo_id', '=', 'cat_vehiculos.id')
|
||||
->where('servicios_det.id', $servicio_det_id)
|
||||
->where('servicios_det.servicio_enc_id', $servicio_enc_id)
|
||||
->firstOrFail();
|
||||
|
||||
$num_int = ($servicios->num_int)? ' INT. '.$servicios->num_int :'';
|
||||
$cp = ($servicios->cp)? ' C.P. '.$servicios->cp : '';
|
||||
$servicios['domicilio'] = 'CALLE '.$servicios->calle.' '.$servicios->num_ext.$num_int.', COL. '.$servicios->colonia.$cp;
|
||||
|
||||
//$servicios['folio'] = str_pad($servicios->folio, 5, "0", STR_PAD_LEFT);
|
||||
$servicios['telefono'] = $this->phone_number_format($servicios->telefono);
|
||||
|
||||
if($servicios->estatus_servicio_id == NEGATIVO){
|
||||
$costo_negativo = $servicios->costo_servicio;
|
||||
$costo = 0.00;
|
||||
}else{
|
||||
$costo_negativo = 0.00;
|
||||
$costo = $servicios->costo_servicio;
|
||||
}
|
||||
|
||||
$servicios['costo_servicio'] = money_format('%(#10n', $costo);
|
||||
$servicios['costo_negativo'] = money_format('%(#10n', $costo_negativo);
|
||||
|
||||
if($servicios->duracion){
|
||||
list($h, $m, $s) = explode(":", $servicios->duracion);
|
||||
$servicios['duracion'] = (int)$h.'hr '.$m.'m '.$s.'s';
|
||||
}else{
|
||||
$servicios['duracion'] = "00hr 00m 00s";
|
||||
}
|
||||
|
||||
$servicio_progreso_id = ServicioProgreso::where('servicio_enc_id', $servicio_enc_id)
|
||||
->where('servicio_det_id', $servicio_det_id)
|
||||
->first();
|
||||
|
||||
if($servicio_progreso_id){
|
||||
|
||||
$evidencias_inicio = ServicioEvidencia::where('servicio_progreso_id', $servicio_progreso_id->id)
|
||||
->where('etapa', 'Inicio')
|
||||
->get();
|
||||
|
||||
$evidencias_proceso = ServicioEvidencia::where('servicio_progreso_id', $servicio_progreso_id->id)
|
||||
->where('etapa', 'Proceso')
|
||||
->get();
|
||||
|
||||
$evidencias_terminado = ServicioEvidencia::where('servicio_progreso_id', $servicio_progreso_id->id)
|
||||
->where('etapa', 'Final')
|
||||
->get();
|
||||
|
||||
$inicio = 0;
|
||||
$proceso = 0;
|
||||
$terminado = 0;
|
||||
foreach ($evidencias_inicio as $e_i){
|
||||
$inicio ++;
|
||||
$servicios["evidencia_inicio_$inicio"] = $e_i->imagen;
|
||||
}
|
||||
|
||||
foreach ($evidencias_proceso as $e_p){
|
||||
$proceso ++;
|
||||
$servicios["evidencia_proceso_$proceso"] = $e_p->imagen;
|
||||
}
|
||||
|
||||
foreach ($evidencias_terminado as $e_t){
|
||||
$terminado ++;
|
||||
$servicios["evidencia_terminado_$terminado"] = $e_t->imagen;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
$pdf = App::make('dompdf.wrapper');
|
||||
$pdf->loadHTML(view('recibos/servicios', compact('servicios')));
|
||||
|
||||
$nombre_pdf = 'solicitud_' . $servicio_enc_id . '_servicio_' . $servicio_det_id . '.pdf';
|
||||
|
||||
/*Storage::disk('public')->put('servicios/recibos_pdf/' . $nombre_pdf, $pdf->output());
|
||||
|
||||
ServicioProgreso::where('id', $servicio_progreso_id)
|
||||
->first()
|
||||
->update(['pdf' => $nombre_pdf]);*/
|
||||
return ['pdf' => $pdf->stream($nombre_pdf), 'nombre' => $nombre_pdf, 'contacto' => $servicios->contacto, 'folio' => $servicios->folio, 'servicio' => $servicios->servicio];
|
||||
|
||||
} catch (\Exception $e) {
|
||||
Log::info($e);
|
||||
return response()->unprocessable('Error', ['Error al generar PDF.']);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
}
|
||||
60
app/Mail/SolicitudServicioTerminadoNew.php
Normal file
60
app/Mail/SolicitudServicioTerminadoNew.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use App\Models\ServicioDet;
|
||||
use DB;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Log;
|
||||
|
||||
class SolicitudServicioTerminadoNew extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($servicio_enc_id, $servicio_det_id, $pdf_nombre)
|
||||
{
|
||||
$this->servicio_enc_id = $servicio_enc_id;
|
||||
$this->servicio_det_id = $servicio_det_id;
|
||||
$this->pdf_nombre = $pdf_nombre;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function build()
|
||||
{
|
||||
$campos = [
|
||||
'servicios_enc.id as folio',
|
||||
'clientes_domicilios.nombre_responsable_sucursal as contacto',
|
||||
'cat_servicios.nombre as servicio',
|
||||
];
|
||||
|
||||
$servicio = ServicioDet::select($campos)
|
||||
->join('servicios_enc', 'servicios_det.servicio_enc_id', '=', 'servicios_enc.id')
|
||||
->join('clientes', 'servicios_enc.cliente_id', '=', 'clientes.id')
|
||||
->join('clientes_domicilios', 'servicios_enc.cliente_domicilio_id', '=', 'clientes_domicilios.id')
|
||||
->join('cat_servicios', 'servicios_det.servicio_id', '=', 'cat_servicios.id')
|
||||
->where('servicios_det.id', $this->servicio_det_id)
|
||||
->where('servicios_det.servicio_enc_id', $this->servicio_enc_id)
|
||||
->firstOrFail();
|
||||
|
||||
$info = [
|
||||
'contacto' => $servicio->contacto,
|
||||
'folio' => $servicio->folio,
|
||||
'servicio' => $servicio->servicio
|
||||
];
|
||||
|
||||
return $this->view('email.emailSolicitudServicioTerminado', compact('info'))
|
||||
->subject('Servicio terminado.')
|
||||
->attach(storage_path('app/public/servicios/recibos_pdf/' . $this->pdf_nombre));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user