Exemplo n.º 1
0
    public function actionImprimir($id)
    {
        $matri = VwGuia::Model()->findall("id='" . $id . "'");
        //$listacampos=VwGuia::Model()->attributeNames();
        if ($matri) {
            $listacampos = array('numcot' => array('left' => 35, 'bottom' => 1000), 'despro' => array('left' => 35, 'bottom' => 1000), 'validez' => array('left' => 35, 'bottom' => 1000), 'fechanominal' => array('left' => 35, 'bottom' => 1000), 'tipofacturacion' => array('left' => 35, 'bottom' => 1000), 'textocabeza' => array('left' => 35, 'bottom' => 1000), 'textopie' => array('left' => 35, 'bottom' => 1000), 'c_nombre' => array('left' => 35, 'bottom' => 1000), 'desmon' => array('left' => 35, 'bottom' => 1000));
            $cadena = "<style>";
            foreach ($listacampos as $clave => $valor) {
                $cadena = $cadena . '  .' . $clave . ' {position: absolute; overflow: visible; 													left: 100; 
															left: ' . $listacampos[$clave]["left"] . ';
														 	bottom: ' . $listacampos[$clave]["bottom"] . '; 
																padding: 0em; font-family:sans; font-size:0.6em; margin: 0;
																		
															}';
            }
            //matriz para guardar las absisas de los items
            $absisas = array('c_itguia' => array('ancho' => 30, 'absi' => 77), 'n_cangui' => array('ancho' => 30, 'absi' => 115), 'c_um' => array('ancho' => 30, 'absi' => 180), 'c_codgui' => array('ancho' => 50, 'absi' => 200), 'c_descri' => array('ancho' => 270, 'absi' => 250), 'c_codactivo' => array('ancho' => 120, 'absi' => 550));
            //el valor de las coordemadas donde empieza a pintar la tabla
            //$x_inicio=69;
            $y_inicio = 600;
            //el valor del alto de la fila
            $altofila = 15;
            //generando los estilos  de el detalle
            //$cadena2="";
            $subrayado = " ";
            for ($i = 0; $i < count($matri); $i++) {
                //recorriendo la cantidad de filas que hay
                foreach ($absisas as $clave => $valor) {
                    if ($i == count($matri) - 1) {
                        $subrayado = " border-bottom: 1px solid #000; ";
                    }
                    $cadena = $cadena . '     .' . $clave . $i . '{position: absolute;  ' . $subrayado . ' overflow: visible; width:' . $absisas[$clave]["ancho"] . '; left: ' . $absisas[$clave]["absi"] . ';bottom: ' . ($y_inicio - ($i + 1) * $altofila) . '; padding: 0em; font-family:sans; font-size:0.7em; margin: 0;} ';
                    /* $cadena2=$cadena2.'     .'.$clave.$i.'{position: absolute; overflow: visible; 
                     		left: '.$absisas[$clave].';
                     		bottom: '.$y_inicio+($i+1)*$altofila.'; }';*/
                }
            }
            $cadena = $cadena . '</style><body>';
            //generando los divs  del encabezado
            foreach ($listacampos as $clave => $valor) {
                $cadena = $cadena . '<div class="' . $clave . '" >' . $matri[0][$clave] . '</div>';
            }
            //generando los divs  de el detalle
            for ($i = 0; $i < count($matri); $i++) {
                //recorriendo la cantidad de filas que hay
                foreach ($absisas as $clave => $valor) {
                    $cadena = $cadena . '<div class="' . $clave . $i . '">' . $matri[$i][$clave] . '</div>';
                }
            }
            $cadena = $cadena . '<div class="nino">' . count($matri) . '</div>';
            //echo $cadena;
            $mpdf = Yii::app()->ePdf->mpdf();
            $mpdf->SetDisplayMode('fullpage');
            $mpdf->WriteHTML($cadena);
            $mpdf->Output();
            exit;
        } else {
            throw new CHttpException(404, 'El enlace o direccion solicitado no existe');
        }
    }
