public function generadetalle($model) { // $model=$this->loadModel($id); //generar todas las claves del kardex //throw new CHttpException(500,'Nque carajo'); $codigodocumento = $model->codocuref; $numerodocumento = trim($model->numdocref); $tipomovimiento = $model->codmovimiento; switch ($codigodocumento) { ///Luego hacer los procedimientos segun sea el caso case '210': //orden de compra //throw new CHttpException(500,'No se encontro el doucmento de compras indicado'); //$this->redirect(array("Aprobarguia",'id'=>$id)); //rellenar el domcuento de items //VERIFICAR LA ORDEN COMPRA PRIMERO , SOLO LOS ITEMS QUE ESTAN LIBERADOS O ATENDIDOS PARCIALMENTE $mocompra = VwOcompra::model()->findall("numcot=:numerox and estadodetalle in ('20','50') ", array(":numerox" => $numerodocumento)); $transaccion = $model->dbConnection->beginTransaction(); if (count($mocompra) > 0) { for ($i = 0; $i < count($mocompra); ++$i) { $modelodetalle = new Alkardex(); $modelodetalle->codart = $mocompra[$i]['codart']; $modelodetalle->codmov = $tipomovimiento; $modelodetalle->cant = $mocompra[$i]['cant']; $modelodetalle->aldes = $model->codalmacen; $modelodetalle->fecha = $model->fechavale; $modelodetalle->usuario = Yii::app()->user->name; $modelodetalle->um = $mocompra[$i]['um']; $modelodetalle->codocuref = $codigodocumento; $modelodetalle->numdocref = $numerodocumento; $modelodetalle->codcentro = $model->codcentro; $modelodetalle->codestado = '99'; $modelodetalle->hidvale = $model->id; $modelodetalle->idref = $mocompra[$i]['id']; //el enganche if (!$modelodetalle->save()) { $transaccion->rollback(); Yii::app()->end(); throw new CHttpException(500, 'Se produjo un error al momento de insertar el detalle kardex '); } } $transaccion->commit(); } else { throw new CHttpException(500, 'No se encontro el doucmento de compras indicado'); } break; case '340': // Solicitud de pedido //$modelosolpe=Solpe::model()->findByPk(75); $modelosolpe = Solpe::model()->find(" numero='" . trim($model->numdocref) . "' "); //$modelosolpe=Solpe::model()->findall(" numero='0000000043' "); if (gettype($modelosolpe) == 'object') { /// //$modelito=Solpe::model()->findByPk($); $matrizdetalle = $modelosolpe->solpe_desolpe; for ($i = 0; $i < count($matrizdetalle); $i++) { $modelodesolpe = Desolpe::model()->findByPk($matrizdetalle[$i]['id']); ///Si el registro del kardex no ha sido creado aun $modelokardex = Alkardex::model()->find(" valido='1' AND idref=" . $modelodesolpe->id); if ($modelokardex === null) { //creamos el registro Kardex $modelokardex = new Alkardex(); //Colocamos los valores $modelokardex->codart = trim($modelodesolpe->codart); //el codigo material $modelokardex->cant = $modelodesolpe->cant; //el codigo material $modelokardex->codmov = $tipomovimiento; //el codigo MOVIMIENTO $modelokardex->alemi = $model->codalmacen; //el almacen emisor $modelokardex->aldes = $model->codalmacen; //el almacen emisor $modelokardex->fecha = date("Y-m-d H:i:s"); //contable $modelokardex->coddoc = $codigodocumento; //el codigo documento que caisa el mov $modelokardex->numdoc = $numerodocumento; //el numero de doc que causa el mov $modelokardex->usuario = Yii::app()->user->name; $modelokardex->um = $modelodesolpe->um; //el codigo material $modelokardex->codocuref = '101'; //el cod del doc vale almacen $modelokardex->numdoc = $model->numvale; //el numero vale alamcen $modelokardex->codcentro = $model->codcentro; //el codigo documento que caisa el mov //$modelokardex->codestado='01'; //el estado $modelokardex->fechadoc = date("Y-m-d H:i:s"); //fecah del documetno $modelokardex->hidvale = $model->id; //fecah del documetno $modelokardex->idref = $modelodesolpe->id; //fecah del documetno //$modelokardex->valido='0'; if ($modelodesolpe->numeroreservas > 0) { ///solo las que tienen reservas valen $modelokardex->checki = '1'; //es valido } else { $modelokardex->checki = '0'; //no es valido } $modelokardex->save(); } else { /// en el caso de que ya exista el kardex no hacer nada } } } else { throw new CHttpException(500, gettype($modelosolpe) . 'No se encontro la solicitud de pedido indicada : ' . trim($model->numdocref) . '- -' . strlen(trim($model->numdocref)) . ' '); } //verificando los detalles de la solicitud de pedido //SOLO LOS ITEMS RESERVADOS CON SUS RESPECTIVAS CANTIDADES break; default: throw new CHttpException(500, $codigodocumento . '-Se ha tomado un documento que no es valido'); } }
<div class="filainterior"> <div class="tenor"><?php echo $ocompra->ocompra_tenorsup->mensaje; ?> </div> </div> <br> <?php ?> <div class="filainterior"> <?php $this->widget('zii.widgets.grid.CGridView', array('id' => 'detalle-grid', 'dataProvider' => VwOcompra::model()->search_detalle($ocompra->idguia), 'summaryText' => '', 'columns' => array('item', array('name' => 'cant', 'header' => 'Cantidad', 'htmlOptions' => array('width' => 30)), 'desum', array('name' => 'codart', 'header' => 'Codigo', 'htmlOptions' => array('width' => 60)), array('name' => 'descri', 'header' => 'Descripcion', 'type' => 'html', 'value' => '$data->descri.CHtml::openTag(\'br\').$data->detalle', 'htmlOptions' => array('width' => 400)), array('name' => 'punit', 'header' => 'P. unit', 'value' => 'Yii::app()->numberFormatter->format("#,##0.00",$data->punit,null)', 'htmlOptions' => array('width' => 45)), array('name' => 'potal', 'header' => 'P. total', 'value' => 'Yii::app()->numberFormatter->format("#,##0.00",$data->punit*$data->cant,null)', 'htmlOptions' => array('width' => 60))))); ?> </div> <div class="filainterior"> <div style="width 1200px; float:left;" > .. </div> <div style=" float:right; width:400px;" > <?php $this->widget('zii.widgets.grid.CGridView', array('id' => 'resumen-grid', 'dataProvider' => VwOcosubtotal::model()->search($ocompra->idguia), 'summaryText' => '', 'columns' => array(array('name' => 'subtotal', 'header' => 'Subtotal', 'value' => 'Yii::app()->numberFormatter->format("#,##0.00",$data->subtotal+0,null)'), array('name' => 'destotal', 'header' => 'Descuento', 'value' => '$data->destotal'), array('name' => 'subtotaldes', 'header' => 'Valor neto', 'value' => 'Yii::app()->numberFormatter->format("#,##0.00",$data->subtotaldes+0,null)'), array('name' => 'impuesto', 'header' => 'I.G.V.', 'value' => 'Yii::app()->numberFormatter->format("#,##0.00",$data->impuesto+0,null)'), array('name' => 'total', 'header' => 'Total', 'type' => 'html', 'value' => '$data->simbolo." ".Yii::app()->numberFormatter->format("#,##0.00",$data->total+0,null)', 'htmlOptions' => array('width' => 75))))); ?> </div> </div>
public function actionAprobar() { $model = new VwOcompra('search'); $proveedor = $model->search_por_liberar(); $this->render('liberacion', array('model' => $model, 'proveedor' => $proveedor)); }
/** * Manages all models. */ public function actionAdmin() { $model = new VwOcompra('search'); $model->unsetAttributes(); // clear any default values //$this->performAjaxValifdation($model); if (isset($_GET['VwOcompra'])) { //EN EL CASO DE QUE SEA UNA BUSQUEDA MEDIANTE EL FOMRUALARIO //if ($model->validate()) { $model->attributes = $_GET['VwOcompra']; //$model->validate(); $proveedor = $model->search(); // } else { // echo "que carajo"; // } } else { // $model->validate(); $proveedor = $model->search2(); } /* $proveedor = new CActiveDataProvider('VwOcompra', array( 'sort'=>array( 'attributes'=>array( 'numcot', ), 'defaultOrder' => 'numcot', ), 'pagination' => array( 'pagesize' => 30, ), ));*/ $this->render('admin', array('model' => $model, 'proveedor' => $proveedor)); }