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); } }
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); } }