public static function RegistrosDetallePorMovimiento($mov, $numdoc = NULL) { switch ($mov) { case '10': $registros = self::DevuelveSolPespendientes($numdoc); break; case '79': $registros = self::DevuelveSolPespendientes($numdoc); break; case '68': $id = Ocompra::model()->find("numcot=:vnumerocompra", array(":vnumerocompra" => trim($numdoc)))->idguia; $registros = self::DevuelveServiciosPendientes($id); break; case '77': //INIICNAR TRASALADO, n hya nada que decolver $registros = array(); break; case '78': //Acepta traslado $id = Almacendocs::model()->find("numvale=:vnumvale", array(":vnumvale" => trim($numdoc)))->id; $registros = self::DevuelveTraspasospendientes($id); break; case '98': //carag inicial no haya nada que devolver $registros = array(); break; case '89': case '40': //anular vale // yii::app()->end(); $id = Almacendocs::model()->find("numvale=:vnumvale", array(":vnumvale" => trim($numdoc)))->id; $registros = self::DevuelveKardexHijosconalias($id); break; case '70': //Reingreso // yii::app()->end(); $registros = array(); break; case '20': /* echo "salio el mv"; yii::app()->end();*/ $id = Almacendocs::model()->find("numvale=:vnumvale", array(":vnumvale" => trim($numdoc)))->id; $registros = self::DevuelveKardexHijosconalias($id); break; case '30': /* echo "salio el mv"; yii::app()->end();*/ $id = Ocompra::model()->find("numcot=:vnumerocompra", array(":vnumerocompra" => trim($numdoc)))->idguia; $registros = self::DevuelveComprasPendientes($id); break; case 2: echo "i equals 2"; break; } // var_dump($registros); return $registros; }
public function generacontabilidad($model) { $transaccion = $model->dbConnection->beginTransaction(); switch ($model->codocuref) { ///Luego hacer los procedimientos segun sea el caso case '210': ///un documento de compras //sacando de una vez el descuento y la conversion moneda para calcular preciosn $modelocompra = Ocompra::model()->find("numcot=:numerox ", array(":numerox" => trim($model->numdocref))); $descuento = is_null($modelocompra->descuento) ? 0 : $modelocompra->descuento / 100; $moneda = $modelocompra->moneda; if ($moneda == Yii::app()->params['monedadef']) { $conversion = 1; } else { $conversion = Numeromaximo::cambiomoneda($moneda, Yii::app()->params['monedadef']); } /*********************************************************************** + LLENAMOS EL LOG DE ENTREGAS DE LA POSICION DE LA ORDEN DE COMPRA ************************************************************************/ $modelokardex = Alkardex::model()->findall("hidvale=" . $model->id . " and codestado='99' "); if (count($modelokardex) > 0) { for ($i = 0; $i < count($modelokardex); ++$i) { $modeloentregas = new Alentregas(); $modeloentregas->iddetcompra = $modelokardex[$i]['idref']; $modeloentregas->cant = $modelokardex[$i]['cant']; $modeloentregas->idkardex = $modelokardex[$i]['id']; if (!$modeloentregas->save()) { $transaccion->rollback(); throw new CHttpException(500, 'Se produjo un error al registrar las entregas'); } ///TAMBIEN ACTUALIZAMOS EL STATRUS DE LAS POSCIONES DE LA ORDEN DE COMPRA // $modelodetoc=New Docompra; $modelodetoc = Docompra::model()->findByPk($modelokardex[$i]['idref']); if (!is_null($modelodetoc)) { //verificando primero cuanto ya se ha atendido antes $criteria = new CDbCriteria(); $criteria->select = 'sum(cant) AS sumatoria'; $criteria->addCondition(" iddetcompra= " . $modelokardex[$i]['idref'] . " and idkardex <> " . $modelokardex[$i]['id']); $rowsuma = Alentregas::model()->find($criteria); $totalatendido = is_null($rowsuma) ? 0 : $rowsuma['sumatoria']; ///esto es lo que se ha atendido if ($totalatendido >= $modelodetoc->cant) { $transaccion->rollback(); throw new CHttpException(500, 'Se produjo un error, esta poscionde pedido ya estaba atendida por completo'); } else { if ($modelokardex[$i]['cant'] + $totalatendido > $modelodetoc->cant) { $transaccion->rollback(); throw new CHttpException(500, 'Se produjo un error, con este ingreso se sobrepasa la cantidad comprada' . $totalatendido); } else { if ($modelokardex[$i]['cant'] + $totalatendido < $modelodetoc->cant) { $modelodetoc->estadodetalle = '50'; //atencion parcial } else { $modelodetoc->estadodetalle = '60'; //atencion total } if (!$modelodetoc->save()) { $transaccion->rollback(); throw new CHttpException(500, 'No se pudo grabar la actualizacion del detalle del pedido'); } } } } /*************************************************************** * ACTUALIZAR EL INVENTARIO TAMBIEN * Datos a actualizar * CANTIDAD , PRECIO , PONDERADO PRECIO UNITARIO * ****************************************************************/ //la cantidad $inventario = Alinventario::model()->find(" codalm=:almacencito and codart=:articulito and codcen=:centrito", array(":almacencito" => $model->codalmacen, ":articulito" => $modelokardex[$i]['codart'], ":centrito" => $model->codcentro)); if (!is_null($inventario)) { //$inventario->codalm=$model->codalmacen; //$inventario->codart=$model->codalmacen; //$inventario->codcentro=$model->codcentro; //$inventario->codmon=Yii->app()->params['monedadef']; $inventario->um = $modelokardex[$i]['um']; $inventario->cantlibre = $inventario->cantlibre + $modelokardex[$i]['cant']; $inventario->punit = ($modelodetoc->punit * (1 - $descuento) * $conversion * $modelokardex[$i]['cant'] + ($inventario->cantlibre + $inventario->cantres) * $inventario->punit) / ($inventario->cantlibre + $inventario->cantres + $modelokardex[$i]['cant']); $inventario->codmon = Yii::app()->params['monedadef']; } else { $inventario = new Alinventario(); $inventario->codalm = $model->codalmacen; $inventario->codart = $modelokardex[$i]['codart']; $inventario->codcen = $model->codcentro; $inventario->codmon = Yii::app()->params['monedadef']; $inventario->um = $modelokardex[$i]['um']; $inventario->cantlibre = $modelokardex[$i]['cant']; $inventario->canttran = 0; $inventario->cantres = 0; } if (!$inventario->save()) { $transaccion->rollback(); echo "hola" . $inventario->codalm . "--" . $inventario->codart . "--" . $inventario->codcen . "--" . $inventario->codmon . "--" . $inventario->um . "--" . $inventario->cantlibre; throw new CHttpException(500, 'NO se pudieron actualizar los datos de inventario ' . $inventario->codalm . "--" . $inventario->codart . "--" . $inventario->codcen . "--" . $inventario->codmon . "--" . $inventario->um . "--" . $inventario->cantlibre); //throw new CHttpException(500,'NO se pudieron actualizar los datos de inventario ');'); } /************************************* * ************************************************************************/ } } else { //si no enuentra kardex hijos $transaccion->rollback(); throw new CHttpException(500, 'Se produjo un error , no se hallaron kardex hijos'); } //fin de si encuentra kardex hijos /// debemos tambien de colcoar el status de cambio de estado al KARDEX $command = Yii::app()->db->createCommand(" UPDATE Alkardex set codestado='10' where hidvale=" . $model->id); $modelocompra->codestado = '60'; if ($command->execute() > 0 and $modelocompra->save()) { $transaccion->commit(); } else { $transaccion->rollback(); throw new CHttpException(500, 'Hubo un error inesperado al moemento de actualizar el kardex '); } break; case '340': // Solicitud de pedido ///primero cambiamos el estado de los kardex $command = Yii::app()->db->createCommand(" UPDATE alkardex set codestado='10' , valido='1' where checki='1' and hidvale=" . $model->id . " "); $command->execute(); ///luego cambiamos el estado del vale $model->cestadovale = '20'; $model->save(); //actualizamos el estado de las solpe y desolpe $transaccion->commit(); break; default: throw new CHttpException(500, 'Se ha tomado un codigo/documento que no es valido'); } }
<div style=" width:300px; " > <?php if ($codprov == '') { $codprov = null; } $this->widget('zii.widgets.grid.CGridView', array('summaryText' => '', 'id' => 'precios-grid', 'dataProvider' => Ocompra::historicoprecios($codigom, $codprov), 'columns' => array(array('name' => 'fecdoc', 'header' => 'Fec', 'value' => 'date("d.m.y", strtotime($data["fecdoc"]))', 'htmlOptions' => array('width' => 40)), array('name' => 'numcot', 'header' => 'O.c.', 'value' => '$data["numcot"]', 'htmlOptions' => array('width' => 40)), array('name' => 'punit', 'header' => 'P Unit', 'value' => 'Mifactoria::decimal($data["punit"],2)', 'htmlOptions' => array('width' => 40)), array('name' => 'moneda', 'header' => 'Moneda', 'value' => '$data["moneda"]', 'htmlOptions' => array('width' => 15)), array('name' => 'umbase', 'header' => 'Um', 'value' => '$data["desumbase"]', 'htmlOptions' => array('width' => 20))))); ?> </div>
private function proceso($idevento, $id) { $mensaje = ""; $compra = Ocompra::model()->findByPk($id); switch ($idevento) { case 65: ///APROB if (Ocompra::puedeautorizar()) { $filas = $compra->detallefirme; foreach ($filas as $row) { // $filafirme=Docompra::model()->findByPk($row->id);//solo si //Solo si no esta anulado $row->setScenario('cambiaestado'); if (in_array($row->estadodetalle, Estado::estadosnocalculablesdetalle($compra->coddocu))) { $row->estadodetalle = ESTADO_DOCOMPRA_APROBADO; } if (!$row->save()) { $mensaje .= " Ocurrió un error en el item " . $row->item . " al guardar los datos del estado detalle <br>"; } } } else { $mensaje .= " No tiene permisos para efectuar esta acción <br>"; } break; case 67: ///deshacer APROBACIOPN ///AQUI YA NNOS ETRABAJA CON EL BUFFER SE TRABAJADA CON LA TABAL ORIIGNAL $filas = $compra->detallefirme; foreach ($filas as $row) { //$filafirme=Docompra::model()->findByPk($row->id); if ($row->cantidadentregada > 0) { $mensaje .= " El item " . $row->item . " Ya tiene ingreso de almacen <br>"; } else { //si no tiene atenciones entonces normal no mas Revertimos $row->setScenario('cambiaestado'); if (in_array($row->estadodetalle, Estado::estadosnocalculablesdetalle($compra->coddocu))) { $row->estadodetalle = ESTADO_DOCOMPRA_CREADO; } $mensaje .= $row->save() ? "" : " No se pudo revertir el item " . $row->item . "<br>"; /*print_r($row->geterrors()); print_r($row->geterrors());yii::app()->end();*/ } //refrescar el buffer $this->ClearBuffer($id); //Limpia temporal $this->IniciaBuffer($id); //Levanta temporales } break; case 66: ///aNULAR //aqui hayq ue tabajar directametne cn la tabla firme DOCOMPRA $filas = $compra->detallefirme; //aqui hayq ue tabajar directametne cn la tabla firme DOCOMPRA foreach ($filas as $row) { if ($row->cantidadentregada > 0) { $mensaje .= " El item " . $row->item . " Ya tiene ingresos de almacen <br>"; } else { //si no tiene atenciones entonces normal no mas Revertimos $row->setScenario('cambiaestado'); $row->estadodetalle = ESTADO_DOCOMPRA_ANULADO; $mensaje .= $row->save() ? "" : " No se pudo anular el item " . $row->item . "<br>"; } } //refrescar el buffer $this->ClearBuffer($id); //Limpia temporal $this->IniciaBuffer($id); //Levanta temporales break; } return $mensaje; }
public function checkcompra($attribute, $params) { //Verfiicando que existan una compra liberada $registro = Ocompra::model()->findAll("numcot=:nimi", array("nimi" => trim($this->numdocref))); if (!(count($registro) > 0)) { $this->adderror('numdocref', 'Esta Orden de compra no existe ' . $this->numdocref . ' ' . count($registro)); } else { $aestadosoc = array(ESTADO_OC_CREADA, ESTADO_OC_ANULADA, ESTADO_OC_FACTURADA); //NO TINEE QUE ESTAR CREADA NI ANULADA NI FACTURADA if (in_array($registro->codestado, $aestadosoc)) { $this->adderror('numdocref', 'Esta Orden de compra no tiene status valido : ' . $registro->estado); } ////Verfiicando que existan en esa solpe items que esten reservadas /* $matriz=Desolpe::model()->findAll( "hidsolpe=:mipa and est='60' and cant > 0 ",array("mipa"=>$registro[0]['id'])); if(count($matriz) ==0 ) { $this->adderror('numdocref','Esta Solpe no tiene items reservados ');*/ } }
public static function insertadetallesrecepfactura($model) { //Primero debemos verificar si ha habido anulacion de vales // y luego darnos cuenta que pares de kardex (Vale original, Vale anulacion) Son para no considerarlos. //Sacando los numeros de vales originales relacionados a la compra $vales = yii::app()->db->createCommand()->select('a.numvale')->from('{{almacendocs}} a,{{alkardex}} b, {{alentregas}} c')->where("a.id=b.hidvale AND b.id=c.idkardex AND b.numdocref=:nocompra", array(":nocompra" => $model->numocompra))->queryColumn(); //Sacando los numeros de documentos referenciados en dichos vales, que tambien son vales $valesreferenciados = yii::app()->db->createCommand()->select('a.numdocref')->from('{{almacendocs}} a,{{alkardex}} b, {{alentregas}} c')->where("a.id=b.hidvale AND b.id=c.idkardex AND b.numdocref=:nocompra ", array(":nocompra" => $model->numocompra))->queryColumn(); // var_dump($model->numocompra); $arraypar = array_combine($vales, $valesreferenciados); $vales = array_unique($vales); $valesreferenciados = array_unique($valesreferenciados); /* print_r( $arraypar); echo "<br><br><br>"; print_r( $vales); echo "<br><br><br>"; print_r( $valesreferenciados); echo "<br><br><br>";*/ ///Ahora usamos la teoria de conjuntos $vales INTERESECCION $valesreferenciados ///QUIRE DECIR QEU SI HA HABIDO ANULACIONES , DEBE DE HABER UNA INTERSECCION $interseccion = array_intersect($vales, $valesreferenciados); if (COUNT($interseccion) > 0) { foreach ($interseccion as $clave => $valor) { unset($arraypar[$valor]); if (array_search($valor, $arraypar)) { unset($arraypar[array_search($valor, $arraypar)]); } } $vales = array_keys($arraypar); } ///prteparamos n array de parametros pra el querybuilder $valores = array(); $i = 0; foreach ($vales as $clave => $valor) { $valores[":ycp" . $i] = $valor . ''; $i = $i + 1; } // print_r( $valores);yii::app()->end(); $criterio = new CDBCriteria(); $criterio->addCondition("a.id=b.hidvale AND b.id=c.idkardex AND b.numdocref=:numocompra"); $criterio->addInCondition('a.numvale', array_keys($valores)); $valores[":numocompra"] = $model->numocompra; $criterio->params = $valores; $entregas = yii::app()->db->createCommand()->select('c.id')->from('{{almacendocs}} a,{{alkardex}} b, {{alentregas}} c')->where($criterio->condition, $criterio->params)->queryAll(); //buscando las enrtegas $registrocompra = Ocompra::findByNumero($model->numocompra); foreach ($entregas as $filaentrega) { /* var_dump($filaentrega->id); yii::app()->end();*/ $detalle = new Tempdetingfactura(); $detalle->setScenario('basico'); $detalle->setAttributes(array('hidfactura' => $model->id, 'hidalentrega' => $filaentrega["id"], 'idusertemp' => yii::app()->user->id, 'idstatus' => 1)); $detalle->save(); } }
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 mueveadicionales() { $monedacompras = null; /*var_dump($this->codocuref); var_dump(ARRAY(CODIGO_DOCUMENTO_COMPRAS,CODIGO_DOCUMENTO_DETALLE_COMPRA )); yii::app()->end();*/ if (in_array($this->codocuref, array(CODIGO_DOCUMENTO_COMPRAS, CODIGO_DOCUMENTO_DETALLE_COMPRA))) { $monedacompras = Ocompra::model()->find("numcot=:ndoc", array(":ndoc" => $this->numdocref))->moneda; } /*var_dump($monedacompras); yii::app()->end();*/ $monedamain = yii::app()->settings->get('general', 'general_monedadef'); switch ($this->codmov) { case "10": $this->InsertaAtencionReserva(); $ceco = Desolpe::model()->findByPk($this->idref)->imputacion; $this->InsertaCcGastos($ceco); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "20": $this->InsertaAtencionReserva(); $ceco = Desolpe::model()->findByPk($this->idref)->imputacion; $this->InsertaCcGastos($ceco); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; break; case "30": //INGRESO COMPRA $this->InsertaAlentregasCompras(); ///obteniendo la moneda del documento de COMPRAS $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($monedacompras)); break; case "40": //ANULAR INGRESO COMPRA $this->InsertaAlentregasCompras(); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "79": $this->preciounit = $this->getMonto(); $this->InsertaAtencionReserva(); $ceco = Dpeticion::model()->findByPk($this->idref)->imputacion; $this->InsertaCcGastos($ceco); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "81": $this->preciounit = $this->getMonto(); $this->InsertaAtencionReserva(); $ceco = Dpeticion::model()->findByPk($this->idref)->imputacion; $this->InsertaCcGastos($ceco); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "98": $moneda = $this->alkardex_alinventario->almacen->codmon; $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($moneda)); break; case "89": $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase(yii::app()->settings->get('general', 'general_monedadef'))); break; case "60": echo "Your favorite color is green!"; break; case "77": //inica traslado $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "78": //acepta el traspaso $thisoriginal = Alkardex::model()->findByPk($this->idref); ///cone sto busca el kardex del almacen emisor //verifica la consistencia $thisoriginal->InsertaAlkardexTraslado($this->cant); // $thisoriginal->getMonto(); $movimientoauxiliar = '45'; $thisoriginal->alkardex_alinventario->actualiza_stock($movimientoauxiliar, abs($this->cantidadbase()), null); //verificamos la moneda del almacen que emite $moneda = $thisoriginal->alkardex_alinventario->almacen->codmoneda; $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($moneda)); break; case "70": //reingreso //primero que nada el reingreso usa como referencia el vale de salida $kardorigen = Almacendocs::model()->findByPk($this->idref); //Siemrpe que no se ahya reingresado el total if ($kardorigen->cant < $kardorigen->reingreso_cant) { $kardorigen->InsertaReingreso(); $ceco = CcGastos::model()->find("hidref=:vid", array(":vid" => $this->id)); $this->InsertaCcGastos($ceco); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase())); } break; case "50": //salida para ceco $this->InsertaCcGastos($this->colector); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase())); break; case "60": //Anula salida para ceco $this->InsertaCcGastos($this->colector); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase())); break; default: throw new CHttpException(500, __CLASS__ . ' ' . __FUNCTION__ . ' No se ha definido este codigo de movimiento'); } }
public function mueveadicionales() { $monedacompras = null; if (in_array($this->codocuref, array(CODIGO_DOCUMENTO_COMPRAS, CODIGO_DOCUMENTO_DETALLE_COMPRA))) { $monedacompras = Ocompra::model()->find("numcot=:ndoc", array(":ndoc" => $this->numdocref))->moneda; } $monedamain = yii::app()->settings->get('general', 'general_monedadef'); switch ($this->codmov) { case "10": $this->InsertaAtencionReserva(CODIGO_DOCUMENTO_RESERVA); $ceco = Desolpe::model()->findByPk($this->idref)->imputacion; //$ceco=$this->updatesolpe()->imputacion; $this->InsertaCcGastos($ceco); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "20": $this->InsertaAtencionReserva(CODIGO_DOCUMENTO_RESERVA); $ceco = Desolpe::model()->findByPk($this->idref)->imputacion; $this->InsertaCcGastos($ceco); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "11": $this->InsertaAtencionReserva(CODIGO_DOCUMENTO_RQ_COMPRA); $ceco = Desolpe::model()->findByPk($this->idref)->imputacion; $this->InsertaCcGastos($ceco); ///AQUI NO SE ACTUALIZA EL STOCK DEL INVNETARIO PORQUE LA CANTIDAD PASA DIRECTAMENTE a la atencion RQ y AL GASTO //$this->alkardex_alinventario->actualiza_stock($this->codmov,abs($this->cantidadbase()),null); break; case "12": $this->InsertaAtencionReserva(CODIGO_DOCUMENTO_RQ_COMPRA); $ceco = Desolpe::model()->findByPk($this->idref)->imputacion; $this->InsertaCcGastos($ceco); //$this->alkardex_alinventario->actualiza_stock($this->codmov,abs($this->cantidadbase()),null); break; case "30": //INGRESO COMPRA $this->InsertaAlentregasCompras(); //$this->insertaAtencionreserva(); ///obteniendo la moneda del documento de COMPRAS $this->ocuparsedelosRq(SALIDA_RQ); ///Si hay RQ de compras verifica y astender $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($monedacompras)); break; case "40": //ANULAR INGRESO COMPRA $this->InsertaAlentregasCompras(); $this->ocuparsedelosRq(SALIDA_RQ); ///Si hay RQ de compras verifica y anular $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "79": $this->preciounit = $this->getMonto(); $this->InsertaAtencionReserva(); $ceco = Dpeticion::model()->findByPk($this->idref)->imputacion; $this->InsertaCcGastos($ceco); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "81": $this->preciounit = $this->getMonto(); $this->InsertaAtencionReserva(); $ceco = Dpeticion::model()->findByPk($this->idref)->imputacion; $this->InsertaCcGastos($ceco); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "98": $moneda = $this->alkardex_alinventario->almacen->codmon; $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($moneda)); break; case "89": $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase(yii::app()->settings->get('general', 'general_monedadef'))); break; case "60": echo "Your favorite color is green!"; break; case "77": //inica traslado $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), null); break; case "78": //acepta el traspaso $thisoriginal = Alkardex::model()->findByPk($this->idref); ///cone sto busca el kardex del almacen emisor //verifica la consistencia $thisoriginal->InsertaAlkardexTraslado($this->cant); // $thisoriginal->getMonto(); $movimientoauxiliar = '45'; $thisoriginal->alkardex_alinventario->actualiza_stock($movimientoauxiliar, abs($this->cantidadbase()), null); //verificamos la moneda del almacen que emite $moneda = $thisoriginal->alkardex_alinventario->almacen->codmon; $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($moneda)); // yii::app()->end(); break; case "54": //ANULA EL INGRESO DEL TRASLADO ///Compensar primero el Kardex del vale del receptor $thisoriginal = Alkardex::model()->findByPk($this->idref); ///cone sto busca el kardex del almacen emisor $thisoriginal->InsertaAlkardexTraslado($this->cant); $movimientoauxiliar = '64'; //ANULA SALIDA TRASLADO EN KARDEX EMISOR $thisoriginal->alkardex_alinventario->actualiza_stock($movimientoauxiliar, abs($this->cantidadbase()), null); //verificamos la moneda del almacen que emite $moneda = $thisoriginal->alkardex_alinventario->almacen->codmon; $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase()), $this->preciounitariobase($moneda)); break; case "70": //reingreso //primero que nada el reingreso usa como referencia el vale de salida $kardorigen = Almacendocs::model()->findByPk($this->idref); //Siemrpe que no se ahya reingresado el total if ($kardorigen->cant < $kardorigen->reingreso_cant) { $kardorigen->InsertaReingreso(); $ceco = CcGastos::model()->find("hidref=:vid", array(":vid" => $this->id)); $this->InsertaCcGastos($ceco); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase())); } break; case "50": //salida para ceco $this->InsertaCcGastos($this->colector); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase())); break; case "60": //Anula salida para ceco $this->InsertaCcGastos($this->colector); $this->alkardex_alinventario->actualiza_stock($this->codmov, abs($this->cantidadbase())); break; default: throw new CHttpException(500, __CLASS__ . ' ' . __FUNCTION__ . ' No se ha definido este codigo de movimiento'); } }
public function chkfechas($attribute, $params) { ///PRIMERO QUE LA FECHA DEL INGRESO NO PUEDE SER ANTERIOR A LA FECHA DE LA OC ///LA FECHA DE LA FACTURA fechadoc NO PUEDE SER MAYOR QUE LA FECHA DEL INGRESO if (!yii::app()->periodo->verificaFechas($this->fechadoc, $this->fecha)) { $this->adderror('fechadoc', 'La fecha de la factura es mayor que la fecha de ingreso'); } ///LA FECHA DE LA FACTURA fechadoc NO PUEDE SER MAYOR QUE LA FECHA DE LA ORDEN DE COMPRA //Sacando la fecha de la OC $registrocompra = Ocompra::findByNumero($this->numocompra); if (!yii::app()->periodo->verificaFechas($registrocompra->fechanominal, $this->fechadoc)) { $this->adderror('fechadoc', 'La fecha de la factura es menor que la de la Orden de compra'); } ///LA FECHA DE LA FACTURA fechadoc DEBE DE ESTAR DENTRO DEL PERIODO ACTIVO if (!yii::app()->periodo->estadentroperiodo($this->fechadoc)) { $this->adderror('fechadoc', 'La fecha de la factura no esta dentro del periodo activo'); } ///LA FECHA DEl INGRESO fecha DEBE DE ESTAR DENTRO DEL PERIODO ACTIVO if (!yii::app()->periodo->estadentroperiodo($this->fecha)) { $this->adderror('fechadoc', 'La fecha de ingreso no esta dentro del periodo activo'); } //LA FECHA DE LA FACTURA fechadoc DEBE DE DEBE SER MAYOR QUE LA FECHA DE LA ULTIMA ENTREGA DE MERCADERIA /*$criterio=New CDBCriteria; $criterio->addcondition("hidguia=:idcompra"); $criterio->params=array(":idcompra"=>$registrocompra->idguia); $idhijos=MiFactoria::arrayColumnaSQL('{{docompra}}','id',$criterio->condition,$criterio->params); unset($criterio); $criterio=New CDBCriteria; $criterio->addInCondition("iddetcompra",$idhijos); $fila=yii::app()->db->createCommand()-> select(min('fecha'))->from('{{alentregas}}')->where($criterio->condition,$criterio->params)->queryAll(); if(count($fila)==0){ $this->adderror('numocompra','Esta Orden de compra no tiene entregas'); } else{ if(!yii::app()->periodo->verificaFechas($fila,$this->fechadoc)) $this->adderror('fechadoc','La factura tiene una fecha anterior a la primera entrega de mercaderia o conformidad'); }*/ //LA DIFERENCIA DE FECHAS ENTRE EL INGRESO DE LA FACTURA fechadoc Y LA FECHA DE LA FACTURA DEBE SER MENOR QUE < ???? if (yii::app()->periodo->diasentre($this->fecha, $this->fechadoc) > yii::app()->settings->get('documentos', 'documentos_tolerecepfacturaendias')) { $this->adderror('fechadoc', 'La diferencia de fechas entre la factura y el ingreso paso la tolerancia en dias (' . yii::app()->settings->get("documentos", "documentos_tolerecepfacturaendias") . ')'); } }
private function proceso($idevento, $id) { $mensaje = ""; switch ($idevento) { case 65: ///APROB $filas = Ocompra::model()->findByPk($id)->detallefirme; foreach ($filas as $row) { // $filafirme=Docompra::model()->findByPk($row->id);//solo si //Solo si no esta anulado if (!$row->estadodetalle == ESTADO_DOCOMPRA_ANULADO) { $row->estadodetalle = ESTADO_DOCOMPRA_APROBADO; } ///AVTUALIZAR TAMBIEN EL ESTADO DE LOS REGISTROS DE LA TBLA PUENTE DESOLPECOMPRA //DE ESTO SE ENCARGA DOCOMPRA en el evento AfterSave() if (!$row->save()) { $mensaje .= " Ocurrió un error en el item " . $row->item . " al guardar los datos del estado detalle <br>"; } } break; case 67: ///deshacer APROBACIOPN ///AQUI YA NNOS ETRABAJA CON EL BUFFER SE TRABAJADA CON LA TABAL ORIIGNAL $filas = Ocompra::model()->findByPk($id)->detallefirme; foreach ($filas as $row) { //$filafirme=Docompra::model()->findByPk($row->id); if ($row->cantidadentregada > 0) { $mensaje .= " El item " . $row->item . " Ya tiene ingreso de almacen <br>"; } else { //si no tiene atenciones entonces normal no mas Revertimos $row->setScenario('cambiaestado'); $row->estadodetalle = ESTADO_DOCOMPRA_CREADO; $mensaje .= $row->save() ? "" : " No se pudo anular el item " . $row->item . "<br>"; } //refrescar el buffer $this->ClearBuffer($id); //Limpia temporal $this->IniciaBuffer($id); //Levanta temporales } break; case 66: ///aNULAR //aqui hayq ue tabajar directametne cn la tabla firme DOCOMPRA $filas = Ocompra::model()->findByPk($id)->detallefirme; //aqui hayq ue tabajar directametne cn la tabla firme DOCOMPRA foreach ($filas as $row) { if ($row->cantidadentregada > 0) { $mensaje .= " El item " . $row->item . " Ya tiene ingresos de almacen <br>"; } else { //si no tiene atenciones entonces normal no mas Revertimos $row->setScenario('cambiaestado'); $row->estadodetalle = ESTADO_DOCOMPRA_ANULADO; $mensaje .= $row->save() ? "" : " No se pudo anular el item " . $row->item . "<br>"; } } //refrescar el buffer $this->ClearBuffer($id); //Limpia temporal $this->IniciaBuffer($id); //Levanta temporales break; } return $mensaje; }