示例#1
0
			)
		);*/

		/*$listaCodigos = array();
		if($codigoSel=CodigosNcm::model()->findByPk($codigoNcmSel->codigo_ncm_id))
			$listaCodigos = CHtml::listData(CodigosNcm::model()->findAll('codigo_ncm_nivel_1='.$codigoSel->codigo_ncm_nivel_1.' AND t.fecha_desde<\''.date('Y-m-d').'\' AND t.fecha_hasta>\''.date('Y-m-d').'\''),
						'codigo_ncm_id', function($codigo){ return CHtml::encode($this->numeroCodigoNcm($codigo).' - '.$codigo->descripcion_ncm);});*/
		$importado .= $form->dropDownListGroup( $presuImp, 'codigo_ncm_id',
			array(
				'wrapperHtmlOptions' => array(
					'class' => 'col-sm-5',
				),
				'label'=>'Seleccione el producto',
				'widgetOptions' => array(

					'data' => CHtml::listData(CodigosNcm::model()->findAll($this->condicionVersion()),
						'codigo_ncm_id', function($codigo){ return CHtml::encode($this->numeroCodigoNcm($codigo).' - '.$codigo->descripcion_ncm);}),
					//'options'=>array($model->proyecto_id => array('selected'=>true)),
					'htmlOptions' => array('prompt' => 'Seleccionar producto', 'id'=>'ncmnivel2' /*'multiple' => false,*/ ),
				),
				'hint' => 'Producto para añadir.'
			)
		); 

		Yii::app()->clientScript->registerScript("cambioDivisa", '$(\'#divisa\').change(function(){$(\'#montoPresupuesto\').parent(\'span\').html(\'$\');})');
		$importado .= $form->dropDownListGroup( $presuImp, 'divisa_id',
			array(
				'wrapperHtmlOptions' => array(
					'class' => 'col-sm-5',
				),
				'label'=>'Divisa',
 public function actionImportado()
 {
     $usuario = Usuarios::model()->findByPk(Yii::app()->user->getId());
     //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
     $presuImps = array();
     $presuImp = new PresupuestoImportacion();
     $codigoNcmSel = new CodigosNcm();
     //$partidas = new PresupuestoPartidas();
     $partidas = array();
     $productosPartidas = array();
     $presuPartida = new PresupuestoPartidas();
     //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);
                 //Todos 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;
                         }
                     }
                 }
                 //$productosPartidas = Partidas::model()->findByPk($partidaSel->partida_id)->productos;
                 // Producto Nacional
                 if (isset($_POST['Productos']) && !empty($_POST['Productos']['producto_id'])) {
                     $productoSel->attributes = $_POST['Productos'];
                 }
                 //$this->render('_importado',array('presuImps'=>$presuImps));
                 //Yii::app()->end();
             }
         }
     }
     // Producto Importado
     if (isset($_POST['PresupuestoImportacion'])) {
         $presuImp->attributes = $_POST['PresupuestoImportacion'];
         $presuImp->presupuesto_partida_id = $presuPartida->presupuesto_partida_id;
         $presuImp->monto_ejecutado = 0;
         $presuImp->producto_id = $productoSel->producto_id;
         $par = Partidas::model()->findByPk($partidaSel->partida_id);
         if ($par->p1 == '403') {
             // Servicios
             $presuImp->codigo_ncm_id = CodigosNcm::model()->findByAttributes(array('codigo_ncm_nivel_1' => '0'))->codigo_ncm_id;
         }
         if ($presuImp->validate()) {
             $total = $this->montoCargadoPartida($presuPartida);
             //throw new Exception("Error ".$presuImp->divisa->tasa->tasa." Request", 1);
             if (@($presuPartida->monto_presupuestado >= $total + $presuImp->monto_presupuesto * $presuImp->divisa->tasa->tasa * $presuImp->cantidad)) {
                 $transaction = $presuImp->dbConnection->beginTransaction();
                 // Transaction begin //Yii::app()->db->beginTransaction
                 try {
                     if ($presuImp->save()) {
                         $transaction->commit();
                         // committing
                         $presuImp = new PresupuestoImportacion();
                         Yii::app()->user->setFlash('success', "Producto cargado con  éxito!");
                     } else {
                         Yii::app()->user->setFlash('error', "No se pudo guardar el producto.");
                         $transaction->rollBack();
                     }
                 } catch (Exception $e) {
                     Yii::app()->user->setFlash('error', "No se guardo el producto o servicio.");
                     $transaction->rollBack();
                 }
             } else {
                 Yii::app()->user->setFlash('notice', "No se agrego el producto valorado en " . number_format($presuImp->monto_presupuesto * $presuImp->divisa->tasa->tasa * $presuImp->cantidad, 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.');
             }
         }
         //$this->guardarPresupuestoProductos($presuPro);
     }
     //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) {
                 $presuImps = $presupuestoPartida->presupuestoImportacion;
             }
         }
         $productosPartidas = $this->listaProductosPartida($partidaSel->partida_id, $proyectoSel->proyecto_id, 'i');
         //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('importado', array('usuario' => $usuario, 'proyectoSel' => $proyectoSel, 'accionSel' => $accionSel, 'partidas' => $partidas, 'partidaSel' => $partidaSel, 'productoSel' => $productoSel, 'presuImps' => $presuImps, 'presuImp' => $presuImp, 'productosPartidas' => $productosPartidas, 'codigoNcmSel' => $codigoNcmSel));
 }
示例#3
0
					 ),
				),
				'hint' => 'Código arancelario.'
			)
		);*/

	    echo $form->select2Group($presuImp, 'codigo_ncm_id',
	                        array(
	                            'wrapperHtmlOptions' => array(
	                                'class' => 'col-sm-5',
	                            ),
	                            'label'=>'Código arancelario',
	                            'hint' => 'Código arancelario.',
	                            'widgetOptions' => array(
	                                'asDropDownList' => true,
	                                'data' => CHtml::listData(CodigosNcm::model()->findAll($this->condicionVersion().'AND codigo_ncm_nivel_1!=\'0\''),
						'codigo_ncm_id', function($codigo){ return CHtml::encode($this->numeroCodigoNcm($codigo).' - '.$codigo->descripcion_ncm);}),
	                                'htmlOptions'=>array('id'=>'ncmnivel2',),
	                                'options' => array(
	                                    //'tags' => array('clever', 'is', 'better', 'clevertech'),
	                                    'placeholder' => 'Seleccionar codigo arancelario',
	                                    // 'width' => '40%', 
	                                    'tokenSeparators' => array(',', ' ')
	                                )
	                            )
	                        )
	                    );
		//Yii::app()->clientScript->registerScript("cambioDivisa", '$(\'#divisa\').change(function(){$(\'#montoPresupuesto\').parent(\'span\').html(\'$\');})');
		echo $form->dropDownListGroup( $presuImp, 'divisa_id',
			array(
				'wrapperHtmlOptions' => array(