public function actionAprobar($id) { ///aprobar con pana y elegancia $modelin = Desolpe::model()->findByPk($id); $transaccion = $modelin->dbConnection->beginTransaction(); $modelin->est = '30'; //colocar el estado APROBADO $mensa = new Mensajes(); $mensa->usuario = Yii::app()->user->name; $mensa->cuando = date("Y-m-d H:i:s"); //$mensa->nombrefichero=$this->Imprimirsolo($id); $mensa->codocu = '350'; $mensa->hidocu = $id; // $consulta=Yii::app()->db->createCommand("select count(*) from desolpe where est in ('01','99') and hidsolpe=".$modelin->hidsolpe." and id <> ".$modelin->id." ")->queryScalar(); $arreglo = Desolpe::model()->findall(" est in ('10','99') and hidsolpe=" . $modelin->hidsolpe . " and id <> " . $modelin->id); if (count($arreglo) == 0) { //si no hay mas $modelosolpe = $this->loadmodel($modelin->hidsolpe); $modelosolpe->setScenario('aprobacion'); $modelosolpe->estado = '20'; $modelosolpe->save(); } if ($modelin->save() and $mensa->save()) { $transaccion->commit(); } else { $transaccion->rollback(); print_r($modelin->geterrors()); print_r($mensa->geterrors()); echo " mateiale " . $modelin->codart; } }