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 cantidadbase($cantidax = null) { if (is_null($cantidax)) { return $this->desolpe->um != $this->desolpe->maestro->um ? $this->cant * Alconversiones::convierte($this->desolpe->codart, $this->desolpe->um, $this->desolpe->maestro->um) : $this->cant; } else { return $this->desolpe->um != $this->desolpe->maestro->um ? $cantidax * Alconversiones::convierte($this->desolpe->codart, $this->desolpe->um, $this->desolpe->maestro->um) : $this->cant; } }
public function actioncargaum() { if (isset($_POST['codigomaterial'])) { $codigo = (string) MiFactoria::cleanInput($_POST['codigomaterial']); /*var_dump($codigo); yii::app()->end();*/ $valores = Alconversiones::Listadoums($codigo); //echo CHtml::tag('option', array('value'=>null),CHtml::encode('Escoja un uM'),true); foreach ($valores as $value => $name) { echo CHtml::tag('option', array('value' => $value), CHtml::encode($name), true); } } }
public function checkum($attribute, $params) { $modeloum = Alconversiones::model()->findAll("codart='" . $this->codart . "' and um2 ='" . $this->um . "'"); if (!$modeloum === null) { //si hay registros ok } else { //si no hay registros ver que se al unida de medida base sino error $maestro = Maestrocompo::model()->findByPk($this->codart); if ($maestro === null) { $this->adderror('codart', 'Este material no existe'); } else { if ($maestro->um != $this->um) { $this->adderror('um', 'Esta unidad de medida no esta ampliada para este material,amplie las vistas del material'); } } } }
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(); } } } } }
public function actualizacostes($model, $transaccion, $ceco = null) { //Public function actionpruebax() { $todook = true; $hijos = Alkardex::model()->findall("hidvale=:hid and codestado not in('98') ", array(":hid" => $model->id)); // $hijos=Alkardex::model()->findall("id=437"); for ($i = 0; $i < count($hijos); $i++) { $modelogastos = new CcGastos(); if (is_null($ceco)) { ///Rebuscamos la solpe if ($hijos[$i]['codmov'] == '70') { //Si es un reingreso debemos de buscar recursivamente en el Kardex $modelodetalle = Desolpe::model()->findByPk(Alkardex::model()->findByPk($hijos[$i]['idref'])->idref); } else { $modelodetalle = Desolpe::model()->findByPk($hijos[$i]['idref']); } $modelogastos->ceco = $modelodetalle->imputacion; } else { $modelogastos->ceco = $ceco; } //$modelodetalle=Desolpe::model()->findByPk(232); $modelogastos->fechacontable = $hijos[$i]['fecha']; //Los costos salen del inventario no del precio unitario del Kardex; (Punit+ Punitdif) $registroinventario = Alinventario::model()->findByPk(Alkardex::model()->findByPk($hijos[$i]['id'])->alkardex_alinventario->id); ///////////////haciendo el calculo estandar de signo y conversiones $signo = Almacenmovimientos::model()->findByPk($hijos[$i]['codmov'])->signo * -1; /// Como son costos , es el opuesto $conversion = Alconversiones::model()->convierte($hijos[$i]['codart'], $hijos[$i]['um']); //echo " la conversion ".$conversion." ".gettype($conversion)." \n"; //echo " material y um ".$hijos[$i]['codart']." ".$hijos[$i]['um']." \n"; //echo " el signo es ".Almacenmovimientos::model()->findByPk($hijos[$i]['codmov'])->signo." ".gettype(Almacenmovimientos::model()->findByPk($hijos[$i]['codmov'])->signo)." \n"; //$signo=Almacenmovimientos::model()->findByPk($movimiento)->signo*-1; /// Como son costos , es el opuesto $cantidadmovida = $signo * abs($conversion) * abs($hijos[$i]['cant']); ///////////ok/////////////////////////////////////// ////ahora calculando el precio unitario real, para esto actualizamos el Registro de Inventario, ///Esto es indiependiente si el material tiene control de precio S o V $registroinventario->Actualizar($hijos[$i]['codmov'], $hijos[$i]['cant'], $hijos[$i]['preciounit']); $modelogastos->monto = $cantidadmovida * ($registroinventario->punit + $registroinventario->punitdif); /// //echo " la conversion ".$conversion."\n"; //echo " la cantidad movida ".$cantidadmovida."\n"; //echo " precio unitario ".$registroinventario->punit."\n"; // echo "El monto ".$modelogastos->monto."\n"; //echo " la diferencia ".$registroinventario->punit." ".gettype($registroinventario->punit)." \n"; //echo " la diferencia ".$registroinventario->punitdif." ".gettype($registroinventario->punitdif)." \n"; //yii::app()->end(); $modelogastos->idref = $hijos[$i]['id']; //con el kardex lo amarramos $modelogastos->clasecolector = 'K'; //CENTRO DE COSTO $modelogastos->tipo = 'M'; //materialkes $modelogastos->codmoneda = Yii::app()->params['monedadef']; if (!$modelogastos->save()) { //$transaccion->rollback(); //throw new CHttpException(500,'No se pudo grabar los costos'); Yii::app()->user->setFlash('error', 'No se pudieron grabar los costes'); $todook = false; } } return $todook; }
public function beforeSave() { if ($this->isNewRecord) { //$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 = Alinventario::model()->encontrarregistro($this->centro, $this->codal, $this->codart); $this->punitplan = $registroinventario->punit * $this->cant * Alconversiones::convierte($this->codart, $this->um); //} $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'; ///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['codigo'] != $this->codart or $this->oldattributes['cant'] != $this->cant) { $registroinventario = Alinventario::model()->encontrarregistro($this->centro, $this->codal, $this->codart); $this->punitplan = $registroinventario->punit * $this->cant * Alconversiones::convierte($this->codart, $this->um); } } //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 checkcodigo($attribute, $params) { $modelomaterial = Maestrocompo::model()->find("codigo=:codigox", array(":codigox" => TRIM($this->codart))); if (is_null($modelomaterial)) { $this->adderror('codart', 'Este material no existe'); } else { $modelocabecera = Almacendocs::model()->findByPk($this->hidvale); $modinventario = Alinventario::model()->find("codart='" . trim($this->codart) . "' AND codalm='" . $modelocabecera->codalmacen . "' AND codcen='" . $modelocabecera->codcentro . "'"); if (is_null($modinventario)) { //if($this->alkardex_alinventario===null) { $this->adderror('codart', 'Este material tiene que ser ampliado al centro -: ' . $modelocabecera->codcentro . ' y almacen ' . $modelocabecera->codalmacen . ' '); } else { //veriicando la unidad de medida if ($this->um != $modelomaterial->um) { //si es diferente a la unidad de medida base //revisar las conversiones $matrizunidades = Alconversiones::model()->findAll("codart=:codigox and um2=:unitas ", array(":codigox" => TRIM($this->codart), ":unitas" => $this->um)); if (count($matrizunidades) == 0) { $this->adderror('um', 'No existe conversiones para esta unidad de medida en este material '); } } } } }
public function Actualizar($movimiento, $cantidad, $unidad, $punitario = null) { //obtenemos el signo del movimiento $signo = Almacenmovimientos::model()->findByPk($movimiento)->signo; $conversion = Alconversiones::convierte($this->codart, $unidad); $this->cantidadmovida = $signo * abs($conversion) * abs($cantidad); $mensajitoinv = ""; //$nombrecampostock_a=gettipostock($movimiento) $nombrecampo_stock_a_incrementar_o_disminuir = $this->gettipostock($movimiento)['campoafectadocantidad']; $nombrecampo_stock_destino = $this->gettipostock($movimiento)['campodestino']; $array_campos_afectados_precio = $array_campos_stock_afectados_por_precio = $this->gettipostock($movimiento)['camposafectadosprecio']; ///Pero de que stock moveremos ?, eso se lo dejamos a la funcion gettipostock() del modelo $stock_a_incrementar_o_disminuir = $this->{$nombrecampo_stock_a_incrementar_o_disminuir}; //es el stock que se va a ver (+) o (-) // con el movimeintos puede ser EL VALOR DE CUALQUIER DE ESTOS CAMPOS, SEGUN EL MOVEIMIENTO /* STOCK RESERVADO "CANTRES"; STOCK EN TRANSITO "CANTTRAN", STOCK LIBRE "CANTLIBRE", */ ///LA SUMA DE STOCKS AFECTADOS POR EL PRECIO VIENE ASER LA SUAM DE LOS STOCKS CON LOS QUE SE DIVIDIRA LA SUMA DE LOS PONDERADOS DE CANTIDADES Y PRECIOS $suma_de_stocks_afectados_por_el_precio = 0; foreach ($array_campos_stock_afectados_por_precio as $key => $valor) { $suma_de_stocks_afectados_por_el_precio += $this->{$valor}; } // con el movimeintos puede ser EL VALOR DE CUALQUIER DE ESTOS CAMPOS, SEGUN EL MOVEIMIENTO /* STOCK RESERVADO "CANTRES"; STOCK EN TRANSITO "CANTTRAN", STOCK LIBRE "CANTLIBRE", */ //verificando la consistencia del movimiento //para estop verificamos que los que se quiere mover (En este caso solo "quitar") // no es mayor que el stock arrojado por GETTIPOSTOCK(), //if($signo==-1){ ///Si es un movimieto que va a sacar cosas del almacen if ($signo == -1 and abs($this->cantidadmovida) > $stock_a_incrementar_o_disminuir) { //si lo que quiere es sacar hay que analizar bien de que movimeitno se trata $mensajitoinv = $mensajitoinv . "<br> Esta intentado sacar " . $this->cantidadmovida . " (" . $this->maestro->um . " s) del material " . $this->codart . " Pero en " . $this->getAttributeLabel($nombrecampo_stock_a_incrementar_o_disminuir) . " solo hay " . $stock_a_incrementar_o_disminuir . " Verifique bien "; } else { //En otro caso proceder //actualizamos la cantidad y el precio unitario //$this->cantlibre=$this->cantlibre+$this->cantidadmovida; //ECHO "CANTIDAD MOVIDA ".$cantidadmovida." \N"; //Yii::app()->end(); //Buscamos el precio unitario ///Verificando el comportamiento del precio del material en este centro y este almacen $controlprecio = $this->alinventario_maestrodetalle->controlprecio; if (is_null($controlprecio) or empty($controlprecio) or trim($controlprecio) == '') { $mensajitoinv = $mensajitoinv . "<br> El material " . $this->codart . " No tiene registrado el control de precio en el centro " . $this->codcen . " , y almacen " . $this->codalm . " Verifique los datos maestros "; } else { if (is_null($punitario)) { ///Si es nulo quiere decir que no es dato y debemos jalra el precio del mismo inventario if ($suma_de_stocks_afectados_por_el_precio > 0) { //Si hay stock se toma el valor del inventario del mismo $punitario = $this->punit; } else { /// ups... pero q pasa si no hay stock if ($controlprecio == 'V') { $mensajitoinv = $mensajitoinv . "<br> Para el material " . $this->codart . " No tiene stocks sensibles en el centro " . $this->codcen . " , y almacen " . $this->codalm . " y no se ha suminsitrado el precio unitario en el movimiento, no es posible asignar un precio "; } else { /// Si es ESTANDAR 'S' , CABALLEOR NOMAS SE RESPETA EL QUE SE EUCNEUTRAEN INVENITARIO ASI NO HAYA STOCK $punitario = $this->punit; } } } if ($controlprecio == 'V') { echo " <br>"; echo " <br>"; echo " <br>"; echo " <br>"; echo " <br>"; echo " <br>"; echo " <br>"; echo " <br>"; echo " <br>"; echo " <br>"; echo " CALCULO DEL PRECIO UNITARIO : Ppreciounitario x Pcantidad x conversion : (" . $punitario . ") x (" . $cantidad . ") x ( " . $conversion . ") : " . $punitario * $cantidad * $conversion . "<br>"; echo " this->punit x suma de stocks afectados : (" . $this->punit . ") x (" . $suma_de_stocks_afectados_por_el_precio . ") : " . $this->punit * $suma_de_stocks_afectados_por_el_precio . " <br>"; echo " vsuma_de_stocks_afectados_por_el_precio + this--cantidadmovida (denominador) : " . $suma_de_stocks_afectados_por_el_precio . " + " . $this->cantidadmovida . " :" . ($suma_de_stocks_afectados_por_el_precio + $this->cantidadmovida) . " <br>"; $this->punit = abs((abs($punitario * $cantidad * $conversion) + $this->punit * $suma_de_stocks_afectados_por_el_precio) / ($suma_de_stocks_afectados_por_el_precio + abs($this->cantidadmovida))); //da echo " Al final se calcula el precio unitario asi: ( abs(vpunitario*vcantidad*vconversion)+ vthis->punit*vsuma_de_stocks_afectados_por_el_precio )/(vsuma_de_stocks_afectados_por_el_precio + abs(vthis->cantidadmovida))) : " . $this->punit . " <br>"; } ///Si es "S" estandar actualiuzar solo el campo de la diferencia unitaria if ($controlprecio == 'S') { $this->punitdif = $this->cantidadmovida * ($punitario - $this->punit) / ($suma_de_stocks_afectados_por_el_precio + $this->cantidadmovida); } //ntidadmovida $this->montomovido = $punitario * $cantidad * $conversion; $this->{$nombrecampo_stock_a_incrementar_o_disminuir} = $stock_a_incrementar_o_disminuir + $this->cantidadmovida; //OBSERVE QUE EN EL CASO QUE SEA UN MOVIMIETO QUE REQUIERA TRASLADAR UN TIPO DE STOCK A OTRO EN EL MISMO ALMACEN //POR EJEMPLO SEPARAR MATERIALES PARA UN TRASLADO (CANTLIBRE -> CANTTRAN) if (!is_null($nombrecampo_stock_destino)) { $this->{$nombrecampo_stock_destino} = $this->{$nombrecampo_stock_destino} - $this->cantidadmovida; } echo "convenrsion :" . $conversion . " <br>"; echo "cantidad movida \$ this->cantidadmovida : " . $this->cantidadmovida . " <br>"; echo "monto movido \$ this->montomovido : " . $this->montomovido . " <br>"; echo "nombrecampo a incrementar o disminuir \$ nombrecampo_stock_a_incrementar_o_disminuir : " . $nombrecampo_stock_a_incrementar_o_disminuir . " <br>"; echo "Stockq ue cambia (" . $nombrecampo_stock_a_incrementar_o_disminuir . ") : " . $this->{$nombrecampo_stock_a_incrementar_o_disminuir} . " <br>"; echo "suma de stocks afectados por precio : " . $suma_de_stocks_afectados_por_el_precio . " <br>"; echo "precio unitario \$ this->punit " . $this->punit . " <br>"; echo "precio unitario dif \$ this->punitdif : " . $this->punitdif . " <br>"; echo " movimiento (Dato del kardex) : " . $movimiento . " <br>"; echo "cantidad (Dato del kardex) :" . $cantidad . " <br>"; echo "unidad (Dato del kardex): " . $unidad . " <br>"; echo "preciounit (Dato del kardex) : " . $punitario . " <br>"; echo "Finalmente queda ASI <br>"; echo "\$ this->cantlibre :" . $this->cantlibre . " <br>"; echo "\$ this->cantres :" . $this->cantres . " <br>"; echo "\$ this->canttran :" . $this->canttran . " <br>"; echo "\$ this->cantlibre :" . $this->cantlibre . " <br>"; echo "\$ this->punit :" . $this->punit . " <br>"; echo "\$ this->punitdif :" . $this->punitdif . " <br>"; echo "\$ idkardex :" . $idkardex . " <br>"; // Yii::app()->end(); // $row->codmov,$row->cant,$row->um,$row->preciounit ///Fin del CASE SITCW Del movimiento } //Fin del else : Es un material que tiene control de precio } //} return $mensajitoinv; }
<?php echo Chtml::ajaxLink(Chtml::image(Yii::app()->getTheme()->baseUrl . Yii::app()->params["rutatemaimagenes"] . "filter.png"), CController::createUrl('Ums/cargaum'), array('type' => 'POST', 'url' => CController::createUrl('Ums/cargaum'), 'update' => '#Docompratemp_um', 'data' => array('codigomaterial' => 'js:Docompratemp_codart.value'))); ?> <?php if ($model->isNewRecord) { //$datos = CHtml::listData(Ums::model()->findAll(),'um','desum'); $datos = array(); echo $form->DropDownList($model, 'um', $datos, array('maxlength' => 4)); ?> <?php } else { ?> <?php echo $form->DropDownList($model, 'um', Alconversiones::Listadoums($model->codart), array('empty' => '--Um--', 'maxlength' => 4)); ?> <?php } ?> <?php echo $form->error($model, 'um'); ?> </div>
public function hacerreserva($cantreservar = null, $cantcomprar = null) { $cantsol = $this->cant; $stock = $this->desolpe_alinventario->cantlibre; $factor = Alconversiones::convierte($this->codart, $this->um); if (is_null($cantreservar) and is_null($cantcomprar)) { //reserva automatica $cantidad = $cantsol * $factor; $diferencia = $cantidad - $stock; if ($cantidad > $stock) { if ($stock > 0) { $this->insertareserva('450', $stock / $factor); $this->est = self::ESTADO_DESOLPE_RESERVADO; if (!$this->desolpe_alinventario->reservar($stock)) { $mensaje = "No se pudo hacer la reserva desde el Inventario, hay una inconsistencia cantidad libre(" . $this->desolpe_alinventario->cantlibre . ") : cantidad a reservar(" . $stock . ")"; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje, 'error'); } } $this->insertareserva('800', $diferencia / $factor); $this->est = self::ESTADO_DESOLPE_RESERVADO; } else { $this->insertareserva('450', $cantidad / $factor); $this->est = self::ESTADO_DESOLPE_RESERVADO; if (!$this->desolpe_alinventario->reservar($cantidad)) { $mensaje = "No se pudo hacer la reserva desde el Inventario, hay una inconsistencia cantidad libre(" . $this->desolpe_alinventario->cantlibre . ") : cantidad a reservar(" . $cantidad . ")"; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje, 'error'); } } } else { //reserva manual $cantidad = $this->cant * $factor; if ($cantreservar > 0) { if ($cantreservar > $cantsol) { $mensaje = "Está intentando reservar (" . $cantreservar . ") mas de lo solicitado(" . $cantsol . ")"; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje, 'error'); } else { if ($cantcomprar > 0) { //nada if ($cantreservar + $cantcomprar <= $cantsol) { $this->insertareserva('450', $cantreservar); $this->insertareserva('800', $cantcomprar); $this->est = self::ESTADO_DESOLPE_RESERVADO; if (!$this->desolpe_alinventario->reservar($cantreservar)) { $mensaje = "No se pudo hacer la reserva desde el Inventario, hay una inconsistencia cantidad libre(" . $this->desolpe_alinventario->cantlibre . ") : cantidad a reservar(" . $cantreservar . ")"; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje, 'error'); } } else { $mensaje = "Lo reservado (" . $cantreservar . ") mas lo comprado(" . $cantcomprar . "), exceden a lo que se pidio(" . $cantsol . ")"; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje, 'error'); } } else { //si es cero if ($cantidad > $stock) { $mensaje = "Está Solicitando (" . $cantidad . ") mas de lo que hay en stock (" . $stock . ")"; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje, 'error'); } else { $this->insertareserva('450', $cantidad / $factor); $this->est = self::ESTADO_DESOLPE_RESERVADO; if (!$this->desolpe_alinventario->reservar($cantidad)) { $mensaje = "No se pudo hacer la reserva desde el Inventario, hay una inconsistencia cantidad libre(" . $this->desolpe_alinventario->cantlibre . ") : cantidad a reservar(" . $cantidad . ")"; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje, 'error'); } } } } } else { if ($stock == 0) { //nada } else { $mensaje = "La reserva no puede ser cero habiendo stock (" . $stock . ")"; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje, 'error'); } if ($cantcomprar > 0) { if ($cantcomprar <= $cantsol) { $this->insertareserva('800', $cantcomprar); $this->est = self::ESTADO_DESOLPE_RESERVADO; } else { $mensaje = "La cantidad a comprar (" . $cantcomprar . ") excede a lo solicitado (" . $cantsol . ")"; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje, 'error'); } } else { $mensaje = "La reserva es cero y la requisición tambien es cero"; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje, 'error'); } } } $this->setScenario('Atencionreserva'); if (!$this->save()) { $mensaje = "No se pudo grabar el registro de la soliictud "; yii::app()->mensajes->setmessageitem('340', $this->item, $mensaje . yii::app()->mensajes->getErroresItem($this->geterrors()), 'error'); } return yii::app()->mensajes->hayerrores('340'); }
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 actionsacaum() { $registro = Desolpe::model()->findByPk(MiFactoria::cleanInput($_POST['idsolpex'])); if (!is_null($registro)) { $unidades = Alconversiones::Listadoums($registro->codart); foreach ($unidades as $clave => $valor) { echo CHtml::tag('option', array('value' => $clave), CHtml::encode($valor), true); } } else { echo ""; } }
public function checkum($attribute, $params) { if (!Alconversiones::validaum($this->codart, $this->um)) { $this->adderror('um', ' Esta unidad de medida no corresponde a este material'); } }
public function Actualizareservainventario($codmovimiento = null) { $modeloinventario = Alinventario::model()->findByPk($this->alkardex_alinventario->id); $modeloinventario->setscenario('modificacantidad'); $modeloinventario->cantres = $modeloinventario->cantres + $this->cant * Alconversiones::model()->convierte($this->codart, $this->um); ///; return $modeloinventario->save() ? 1 : 0; }
public function actioncargaums() { $valor = $_POST['Maestroclipro']['codart']; $valores = Alconversiones::model()->findall("codart='" . $valor . "'"); $values = array(); $otro = ""; foreach ($valores as $registro) { $values[] = $registro['um2']; $otro = $registro['um1']; } array_push($values, $otro); $criteria = new CDbCriteria(); $criteria->addInCondition('um', $values); $data = CHtml::listData(Ums::model()->findAll($criteria), "um", "desum"); echo CHtml::tag('option', array('value' => null), CHtml::encode('Escoja una uM'), true); foreach ($data as $value => $name) { echo CHtml::tag('option', array('value' => $value), CHtml::encode($name), true); } }
public function actionModificaconversion($id) { $model = Alconversiones::model()->find("id=:cvb", array(":cvb" => $id)); $modelomaestro = $this->loadModel($model->codart); if (isset($_POST['Alconversiones'])) { $model->attributes = $_POST['Alconversiones']; if ($model->save()) { 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\t\t"); Yii::app()->end(); } } } // if (!empty($_GET['asDialog'])) $this->layout = '//layouts/iframe'; $this->render('_form_detalle_conversiones', array('modelomaestro' => $modelomaestro, 'model' => $model, 'codigox' => $modelomaestro->codigo)); }
echo $form->DropDownList($model, 'codmon', $datos1, array('empty' => '--Seleccione moneda--')); ?> <?php echo $form->error($model, 'codmon'); ?> </div> <div class="row"> <?php echo $form->labelEx($model, 'um'); ?> <?php echo $form->DropDownList($model, 'um', Alconversiones::Listadoums($model->desolpe->codart), array('empty' => '--Um--', 'disabled' => $habilitado, 'maxlength' => 4)); ?> <?php echo $form->error($model, 'um'); ?> </div> <div class="row"> <?php echo $form->labelEx($model, 'comentario'); ?> <?php echo $form->textArea($model, 'comentario', array('rows' => 6, 'cols' => 50)); ?>
?> <?php echo Chtml::ajaxLink(Chtml::image(Yii::app()->getTheme()->baseUrl . Yii::app()->params["rutatemaimagenes"] . "filter.png"), CController::createUrl('Ums/cargaum'), array('type' => 'POST', 'url' => CController::createUrl('Ums/cargaum'), 'update' => '#Tempalkardex_um', 'data' => array('codigomaterial' => 'js:Tempalkardex_codart.value'))); ?> <?php if ($model->isNewRecord) { //$datos = CHtml::listData(Ums::model()->findAll(),'um','desum'); $datos = array(); echo $form->DropDownList($model, 'um', $datos, array('disabled' => in_array($model->codmov, $model->campoeditable()['um']) ? '' : 'disabled', 'maxlength' => 4)); ?> <?php } else { ?> <?php echo $form->DropDownList($model, 'um', Alconversiones::Listadoums($model->codart), array('empty' => '--Um--', 'disabled' => in_array($model->codmov, $model->campoeditable()['um']) ? '' : 'disabled', 'maxlength' => 4)); ?> <?php } ?> <?php echo $form->error($model, 'um'); ?> </div>
public function cantidadbase() { return $this->desolpe->um != $this->desolpe->maestro->um ? $this->cant * Alconversiones::convierte($this->desolpe->codart, $this->desolpe->maestro->um) : $this->cant; }
/** * 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 Alconversiones the loaded model * @throws CHttpException */ public function loadModel($id) { $model = Alconversiones::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
public function actionReservaitem($id) { $model = Desolpe::Model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'No se encontro ningun documento para estos datos'); } if ($model->tipsolpe == 'S') { throw new CHttpException(500, 'No se puede reservar un servicio'); } $modelocabecera = Solpe::model()->findByPk($model->hidsolpe); if ($modelocabecera->escompra == '1') { throw new CHttpException(500, 'No se puede reservar items de solicitudes hechas para compras '); } // Uncomment the following line if AJAX validation is needed $this->performAjaxValidation($model); $model->setscenario('reservar'); if (isset($_POST['Desolpe'])) { $model->attributes = $_POST['Desolpe']; if ($model->save()) { $transaccion = $model->dbConnection->beginTransaction(); $idsolpe = $model->id; $cantcompra = $model->cantidad_compras; $cantreservada = $model->cantidad_reservada; if ($cantreservada > 0) { $modelo = new Alreserva(); $modelo->hidesolpe = $idsolpe; $modelo->cant = $cantreservada; $modelo->flag = '1'; // $model->est='06'; //estado 'RESERVADO' //$modelo->codocu='045'; } if ($cantcompra > 0) { $modelin = new Alreserva(); $modelin->hidesolpe = $idsolpe; $modelin->cant = $cantcompra; $modelin->flag = '0'; // $model->est='08'; //'SOLICITADO PARA COMPRA' //$modelin->codocu='008'; } $modeloinventario = Alinventario::model()->findByPk($model->desolpe_alinventario->id); if (!is_null($modeloinventario)) { $modeloinventario->setscenario('modificacantidad'); $modeloinventario->cantlibre = $modeloinventario->cantlibre - $cantreservada * Alconversiones::model()->convierte($modeloinventario->codart, $model->um); ///; $modeloinventario->cantres = $modeloinventario->cantres + $cantreservada * Alconversiones::model()->convierte($modeloinventario->codart, $model->um); } $model->est = ($cantcompra > 0 and $cantreservada == 0) ? '80' : '60'; ///si es una solicitud exclusiva apra compras el estado es '08' if ($model->save() and $cantreservada > 0 ? $modelo->save() : true and $modeloinventario->save() and $cantcompra > 0 ? $modelin->save() : true) { $transaccion->commit(); } else { $transaccion->rollback(); ///regresar todo a como estaba throw new CHttpException(404, 'carayyyyyy'); } 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\t"); Yii::app()->end(); } } } if (!empty($_GET['asDialog'])) { $this->layout = '//layouts/iframe'; } //ECHO $model->id; //Yii::app()->end(); $this->render('_form_detalle_reservar', array('model' => $model, 'idcabeza' => $model->hidsolpe)); }
<div class="row"> <?php echo $form->labelEx($model, 'cant'); ?> <?php echo CHtml::textField('fdfdfd4544', $model->cant . " ( " . $model->desolpe_um->desum . " )", array('size' => 16, 'maxlength' => 16, 'disabled' => $habilitado)); ?> </div> <div class="row"> <?php echo CHtml::label('Stock libre', '45'); ?> <?php ?> <?php echo CHtml::textField('cansst', $model->desolpe_alinventario->cantlibre / Alconversiones::model()->convierte($model->codart, $model->um) . " ( " . $model->desolpe_um->desum . " )", array('size' => 16, 'maxlength' => 16, 'disabled' => $habilitado)); ?> </div> </div> <div class="panelderecho"> <div class="row"> <?php echo CHtml::label('Reservar ', '4r5'); ?> <?php //echo $form->textField($model,'cantidad_reservada',array('value'=>min($model->cant,$model->desolpe_alinventario->cantlibre),'size'=>8,'maxlength'=>8)); ?> <?php echo $form->textField($model, 'cantidad_reservada', array('size' => 8, 'maxlength' => 8)); ?>
<div class="division"> Agrega conversiones, no olvides refrescar la página para ver los cambios </div> <div class="division"> <?php $this->widget('zii.widgets.grid.CGridView', array('id' => 'conversiones-grid', 'dataProvider' => Alconversiones::model()->search_material($model->codigo), 'columns' => array('numerador', 'alconversiones_um1.desum', 'denominador', 'alconversiones_um2.desum', array('class' => 'CButtonColumn', 'buttons' => array('update' => array('visible' => 'true', 'url' => '$this->grid->controller->createUrl("/Maestrocompo/Modificaconversion/", array("id"=>$data->id, "asDialog"=>1, "gridId"=>$this->grid->id, ) )', 'click' => 'function(){ $("#cru-detalle").attr("src",$(this).attr("href")); $("#cru-dialogdetalle").dialog("open"); return false; }', 'imageUrl' => '' . Yii::app()->getTheme()->baseUrl . Yii::app()->params['rutatemagrid'] . 'update.png', 'label' => 'Actualizar Item'), 'delete' => array('visible' => 'false'), 'view' => array('visible' => 'false')))))); ?> </div> <?php if ($habilitado == "") { $createUrl = $this->createUrl('/maestrocompo/creaconversion', array("codigox" => $model->codigo, "asDialog" => 1, "gridId" => 'detalle-conversion')); $UrlDefault = $this->createUrl('/ocompra/defaulte'); echo CHtml::button(" + ", array('title' => "Agregar ", 'onclick' => " \$('#cru-detalle').attr('src','{$createUrl} ');\$('#cru-dialogdetalle').dialog('open');")); } ?>