Exemplo n.º 2
0
 public static function hayactivoentransporte($codigoaf, $id = null)
 {
     //$registro=self::model()->find("c_codactivo=:vcodactivo and c_estgui=:vestado AND ",array(":vcodactivo"=>$codigoaf,":vestado"=>ESTADO_GUIA_APROBADA));
     $criteria = new CDBCriteria();
     $criteria->addCondition("c_codactivo=:vcodactivo and c_estgui=:vestado ");
     if (!is_null($id)) {
         $criteria->addCondition(" n_hguia <> :id ");
         $criteria->params = array(":vcodactivo" => $codigoaf, ":vestado" => ESTADO_GUIA_APROBADA, ":id" => $id);
     } else {
         $criteria->params = array(":vcodactivo" => $codigoaf, ":vestado" => ESTADO_GUIA_APROBADA);
     }
     $registro = VwGuia::model()->find($criteria);
     if (!IS_NULL($registro)) {
         return $registro->c_numgui . "   -   " . $registro->c_itguia;
     } else {
         return null;
     }
 }
Exemplo n.º 3
0
 /**
  * Manages all models.
  */
 public function actionAdmin()
 {
     $model = new VwGuia('search');
     $model->unsetAttributes();
     // clear any default values
     //$this->performAjaxValidation($model);
     if (isset($_GET['VwGuia'])) {
         //EN EL CASO DE QUE SEA UNA BUSQUEDA MEDIANTE EL FOMRUALARIO
         //if ($model->validate()) {
         $model->attributes = $_GET['VwGuia'];
         $model->validate();
         $proveedor = $model->search();
         //  } else {
         // echo "que carajo";
         // }
     } else {
         // $model->validate();
         $proveedor = $model->search2();
     }
     $this->render('admin', array('model' => $model, 'proveedor' => $proveedor));
 }
