コード例 #1
0
 public function submit_create_reporte_calibracion()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         // Verifico si el usuario es un Webmaster
         if ($data["user"]->idrol == 1 || $data["user"]->idrol == 2 || $data["user"]->idrol == 3 || $data["user"]->idrol == 4) {
             // Validate the info, create rules for the inputs
             $attributes = array();
             $messages = array();
             $rules = array();
             $array_activos = Input::get('details_activos');
             $array_posiciones = Input::get('details_posiciones');
             // Run the validation rules on the inputs from the form
             $validator = Validator::make(Input::all(), $rules, $messages, $attributes);
             // If the validator fails, redirect back to the form
             if ($validator->fails()) {
                 return Redirect::to('reportes_calibracion/create_reporte')->withErrors($validator)->withInput(Input::all());
             } else {
                 $array_activos_no_registrados = [];
                 $array_idactivos = Input::get('details_activos');
                 $cantidad_activos = count($array_idactivos);
                 if ($cantidad_activos > 0) {
                     for ($i = 0; $i < $cantidad_activos; $i++) {
                         $idactivo = $array_idactivos[$i];
                         //se realiza una primera validacion de que se estan subierno por lo menos un archivo.
                         $existeArchivos = 0;
                         for ($j = 0; $j < 10; $j++) {
                             if (Input::hasFile('input-file-' . $idactivo . '-' . $j)) {
                                 $existeArchivos = 1;
                                 break;
                             }
                         }
                         if ($existeArchivos == 1 && Input::get('fecha_calibracion-' . $idactivo) != null && Input::get('fecha_proximo-' . $idactivo) != null) {
                             //como ya existe se crea de una vez el reporte de calibracion
                             $reporte_calibracion = new ReporteCalibracion();
                             $reporte_calibracion->codigo_abreviatura = "RC";
                             $reporte_calibracion->codigo_correlativo = $this->getCorrelativeReportNumber();
                             $reporte_calibracion->codigo_anho = date('y');
                             $reporte_calibracion->idactivo = $idactivo;
                             $reporte_calibracion->fecha_calibracion = date("Y-m-d", strtotime(Input::get('fecha_calibracion-' . $idactivo)));
                             $reporte_calibracion->fecha_proxima_calibracion = date("Y-m-d", strtotime(Input::get('fecha_proximo-' . $idactivo)));
                             $reporte_calibracion->idestado = 27;
                             $reporte_calibracion->save();
                             for ($j = 0; $j < 10; $j++) {
                                 if (Input::hasFile('input-file-' . $idactivo . '-' . $j)) {
                                     $archivo = Input::file('input-file-' . $idactivo . '-' . $j);
                                     $rutaDestino = 'uploads/documentos/riesgos/Reportes de Calibracion/' . $reporte_calibracion->codigo_abreviatura . $reporte_calibracion->codigo_correlativo . $reporte_calibracion->codigo_anho . '/';
                                     $nombreArchivo = $archivo->getClientOriginalName();
                                     $nombreArchivoEncriptado = Str::random(27) . '.' . pathinfo($nombreArchivo, PATHINFO_EXTENSION);
                                     $uploadSuccess = $archivo->move($rutaDestino, $nombreArchivoEncriptado);
                                     $detalle_reporte_calibracion = new DetalleReporteCalibracion();
                                     $detalle_reporte_calibracion->nombre = $nombreArchivo;
                                     $detalle_reporte_calibracion->nombre_archivo = $nombreArchivo;
                                     $detalle_reporte_calibracion->nombre_archivo_encriptado = $nombreArchivoEncriptado;
                                     $detalle_reporte_calibracion->url = $rutaDestino;
                                     $detalle_reporte_calibracion->idreporte_calibracion = $reporte_calibracion->id;
                                     $detalle_reporte_calibracion->save();
                                 }
                             }
                         } else {
                             array_push($array_activos_no_registrados, $idactivo);
                         }
                     }
                     $cantidad = count($array_activos_no_registrados);
                     if ($cantidad != $cantidad_activos) {
                         if ($cantidad == 0) {
                             $string = "Se han registrado los reportes de calibracion.<br>";
                             Session::flash('message', $string);
                             return Redirect::to('reportes_calibracion/list_reportes_calibracion');
                         }
                         $string = "Se han registrado los reportes de calibracion con excepción de los siguientes equipos:<br>";
                         for ($i = 0; $i < $cantidad; $i++) {
                             $activo = Activo::searchActivosById($array_activos_no_registrados[$i])->get()[0];
                             $familia_activo = FamiliaActivo::find($activo->idfamilia_activo)->get()[0];
                             $modelo_activo = ModeloActivo::find($activo->modelo)->get()[0];
                             $string_line = $i + 1 . ':<pre> Equipo: ' . $familia_activo->nombre_equipo . ' Modelo: ' . $modelo_activo->nombre . ' Cód. Patrimonial: ' . $activo->codigo_patrimonial . '</pre><br>';
                             $string = $string . $string_line;
                         }
                     } else {
                         Session::flash('error', 'Para registrar un reporte de calibración a un equipo debe:<br> Adjuntar por lo menos 1 documento.<br>Llenar los campos Fecha de Calibración y Fecha Próxima de Calibración');
                         return Redirect::to('reportes_calibracion/create_reporte');
                     }
                     Session::flash('message', $string);
                     return Redirect::to('reportes_calibracion/list_reportes_calibracion');
                 } else {
                     Session::flash('error', 'Ingrese uno o más equipos médicos');
                     return Redirect::to('reportes_calibracion/create_reporte');
                 }
             }
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }
コード例 #2
0
 public function render_view_activo_inventario($idequipo = null)
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         // Verifico si el usuario es un Webmaster
         if (($data["user"]->idrol == 1 || $data["user"]->idrol == 2 || $data["user"]->idrol == 3 || $data["user"]->idrol == 4 || $data["user"]->idrol == 5 || $data["user"]->idrol == 6 || $data["user"]->idrol == 7 || $data["user"]->idrol == 8 || $data["user"]->idrol == 9 || $data["user"]->idrol == 10 || $data["user"]->idrol == 11 || $data["user"]->idrol == 12) && $idequipo) {
             $data["equipo_info"] = Activo::searchActivosById($idequipo)->get();
             if ($data["equipo_info"]->isEmpty()) {
                 return Redirect::to('equipos/list_equipos');
             }
             $data["equipo_info"] = $data["equipo_info"][0];
             $data["grupos"] = Grupo::lists('nombre', 'idgrupo');
             $data["servicios"] = Servicio::orderBy('nombre', 'asc')->lists('nombre', 'idservicio');
             $data["ubicaciones"] = UbicacionFisica::lists('nombre', 'idubicacion_fisica');
             $data["nombre_equipo"] = FamiliaActivo::where('idmarca', '=', $data["equipo_info"]->idmarca)->lists('nombre_equipo', 'idfamilia_activo');
             $data["modelo_equipo"] = ModeloActivo::where('idfamilia_activo', '=', $data["equipo_info"]->idfamilia_activo)->lists('nombre', 'idmodelo_equipo');
             $data["reporte_instalacion"] = ReporteInstalacion::where('idreporte_instalacion', '=', $data["equipo_info"]->idreporte_instalacion)->get();
             $data["reporte_instalacion"] = $data["reporte_instalacion"][0];
             $data["soporte_tecnico_info"] = SoporteTecnicoxActivo::searchSoporteTecnicoByActivo($idequipo)->get();
             $data["accesorios_info"] = Accesorio::getAccesorioByModelo($data["equipo_info"]->idmodelo_equipo)->get();
             $data["consumibles_info"] = Consumible::getConsumibleByModelo($data["equipo_info"]->idmodelo_equipo)->get();
             $data["componentes_info"] = Componente::getComponenteByModelo($data["equipo_info"]->idmodelo_equipo)->get();
             $data["marcas"] = Marca::lists('nombre', 'idmarca');
             $data["proveedor"] = Proveedor::lists('razon_social', 'idproveedor');
             $data["reporte_calibracion"] = ReporteCalibracion::getReporteCalibracionByIdActivo($data["equipo_info"]->idactivo)->get();
             if ($data["reporte_calibracion"]->isEmpty()) {
                 $data["reporte_calibracion"] = null;
                 $data["detalles_reporte_calibracion"] = null;
             } else {
                 $data["reporte_calibracion"] = $data["reporte_calibracion"][0];
                 $data["detalles_reporte_calibracion"] = ReporteCalibracion::getDetalleReporteCalibracion($data["reporte_calibracion"]->id)->get();
             }
             return View::make('activos/viewActivoInventario', $data);
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }