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'); } }
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; } }
/** * 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)); }
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; }
} // 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();