Exemplo n.º 4
0
 private function proceso($idevento, $id)
 {
     $mensaje = "";
     switch ($idevento) {
         case 2:
             ///APROBAR GUIA
             $filas = Guia::model()->findByPk($id)->detalle;
             foreach ($filas as $row) {
                 if (!is_null($row->c_codactivo)) {
                     $recInventario = Inventario::recordByPlate(trim($row->c_codactivo));
                     if (!is_null($recInventario)) {
                         /*$recInventario->setScenario('cambiaestado');
                           $recInventario->rocoto='1';
                            $recInventario->save();*/
                         $guiaocupada = VwGuia::hayactivoentransporte($row->c_codactivo);
                         if (!is_null($guiaocupada)) {
                             $mensaje .= " El activo " . $row->c_codactivo . " ya esta registrado en la guia " . $guiaocupada;
                         }
                     }
                     unset($recInventario);
                 }
             }
             break;
         case 64:
             ///revertir autorizacion
             /* $filas=Guia::model()->findByPk($id)->detalle;
                                foreach($filas as $row ) {
                                    if(!is_null($row->c_codactivo)){
                                        $recInventario=Inventario::recordByPlate(trim($row->c_codactivo));
                                        if(!is_null( $recInventario))
                                        {
                                            $recInventario->setScenario('cambiaestado');
                                            $recInventario->rocoto='0';
                                            $recInventario->save();
                                        }
                                        unset($recInventario);
                                    }
             
             
                                }*/
             break;
         case 36:
             ///autorizar transporte
             $filas = Guia::model()->findByPk($id)->detalle;
             foreach ($filas as $row) {
                 if (!is_null($row->c_codactivo)) {
                     $recInventario = Inventario::recordByPlate(trim($row->c_codactivo));
                     if (!is_null($recInventario)) {
                         $recInventario->setScenario('cambiaestado');
                         $recInventario->rocoto = '1';
                         $recInventario->save();
                     }
                     unset($recInventario);
                 }
             }
             break;
         case 68:
             ///deshacer confirmacion de transporte
             $filas = Guia::model()->findByPk($id)->detalle;
             foreach ($filas as $row) {
                 if (!is_null($row->c_codactivo)) {
                     $recInventario = Inventario::recordByPlate(trim($row->c_codactivo));
                     if (!is_null($recInventario)) {
                         $recInventario->setScenario('cambiaestado');
                         $recInventario->rocoto = '0';
                         $recInventario->save();
                     }
                     unset($recInventario);
                 }
             }
             break;
         case 37:
             ///Confirmar entrega  20 -> 80
             $filaguia = Guia::model()->findByPk($id);
             $filas = $filaguia->detalle;
             foreach ($filas as $row) {
                 if (!is_null($row->c_codactivo)) {
                     $recInventario = Inventario::recordByPlate(trim($row->c_codactivo));
                     if (!is_null($recInventario)) {
                         $recInventario->loguea($row->c_codep, $filaguia->codocu, $filaguia->id, $filaguia->c_numgui);
                         $recInventario->setScenario('BATCH_UPD_INVENTARIO_FISICO');
                         $recInventario->fecha = $filaguia->d_fectra;
                         $recInventario->numerodocumento = $filaguia->c_numgui;
                         $recInventario->rocoto = '0';
                         $recInventario->iddocu = $filaguia->id;
                         $recInventario->coddocu = $filaguia->codocu;
                         /***************************************************
                          *    AQUI LA CLAVE PARA ACTUALIZACION AUTOMATICA DEL LUGAR
                          *****************************************************/
                         $filaslugares = $filaguia->direccionesllegada->lugares;
                         foreach ($filaslugares as $filalugar) {
                             ///aqui debemos  de tener en cuenta el modo de envio
                             if ($row->modo == '2') {
                                 ///EMBARQUE
                                 $recInventario->codlugar = CODIGO_LUGAR_A_BORDO;
                             } else {
                                 ///RETIORNO O DEFINITIVO
                                 $recInventario->codlugar = $filalugar->codlugar;
                             }
                             break;
                             //SOLO AGARRA EL PRIMNER VALOR DE LUGARES
                         }
                         /****************************************************/
                         if (!$recInventario->save()) {
                             /*print_r($recInventario->geterrors());
                               echo " el documento ".$recInventario->coddocu. "  el docu de la guia ".$filaguia->codocu;
                               yii::app()->end();*/
                             $mensaje = "No se pudo grabar el inventario ";
                         }
                     }
                     unset($recInventario);
                 }
             }
             break;
         case 69:
             ///REVERTIR entrega  80 -> 20
             $filaguia = Guia::model()->findByPk($id);
             //se podra rever tor siempre que nohay pASADO MUCHO TIEMPO Y ADEMAS EL ACTIVO ESTE EN ESE LUGAR
             /// 1) SI ESTAMOS A TIEMPO , SEGUN PARAMETRO DE TIEMPO CONNFIGURABLE
             $diftiempo = strtotime('now') - strtotime($filaguia->d_fectra);
             if ($diftiempo <= yii::app()->params['guia_tmp_rever_entrega']) {
                 $filas = $filaguia->detalle;
                 foreach ($filas as $row) {
                     if (!is_null($row->c_codactivo)) {
                         $recInventario = Inventario::recordByPlate(trim($row->c_codactivo));
                         if (!is_null($recInventario)) {
                             $criterio = new CDbCriteria();
                             $criterio->addCondition(" hidinventario=:vidinventario");
                             $criterio->addCondition(" iddocumov=:viddocu");
                             $criterio->addCondition(" codocumov=:vcodocu");
                             $criterio->params = array(":vidinventario" => $recInventario->idinventario, ":viddocu" => $filaguia->id, ":vcodocu" => $filaguia->codocu);
                             $modelog = Loginventario::model()->find($criterio);
                             if (!is_null($modelog)) {
                                 //$mensaje.=" Encontro el log del activo ".$recInventario->idinventario."<br>";
                             } else {
                                 // $mensaje.=" NO Encontro el log del activo ".$recInventario->idinventario."<br>";
                             }
                             /*  echo $criterio->condition;
                                   echo "<br>";
                                  echo  $recInventario->idinventario."<br>";
                                  echo  $filaguia->id."<br>";
                                 echo  $filaguia->codocu."<br>";*/
                             //2) si el activo permanece EN ALGUNLUGAR DE LALDIRECCION DE LLEGADA
                             $lugaresvalidos = array();
                             $filalugaresvalidos = $filaguia->direccionesllegada->lugares;
                             /* var_dump($filalugaresvalidos);
                                yii::app()->end();*/
                             if (count($filalugaresvalidos) > 0) {
                                 foreach ($filalugaresvalidos as $filadirelle) {
                                     $lugaresvalidos[] = $filadirelle->codlugar;
                                 }
                             }
                             $seracierto = in_array($recInventario->codlugar, $lugaresvalidos) and $recInventario->rocoto == '0';
                             if ($seracierto) {
                                 //$mensaje.="  SI esta en lugares  ...procesando la recuparcion del log  ".$recInventario->idinventario."<br>";
                                 //$recInventario->loguea();
                                 $recInventario->setScenario('BATCH_UPD_INVENTARIO_FISICO');
                                 $recInventario->fecha = $modelog->fecha;
                                 $recInventario->numerodocumento = $modelog->numerodocumento;
                                 $recInventario->rocoto = '1';
                                 $recInventario->codep = $modelog->codep;
                                 $recInventario->codepanterior = $modelog->codepanterior;
                                 $recInventario->iddocu = $modelog->iddocu;
                                 $recInventario->coddocu = $modelog->coddocu;
                                 $recInventario->codlugar = $modelog->codlugar;
                                 $recInventario->save();
                                 $modelog->delete();
                             } else {
                                 $mensaje .= " El activo  " . $recInventario->idinventario . "  ya ha cambiado de lugar " . $recInventario->codlugar . " /  " . $modelog->codlugar . "  o esta en trasnporte<br>";
                             }
                         }
                     }
                 }
             } else {
                 $mensaje .= " No se puede revertir la entrega, ha pasado mas tiempo de la tolerancia <br>";
             }
             break;
     }
     return $mensaje;
 }
