0){ $total_segundos = 0; for ($i = 0; $i < count($array_tiempos); $i ++){ if($array_tiempos[$i]){ list($h,$m,$s) = explode(":", $array_tiempos[$i]); $seg_h = ((int)$h * 3600); $seg_m = ((int)$m * 60); $seg_s = (int)$s; $total_segundos += ($seg_h + $seg_m + $seg_s); } } $horas = floor($total_segundos / 3600); $minutos = floor(($total_segundos - ($horas * 3600)) / 60); $segundos = $total_segundos - ($horas * 3600) - ($minutos * 60); $horas = str_pad($horas, 2, 0, STR_PAD_LEFT); $minutos = str_pad($minutos, 2, 0, STR_PAD_LEFT); $segundos = str_pad($segundos, 2, 0, STR_PAD_LEFT); return $horas . ':' . $minutos . ":" . $segundos; }else{ return "00:00:00"; } } public function diferenciaFechas($t1, $t2){ $tiempo_atencion = Carbon::parse($t1)->diffInMinutes(Carbon::parse($t2)); $d = intval($tiempo_atencion / 1440); $h = intval(($tiempo_atencion - ($d * 1440)) / 60); $m = intval(($tiempo_atencion - ($d * 1440) - ($h * 60)) % 60); return $d.' días, '.$h.' horas y '.$m.' minutos'; } public function formatearFechaHora($fecha_hora){ list($fecha, $hora) = explode(" ", $fecha_hora); list($y, $m, $d) = explode("-", $fecha); list($hr, $min) = explode(":", $hora); return $d.'/'.$m.'/'.$y.' '.$hr.':'.$min; } public function base64ToImage($base64, $mime = 'image/jpeg'){ $image_decode = base64_decode($base64); $resource = imagecreatefromstring($image_decode); ob_start(); if($mime === 'image/jpeg'){ imagejpeg($resource); }else{ imagepng($resource); } return ob_get_clean(); } public function camposSolicitudesServiciosOperador(){ $user = Auth::user(); $costo_servicio_negativo = Sucursal::select('costo_negativo')->where('sucursales.id', $user->sucursal_id)->first(); return [ 'servicios_enc.id as solicitud_servicio_id', 'servicios_enc.forma_pago_id', 'cat_formas_pagos.nombre as forma_pago_nombre', 'fecha_agenda', 'usuario_agenda_id', 'users.nombre as usuario_agenda_nombre', 'users.apellido_paterno as usuario_agenda_apellido_paterno', 'users.apellido_materno as usuario_agenda_apellido_materno', 'servicios_enc.cliente_id', 'clientes.denominacion', 'servicios_enc.cliente_domicilio_id', 'clientes_domicilios.nombre_responsable_sucursal as clientes_nombre_responsable_sucursal', 'clientes_domicilios.celular_responsable as clientes_celular_responsable', 'clientes_domicilios.calle as clientes_calle', 'clientes_domicilios.num_ext as clientes_num_ext', 'clientes_domicilios.num_int as clientes_num_int', 'clientes_domicilios.colonia as clientes_colonia', 'clientes_domicilios.cp as clientes_cp', 'clientes_domicilios.ciudad as clientes_ciudad', 'clientes_domicilios.telefono as clientes_telefono', 'clientes_domicilios.lat as clientes_lat', 'clientes_domicilios.lng as clientes_lng', 'clientes_domicilios.nombre_croquis as nombre_croquis', 'clientes_domicilios.nombre_sucursal as nombre_sucursal', 'servicios_enc.deleted_at', 'servicios_det.id', 'servicios_det.servicio_id', 'cat_servicios.nombre as servicio_nombre', 'servicios_det.estatus_servicio_id', 'cat_estatus_servicios.nombre as estatus_servicio_nombre', 'servicios_det.tipo_servicio_id', 'cat_tipos_servicios.nombre as tipo_servicio_nombre', 'cat_estatus_servicios.color_1 as estatus_servicio_color_1', 'cat_estatus_servicios.color_2 as estatus_servicio_color_2', 'fecha_solicitud', 'servicios_det.duracion', 'definido_cliente', 'servicios_det.operador_id', 'operador.nombre as operador_nombre', 'operador.apellido_paterno as operador_apellido_paterno', 'operador.apellido_materno as operador_apellido_materno', 'servicios_det.vehiculo_id', 'cat_vehiculos.num_economico as vehiculo_num_economico', 'servicios_det.fecha_solicitud', 'sucursales.nombre as vehiculo_sucursal', 'sucursales.id as vehiculo_sucursal_id', 'sucursal_operador.nombre as operador_sucursal', 'sucursal_operador.id as operador_sucursal_id', 'servicios_det.auxiliar_1 as auxiliar_1_id', 'servicios_det.auxiliar_2 as auxiliar_2_id', 'auxiliares_1.nombre as auxiliar_1', 'auxiliares_1.apellido_paterno as auxiliar_1_apellido_paterno', 'auxiliares_1.apellido_materno as auxiliar_1_apellido_materno', 'auxiliares_2.nombre as auxiliar_2', 'sucursal_auxiliares_1.nombre as sucursal_auxiliar_1', 'sucursal_auxiliares_2.nombre as sucursal_auxiliar_2', 'servicios_det.costo_servicio', 'servicios_det.aceptado', 'servicios_det.observacion_atencion_cliente', 'servicios_det.requiere_encuesta', DB::raw("$costo_servicio_negativo->costo_negativo as 'costo_servicio_negativo'") ]; } public function getMicroSeconds(){ $micro = explode(" ", microtime()); return $micro[1]; } public function decodeZip($base64, $path){ $zip = base64_decode($base64); file_put_contents($path, $zip); return $path; } }