public function importarMatrizLegal() { $destinationPath = public_path() . '/imagenes/repositorio/temporal'; Excel::load($destinationPath . '/Plantilla Matriz Legal.xlsx', function ($reader) { $datos = $reader->getActiveSheet(); $matriz = array(); $errores = array(); $fila = 10; $posMatriz = 0; $posErr = 0; //***************************** // Fecha //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad $fechaMatriz = $datos->getCellByColumnAndRow(0, 5)->getValue(); if ($fechaMatriz == '' or $fechaMatriz == null) { $fechaMatriz = date("Y-m-d"); } //***************************** // Nombre //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad $nombreMatriz = $datos->getCellByColumnAndRow(1, 5)->getValue(); if ($nombreMatriz == '' or $nombreMatriz == null) { $errores[$posErr]["linea"] = 5; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el nombre de la matriz'; $posErr++; } //***************************** // Origen //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad $origenMatriz = $datos->getCellByColumnAndRow(2, 5)->getValue(); if ($origenMatriz == '' or $origenMatriz == null) { $errores[$posErr]["linea"] = 5; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el origen de la matriz'; $posErr++; } //***************************** // Frecuencia Medicion //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad $frecuenciaMedicion = $datos->getCellByColumnAndRow(3, 5)->getValue(); if ($frecuenciaMedicion == '' or $frecuenciaMedicion == null) { $errores[$posErr]["linea"] = 5; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar la Frecuencia de Medición'; $posErr; } else { $consulta = \App\FrecuenciaMedicion::where('codigoFrecuenciaMedicion', '=', $frecuenciaMedicion)->lists('idFrecuenciaMedicion'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $frecuenciaMedicion = $consulta[0]; } else { $errores[$posErr]["linea"] = 5; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Frecuencia ' . $frecuenciaMedicion . ' no existe'; $posErr; } } while ($datos->getCellByColumnAndRow(0, $fila)->getValue() != '' and $datos->getCellByColumnAndRow(0, $fila)->getValue() != NULL) { // para cada registro de matriz recorremos las columnas desde la 0 hasta la 11 $matriz[$posMatriz]["idMatrizLegalDetalle"] = 0; $matriz[$posMatriz]["Compania_idCompania"] = 0; for ($columna = 0; $columna <= 11; $columna++) { // en la fila 9 del archivo de excel (oculta) estan los nombres de los campos de la tabla $campo = $datos->getCellByColumnAndRow($columna, 9)->getValue(); // si es una celda calculada, la ejeutamos, sino tomamos su valor if ($datos->getCellByColumnAndRow($columna, $fila)->getDataType() == 'f') { $matriz[$posMatriz][$campo] = $datos->getCellByColumnAndRow($columna, $fila)->getCalculatedValue(); } else { $matriz[$posMatriz][$campo] = $datos->getCellByColumnAndRow($columna, $fila)->getValue() == null ? '' : $datos->getCellByColumnAndRow($columna, $fila)->getValue(); } } //***************************** // Tipo de norma //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad if ($matriz[$posMatriz]["TipoNormaLegal_idTipoNormaLegal"] == '' or $matriz[$posMatriz]["TipoNormaLegal_idTipoNormaLegal"] == null) { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el tipo de norma'; $posErr++; } else { $consulta = \App\TipoNormaLegal::where('codigoTipoNormaLegal', '=', $matriz[$posMatriz]["TipoNormaLegal_idTipoNormaLegal"])->lists('idTipoNormaLegal'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $matriz[$posMatriz]["TipoNormaLegal_idTipoNormaLegal"] = $consulta[0]; } else { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Tipo Norma Legal ' . $matriz[$posMatriz]["TipoNormaLegal_idTipoNormaLegal"] . ' no existe'; $posErr++; } } //***************************** // Expedida por //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad if ($matriz[$posMatriz]["ExpideNormaLegal_idExpideNormaLegal"] == '' or $matriz[$posMatriz]["ExpideNormaLegal_idExpideNormaLegal"] == null) { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar expedido por'; $posErr++; } else { $consulta = \App\ExpideNormaLegal::where('codigoExpideNormaLegal', '=', $matriz[$posMatriz]["ExpideNormaLegal_idExpideNormaLegal"])->lists('idExpideNormaLegal'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $matriz[$posMatriz]["ExpideNormaLegal_idExpideNormaLegal"] = $consulta[0]; } else { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Expide Norma Legal ' . $matriz[$posMatriz]["ExpideNormaLegal_idExpideNormaLegal"] . ' no existe'; $posErr++; } } $posMatriz++; $fila++; } $totalErrores = count($errores); if ($totalErrores > 0) { $mensaje = '<table cellspacing="0" cellpadding="1" style="width:100%;">' . '<tr>' . '<td colspan="3">' . '<h3>Informe de inconsistencias en Importacion de matriz</h3>' . '</td>' . '</tr>' . '<tr>' . '<td >No. Línea</td>' . '<td >Mensaje</td>' . '</tr>'; for ($regErr = 0; $regErr < $totalErrores; $regErr++) { $mensaje .= '<tr>' . '<td >' . $errores[$regErr]["linea"] . '</td>' . '<td >' . $errores[$regErr]["mensaje"] . '</td>' . '</tr>'; } $mensaje .= '</table>'; echo json_encode(array(false, $mensaje)); } else { $indice = array('idMatrizLegal' => 0); $data = array('fechaElaboracionMatrizLegal' => $fechaMatriz, 'nombreMatrizLegal' => $nombreMatriz, 'origenMatrizLegal' => $origenMatriz, 'Users_id' => \Session::get("idUsuario"), 'FrecuenciaMedicion_idFrecuenciaMedicion' => $frecuenciaMedicion, 'Compania_idCompania' => \Session::get("idCompania")); $matrizlegal = \App\MatrizLegal::updateOrCreate($indice, $data); // Consultamos el ultimo id insertado en la matriz legal $ultmatrizLegal = \App\MatrizLegal::All()->last(); $matrizlegal = $ultmatrizLegal->idMatrizLegal; // recorremos el array recibido para insertar o actualizar cada registro for ($reg = 0; $reg < count($matriz); $reg++) { $indice = array('idMatrizLegalDetalle' => $matriz[$reg]["idMatrizLegalDetalle"]); $data = array('MatrizLegal_idMatrizLegal' => $matrizlegal, 'TipoNormaLegal_idTipoNormaLegal' => $matriz[$reg]['TipoNormaLegal_idTipoNormaLegal'], 'articuloAplicableMatrizLegalDetalle' => $matriz[$reg]['articuloAplicableMatrizLegalDetalle'], 'ExpideNormaLegal_idExpideNormaLegal' => $matriz[$reg]['ExpideNormaLegal_idExpideNormaLegal'], 'exigenciaMatrizLegalDetalle' => $matriz[$reg]['exigenciaMatrizLegalDetalle'], 'fuenteMatrizLegalDetalle' => $matriz[$reg]['fuenteMatrizLegalDetalle'], 'medioMatrizLegalDetalle' => $matriz[$reg]['medioMatrizLegalDetalle'], 'personaMatrizLegalDetalle' => $matriz[$reg]['personaMatrizLegalDetalle'], 'herramientaSeguimientoMatrizLegalDetalle' => $matriz[$reg]['herramientaSeguimientoMatrizLegalDetalle'], 'cumpleMatrizLegalDetalle' => $matriz[$reg]['cumpleMatrizLegalDetalle'], 'fechaVerificacionMatrizLegalDetalle' => $matriz[$reg]['fechaVerificacionMatrizLegalDetalle'], 'accionEvidenciaMatrizLegalDetalle' => $matriz[$reg]['accionEvidenciaMatrizLegalDetalle'], 'controlAImplementarMatrizLegalDetalle' => $matriz[$reg]['controlAImplementarMatrizLegalDetalle'], 'Compania_idCompania' => \Session::get("idCompania")); $matrizlegaldetalle = \App\MatrizLegalDetalle::updateOrCreate($indice, $data); } echo json_encode(array(true, 'Importacion Exitosa, por favor verifique')); } }); unlink($destinationPath . '/Plantilla Matriz Legal.xlsx'); }
public function importarMatrizRiesgo() { $destinationPath = public_path() . '/imagenes/repositorio/temporal'; Excel::load($destinationPath . '/Plantilla Matriz Riesgo.xlsx', function ($reader) { $datos = $reader->getActiveSheet(); $matriz = array(); $errores = array(); $fila = 10; $posMatriz = 0; $posErr = 0; //***************************** // Fecha //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad $fechaMatriz = $datos->getCellByColumnAndRow(0, 5)->getValue(); if ($fechaMatriz == '' or $fechaMatriz == null) { $fechaMatriz = date("Y-m-d"); } //***************************** // Nombre //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad $nombreMatriz = $datos->getCellByColumnAndRow(1, 5)->getValue(); if ($nombreMatriz == '' or $nombreMatriz == null) { $errores[$posErr]["linea"] = 5; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el nombre de la matriz'; $posErr++; } //***************************** // Frecuencia Medicion //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad $frecuenciaMedicion = $datos->getCellByColumnAndRow(2, 5)->getValue(); if ($frecuenciaMedicion == '' or $frecuenciaMedicion == null) { $errores[$posErr]["linea"] = 5; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar la Frecuencia de Medición'; $posErr; } else { $consulta = \App\FrecuenciaMedicion::where('codigoFrecuenciaMedicion', '=', $frecuenciaMedicion)->lists('idFrecuenciaMedicion'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $frecuenciaMedicion = $consulta[0]; } else { $errores[$posErr]["linea"] = 5; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Frecuencia ' . $frecuenciaMedicion . ' no existe'; $posErr; } } while ($datos->getCellByColumnAndRow(0, $fila)->getValue() != '' and $datos->getCellByColumnAndRow(0, $fila)->getValue() != NULL) { // para cada registro de matriz recorremos las columnas desde la 0 hasta la 24 $matriz[$posMatriz]["idMatrizRiesgoDetalle"] = 0; $matriz[$posMatriz]["Compania_idCompania"] = 0; for ($columna = 0; $columna <= 24; $columna++) { // en la fila 9 del archivo de excel (oculta) estan los nombres de los campos de la tabla $campo = $datos->getCellByColumnAndRow($columna, 9)->getValue(); // si es una celda calculada, la ejeutamos, sino tomamos su valor if ($datos->getCellByColumnAndRow($columna, $fila)->getDataType() == 'f') { $matriz[$posMatriz][$campo] = $datos->getCellByColumnAndRow($columna, $fila)->getCalculatedValue(); } else { $matriz[$posMatriz][$campo] = $datos->getCellByColumnAndRow($columna, $fila)->getValue() == null ? '' : $datos->getCellByColumnAndRow($columna, $fila)->getValue(); } } //***************************** // Proceso //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad if ($matriz[$posMatriz]["Proceso_idProceso"] == '' or $matriz[$posMatriz]["Proceso_idProceso"] == null) { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el Proceso'; $posErr++; } else { $consulta = \App\Proceso::where('codigoProceso', '=', $matriz[$posMatriz]["Proceso_idProceso"])->lists('idProceso'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $matriz[$posMatriz]["Proceso_idProceso"] = $consulta[0]; } else { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Proceso ' . $matriz[$posMatriz]["Proceso_idProceso"] . ' no existe'; $posErr++; } } //***************************** // Clasificación //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad if ($matriz[$posMatriz]["ClasificacionRiesgo_idClasificacionRiesgo"] == '' or $matriz[$posMatriz]["ClasificacionRiesgo_idClasificacionRiesgo"] == null) { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar la Clasificación'; $posErr++; } else { $consulta = \App\ClasificacionRiesgo::where('codigoClasificacionRiesgo', '=', $matriz[$posMatriz]["ClasificacionRiesgo_idClasificacionRiesgo"])->lists('idClasificacionRiesgo'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $matriz[$posMatriz]["ClasificacionRiesgo_idClasificacionRiesgo"] = $consulta[0]; } else { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Clasificación ' . $matriz[$posMatriz]["ClasificacionRiesgo_idClasificacionRiesgo"] . ' no existe'; $posErr++; } } //***************************** // Tipo Riesgo //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad if ($matriz[$posMatriz]["TipoRiesgo_idTipoRiesgo"] == '' or $matriz[$posMatriz]["TipoRiesgo_idTipoRiesgo"] == null) { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el Tipo de Riesgo'; $posErr++; } else { $consulta = \App\TipoRiesgo::where('codigoTipoRiesgo', '=', $matriz[$posMatriz]["TipoRiesgo_idTipoRiesgo"])->lists('idTipoRiesgo'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $matriz[$posMatriz]["TipoRiesgo_idTipoRiesgo"] = $consulta[0]; } else { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Tipo Riesgo ' . $matriz[$posMatriz]["TipoRiesgo_idTipoRiesgo"] . ' no existe'; $posErr++; } } //***************************** // Tipo Riesgo Detalle //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad if ($matriz[$posMatriz]["TipoRiesgoDetalle_idTipoRiesgoDetalle"] == '' or $matriz[$posMatriz]["TipoRiesgoDetalle_idTipoRiesgoDetalle"] == null) { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el Tipo de Riesgo'; $posErr++; } else { $consulta = \App\TipoRiesgoDetalle::where('nombreTipoRiesgoDetalle', '=', $matriz[$posMatriz]["TipoRiesgoDetalle_idTipoRiesgoDetalle"])->lists('idTipoRiesgoDetalle'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $matriz[$posMatriz]["TipoRiesgoDetalle_idTipoRiesgoDetalle"] = $consulta[0]; } else { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Tipo Riesgo Detalle ' . $matriz[$posMatriz]["TipoRiesgoDetalle_idTipoRiesgoDetalle"] . ' no existe'; $posErr++; } } //***************************** // Tipo Riesgo Salud //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad if ($matriz[$posMatriz]["TipoRiesgoSalud_idTipoRiesgoSalud"] == '' or $matriz[$posMatriz]["TipoRiesgoSalud_idTipoRiesgoSalud"] == null) { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el Tipo de Riesgo '; $posErr++; } else { $consulta = \App\TipoRiesgoSalud::where('nombreTipoRiesgoSalud', '=', $matriz[$posMatriz]["TipoRiesgoSalud_idTipoRiesgoSalud"])->lists('idTipoRiesgoSalud'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $matriz[$posMatriz]["TipoRiesgoSalud_idTipoRiesgoSalud"] = $consulta[0]; } else { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Tipo Riesgo Salud ' . $matriz[$posMatriz]["TipoRiesgoSalud_idTipoRiesgoSalud"] . ' no existe'; $posErr++; } } //***************************** // Nivel Deficiencia //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad if ($matriz[$posMatriz]["nivelDeficienciaMatrizRiesgoDetalle"] == '' or $matriz[$posMatriz]["nivelDeficienciaMatrizRiesgoDetalle"] == null) { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el Nivel de Deficiencia'; $posErr++; } else { //buscamos el id en el modelo correspondiente $consulta = \App\MatrizRiesgoDetalle::where('nivelDeficienciaMatrizRiesgoDetalle', '=', $matriz[$posMatriz]["nivelDeficienciaMatrizRiesgoDetalle"])->lists('idMatrizRiesgoDetalle'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $matriz[$posMatriz]["idMatrizRiesgoDetalle"] = $consulta[0]; } } //***************************** // Nivel Exposición //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad if ($matriz[$posMatriz]["nivelExposicionMatrizRiesgoDetalle"] == '' or $matriz[$posMatriz]["nivelExposicionMatrizRiesgoDetalle"] == null) { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el Nivel de Exposición'; $posErr++; } else { //buscamos el id en el modelo correspondiente $consulta = \App\MatrizRiesgoDetalle::where('nivelExposicionMatrizRiesgoDetalle', '=', $matriz[$posMatriz]["nivelExposicionMatrizRiesgoDetalle"])->lists('idMatrizRiesgoDetalle'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $matriz[$posMatriz]["idMatrizRiesgoDetalle"] = $consulta[0]; } } //***************************** // Nivel Consecuencia //***************************** // si la celda esta en blanco, reportamos error de obligatoriedad if ($matriz[$posMatriz]["nivelConsecuenciaMatrizRiesgoDetalle"] == '' or $matriz[$posMatriz]["nivelConsecuenciaMatrizRiesgoDetalle"] == null) { $errores[$posErr]["linea"] = $fila; // $errores[$posErr]["nombre"] = $matriz[ $posMatriz]["nombreCompletoTercero"]; $errores[$posErr]["mensaje"] = 'Debe diligenciar el Nivel de Consecuencia'; $posErr++; } else { //buscamos el id en el modelo correspondiente $consulta = \App\MatrizRiesgoDetalle::where('nivelConsecuenciaMatrizRiesgoDetalle', '=', $matriz[$posMatriz]["nivelConsecuenciaMatrizRiesgoDetalle"])->lists('idMatrizRiesgoDetalle'); // si se encuentra el id lo guardamos en el array if (isset($consulta[0])) { $matriz[$posMatriz]["idMatrizRiesgoDetalle"] = $consulta[0]; } } $posMatriz++; $fila++; } $totalErrores = count($errores); if ($totalErrores > 0) { $mensaje = '<table cellspacing="0" cellpadding="1" style="width:100%;">' . '<tr>' . '<td colspan="3">' . '<h3>Informe de inconsistencias en Importacion de matriz</h3>' . '</td>' . '</tr>' . '<tr>' . '<td >No. Línea</td>' . '<td >Mensaje</td>' . '</tr>'; for ($regErr = 0; $regErr < $totalErrores; $regErr++) { $mensaje .= '<tr>' . '<td >' . $errores[$regErr]["linea"] . '</td>' . '<td >' . $errores[$regErr]["mensaje"] . '</td>' . '</tr>'; } $mensaje .= '</table>'; echo json_encode(array(false, $mensaje)); } else { $indice = array('idMatrizRiesgo' => 0); $data = array('fechaElaboracionMatrizRiesgo' => $fechaMatriz, 'nombreMatrizRiesgo' => $nombreMatriz, 'Users_id' => \Session::get("idUsuario"), 'FrecuenciaMedicion_idFrecuenciaMedicion' => $frecuenciaMedicion, 'Compania_idCompania' => \Session::get("idCompania")); $matrizriesgo = \App\MatrizRiesgo::updateOrCreate($indice, $data); // Consultamos el ultimo id insertado en la matriz de riesgo $ultmatrizRiesgo = \App\MatrizRiesgo::All()->last(); $matrizriesgo = $ultmatrizRiesgo->idMatrizRiesgo; // recorremos el array recibido para insertar o actualizar cada registro for ($reg = 0; $reg < count($matriz); $reg++) { $probabilidad = ''; $nivelProbabilidad = (int) $matriz[$reg]['nivelDeficienciaMatrizRiesgoDetalle'] * (int) ['nivelExposicionMatrizRiesgoDetalle']; if ($nivelProbabilidad >= 24 && $nivelProbabilidad <= 40) { $probabilidad = 'Muy Alto'; } else { if ($nivelProbabilidad >= 10 && $nivelProbabilidad <= 20) { $probabilidad = 'Alto'; } else { if ($nivelProbabilidad >= 6 && $nivelProbabilidad <= 8) { $probabilidad = 'Medio'; } else { if ($nivelProbabilidad >= 2 && $nivelProbabilidad <= 4) { $probabilidad = 'Bajo'; } else { if ($nivelProbabilidad == 0) { $probabilidad = ''; } } } } } $nivelRiesgo = (int) $probabilidad * (int) $matriz[$reg]['nivelConsecuenciaMatrizRiesgoDetalle']; if ($nivelRiesgo >= 600 && $nivelRiesgo <= 4000) { $nombreRiesgo = 'I'; $aceptacionRiesgo = 'No aceptable'; } else { if ($nivelRiesgo >= 150 && $nivelRiesgo <= 500) { $nombreRiesgo = 'II'; $aceptacionRiesgo = 'No aceptable o aceptable con control específico'; } else { if ($nivelRiesgo >= 40 && $nivelRiesgo <= 120) { $nombreRiesgo = 'III'; $aceptacionRiesgo = 'Aceptable'; } else { if ($nivelRiesgo == 20) { $nombreRiesgo = 'IV'; $aceptacionRiesgo = 'Aceptable'; } else { if ($nivelRiesgo == 0) { $nombreRiesgo = ''; $aceptacionRiesgo = ''; } } } } } $indice = array('idMatrizRiesgoDetalle' => $matriz[$reg]["idMatrizRiesgoDetalle"]); $data = array('MatrizRiesgo_idMatrizRiesgo' => $matrizriesgo, 'Proceso_idProceso' => $matriz[$reg]['Proceso_idProceso'], 'rutinariaMatrizRiesgoDetalle' => $matriz[$reg]['rutinariaMatrizRiesgoDetalle'], 'ClasificacionRiesgo_idClasificacionRiesgo' => $matriz[$reg]['ClasificacionRiesgo_idClasificacionRiesgo'], 'TipoRiesgo_idTipoRiesgo' => $matriz[$reg]['TipoRiesgo_idTipoRiesgo'], 'TipoRiesgoDetalle_idTipoRiesgoDetalle' => $matriz[$reg]['TipoRiesgoDetalle_idTipoRiesgoDetalle'], 'TipoRiesgoSalud_idTipoRiesgoSalud' => $matriz[$reg]['TipoRiesgoSalud_idTipoRiesgoSalud'], 'vinculadosMatrizRiesgoDetalle' => $matriz[$reg]['vinculadosMatrizRiesgoDetalle'], 'temporalesMatrizRiesgoDetalle' => $matriz[$reg]['temporalesMatrizRiesgoDetalle'], 'totalExpuestosMatrizRiesgoDetalle' => $matriz[$reg]['vinculadosMatrizRiesgoDetalle'] + $matriz[$reg]['temporalesMatrizRiesgoDetalle'], 'fuenteMatrizRiesgoDetalle' => $matriz[$reg]['fuenteMatrizRiesgoDetalle'], 'medioMatrizRiesgoDetalle' => $matriz[$reg]['medioMatrizRiesgoDetalle'], 'personaMatrizRiesgoDetalle' => $matriz[$reg]['personaMatrizRiesgoDetalle'], 'nivelDeficienciaMatrizRiesgoDetalle' => $matriz[$reg]['nivelDeficienciaMatrizRiesgoDetalle'], 'nivelExposicionMatrizRiesgoDetalle' => $matriz[$reg]['nivelExposicionMatrizRiesgoDetalle'], 'nivelProbabilidadMatrizRiesgoDetalle' => $nivelProbabilidad, 'nombreProbabilidadMatrizRiesgoDetalle' => $probabilidad, 'nivelConsecuenciaMatrizRiesgoDetalle' => $matriz[$reg]['nivelConsecuenciaMatrizRiesgoDetalle'], 'nivelRiesgoMatrizRiesgoDetalle' => $nivelRiesgo, 'nombreRiesgoMatrizRiesgoDetalle' => $nombreRiesgo, 'aceptacionRiesgoMatrizRiesgoDetalle' => $aceptacionRiesgo, 'eliminacionMatrizRiesgoDetalle' => $matriz[$reg]['eliminacionMatrizRiesgoDetalle'], 'sustitucionMatrizRiesgoDetalle' => $matriz[$reg]['sustitucionMatrizRiesgoDetalle'], 'controlMatrizRiesgoDetalle' => $matriz[$reg]['controlMatrizRiesgoDetalle'], 'elementoProteccionMatrizRiesgoDetalle' => $matriz[$reg]['elementoProteccionMatrizRiesgoDetalle'], 'observacionMatrizRiesgoDetalle' => $matriz[$reg]['observacionMatrizRiesgoDetalle'], 'Compania_idCompania' => \Session::get("idCompania")); $matrizriesgodetalle = \App\MatrizRiesgoDetalle::updateOrCreate($indice, $data); } echo json_encode(array(true, 'Importacion Exitosa, por favor verifique')); } }); unlink($destinationPath . '/Plantilla Matriz Riesgo.xlsx'); }