Exemplo n.º 5
0
    }
    //  echo  $record->getAttributeLabel($record->nombre_campo)."  :   ".$modelo->{$record->nombre_campo}."<br>";
    if ($record->visiblelabel == '1') {
        echo CHtml::tag("div", array("style" => $cadenalabel), $modelo->getAttributeLabel($record->nombre_campo), true);
    }
    if ($record->visiblecampo == '1') {
        echo CHtml::tag("div", array("style" => $cadena), $modelo->{$record->nombre_campo}, true);
    }
    // echo "  Este es el campo : ".$record->nombre_campo."  <br>";
}
?>




<div style="position: absolute; top:<?php 
echo $modelo->y_report;
?>
px; left:<?php 
echo $modelo->x_report;
?>
px"   >

  <?php 
$this->widget('zii.widgets.grid.CGridView', array('id' => 'detalle-grid', 'hideHeader' => 'false', 'dataProvider' => VwGuia::model()->search_detalle($modelo->id), 'summaryText' => '', 'cssFile' => 'themes/abound/css' . DIRECTORY_SEPARATOR . 'estiloguia.css', 'columns' => array(array('name' => 'c_it_guia', 'type' => 'raw', 'value' => 'CHtml::openTag("span",array("encode"=>false,"style"=>"font-family:courier; font-size:12px;")).$data->c_itguia.CHtml::closeTag("span")', 'htmlOptions' => array('width' => 30)), array('name' => 'c_it_guia', 'type' => 'raw', 'value' => 'CHtml::openTag("span",array("encode"=>false,"style"=>"font-family:courier; font-size:12px;")).$data->n_cangui.CHtml::closeTag("span")', 'htmlOptions' => array('width' => 30)), array('name' => 'c_um', 'type' => 'raw', 'value' => 'CHtml::openTag("span",array("encode"=>false,"style"=>"font-family:courier; font-size:12px;")).$data->c_um.CHtml::closeTag("span")', 'htmlOptions' => array('width' => 30)), array('name' => 'c_descri', 'type' => 'raw', 'header' => 'Codigo', 'value' => 'CHtml::openTag("span",array("encode"=>false,"style"=>"font-family:courier; font-size:12px;")).$data->c_descri.CHtml::openTag("br").
    CHtml::closeTag("span").CHtml::openTag("span",array("encode"=>false,"style"=>"font-family:courier;font-size:10px;")).$data->m_obs.CHtml::closeTag("span")', 'htmlOptions' => array('width' => 350)), array('name' => 'c_descri', 'type' => 'raw', 'header' => 'Codigo', 'value' => 'CHtml::openTag("span",array("encode"=>false,"style"=>"font-family:courier; font-size:12px;")).$data->nomep.CHtml::closeTag("span")', 'htmlOptions' => array('width' => 100)), array('name' => 'c_descri', 'type' => 'raw', 'header' => 'Codigo', 'value' => 'CHtml::openTag("span",array("encode"=>false,"style"=>"font-family:courier; font-size:10px;")).$data->c_codactivo.CHtml::closeTag("span")', 'htmlOptions' => array('width' => 80)))));
echo CHtml::openTag("span", array("encode" => false, "style" => "font-size:10px;")) . str_repeat('*', 150) . CHtml::closeTag('span');
?>
  </div>
<?php 
// yii::app()->end();