public function verificaconsistencia($attribute, $params) { //Verificar si esta iddesolpe, ya se pido anteriormente en el mismo documento if ($this->isNewRecord and count(self::model()->find('iddesolpe=:viddesolpe ', array(':viddesolpe' => $this->iddesolpe))) > 0) { $this->adderror('cant', 'Esta solicitud ya esta registrada en este documento, verifique '); } ///verificar la consistencia de la cantidad $registrosolpe = Desolpe::model()->findByPk($this->iddesolpe); if (!is_null($registrosolpe)) { $cantidadefectivaNew = $this->cant * Alconversiones::convierte($this->codart, $this->um, $registrosolpe->um); $cantidadefectivaOLD = $this->oldVal('cant') * Alconversiones::convierte($this->codart, $this->um, $registrosolpe->um); $cantidadefectiva = $cantidadefectivaNew - $cantidadefectivaOLD; $hayerror = true; if ($this->id > 0) { //Si es un registro que ya ha sido confirmado $hayerror = $registrosolpe->cuantofaltacomprar() < $cantidadefectiva ? true : false; } else { //Si es nuevo , solo verifica que si se agrega la cantidad excede $hayerror = $registrosolpe->cuantofaltacomprar() < $cantidadefectivaNew ? true : false; } if ($hayerror) { //obteniendo las referencias de los pedidos de compra que lo han tomado anteriormente $registros = Desolpecompra::model()->findAll("iddesolpe=:viddesolpe", array(":viddesolpe" => $this->iddesolpe)); $mensaje = " "; foreach ($registros as $fila) { $mensaje .= " Pedido de compra : " . $fila->docompra->ocompra->numcot . " Item : " . $fila->docompra->item . " <br>"; } $this->adderror('cant', 'cant efectiva :' . $cantidadefectiva . ' , cuanto falta : ' . $registrosolpe->cuantofaltacomprar() . ' , Usted esta comprando mas de lo que han solicitado, este item de solicitud ya se trato con ' . $mensaje); } } }
public function chkcantsolpe($attribute, $params) { //Obteinendo la reserva de esta Solpe $registros = Alreserva::model()->findAll("hidesolpe=:idsolpe and codocu='450'", array(":idsolpe" => $this->idref)); $desolpe = Desolpe::model()->findByPk($this->idref); $umoriginal = $desolpe->um; $cantatendida = is_null($registros[0]->alreserva_cantidadatendida) ? 0 : $registros[0]->alreserva_cantidadatendida; $falta = $desolpe->cant - $cantatendida; $mensajeerror = $cantatendida == 0 ? ' de lo que se ha solicitado(' . $desolpe->cant . ')' : ' de lo que falta atender (' . $falta . ')'; //echo "falta antender ".$falta; //yii::app()->end(); if (abs($this->cant) * Alconversiones::convierte($this->codart, $this->um, $umoriginal) > $falta) { $this->adderror('cant', 'La cantidad que intentas atender es mayor ' . $mensajeerror); } unset($registros); unset($desolpe); }
public function checkcantidad($attribute, $params) { //verificando en este escenario las cantidades y la solpes ///veriifcar primero si esta $detallecompra = Docompra::Model()->findByPk($this->iddocompra); $detallesolpe = Desolpe::Model()->findByPk($this->iddesolpe); $cantidadcomprada = $detallesolpe->cantcompras; $cantidadsolicitada = $detallesolpe->cant; $diferencia = $cantidadsolicitada - $cantidadcomprada; if ($diferencia > 0) { //Tiene sentido comprar , porque falta // $this->adderror('cant','Ya no puede comprar mas , la Solicitud '.$detallesolpe->desolpe_solpe->numero.' - '.$detallesolpe->item.' Ya se ha tomado '); } else { //ya no tiene sentido comprar ,o la solpe esta completa o ya se excedio $this->adderror('cant', 'Ya no puede comprar mas , la Solicitud ' . $detallesolpe->desolpe_solpe->numero . ' - ' . $detallesolpe->item . ' Ya se ha tomado '); } }
public function actionRevisamaletin() { // renders the view file 'protected/views/site/index.php' // using the default layout 'protected/views/layouts/main.php' //$this->layout = '//layouts/column_inicio'; if (Yii::app()->user->isGuest) { $this->redirect(Yii::app()->user->ui->loginUrl); } else { $this->layout = '//layouts/iframe'; //preparando el array de solpes; $arraysolpes = array(); $arraycompras = array(); if (isset(Yii::app()->session['DOC350'])) { $criteria = new CDbCriteria(); $criteria->addInCondition('id', Yii::app()->session['DOC350']); $items = Desolpe::model()->findAll($criteria); for ($i = 0; $i < count($items); $i++) { $valordeltexto = $items[$i]['id'] . '-' . $items[$i]['item'] . '-' . $items[$i]['txtmaterial']; array_push($arraysolpes, array("text" => $valordeltexto)); } } //preparando el array de compras; if (isset(Yii::app()->session['DOC220'])) { $criteria = new CDbCriteria(); $criteria->addInCondition('id', Yii::app()->session['DOC350']); $items2 = Docompra::model()->findAll($criteria); for ($i = 0; $i < count($items2); $i++) { $valordeltexto = $items2[$i]['id'] . '-' . $items2[$i]['item'] . '-' . $items2[$i]['descri']; array_push($arraycompras, array("text" => $valordeltexto)); } } $this->render('treeviewdocs', array('items' => $items, 'arraycompras' => $arraycompras, 'arraysolpes' => $arraysolpes)); //$this->redirect('/verificar'); } //$this->render('index'); //Yii::app()->user->ui->loginUrl }
public function colocapuentesolpe() { if ($this->iddesolpe > 0) { //Siempre y cuando sea una compra conectada a la solpe //y ademas se haya modificado la cantidad //$umoriginal=Desolpe::model()->findByPk($this->iddesolpe)->um; ///que pasa si lo estan compradno en um diferente, prevalece la UM de la SOLPE $umoriginal = Desolpe::model()->findByPk($this->iddesolpe)->um; if ($umoriginal != $this->um) { $cantidad = Alconversiones::convierte($this->codart, $this->um, $umoriginal); } else { $cantidad = $this->cant; } $criterio = new CDbcriteria(); $criterio->addcondition("iddocompra=:vidocompra"); $criterio->params = array(":vidocompra" => $this->id); $modelino = Desolpecompra::model()->find($criterio); if (is_null($modelino)) { if (!in_array($this->estadodetalle, array(ESTADO_DESOLPE_ANULADO))) { $modelino = new Desolpecompra(); $modelino->setScenario('insert'); $modelino->setAttributes(array('iduser' => yii::app()->user->id, 'codestado' => ESTADO_DESOLPECOMPRA_NUEVO, 'iddocompra' => $this->id, 'iddesolpe' => $this->iddesolpe, 'cant' => $cantidad, 'fecha' => date("Y-m-d H:i:s")), true); $modelino->save(); } } else { if (in_array($this->estadodetalle, array(ESTADO_DESOLPE_ANULADO))) { $modelino->delete(); } else { if ($this->oldVal('cant') != $this->cant or $this->oldVal('um') != $this->um) { $modelino->setScenario('update'); $modelino->setAttributes(array('iduser' => yii::app()->user->id, 'cant' => $cantidad, 'fecha' => date("Y-m-d H:i:s")), true); $modelino->save(); } } } } }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return Desolpe the loaded model * @throws CHttpException */ public function loadModel($id) { $model = Desolpe::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
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'); } }
public static function CreaSolpeAutomatica($codocu, $id) { $solpe = new Solpe(); $solpe->textocabecera = "Documento automático"; $solpe->hidref = $id; $solpe->codocuref = $codocu; $solpe->escompra = '0'; if (!$solpe->save()) { print_r($solpe->getErrors()); yii::app()->end(); } $solpe->refresh(); $identidad = $solpe->id; unset($solpe); $registrospeticiones = self::Devuelvepeticioneshijos($id); foreach ($registrospeticiones as $fila) { $registrodesolpe = new Desolpe(); $registrodesolpe->setScenario('insert'); $registrodesolpe->hidsolpe = $identidad; $registrodesolpe->cant = $fila->cant; $registrodesolpe->codart = $fila->codart; $registrodesolpe->um = $fila->um; $registrodesolpe->txtmaterial = $fila->descripcion; $registrodesolpe->imputacion = $fila->imputacion; $registrodesolpe->centro = $fila->codcen; $registrodesolpe->codal = $fila->codal; $registrodesolpe->item = $fila->item; $registrodesolpe->tipimputacion = 'V'; ////debe de implemntarse la progrtamacion del plan de ventas ///temporalmente quieda con programacion plana $registrodesolpe->fechaent = date("Y-m-d"); $registrodesolpe->tipsolpe = $fila->tipo; if (!$registrodesolpe->save()) { print_r($registrodesolpe->getErrors()); yii::app()->end(); } unset($registrodesolpe); } $nuevasolpe = Solpe::model()->findByPk($identidad); //$nuevasolpe->save(); if (!$nuevasolpe->save()) { print_r($nuevasolpe->getErrors()); yii::app()->end(); } }
public function checknumero($attribute, $params) { // $this->adderror('numero','Este documento no tiene items'); if ($this->numero === null or empty($this->numero) or trim($this->numero) == "") { $this->adderror('numero', 'Ingrese el numero'); } $solpe = Solpe::model()->find("numero=:xnumero", array(":xnumero" => trim($this->numero))); if ($solpe === null) { $this->adderror('numero', 'Este documento'); } else { if (!$solpe->estado == '20') { $this->adderror('numero', 'Esta solicitud no tiene un status adecuado :' . $solpe->solpe_estado->estado . ' ...'); } if ($solpe->escompra != '1') { $this->adderror('numero', 'Esta solicitud no es para compras :'); } //ahora verificar que todos los detalles esten ok if ($solpe->numeroitems == 0) { $this->adderror('numero', 'Este documento no tiene items'); } //ahora verificando que exista algun item que se pueda agregar //estado de los items 03 aprobado, 07 en compras $desolpe = Desolpe::model()->findAll("hidsolpe=:xidsolpe and est=:xestado", array(":xidsolpe" => $solpe->id, "xestado" => '30')); if (count($desolpe) == 0) { $this->adderror('numero', 'Este documento no tiene items para comprar o ya fueron tomados'); } } /*if($this->numeroitems==0 ) $this->adderror('numero','Este documento no tiene items');*/ }
<?php $prove = Desolpe::model()->search_por_solpe($idcabecera); $this->widget('zii.widgets.grid.CGridView', array('id' => 'detalle-grid', 'dataProvider' => $prove, 'itemsCssClass' => 'table table-striped table-bordered table-hover', 'summaryText' => '->', 'columns' => array(array('class' => 'CCheckBoxColumn', 'selectableRows' => 20, 'value' => '$data->id', 'checkBoxHtmlOptions' => array('name' => 'cajita[]')), array('name' => 'item', 'htmlOptions' => array('width' => 1)), array('name' => 'tipimputacion', 'header' => 'I', 'htmlOptions' => array('width' => 5)), array('name' => 'tipsolpe', 'header' => 'T', 'htmlOptions' => array('width' => 5)), array('name' => 'st.', 'header' => 'st', 'type' => 'raw', 'value' => 'CHtml::image(Yii::app()->getTheme()->baseUrl.Yii::app()->params["rutatemaimagenes"].$data->codocu.$data->est.".png")'), array('name' => 'cant', 'header' => 'Cant'), array('name' => 'desolpe_um.desum', 'header' => 'Um', 'htmlOptions' => array('width' => 5)), array('name' => 'codart', 'header' => 'Cod.', 'htmlOptions' => array('width' => 5)), array('name' => 'txtmaterial', 'header' => 'Descripcion', 'htmlOptions' => array('width' => 600)), array('name' => 'textodetalle', 'type' => 'raw', 'header' => 't', 'value' => '(!empty($data->textodetalle))?CHtml::image(Yii::app()->getTheme()->baseUrl.Yii::app()->params["rutatemaimagenes"]."texto.png","hola"):""'), array('name' => 'imputacion', 'header' => 'Imp', 'htmlOptions' => array('width' => 25)), array('name' => 'centro', 'header' => 'Cent', 'htmlOptions' => array('width' => 5)), array('name' => 'codal', 'header' => 'Alm', 'htmlOptions' => array('width' => 5)), array('name' => 'solicitanet', 'header' => 'Solic', 'htmlOptions' => array('width' => 225)), array('name' => 'fechaent', 'header' => 'Para', 'value' => 'date("d/m/y", strtotime($data->fechaent))', 'htmlOptions' => array('width' => 40)), 'usuario', 'desolpe_estado.estado', array('name' => 'punitplan', 'header' => 'Plan', 'value' => 'MiFactoria::decimal($data->punitplan)', 'footer' => MiFactoria::decimal(Desolpe::getTotal($prove)['plan'], 2)), array('name' => 'punitreal', 'header' => 'Real', 'value' => 'MiFactoria::decimal($data->alkardex_gastos)', 'footer' => MiFactoria::decimal(Desolpe::getTotal($prove)['real'], 2)), array('htmlOptions' => array('width' => 320), 'class' => 'CButtonColumn', 'buttons' => array('update' => array('visible' => 'true', 'url' => '$this->grid->controller->createUrl("/solpe/Modificadetalle/", array("id"=>$data->id, "asDialog"=>1, "gridId"=>$this->grid->id, "ed"=>"si", ) )', 'click' => 'function(){ $("#cru-dialogdetalle").dialog("open"); $("#cru-detalle").attr("src",$(this).attr("href")); return false; }', 'imageUrl' => '' . Yii::app()->getTheme()->baseUrl . Yii::app()->params['rutatemaimagenes'] . 'lapicito.png', 'label' => 'Actualizar Item'), 'delete' => array('visible' => 'true', 'url' => '$this->grid->controller->createUrl("/Solpe/cargadetalle", array("identi"=>$data->id))', 'options' => array('ajax' => array('type' => 'GET', 'update' => '#zona', 'url' => 'js:$(this).attr("href")'), 'onClick' => 'Loading.show();Loading.hide(); '), 'imageUrl' => '' . Yii::app()->getTheme()->baseUrl . Yii::app()->params['rutatemaimagenes'] . 'hand_point.png', 'label' => 'Ver detalle'), 'view' => array('visible' => '($data->est=="30" )?true:false', 'url' => '$this->grid->controller->createUrl("/solpe/Reservaitem/", array("id"=>$data->id, "asDialog"=>1, "gridId"=>$this->grid->id, "ed"=>"no", ) )', 'click' => 'function(){ $("#cru-detalle").attr("src",$(this).attr("href")); $("#cru-dialogdetalle").dialog("open"); return false; }', 'imageUrl' => '' . Yii::app()->getTheme()->baseUrl . Yii::app()->params['rutatemaimagenes'] . 'box.png', 'label' => 'Reservar'))))));
public function checkvaleaanular($attribute, $params) { //Verfiicando que exista primero if (!$this->existevaleref()) { $this->adderror('numdocref', 'Este vale no existe ' . $this->numdocref . '-'); } else { $valeaanular = Almacendocs::model()->find("numvale=:nimi", array("nimi" => trim($this->numdocref))); ///AHORA NOS ASEGURAMOS QUE ESTE EN EL MISMO CENTRO Y ALMACEN if ($valeaanular->codcentro == $this->codcentro and $valeaanular->codalmacen == $this->codalmacen) { if (!(trim($this->almacenmovimientos->anticodmov) == trim($valeaanular->codmovimiento))) { //si no corresponde a su amntagonico ERROR $this->adderror('numdocref', 'Este vale no se puede anular con este movimiento ' . $this->almacenmovimientos->anticodmov); } else { if ($valeaanular->tienedespacho()) { $this->adderror('numdocref', 'Este Vale ya tiene datos de expedición, '); } if ($valeaanular->cestadovale == '30') { //si Es un vale anulado $this->adderror('numdocref', 'Este Vale ya se anulo '); } if (!Yii::app()->periodo->verificaFechas($valeaanular->fechacont, $this->fechacont)) { //si Es un vale anulado $this->adderror('numdocref', 'El vale a anular tiene fecha posterior : ' . $valeaanular->fechacont); } switch ($this->codmovimiento) { case '89': ///anular carga inicial $registroshijos = $valeaanular->almacendocs_alkardex; if (count($registroshijos) == 0) { $this->adderror('numdocref', 'El vale ' . $valeaanular->numvale . ' no Tiene registros Hijos'); } break; case '20': ///SALIDA RESERVA ///BUSCAMOS LA SOLPE QUE GENERO EL VALE, ESTO PARA PODER UBICAR LOSOTORS VALES DE SALIDA (SI ES QUE LOS HUBIEREN) //RECORDAR QUE LA RELACION DE SOLPE-> VALES DE SALIDA RESERVA ES DE UNO A VARIOS (UNA SOLPE S EPUEDE ATENDER CON VARIOS VALES) if ($valeaanular->codmovimiento == $this->codmovimiento) { $this->adderror('codmovimiento', 'NO s epuede anular un vale que es de anulacion '); } //Primero hallamos un idref del kardex, que nos permita llegar a cualqueir itgem de esta solpe, solo necesitamos un dato //cualquiera de ellos, x practicidad escogereemos el primer elemento $matrizkardexhijos[0]['idref'] arbitrariamente // $matrizkardexhijos=Alkardex::model()->findAll("hidvale=:vhidvale",array(":vhidvale"=>$registro[0]['id'])); $registroshijos = $valeaanular->almacendocs_alkardex; if (count($registroshijos) == 0) { $this->adderror('numdocref', 'Este vale no Tiene registros Hijos'); } else { ///HALLANDO el ID DE ESTA SOLPE BUSCADA foreach ($registroshijos as $rowx) { $idsolpe = Desolpe::model()->findByPk($rowx->idref)->desolpe_solpe->id; break; } ///Ahora hallamos Todos los vales que estan AMARRADOS a esta solpe, de la siguiente manera $valesamarrados = Yii::app()->db->createCommand("SELECT DISTINCT k.fechacre,k.numvale,k.fechacont,k.cestadovale,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tk.fechavale,k.codmovimiento , k.id from public_almacendocs k , public_alkardex m WHERE k.id=m.hidvale AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t m.idref IN (SELECT t.id from public_desolpe1 t, public_solpe s\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE t.hidsolpe=s.id and s.id=" . $idsolpe . " )and k.cestadovale in('20') and k.codmovimiento <> '" . $this->codmovimiento . "' and k.id <> " . $valeaanular->id . " order by k.numvale ASC ")->queryAll(); /*var_dump($valesamarrados); yii::app()->end();*/ foreach ($valesamarrados as $row) { // AHORA SI TENEMOS A TODOS LOS OTROS VALES DE ESTA SOLPE Y PODEMOS VALIDAR // IF($row['id']!=$registro->id) ///Siempre y cuando no se trate del mismo vale q ////SI HAY OTRO VALE CON FECHA DE CONTABILIZACION MENOR AL VALE A ANULAR if (Yii::app()->periodo->verificaFechas($row['fechacont'], $valeaanular->fechacont)) { $this->adderror('numdocref', 'Este vale no se puede anular, Hay otro vale que lo precede, con el numero -> :' . $row['numvale'] . ' con contabilizacion ' . $row['fechacont'] . ' Se recomienda tratar la anulacion en orden cronologico'); break; } else { //puede ser el mismo dia if (strtotime($row['fechacont']) == strtotime($valeaanular->fechacont)) { if ($valeaanular->numvale + 0 > $row['numvale'] + 0) { $this->adderror('numdocref', 'Este vale no se puede anular, Hay otro vale que lo precede :' . $row['numvale']); } break; } } } /* // echo "el vale " .$row['numvale']. " su fecha ".$row['fechacont'] ." <br>"; IF(!Yii::app()->periodo->verificaFechas($valeaanular->fechacont,$row['fechacont']) and $row['cestadovale'] <> '30' and $row['cestadovale'] <> '99' and $row['codmovimiento'] <>$this->codmovimiento ) { $this->adderror('numdocref','Este vale con fecha '.$registro[0]['fechacont'].' no se puede anular, Hay otro vale que lo precede :'.$row['numvale'].' con contabilizacion '.$row['fechacont'].' Se recomienda tratar la anulacion en orden cronologico'); break; }*/ /*IF(strtotime($row->fechacont) ==strtotime($registro->fechacont) ) { //SI SE HICIERON EL MISMO DIA VERIFICAR LA FECHA DE CREACION DE LOS VALES // $this->adderror('numdocref','Este vale con fecha '.$registro->fechacont.' no se puede anular, Hay otro vale que lo precede :'.$row->numvale.' con contabilizacion '.$row->fechacont.' Se recomienda tratar la anulacion en orden cronologico'); break;*/ } // yii::app()->end(); break; default: throw new CHttpException(500, '-Se ha tomado un movimiento que no es valido ' . $this->codmovimiento); } } } else { $this->adderror('numdocref', 'Este vale no coincide con el centro-almacen '); } /*$matriz=Alkardex::model()->findAll( "idref=:mipa and valido='1' and codmov =:movi " ,array("mipa"=>$registro[0]['id'],"movi"=>$movimientoopuesto)); if(count($matriz) >0 ) $this->adderror('numdocref','Este vale ya ha sido anulado ');*/ //ahora verificando la fecha /*if (strtotime($this->fechacont) < strtotime($registro[0]['fechacont'])) $this->adderror('fechacont','La fecha de la anulación es menor que la fecha de creación del documento a anular '); */ } }
public function actionPio() { $images = glob(yii::getPathOfAlias('webroot.materiales') . DIRECTORY_SEPARATOR . "{14000035.*}", GLOB_BRACE); //echo yii::getPathOfAlias('webroot.materiales.gallery').DIRECTORY_SEPARATOR; //echo "<br>"; //imprime el nombre de cada archivo foreach ($images as $image) { echo $image . '<br />'; } print_r($images); yii::app()->end(); echo " falta copmpraer " . Desolpe::model()->findByPk(730)->cuantofaltacomprar(); yii::app()->end(); echo " del material azufre <br>"; echo " una caja vale : " . Alconversiones::convierte('18004728', '190') . " unidades <br>"; echo " un KG vale : " . Alconversiones::convierte('18004728', '123') . " unidades <br>"; echo " unA caja vale : " . Alconversiones::convierte('18004728', '190', '120') . " unidades <br>"; echo " unA UNIDAD vale : " . Alconversiones::convierte('18004728', '120', '190') . " CAJAS <br>"; echo " un KG vale : " . Alconversiones::convierte('18004728', '123', '120') . " unidades <br>"; echo " unA UNIDAD vale : " . Alconversiones::convierte('18004728', '120', '123') . " KILOGRAMOS <br>"; echo " un KG vale : " . Alconversiones::convierte('18004728', '123', '190') . " CAJAS <br>"; echo " unA CAJA vale : " . Alconversiones::convierte('18004728', '190', '123') . " KILOGRAMOS <br>"; yii::app()->end(); $model = new Noticias(); var_dump(get_class($model)); yii::app()->end(); var_dump(count(Peticion::model()->search()->getdata())); yii::app()->end(); ini_set('soap.wsdl_cache_enable', 0); ini_set('soap.wsdl_cache_ttl', 0); $wsdlURL = 'https://www.sunat.gob.pe/ol-ti-itcpgem-beta/billService?wsdl'; $client = new SoapClient($wsdlURL); var_dump($client->__getFunctions()); echo "<BR>"; echo "<BR>"; var_dump($client->__getTypes()); //var_dump($client); yii::app()->end(); //$result=$client->giveTimestamp(); //echo $result; var_dump(yii::app()->user); echo "<br>"; echo "<br>"; echo "<br>"; $elusuario = Yii::app()->user->um->LoadUserById(yii::app()->user->id); var_dump($elusuario); $sesion_activa = Yii::app()->user->um->findSession($elusuario); echo "<br>"; echo " LA DURACION MAXIMA DE LA SESION " . Yii::app()->user->um->getDefaultSystem()->getn('sessionmaxdurationmins') . " Minutos"; echo "<br>"; echo " la sesion expira " . date("Y-m-d H:i:s", $sesion_activa->expire); echo "<br>"; echo " la sesion inicio en " . date(" H:i:s", $sesion_activa->created); echo "<br>"; echo " Ultimo uso " . date("H:i:s", $sesion_activa->lastusage); echo "<br>"; echo " la hora actual " . date("H:i:s"); echo "<br>"; echo " Han pasado : " . (time() - $sesion_activa->created) / 60 . " minutos con "; echo "<br>"; echo " Sesion expirada? :\n\t\t -> " . var_dump($sesion_activa->isSessionExpired()); echo "<br>"; echo " Sesion name : " . $sesion_activa->getSessionName(); echo "<br>"; echo " Sesion valida : " . $sesion_activa->validateSession(); // $sesion_activa->getSessionFilter(); echo "<br>"; //print_r($sesion_activa); yii::app()->end(); echo yii::getPathOfAlias('webroot.materiales'); //echo yii::app()->baseUrl; YII::APP()->END(); /*var_dump(yii::app()->request); echo "<br>"; print_r(yii::app()->request->baseUrl);*/ echo yii::app()->getBaseUrl(true); echo "<br>"; var_dump(is_dir(yii::app()->getBaseUrl(true))); YII::APP()->END(); $images = glob(yii::getPathOfAlias('webroot.materiales') . DIRECTORY_SEPARATOR . "{*.JPG,*.PNG,*.JPEG,*.GIF,*.BMP}", GLOB_BRACE); //echo yii::getPathOfAlias('webroot.materiales.gallery').DIRECTORY_SEPARATOR; //echo "<br>"; //imprime el nombre de cada archivo foreach ($images as $image) { echo $image . '<br />'; } print_r($images); yii::app()->end(); var_dump(is_dir("/public_html/recurso/materiales/")); YII::APP()->END(); var_dump(yii::app()->estadisticas->linear_regression(array(2, 3, 3.5, 5), array(2, 3, 4, 6))); $this->render('//alinventario/vw_loginventario', array()); yii::app()->end(); $modelinv = Alinventario::model()->findByPk(343569); $modelinv->actualiza_stock('77', 1, null); yii::app()->end(); echo Yii::app()->baseUrl; yii::app()->end(); $criterio = new CDbcriteria(); $criterio->addcondition("hidsolpe=:vid"); $criterio->params = array(":vid" => 387); $objeto = new Miproveedor('Desolpe', array('criteria' => $criterio)); //var_dump($objeto->getdata()); $objeto->camposasumar = array("TOTAL CANTIDAD" => 'cant', 'SUBTOTAL PLANEADO' => "punitplan", 'SUBTOTAL REAL' => "punitreal"); $subtotales = $objeto->Total(); var_dump($subtotales); yii::app()->end(); $nuevoarray = array(); $nuevoarray['uno'] = 1; $nuevoarray['dos'] = 2; var_dump($nuevoarray); yii::app()->end(); $criterio = new CDbcriteria(); $objeto = new CActiveDataProvider('Impuestos'); // $dataProvider->getData() will return a list of Post objects var_dump($objeto->getdata()); yii::app()->end(); //echo Almacendocs::model()->findByPk(709)->almacendocs_almacenmovimientos->eventos->estadofinal; var_dump(Almacendocs::model()->findByPk(709)->almacendocs_almacenmovimientos); yii::app()->end(); $criterio = new CDbCriteria(); $criterio->addCondition("hidguia=:xdet"); $criterio->params = array(':xdet' => 59); //var_dump($criterio->condition); print_r(MiFactoria::arrayColumnaSQL(Docompra::model()->tableName(), 'id', $criterio)); yii::app()->end(); $images = glob(yii::getPathOfAlias('webroot.materiales') . DIRECTORY_SEPARATOR . "{*.JPG,*.PNG,*.JPEG,*.GIF,*.BMP}", GLOB_BRACE); //echo yii::getPathOfAlias('webroot.materiales.gallery').DIRECTORY_SEPARATOR; //echo "<br>"; //imprime el nombre de cada archivo foreach ($images as $image) { echo $image . '<br />'; } print_r($images); yii::app()->end(); $modelito = new Ocompra(); $modelito->codocu = $this->documento; echo $modelito->correlativo('numcot'); yii::app()->end(); echo dirname(__FILE__) . '/css/estilogrid.css'; var_dump(is_file($_SERVER['SCRIPT_NAME'] . '/css/estilogrid.css')); //ECHO "..//".(strlen(dirname($_SERVER['SCRIPT_NAME']))>1 ? dirname($_SERVER['SCRIPT_NAME']) : '' ) . '/css/estilogrid.css'; yii::app()->end(); // una ffraccion de la forma 1/2 , 3/4 , 45/3, 1 /2 , 7./3 , 1/ 3, 234/567, 4/.5 , $cadena1 = "PERNO 11/45 INOXIDABLE 7/8 HF 1/2 x 3/4 1/12 * 5/16 "; $cadena2 = "PERNO 12./. 56 3 1/2 INOXIDABLE 17/8 HF "; $cadena3 = "PERNO 45/ 34 INOXIDABLE 7./ 8 HF "; $cadena4 = "PERNO 1/2 4 5/34 INOXIDABLE 7 /8 HF "; $cadena5 = " PERNO 4/.63 INOXIDABLE 756/458 HF "; $cadena6 = "3/4 PERNO 1 / 3 INOXIDABLE 17/8*1 HF "; $cadena7 = "PERNO INOXIDABLE 3*41 25/16 1781 HF "; $patron = "/^(\\s)[0-9]{1,}[\\.|\\s]?[\\/]{1}[\\.|\\s]?[0-9]{1,}(\\s)\$/"; $patron2 = '/[1-9]{0,}+[\\s|*|x|X]{1}[0-9]{1,}[\\.|\\s]{0,1}[\\/]{1}[\\.|\\s]{0,1}[0-9]{1,}[\\s|*|x|X]{1}/'; echo $cadena1 . " " . preg_match_all($patron2, $cadena1, $resultado1) . "<br>"; print_r($resultado1); echo "<br>"; echo "<br>"; echo $cadena2 . " " . preg_match_all($patron2, $cadena2, $resultado2) . "<br>"; print_r($resultado2); echo "<br>"; echo "<br>"; echo $cadena3 . " " . preg_match_all($patron2, $cadena3, $resultado3) . "<br>"; print_r($resultado3); echo "<br>"; echo "<br>"; echo $cadena4 . " " . preg_match_all($patron2, $cadena4, $resultado4) . "<br>"; print_r($resultado4); echo "<br>"; echo "<br>"; echo $cadena5 . " " . preg_match_all($patron2, $cadena5, $resultado5) . "<br>"; print_r($resultado5); echo "<br>"; echo "<br>"; echo $cadena6 . " " . preg_match_all($patron2, $cadena6, $resultado6) . "<br>"; print_r($resultado6); echo "<br>"; echo "<br>"; echo $cadena7 . " " . preg_match_all($patron2, $cadena7, $resultado7) . "<br>"; print_r($resultado7); echo "<br>"; echo "<br>"; //echo $cadena8. " ". preg_match('/^(\s)[0-9]{1,}[\.|\s]?[\/]{1}[\.|\s]?[0-9]{1,}(\s)$/',$cadena1) ."<br>"; yii::app()->end(); print_r(Yii::app()->user->rbac->getMenu()); yii::app()->end(); //$model=new Impuestos; yii::app()->crugemailer->mail_con_archivo('*****@*****.**', '*****@*****.**', 'hi', '130165'); // var_dump(mail('*****@*****.**','holas','holas')); yii::app()->end(); echo Valorimpuestos::getimpuesto('200'); $model->codocumento = '1'; echo Valorimpuestos::model()->getimpuesto('100'); yii::app()->end(); $model->codocumento = '130'; echo $model->Correlativo('numero'); yii::app()->end(); $modelin = CactiveRecord::model('Alkardex'); print_r($modelin->getTableSchema()); yii::app()->end(); echo get_include_path(); yii::app()->end(); echo " la sesion expira " . date("Y-m-d,H-i:s"); yii::app()->end(); echo MiFactoria::decimal(47 / 3); yii::app()->end(); print_r(MiFactoria::opcionestoolbar(345, '130', '20')); yii::app()->end(); $model = new Inventario(); $objeto = $model->getMetaData(); foreach ($objeto->columns as $columna) { echo "campo " . $columna->name . " ancho " . $columna->size . " el tipo : " . $columna->dbType . "<br>"; } print_r($objeto->columns); //$model->rucpro='121212121212121'; //$model->save(); //print_r($model->getMetaData()); yii::app()->end(); $movimientoauxiliar = '45'; $filakardexoriginal = Alkardex::model()->findByPk(1691); $filakardexoriginal->alkardex_alinventario->actualiza_stock($movimientoauxiliar, abs(3), null); yii::app()->end(); $modeloreserva = Alreserva::model()->findByPk(255); var_dump($modeloreserva->alreserva_cantidadatendida); yii::app()->end(); var_dump($kardex = Alkardex::model()->findByPk(1514)->alkardex_despacho); yii::app()->end(); //tag(string $tag, array $htmlOptions=array ( ), mixed $content=false, boolean $closeTag=true) $arrayes = Almacendocs::model()->findAll("numvale=:nimi", array("nimi" => trim('130200000129'))); echo count($arrayes); yii::app()->end(); if (is_dir('assets')) { echo " si es un directrio"; } yii::app()->end(); Yii::app()->crugemailer->prueba(); //echo CHtml::tag("div",array("style"=>"font:23px;fotn-size:445;"),"AQUI",true); $calse = new Cc(); echo $calse::BELONGS_TO; // var_dump($calse); //phpinfo(INFO_MODULES); yii::app()->end(); //tag(string $tag, array $htmlOptions=array ( ), mixed $content=false, boolean $closeTag=true) $arrayes = Almacendocs::model()->findAll("numvale=:nimi", array("nimi" => trim('130200000129'))); echo count($arrayes); yii::app()->end(); echo strpos("manicomo", "c"); Yii::app()->user->setFlash('error', "MENSAJE ERRO1"); Yii::app()->user->setFlash('error2', "MENSAJE ERR2"); Yii::app()->user->setFlash('error3', "MENSAJE ERR3"); Yii::app()->user->setFlash('notice', "MENSAJE NORICE1"); Yii::app()->user->setFlash('notice2', "MENSAJE NOTICE2"); Yii::app()->user->setFlash('notice3', "MENSAJE NOTICE3"); Yii::app()->user->setFlash('success', "SUCCESS ERRO1"); Yii::app()->user->setFlash('success2', "SUCCESS ERR2"); Yii::app()->user->setFlash('success3', "SUCCESS ERR3"); // PRINT_R(Yii::app()->user->getFlashes()); yii::app()->end(); //$this->ConfirmaBuffer($id); $kardexhijos = MiFactoria::DevuelveKardexHijos($id); echo count($kardexhijos); /*foreach ( $kardexhijos as $filakardex ) { //$filakardex->preciounit=$filakardex->getMonto(); //$filakardex->VerificaCantAtenReservas(); //$filakardex->InsertaAtencionReserva($filakardex->id); echo " id del kardex ".$filakardex->id."<br>"; //$filakardex->alkardex_alinventario->actualiza_stock($filakardex->codmov,abs($filakardex->cantidadbase()),null); //$filakardex->InsertaCcGastos(); } */ yii::app()->end(); $id = 160; $modeloreserva = Alreserva::model()->findByPk($id); $modeloreserva->anular(); PRINT_R(Yii::app()->user->getFlashes()); yii::app()->end(); $id = 490; $kardexhijos = MiFactoria::DevuelveKardexHijos($id); //var_dump($kardexhijos); foreach ($kardexhijos as $filakardex) { //calculando el precio unitario $filakardex->preciounit = $filakardex->getMonto(); if ($filakardex->VerificaCantAtenReservas()) { PRINT_R($filakardex->mensajes); } //ECHO " GRABA ".$filakardex->InsertaAtencionReserva($filakardex->id); $filakardex->alkardex_alinventario->actualiza_stock($filakardex->codmov, abs($filakardex->cantidadbase()), null); print_r($filakardex->alkardex_alinventario->mensajes); //verificandso si hay errrores recoger los mensajes /*if(!$filakardex->VerificaCantAtenReservas() or !$filakardex->InsertaAtencionReserva() or !$filakardex->alkardex_alinventario->actualiza_stock($filakardex->codmovimiento,$filakardex->cant,null) ) $this->mensajes=array_merge($this->mensajes,$filakardex->mensajes,$filakardex->alkardex_alinventario->mensajes); */ $filakardex->InsertaCcGastos(); } yii::app()->end(); //$nuevo=new MiFactoria(); //Mifactoria::InsertaAtencionReserva(1357); $row = Alkardex::model()->findByPk(NULL); $matrix = Alreserva::model()->findAll("hidesolpe=:vhidsolpe AND codocu='450' ", array(":vhidsolpe" => $row->idref)); $model = new Atencionreserva(); $model->cant = $row->cant; $model->hidkardex = $row->id; $model->hidreserva = $matrix[0]['id']; $model->estadoatencion = Atencionreserva::ESTADO_CREADO; if (!$model->save()) { throw new CHttpException(500, "NO se Pudo insertar el registro de atenciones reservas "); } unset($model); unset($matrix); unset($row); yii::app()->end(); $mimo = new ModeloGeneral(); $mimo->insertamensaje('success', 'primermamesaje'); $mimo->insertamensaje('success1', 'segundo mensaje'); $mimo->insertamensaje('error', 'tercer mensaje'); $mimox = new ModeloGeneral(); $mimox->insertamensaje('successx', 'primermamesaje'); $mimox->insertamensaje('success1x', 'segundo mensaje'); $mimox->insertamensaje('errorx', 'tercer mensaje'); /*$gg= new Alinventario();*/ print_r($mimo->mensajes); echo "<br><br>"; print_r($mimox->mensajes); $mensaj = array(); $mensaj = array_merge($mensaj, $mimo->mensajes); $mensaj = array_merge($mensaj, $mimox->mensajes); //array_merge($mensaj,$mimox->mensajes); //$mensaj[]=$mimo->mensajes; //$mensaj[]=$mimox->mensajes+$mimo->mensajes; //array_push($mensaj,$mimox->mensajes); echo "<br><br>"; print_r($mensaj); yii::app()->end(); var_dump(Almacenmovimientos::model()->findByPk('10')->signo); //echo "total ".Alinventario::getStockTotal('11000004'); yii::app()->end(); /*if(Yii::app()->periodo->getModel()->HoyDentroPeriodo()){ echo "ESTAMOS DENTRO DEL PERIODO"; } else { echo "no ESTAMOS DENTRO DEL PERIODO"; } yii::app()->end();*/ if (Yii::app()->periodo->verificaFechas('2015-03-5', '2015-03-4')) { echo "ESTAMOS DENTRO DEL PERIODO"; } else { echo "no ESTAMOS DENTRO DEL PERIODO"; } yii::app()->end(); $gg = new Alkardex(); //$gg=Alkardex::model()->findByPk(1236); //var_dump($gg->oldAttributes); echo "<BR><BR> ESCENARIO :" . $gg->getScenario() . "<BR>"; $gg->save(); var_dump($gg->errors); $ggt = new Tempalkardex(); //$gg=Alkardex::model()->findByPk(1236); //var_dump($gg->oldAttributes); echo "<BR><BR> ESCENARIO :" . $ggt->getScenario() . "<BR>"; $ggt->save(); var_dump($ggt->errors); yii::app()->end(); $matriz = $gg->relations(); $nuevoarr = array(); //print_r($matriz); foreach ($matriz as $clave => $matricita) { if ($matricita[0] == 'CHasManyRelation') { $nuevoarr[$matricita[2]] = $matricita[1]; } } print_r($nuevoarr); //$hallo=array_search('CHasManyRelation',$matriz); // echo var_dump($hallo); yii::app()->end(); $arreglo = array(); /*$arreglo1=array('uno'=>1); $arreglo2=array('dos'=>2); $arreglo3=array('tres'=>3);*/ $arreglo['uno'] = 1; $arreglo['dos'] = 2; print_r($arreglo); yii::app()->end(); /*********************************************** * Prueba de la propieda mensajes ARRAY() de * la clase MODELOGENERAL * * ******************* */ $modelo = new ModeloGeneral(); $modelo->insertamensaje('error', 'MENSAJE 1'); $modelo->insertamensaje('error', 'MENSAJE 2'); $modelo->insertamensaje('error', 'MENSAJE 3'); $modelo->insertamensaje('notice', 'notice 1'); $modelo->insertamensaje('notice', 'notice 2'); $modelo->insertamensaje('success', 'succes 3'); echo $modelo->parsemensajes('error'); echo $modelo->parsemensajes('notice'); echo $modelo->parsemensajes('success'); //PRINT_R($modelo->mensajes); yii::app()->end(); foreach ($arreglo as $registro) { echo $registro->cant; echo " <br><br>"; } //var_dump($modelo->desolpe_alreserva); yii::app()->end(); /*********************************************************** * */ /*********************************************** * Prueba de que los registros hijos pueden ser * llmados desde la relacion * HAS:MANY */ $modelo = Desolpe::model()->findByPk(168); $arreglo = $modelo->desolpe_alreserva; ///LLAMA A LA RELACION Y RETORNA OBJETOS HIJOS PRINT_R($arreglo); foreach ($arreglo as $registro) { echo $registro->cant; echo " <br><br>"; } //var_dump($modelo->desolpe_alreserva); yii::app()->end(); /*********************************************************** * */ echo Alconversiones::convierte('18005239', '120'); yii::app()->end(); $petri = new Peticion(); print_r($petri->behaviors()); if (array_key_exists('ActiveRecordLogableBehavior', $petri->behaviors())) { echo "salio"; } yii::app()->end(); /*print_r(MiFactoria::ExisteRegistroTemporal('Tempdpeticion',127)); yii::app()->end();*/ /*print_r(Peticion::relations()); $campoenlace=Peticion::getFieldLink(Peticion::relations(),'Peticion','Tempdpeticion'); echo "<br>"; echo "campo enl ace : ".$campoenlace; yii::app()->end();*/ $id = 127; $con = $this->IniciaBuffer($id); foreach ($con as $grupo) { echo "<br>"; foreach ($grupo as $objeto) { echo "<br>"; foreach ($objeto as $row) { echo "======================================================<br>"; print_r($row); echo "======================================================<br>"; echo "<br>"; } } echo "<br>"; } $nombremodelocabecera = 'Peticion'; foreach ($con as $registroshijos) { // foreach ($grupo as $registroshijos) //{ // $campoenlace=$nombremodelocabecera::getFieldLink($nombremodelocabecera::relations(), $nombremodelocabecera,$nombremodelohijo); // $registroshijos=MiFactoria::getRegistrosHijos($nombremodelohijo,$campoenlace,$id); foreach ($registroshijos as $row) { if (is_null(MiFactoria::ExisteRegistro('Tempdpeticion', $id))) { if ($row->save()) { echo " <br>"; echo " *********************************"; echo " <br>"; echo "grabo " . $row->getTableAlias(); echo " <br>"; echo " *********************************"; echo " <br>"; } } } } yii::app()->end(); print_r($con); yii::app()->end(); // $lalo=null; $modeloant = Solpe::model()->findByPk(239); $matriz = $modeloant->relations(); $palo = $this->recorro($matriz); //echo Solpe::HAS_MANY; print_r($palo); yii::app()->end(); $modeloant = Solpe::model()->findByPk(239); print_r($modeloant->relations()); //echo $modeloant->codart; yii::app()->end(); $modelo = "Dpeticion"; $s = new $modelo(); print_r($s); yii::app()->end(); $clasetemporal = "Alinventario"; $valor = $clasetemporal::model()->hasAttribute('codart'); echo " gfgfgf " . $valor; yii::app()->end(); $registroshijos = $modelo::model()->findAllBySql(" select *from\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . Yii::app()->params['prefijo'] . "dpeticion\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t where\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t hidpeticion=54 "); print_r($registroshijos); yii::app()->end(); $inv = 'Alinventario'; $arraymodelos = array(); $modelo = $inv::model()->findByPk(343563); $modelo2 = $inv::model()->findByPk(343564); array_push($arraymodelos, $modelo); array_push($arraymodelos, $modelo2); //$nuevomod=Bloqueos::prueba(); echo $arraymodelos[0]->codart; //print_r($modelo); yii::app()->end(); // $modelo=new ModInventario(); $modelo = ModInventario::loadModel(343563); $modeloant = ModInventario::loadModel(343563); //echo " hola ".gettype($modelo->codart); //$modelo->actualizaprecio($cantmov,1.23,$this->CAMPO_STOCK_LIBRE); $nuevoprecio = 500; $cantmov = 100; if ($modelo->actualizaprecio($cantmov, $nuevoprecio, ModInventario::CAMPO_STOCK_LIBRE)) { echo "ok se relaizo el proceso :<br>"; echo "cant libre : " . $modelo->cantlibre . " anterior : " . $modeloant->cantlibre . "<br>"; echo "cant reserva : " . $modelo->cantres . " anterior : " . $modeloant->cantres . "<br>"; echo "cant reserva : " . $modelo->canttran . " anterior : " . $modeloant->canttran . "<br>"; echo "Precio unitario :" . $modelo->punit . " anterior : " . round($modeloant->punit, 3) . "<br>"; echo "dif de precio unitario : " . $modelo->punitdif . " anterior : " . $modeloant->punitdif . "<br>"; echo "cant stock afectado por el ambio de precio : " . $modelo->getStockCamposAfectadosPrecio() . "<br>"; echo "cant movida : " . $cantmov . "<br>"; echo "precio unitario nuevo : " . $nuevoprecio . "<br>"; echo "-------<br><br>"; } else { $matriz = $modelo->getMensajes(); echo " HAY " . COUNT($matriz) . " Elementos"; print_r($matriz); foreach ($matriz as $arreglo) { // echo " ".$arregloclave." : ".$valor."<br>"; } echo "hu,,-------<br><r>"; } yii::app()->end(); $am = new MyCrugeAuthManager(); $am->init(); foreach ($am->autoDetect() as $itemName) { printf("%s\n", $itemName); } echo " la direccion IP: " . CrugeUtil::hash("julian"); echo " es una instancia de " . gettype(Yii::app()->crugemailer); /*if (Yii::app()->CrugeMailer instanceof CrugeMailer) { echo 'Crugemailer'; } else { echo "que carajo sera"; }*/ yii::app()->end(); $id = 54; $difiere = false; ///Asumismos que no ha variado $registrosactuales = Tempdpeticion::model()->findAllBySql(" select *from\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . Yii::app()->params['prefijo'] . "tempdpeticion\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t where\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t hidpeticion=" . $id . " and idusertemp = " . Yii::app()->user->id . " "); $registrosviejos = Dpeticion::model()->findAllBySql(" select *from\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . Yii::app()->params['prefijo'] . "dpeticion\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t where\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t hidpeticion=" . $id . " "); foreach ($registrosactuales as $row) { $newattributes = $row->getAttributes(); ///Los valores de este instante foreach ($registrosviejos as $rowviejo) { $oldattributes = $rowviejo->getAttributes(); echo " Emparewjando : " . $oldattributes['id'] . " con " . $newattributes['id'] . " <br>"; if ($oldattributes['id'] == $newattributes['id']) { echo " En la fila " . $oldattributes['id'] . " : <br>"; foreach ($oldattributes as $clave => $valor) { echo "Comparando :<br>"; echo " original : " . $clave . " original=" . $valor . " actual=" . $newattributes[$clave] . "<br>"; if ($valor != $newattributes[$clave] and $clave != 'idtemp' and $clave != 'idusertemp') { echo " DIFERENTE <br><br> "; $difiere = true; break; } } echo " <br><br><br><br>"; } /* print_r($newattributes ); echo "<br>"; print_r($atributos); echo "<br><br><br>";*/ if ($difiere) { break; } } /*print_r($this->bufferdetalle); echo "<br>"; if($difiere) break;*/ if ($difiere) { break; } } echo "<br><br> total " . $difiere; yii::app()->end(); $registrostemporalesdpeticion = array(); $datosdebuffer = array(); ///Estos datos $datosbufferdefila = array(); $registroshijos = Dpeticion::model()->findAllBySql(" select *from\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . Yii::app()->params['prefijo'] . "dpeticion\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t where\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t hidpeticion=" . $hidpeticion . " "); foreach ($registroshijos as $row) { ///Evitamos levantar items duplicados $existeregistro = Tempdpeticion::model()->find("id= " . $row->id . " AND idusertemp=" . Yii::app()->user->id . " "); if (is_null($existeregistro)) { ///Solo si no existe $modelotempdpeticion = new Tempdpeticion(); $modelotempdpeticion->attributes = $row->attributes; $modelotempdpeticion->idusertemp = Yii::app()->user->id; array_push($registrostemporalesdpeticion, $modelotempdpeticion); $datosbufferdefila = $row->attributes; //array_push($datosbufferdefila,array('micalve'=>$row->id)); array_push($datosdebuffer, $datosbufferdefila); } } //print_r($datosdebuffer); foreach ($datosdebuffer as $clave => $atributos) { print_r($atributos); echo "<br><br>"; } //$this->bufferdetalle=$registrostemporalesdpeticion; ///Guarda el bu¡ffer de datos //return $registrostemporalesdpeticion; yii::app()->end(); $arreglo = array(); $arreglo1 = array('uno' => 1); $arreglo2 = array('dos' => 2); $arreglo3 = array('tres' => 3); array_push($arreglo, array('uno' => 1)); array_push($arreglo, array('dos' => 2)); print_r($arreglo); yii::app()->end(); $id = 34; if ($id) { echo "dsdsdsds eco "; } yii::app()->end(); $me = Yii::app()->user->id; $cadena = " select distinct idusertemp from " . Yii::app()->params['prefijo'] . "temppeticion WHERE id=" . $id . " and idusertemp <> " . $me . " "; $quien = Yii::app()->db->createCommand($cadena)->queryScalar(); echo $cadena; echo " El tipo de quien " . gettype($quien) . " ----- " . $quien; //yii::app()->end(); if ($quien) { /// Quiere decir que hay otros que estan ediotnado el documento ///PARA VER SIS ES CIERTO DEEBMOS VERIFICAR Q ESTE USUARIO NO HA DEJADO LA VENTANA ABANDONADA CON E DOMCUENTO EN EDICION $elusuario = Yii::app()->user->um->LoadUserById($quien); ///hallando la sesion activa de este usuario $sesion_activa = Yii::app()->user->um->findSession($elusuario); if (is_null($sesion_activa)) { echo " NO esta cupado man "; //No esta ocupado por que estaba editando pero ya temrino sus sesion, alo mejor dejo la ventana abierta } else { echo " Estaa cupado por el usuario " . $elusuario->username; ///Si esta ocupado por que el usuario tiene sesion activa, y eszta editando } } else { echo " NO esta cupado , estas solo mano "; } yii::app()->end(); $usuariojesus = Yii::app()->user->um->loadUser('admin', false); print_r($usuariojesus); echo "<br><br><br><br>"; $modelo = Yii::app()->user->um->findSession($usuariojesus); echo " el tipo retoranado es " . gettype($modelo); print_r($modelo); echo "<br><br><br><br>El modelo de sesion de Jesus"; $modelo = Yii::app()->user->um->findSession(Yii::app()->user->um->loadUser('jesus', false)); echo " el tipo retoranado es " . gettype($modelo); print_r($modelo); yii::app()->end(); $modelo->isSessionExpired(); if ($expiro) { echo " Ya expiro "; } else { echo " Todavia esta vignte la sesion "; } yii::app()->end(); $this->layout = '//layouts/iframe'; $this->render('carachita'); yii::app()->end(); // $modelosolpe=Desolpe::model()->findByPk(79); $modelokardex = Alkardex::model()->findByPk(1236); $clonado = $modelokardex->clonaregistro(); //echo $clonado->cant; print_r($clonado); yii::app()->end(); echo " numeor reservar compras " . $modelosolpe->numero_reservascompras; echo " modelo cant " . $modelosolpe->cant; yii::app()->end(); if ($cantidadatendidaacumulada + $modelokardex->cant == $modeloreserva->cant) { $modeloreserva->estadoreserva = '20'; ///Completo...! ///Veriifcar primero si DESOLPE tiene partido RESERVA +RESERVA PARA COMPRA if ($modelodesolpe->numero_reservascompras == 0) { ///Si no tiene solicitudes de compra $modelodesolpe->est == '40'; } ///Completo...! } $kardex = Alkardex::model()->findByPk(1125); echo " la sumatoria de las cantidades : " . $kardex->alkardex_alkardextraslado_emisor_cant; echo " la cantidad : " . $kardex->cant; yii::app()->end(); $modelo = new Alkardex(); $centro = $modelo->alkardex_alinventario->cantlibre; echo " el cento es " . $centro; yii::app()->end(); $modelo = Desolpe::model()->findByPk(74)->desolpe_alinventario; $modelo->cantlibre = 1234; $modelo->setScenario('modificacantidad'); $modelo->save(); echo " ES " . $modelo->codart; yii::app()->end(); //$modelo->Actualizar($movimiento,$cantidad,$unidad,$punitario=null); $mensaje = $modelo->Actualizar('80', 0.03, '140', null); //echo " El almacen : ".$modelo->desolpe_alinventario->codalm." \n"; if (strlen($mensaje) == 0) { echo " cantidad libre : " . $modelo->cantlibre . " \n"; echo " cantidad libre : " . $modelo->cantlibre . " \n"; echo " cantidad reservada : " . $modelo->cantres . " \n"; echo " cantidad transito : " . $modelo->canttran . " \n"; echo " precio unitario : " . $modelo->punit . " \n"; echo " cantidad movida : " . $modelo->cantidadmovida . " \n"; echo " monto movido : " . $modelo->montomovido . " \n"; // echo " La conversion : ".Alconversiones::model()->convierte($modelo->codart,$modelo->um)." \n"; //echo " catidad reservada : ".$modelo->desolpe_alinventario->cantres." \n"; } else { echo " " . $mensaje; } yii::app()->end(); }
public function actionCargafavorito($id) { $modelohijo = 'Detgui'; $modelodetalle = new $this->modeloshijos[$modelohijo](); $modelodetalle->valorespordefecto(); $modelocabeza = $this->loadModel($id); if (is_null($modelocabeza)) { throw new CHttpException(500, 'No existe esta guia con este ID'); } if ($this->eseditable($modelocabeza->{$this->campoestado})) { if (isset($_POST[$this->modeloshijos[$modelohijo]])) { $modelodetalle->attributes = $_POST[$this->modeloshijos[$modelohijo]]; $criterio = new CDbcriteria(); $criterio->addcondition("hidsolpe=:vhidsolpe"); $criterio->params = array(":vhidsolpe" => $modelodetalle->idenfavorito); $listafavoritos = Desolpe::model()->findAll($criterio); // echo " esto es ".count($listafavoritos); //yii::app()->end(); foreach ($listafavoritos as $fila) { // if($fila['est'] <> '02' and $fila['est'] <> '99' ) //SIEMPRE QUE SEA UN ESTADO VALIDO // { $registro = new Desolpe(); $registro->setScenario('insert'); $registro->attributes = $modelodetalle->attributes; $registro->codart = $fila['codart']; $registro->um = $fila['um']; $registro->txtmaterial = $fila['txtmaterial']; $registro->cant = $fila['cant']; $registro->hidsolpe = $modelocabeza->id; $registro->codocu = '350'; if ($registro->save()) { Yii::app()->user->setFlash('success', " Se Agrego la lista '" . $registro->codart . "' a la solicitud "); } else { // echo " NO grabo \n"; // print_r($registro->attributes); } // } } //Close the dialog, reset the iframe and update the grid echo CHtml::script("window.parent.\$('#cru-dialogdetalle').dialog('close');\n\t\t\t\t\t\t\t\t\twindow.parent.\$('#cru-detalle').attr('src','');\n\t\t\t\t\t\t\t\t\twindow.parent.\$.fn.yiiGridView.update('detalle-grid');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"); Yii::app()->user->setFlash('success', " Se Agrego la lista a la solicitud "); $this->render('update', array('model' => $modelocabeza, 'idcabeza' => $modelocabeza->id)); Yii::app()->end(); } // if (!empty($_GET['asDialog'])) $this->layout = '//layouts/iframe'; $this->render('_form_cargafavorito', array('model' => $modelodetalle)); } else { throw new CHttpException(500, 'No se puede agregar mas items a esta solpe'); } }
private function devuelvereserva() { $modelosolpe = Desolpe::model()->findByPk($this->idref); //$reserva=$modelosolpe->desolpe_alreserva; if (is_null($modelosolpe)) { throw new CHttpException(500, __CLASS__ . ' - ' . __FUNCTION__ . ' Error no se pudo encontrar el detalle de Solpe '); } //$cantacumulada=$modelosolpe->desolpe_alreserva[0]->alreserva_cantidadatendida; $reserva = Alreserva::model()->find("hidesolpe=:vidsolpe AND codocu in ('450','320') AND estadoreserva <> '30' ", array(":vidsolpe" => $modelosolpe->id)); if (is_null($reserva)) { throw new CHttpException(500, __CLASS__ . ' - ' . __FUNCTION__ . ' Error no se pudo encontrar la reserva asociada a la desolpe'); } return $reserva; }
private function esatencionRQ() { //buacando el detalle de la OC mediante el idref $docompram = Docompra::model()->findByPk($this->idref); //buscando el detalle de la Solpe $detallesolpe = Desolpe::model()->findByPk($docompram->iddesolpe); //Buscando si tiene reserva , ES UNA SOLPE DE COMPRA IMPUTADA (atencion partida) return $detallesolpe->idreserva; }
public function beforeSave() { if ($this->isNewRecord) { $this->iduser = Yii::app()->user->id; //$command = Yii::app()->db->createCommand(" select nextval('sq_guias') "); $this->usuario = Yii::app()->user->name; $this->fechacrea = date("Y-m-d H:i:s"); //$this->n_guia= $command->queryScalar(); $this->codocu = '350'; //if($this->tipsolpe<>'S'){ ///Si no se trata de servicios $registroinventario = $this->desolpe_alinventario; //$registroinventario=Alinventario::model()->encontrarregistro($this->centro,$this->codal,$this->codart); $this->punitplan = $registroinventario->punit * $this->cant * Alconversiones::convierte($this->codart, $this->um) * yii::app()->tipocambio->getcambio($registroinventario->almacen->codmon, yii::app()->settings->get('general', 'general_monedadef')); //} $this->punitreal = 0; $this->cantaten = 0; //$this->codobjeto='001'; $this->est = empty($this->est) ? ESTADO_PREVIO : $this->est; //para que no lo agarre la vista VW-GUIA HASTA QUE GRABE TODO EL DETALLE ///el item $criterio = new CDbCriteria(); $criterio->condition = "hidsolpe=:nguia "; $criterio->params = array(':nguia' => $this->hidsolpe); $this->item = str_pad(Desolpe::model()->count($criterio) + 1, 3, "0", STR_PAD_LEFT); } else { // IF ($this->est=='99') //SI SE TRATA DE UNA GUIA NUEVA COLOCARLE 'PREVIO' //$this->est='01'; $registroinventario = $this->desolpe_alinventario; ///si ha cambiado el material o la cantidad , el precio debe de actualziarse /*********************************************************/ //$fila=Yii::app()->db->createCommand("SELECT codart,cant FROM ".Yii::app()->params['prefijo']."desolpe1 WHERE id=".$this->id."")->QueryAll(); //echo "codiugo ".gettype($codigo)." valor ".$codigo." longitud ".strlen($codigo)."\n"; //echo "valor del registro ".gettype($this->codart)." valor ".$this->codart." longitud ".strlen($this->codart)."\n"; //yii::app()->end(); //if($fila['codigo'] <> $this->codart or $fila['cant'] <> $this->cant) if ($this->tipsolpe != 'S') { ///Si no se trata de servicios if ($this->oldattributes['codart'] != $this->codart or $this->oldattributes['cant'] != $this->cant) { /*echo " codigo anterior".$this->oldattributes['codigo'] ." codigo actual ".$this->codart."<br>"; echo " cantidad anterior".$this->oldattributes['cant'] ." cantidad actual ".$this->cant."<br>"; yii::app()->end();*/ //$registroinventario=Alinventario::model()->encontrarregistro($this->centro,$this->codal,$this->codart); //$registroinventario=Alinventario::model()->encontrarregistro($this->centro,$this->codal,$this->codart); $this->punitplan = $registroinventario->punit * $this->cant * Alconversiones::convierte($this->codart, $this->um) * yii::app()->tipocambio->getcambio($registroinventario->almacen->codmon, yii::app()->settings->get('general', 'general_monedadef')); } } //echo "se cumlpio carajo"; //yii::app()->end(); //$this->ultimares=" ".strtoupper(trim($this->usuario=Yii::app()->user->name))." ".date("H:i")." :".$this->ultimares; } return parent::beforeSave(); }
public function actionAgregaitemsolpe($idcabeza, $cest) { if ($cest == '10' or $cest == '99') { $model = new Solpe(); $model->setscenario("agregaritemscompra"); $this->performAjaxValidation1($model); if (isset($_POST['Solpe'])) { $model2 = Desolpe::model()->find("numero=:xnumero", array(":xnumero" => $_POST['Solpe']['numero'])); //$model->setscenario("xxx"); $model->Pasacompra($model2->hidsolpe, $idcabeza); if (!empty($_GET['asDialog'])) { //Close the dialog, reset the iframe and update the grid echo CHtml::script("window.parent.\$('#cru-dialogdetalle').dialog('close');\n\t\t\t\t\t\t\t\t\t\t\t\t\t window.parent.\$('#cru-detalle').attr('src','');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.parent.\$.fn.yiiGridView.update('detalle-grid');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.parent.\$.fn.yiiGridView.update('resumen-grid');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"); Yii::app()->end(); } } if (!empty($_GET['asDialog'])) { $this->layout = '//layouts/iframe'; } $this->render('_form_detalle_solpe_total', array('model' => $model, 'idcabeza' => $idcabeza)); } else { //si ya cambio el estado impisble agregar mas items if (!empty($_GET['asDialog'])) { $this->layout = '//layouts/iframe'; } $this->render('vw_imposible', array()); } }
public function actionpideoferta() { $autoIdAll = $_POST['cajita']; $mensajeerror = ""; if (count($autoIdAll) > 0) { foreach ($autoIdAll as $autoId) { $modelo = Desolpe::model()->findByPk($autoId); if (!is_null($modelo)) { $registros = Maestroclipro::model()->findAll("codart=:vcodigo", array(":vcodigo" => $modelo->codart)); foreach ($registros as $fila) { ///datos de los usuarios a enviar $mensajeerror .= yii::app()->correo->correo_simple(Contactos::getListMailEmpresa($fila->codpro, '210'), Yii::app()->user->email, 'SOLICITUD DE COTIZACION', 'Este es un correo automatico, hay nuevas peticiones de oferta, revisar tu buzon'); if ($mensajeerror == "") { echo " Se ha enviado las peticiones de oferta correspondientes"; } $modelito = Ofertas::model()->find("id=:vid", array(":vid" => $modelo->id)); if (is_null($modelito)) { $modelito = new Ofertas(); $modelito->setAttributes(array('hidmaestroclipro' => $fila->id, 'fechaprog' => $modelo->fechaent, 'iduser' => Yii::app()->user->id, 'fechadoc' => date('Y-m-d', time()), 'cant' => $registros->cant, 'iddesolpe' => $modelo->id)); $modelito->save(); } } } } } if ($mensajeerror == "") { echo " Se ha enviado las peticiones de oferta correspondientes"; } }
public function anular() { $retorno = false; $mensaje = ""; if ($this->sepuedeanular()) { if ($this->codocu == '450') { if ($this->alreserva_cantidadatendida == 0) { if ($this->desolpe->desolpe_alinventario->stockreserva_a_libre($this->cantidadbase())) { $this->desolpe->desolpe_alinventario->setScenario(Alinventario::ESCENARIO_ACTUALIZARSTOCK); if (!$this->desolpe->desolpe_alinventario->save()) { //Yii::app()->user->setFlash('error', "La reserva del item ".$this->desolpe->item." del material ".$this->desolpe->txtmaterial." No se pudo anular porque no se grabo el registro del inventario "); $mensaje .= "La reserva del item " . $this->desolpe->item . " del material " . $this->desolpe->txtmaterial . " No se pudo anular porque no se grabo el registro del inventario<br> "; } else { $regde = $this->desolpe; $regde->setScenario('cambiaestado'); ///tambien actualizar el status de la desolpe $regde->est = '30'; if (!$regde->save()) { $mensaje .= 'NO se grabo la solpe'; $retorno = false; } else { $retorno = true; } //$mensaje.= "La reserva del item ".$this->desolpe->item." del material ".$this->desolpe->txtmaterial." No se pudo anular porque no se grabo el registro del inventario<br> "; //Yii::app()->user->setFlash('success', "La reserva del item ".$this->desolpe->item." del material ".$this->desolpe->txtmaterial." Se ha anulado "); } } else { $retorno = false; $mensaje .= "No se puede anular esta reserva no existe suficiente stock reservado para pasar al stock libre <br>"; } } else { $retorno = false; $mensaje .= "No se puede anular esta reserva Porque tiene atenciones validadas <br>"; } //verifica el stock } if ($this->codocu == '800') { //verifica que no tenga ninguna SOLPE DE COMRPAS QUE hace referfncia a esta reserba $gg = Desolpe::model()->find("idreserva=:vidreserva", array(":vidreserva" => $this->id)); if (!is_null($gg)) { if ($gg->est != '20') { $mensaje .= " Esta reserva no se puede anular ya tiene como referencia a la Solicitud de compra " . $gg->desolpe_solpe->numero . " Item " . $gg->item . "<br>"; } } } } else { $mensaje .= "La reserva del item " . $this->desolpe->item . " del material " . $this->desolpe->txtmaterial . " Ya tiene atenciones<br> "; //Yii::app()->user->setFlash('error', "La reserva del item ".$this->desolpe->item." del material ".$this->desolpe->txtmaterial." Ya tiene atenciones "); } if (trim($mensaje) == "") { $this->estadoreserva = '30'; $this->save(); } return $mensaje; }
<h1> Reservar solicitud - <?php echo $modelo->numero; ?> </h1> <div class="division"> <div class="wide form"> <?php $form = $this->beginWidget('CActiveForm', array('id' => 'almacendocs-form', 'enableAjaxValidation' => false)); ?> <div class="row"> <?php $this->widget('zii.widgets.grid.CGridView', array('id' => 'atiende-solpe-grid', 'dataProvider' => Desolpe::model()->search_por_solpe_mas($modelo->id), 'cssFile' => Yii::app()->getTheme()->baseUrl . '/css/style-grid-pequeno.css', 'summaryText' => '', 'columns' => array(array('class' => 'CCheckBoxColumn', 'selectableRows' => 20, 'value' => '$data->id', 'checkBoxHtmlOptions' => array('name' => 'cajita[]')), 'item', array('name' => 'tipimputacion', 'header' => 'I'), array('name' => 'tipsolpe', 'header' => 'T'), array('name' => 'st.', 'header' => 'st', 'type' => 'raw', 'value' => 'CHtml::image(Yii::app()->getTheme()->baseUrl.Yii::app()->params["rutatemaimagenes"].$data->codocu.$data->est.".png")'), 'cant', array('name' => 'um', 'value' => '$data->desolpe_um->desum'), 'codart', 'txtmaterial', array('name' => 'textodetalle', 'type' => 'raw', 'header' => 't', 'value' => '(!empty($data->textodetalle))?CHtml::image(Yii::app()->getTheme()->baseUrl.Yii::app()->params["rutatemaimagenes"]."texto.png","hola"):""'), 'centro', 'codal', 'usuario', array('name' => 'Stock', 'value' => '$data->desolpe_alinventario->cantlibre', 'type' => 'raw'), array('name' => 'Reservado', 'value' => '$data->desolpe_alinventario->cantres', 'type' => 'raw'), array('header' => 'Reservar', 'value' => 'CHTML::TextField("cantreserva".$data->id,$data->cant,array(\'size\'=>\'4\'))', 'type' => 'raw', 'htmlOptions' => array('width' => '10px')), array('header' => 'Tomar', 'value' => 'CHTML::TextField("cantcompra".$data->id,0,array(\'size\'=>\'4\'))', 'type' => 'raw', 'htmlOptions' => array('width' => '10px')), array('name' => 'holas', 'type' => 'raw', 'value' => '($data->est=="03")?CHtml::ajaxSubmitButton("Ok", array("almacendocs/reservar"), array("type"=>"POST", "data"=>array( "vcantreserva"=>"js:cantreserva".$data->id.".value", "vhidesolpe"=>$data->hidsolpe, "vcantcompra"=>"js:cantcompra".$data->id.".value", "vidsolpe"=>$data->id), "success"=>"js:function(data) { $.fn.yiiGridView.update(\'atiende-solpe-grid\')}" ) ):$data->desolpe_estado->estado'), array('class' => 'CButtonColumn', 'buttons' => array('update' => array('url' => '$this->grid->controller->createUrl("/almacendocs/reservar", array("id"=>$data->id, ) )', 'label' => 'Aprobar'), 'delete' => array('visible' => 'false'), 'view' => array('visible' => '($data->est=="03")?true:false', 'url' => '$this->grid->controller->createUrl("/solpe/Modificadetalle/", array("id"=>$data->id, "asDialog"=>1,
public function yaestaenuso() { $criterio = new DBCriteria(); $criterio->addcondition("codservicio=:servi"); $criterio->paramas = array(":servi" => $this->codserv); $registro = Desolpe::model()->find($criterio); return is_null($registro) ? false : true; }