예제 #1
0
 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');
     }
 }
예제 #2
0
파일: reporteoc.php 프로젝트: hipogea/zega
    <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>
예제 #3
0
 public function actionAprobar()
 {
     $model = new VwOcompra('search');
     $proveedor = $model->search_por_liberar();
     $this->render('liberacion', array('model' => $model, 'proveedor' => $proveedor));
 }
예제 #4
0
 /**
  * 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));
 }