public function actionUpdate($id_riesgo = null) { if (isset($_POST['idRiesgoActualizar'])) { $idRiesgo = $_POST['idRiesgoActualizar']; $model = Riesgo::model()->findByPk($idRiesgo); $impactoPesimista = (double) $_POST['impactoPesimistaActualizar']; $impactoProbable = (double) $_POST['impactoProbableActualizar']; $impactoOptimista = (double) $_POST['impactoOptimistaActualizar']; $impactoDeterministico = ($impactoPesimista + 4 * $impactoProbable + $impactoOptimista) / 6; $ProbabilidadPesimista = (double) $_POST['probabilidadPesimistaActualizar']; $ProbabilidadProbable = (double) $_POST['probabilidadProbableActualizar']; $ProbabilidadOptimista = (double) $_POST['probabilidadOptimistaActualizar']; $probabilidadDeterministica = ($ProbabilidadPesimista + 4 * $ProbabilidadProbable + $ProbabilidadOptimista) / 6; $riesgoDeterministico = $impactoDeterministico * $probabilidadDeterministica; $impactoCualitativoValor = 0; $impactoCualitativoNombre = ""; $modelImpactoCualitativo = ImpactoCualitativo::model()->findAll(); foreach ($modelImpactoCualitativo as $value) { if ($impactoProbable >= (double) $value->rango_inferior && $impactoProbable <= (double) $value->rango_superior) { $impactoCualitativoValor = $value->valor; $impactoCualitativoNombre = $value->nombre; } } $probabilidadCualitativaValor = 0; $probabilidadCualitativaNombre = ""; $modelProbabilidadCualitativa = ProbabilidadCualitativa::model()->findAll(); foreach ($modelProbabilidadCualitativa as $value) { if ($ProbabilidadProbable >= (double) $value->rango_inferior && $ProbabilidadProbable <= (double) $value->rango_superior) { $probabilidadCualitativaValor = $value->valor; $probabilidadCualitativaNombre = $value->nombre; } } $riesgoCualitativo = ""; $aux = (double) $probabilidadCualitativaValor * (double) $impactoCualitativoValor; $modelRiesgoCualitativo = RiesgoCualitativo::model()->findAll(); foreach ($modelRiesgoCualitativo as $value) { if ($aux >= (double) $value->rango_inferior && $aux <= (double) $value->rango_superior) { $riesgoCualitativo = $value->nombre; } } $model->id_grupo_riesgo = $_POST['idGrupoRiesgoActualizar']; $model->codigo = $_POST['codigoRiesgoActualizar']; $model->nombre = $_POST['nombreRiesgoActualizar']; $model->id_tipo_riesgo = $_POST['idTipoRiesgoActualizar']; $model->id_tipo_perdida = $_POST['idTipoPerdidaActualizar']; $model->descripcion_causa = $_POST['descripcionCausaActualizar']; $model->id_actividad_control = $_POST['idActividadControlActualizar']; $model->descripcion_actividad_control = $_POST['descripcionActividadControlActualizar']; $model->impacto_pesimista = $_POST['impactoPesimistaActualizar']; $model->impacto_probable = $_POST['impactoProbableActualizar']; $model->impacto_optimista = $_POST['impactoOptimistaActualizar']; $model->descripcion_impacto_pesimista = $_POST['descripcionImpactoPesimistaActualizar']; $model->descripcion_impacto_probable = $_POST['descripcionImpactoProbableActualizar']; $model->descripcion_impacto_optimista = $_POST['descripcionImpactoOptimistaActualizar']; $model->probabilidad_pesimista = $_POST['probabilidadPesimistaActualizar']; $model->probabilidad_probable = $_POST['probabilidadProbableActualizar']; $model->probabilidad_optimista = $_POST['probabilidadOptimistaActualizar']; $model->descripcion_probabilidad_pesimista = $_POST['descripcionProbabilidadPesimistaActualizar']; $model->descripcion_probabilidad_probable = $_POST['descripcionProbabilidadProbableActualizar']; $model->descripcion_probabilidad_optimista = $_POST['descripcionProbabilidadOptimistaActualizar']; $model->impacto_deterministico = $impactoDeterministico; $model->probabilidad_deterministica = $probabilidadDeterministica; $model->riesgo_deterministico = $riesgoDeterministico; $model->impacto_cualitativo = $impactoCualitativoNombre; $model->probabilidad_cualitativa = $probabilidadCualitativaNombre; $model->riesgo_cualitativo = $riesgoCualitativo; if ($model->save()) { //limpiar registros en las tablas de relaciones many to many $modelCausasRiesgoOld = CausaRiesgo::model()->findAllByAttributes(array('id_riesgo' => $idRiesgo)); foreach ($modelCausasRiesgoOld as $value) { $value->delete(); } $modelObjetivosEstrategicosRiesgoOld = ObjetivoEstrategicoRiesgo::model()->findAllByAttributes(array('id_riesgo' => $idRiesgo)); foreach ($modelObjetivosEstrategicosRiesgoOld as $value) { $value->delete(); } $modelProcesosRiesgosOld = ProcesoRiesgo::model()->findAllByAttributes(array('id_riesgo' => $idRiesgo)); foreach ($modelProcesosRiesgosOld as $value) { $value->delete(); } $modelRiesgoUnidadesNegocio = RiesgoUnidadNegocio::model()->findAllByAttributes(array('id_riesgo' => $idRiesgo)); foreach ($modelRiesgoUnidadesNegocio as $value) { $value->delete(); } //Fin limpiar registros en las tablas de relaciones many to many foreach ($_POST['idCausaActualizar'] as $value) { $modelCausaRiesgo = new CausaRiesgo(); $modelCausaRiesgo->id_riesgo = $model->id_riesgo; $modelCausaRiesgo->id_causa = $value; $modelCausaRiesgo->save(); } if (isset($_POST['idObjetivoEstrategicoActualizar'])) { foreach ($_POST['idObjetivoEstrategicoActualizar'] as $value) { $modelObjetivoEstrategicoRiesgo = new ObjetivoEstrategicoRiesgo(); $modelObjetivoEstrategicoRiesgo->id_riesgo = $model->id_riesgo; $modelObjetivoEstrategicoRiesgo->id_objetivo_estrategico = $value; $modelObjetivoEstrategicoRiesgo->save(); } } if (isset($_POST['idProcesoActualizar'])) { foreach ($_POST['idProcesoActualizar'] as $value) { $modelProcesoRiesgo = new ProcesoRiesgo(); $modelProcesoRiesgo->id_riesgo = $model->id_riesgo; $modelProcesoRiesgo->id_proceso = $value; $modelProcesoRiesgo->save(); } } foreach ($_POST['idUnidadNegocioActualizar'] as $value) { $modelRiesgoUnidadNegocio = new RiesgoUnidadNegocio(); $modelRiesgoUnidadNegocio->id_riesgo = $model->id_riesgo; $modelRiesgoUnidadNegocio->id_unidad_negocio = $value; $modelRiesgoUnidadNegocio->save(); } $this->render('view', array('id_riesgo' => $idRiesgo)); } } $this->render('update', array('id_riesgo' => $id_riesgo)); }
</option> </select> </div> <div id="" class="form-group"> <label class="control-label"> Causa(s) <span class="symbol required"></span> </label> <select id="idCausaActualizar" name="idCausaActualizar[]" class="js-example-basic-multiple" multiple="multiple" tabindex="1" aria-hidden="true" style="width:100%; height: 41px;overflow-y: auto;"> <option value="null">Seleccione</option> <?php $causaCrear = new Causa(); $causasCrear = $causaCrear->findAll(); foreach ($causasCrear as $value) { $causaRiesgo = CausaRiesgo::model()->findAllByAttributes(array('id_riesgo' => $riesgo->id_riesgo, 'id_causa' => $value->id_causa)); if (count($causaRiesgo) == 0) { ?> <option value="<?php echo $value->id_causa; ?> " title="<?php echo $value->nombre; ?> "> <?php echo $value->nombre; } else { ?>