public function actionNacional()
 {
     $usuario = $this->usuario();
     //Selección de Proyecto a Acción
     $proyectoSel = new Proyectos('search');
     $accionSel = new Acciones('search');
     // Selección Partidas
     $partidaSel = new Partidas('search');
     //Selección Producto
     $productoSel = new Productos('search');
     // Lista de productos cargados
     $presuPros = array();
     $presuPro = new PresupuestoProductos();
     $presuPro->tipo = 'N';
     //$partidas = new PresupuestoPartidas();
     $partidas = array();
     $productosPartidas = array();
     //Todos los Presupuesto Partidas de un Proyecto o una accción
     $presupuestoPartidas = array();
     //$partidass = '';
     if (isset($_POST['Proyectos'])) {
         $proyectoSel->attributes = $_POST['Proyectos'];
         // Para el manejo del dropdown de acciones y proyectos
         //print_r($_POST['Proyectos']['proyecto_id']);
         if (!empty($_POST['Proyectos']['proyecto_id'])) {
             // Verificando si el id pasado es de una acción o un proyecto
             if (strstr($proyectoSel->proyecto_id, 'a')) {
                 $accionSel->accion_id = $this->accionId($proyectoSel->proyecto_id);
                 $partidas = $this->partidasAccion($accionSel->accion_id);
                 foreach (PresupuestoPartidaAcciones::model()->findAllByAttributes(array('accion_id' => $accionSel->accion_id, 'ente_organo_id' => $usuario->ente_organo_id, 'anho' => Yii::app()->params['trimestresFechas'][Yii::app()->session['trimestreSeleccionado']]['anho'])) as $key => $value) {
                     //if($value->presupuestoPartida->partida_id == $partidaSel->partida_id)
                     //Todos los presupuestos partidas de la Acción seleccionada
                     $presupuestoPartidas[] = $value->presupuestoPartida;
                 }
             } else {
                 $proyectoActual = Proyectos::model()->findByPk($proyectoSel->proyecto_id);
                 $partidas = $this->partidasProyecto($proyectoSel->proyecto_id);
                 //Todas los Presupuesto Partidas del proyecto seleccionado
                 $presupuestoPartidas = $proyectoActual->presupuestoPartidas;
             }
             //$partidas = Partidas::model()->findByPk($partidas[0]->partida_id);
             //$partidas = $proyectoSel->presupuestoPartidaProyecto->presupuestoPartida;
             //print_r($_POST['Partidas']);
             if (isset($_POST['Partidas']) && !empty($_POST['Partidas']['partida_id'])) {
                 $partidaSel->attributes = $_POST['Partidas'];
                 //$presuPros = Proyectos::model()->findAllByAttributes(array('proyecto_id'=>attributeValue), condition, array('key'=>value))
                 $presuPartida = new PresupuestoPartidas();
                 if (!empty($accionSel->accion_id)) {
                     foreach (PresupuestoPartidaAcciones::model()->findAllByAttributes(array('accion_id' => $accionSel->accion_id, 'ente_organo_id' => $usuario->ente_organo_id, 'anho' => Yii::app()->params['trimestresFechas'][Yii::app()->session['trimestreSeleccionado']]['anho'])) as $key => $value) {
                         if ($value->presupuestoPartida->partida_id == $partidaSel->partida_id) {
                             $presuPartida = $value->presupuestoPartida;
                         }
                     }
                 }
                 if (isset($proyectoActual)) {
                     foreach ($proyectoActual->presupuestoPartidas as $key => $presupuestoPartida) {
                         if ($presupuestoPartida->partida_id == $partidaSel->partida_id) {
                             $presuPartida = $presupuestoPartida;
                         }
                     }
                 }
                 // Producto Nacional
                 if (isset($_POST['Productos'])) {
                     $productoSel->attributes = $_POST['Productos'];
                 }
             }
         }
     }
     if (isset($_POST['PresupuestoProductos'])) {
         $presuPro->attributes = $_POST['PresupuestoProductos'];
         $presuPro->tipo = 'N';
         $presuPro->proyecto_partida_id = $presuPartida->presupuesto_partida_id;
         $presuPro->monto_ejecutado = 0;
         $presuPro->producto_id = $productoSel->producto_id;
         /*	if($presupuestoPartida = ->findByAttributes(array('partida_id'=>$partidaSel->partida_id)))
         			$presuPro->proyecto_partida_id = $presupuestoPartida->presupuesto_partida_id;*/
         $presuPro->monto_presupuesto = 0;
         if ($presuPro->validate()) {
             //Monto en presupuesto en Bs. del producto
             $presuPro->monto_presupuesto = floatval($presuPro->costo_unidad) * floatval($presuPro->cantidad);
             // Validando la suma de los productos de la partida
             $total = $this->montoCargadoPartida($presuPartida);
             if ($presuPartida->monto_presupuestado >= $total + $presuPro->monto_presupuesto) {
                 /*if($this->productoExisteProyecto($presuPro->producto_id,$proyectoActual->proyecto_id,$partidaSel->partida_id))
                 		{
                 			Yii::app()->user->setFlash('error', "El producto ya esta cargado!");
                 		}else{*/
                 if ($presuPro->save()) {
                     $presuPro = new PresupuestoProductos();
                     $productoSel = new Productos('search');
                     //$this->redirect(array('/planificacion/partidas'));
                     Yii::app()->user->setFlash('success', "Producto cargado con  éxito!");
                 } else {
                     Yii::app()->user->setFlash('error', "El producto no se ha podido guardar.");
                 }
                 //throw new Exception("Error Processing Request", 1);
                 //}
             } else {
                 Yii::app()->user->setFlash('notice', "No se agrego el producto valorado en " . number_format($presuPro->monto_presupuesto, 2, ',', '.') . " Bs. La partida lleva cargada un monto en productos de " . number_format($total, 2, ',', '.') . " Bs.  y el monto presupuestado para esta partida es de " . number_format($presuPartida->monto_presupuestado, 2, ',', '.') . ' Bs.');
             }
         }
         //else Yii::app()->user->setFlash('Error','error');
     }
     // Recargando listas
     if (!empty($partidaSel->partida_id) && !empty($proyectoSel->proyecto_id)) {
         //Listando todos los productos que ya se han cargado
         foreach ($presupuestoPartidas as $key => $presupuestoPartida) {
             if ($presupuestoPartida->partida_id == $partidaSel->partida_id) {
                 $presuPros = $presupuestoPartida->presupuestoProductos;
             }
         }
         $productosPartidas = $this->listaProductosPartida($partidaSel->partida_id, $proyectoSel->proyecto_id, 'n');
         //Partidas::model()->findByPk($partidaSel->partida_id)->productos;
         $productosPartidas = CHtml::listData($productosPartidas, 'producto_id', function ($producto) {
             return CHtml::encode($this->numeroProducto($producto) . ' - ' . $producto->nombre);
         });
     }
     $this->render('nacional', array('usuario' => $usuario, 'proyectoSel' => $proyectoSel, 'accionSel' => $accionSel, 'partidas' => $partidas, 'partidaSel' => $partidaSel, 'productoSel' => $productoSel, 'presuPros' => $presuPros, 'presuPro' => $presuPro, 'productosPartidas' => $productosPartidas));
 }
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer the ID of the model to be loaded
  */
 public function loadModel($id)
 {
     $model = PresupuestoProductos::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }