public function ClearBuffer($id = null) { Bloqueos::clearbloqueos(); if (is_null($id)) { $docbloqueados = Yii::app()->db->createCommand()->select('iddocu')->from('{{bloqueos}}')->where("codocu=:vcodocu AND iduser=:videuser", array(":vcodocu" => $this->documento, ":videuser" => yii::app()->user->id))->queryColumn(); } foreach ($this->modeloshijos as $clave => $valor) { $campoenlace = $this->camposlink[$valor]; if (is_null($id)) { $criterio = new CDBCriteria(); $criterio->addCondition("idusertemp=" . yii::app()->user->id); $criterio->addInCondition($campoenlace, $docbloqueados); } else { $criterio = new CDBCriteria(); $criterio->addCondition("idusertemp=" . yii::app()->user->id); $criterio->addCondition($campoenlace . "=" . $id); } //$criterio->params=array(":idusuario"=>yii::app()->user->id); $valor::model()->deleteAll($criterio); } return true; }
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 actionesarchivo() { if (is_file(Yii::getPathOfAlias('webroot') . '/imgreportes/JULIAN.gif')) { echo "si es file<br>"; } echo Maestrocompo::subeimagen(Yii::getPathOfAlias('webroot') . '/imgreportes/JULIAN.gif', 'OLMEDO'); YII::APP()->END(); $alin = new Alinventario(); $matrizinv = $alin->getStockValTotal(); print_r($matrizinv); echo "<BR><BR><BR>"; $matrizinv = $alin->getStockValCentro(); print_r($matrizinv); echo "<BR><BR><BR>"; $matrizinv = $alin->getStockValAlmacen(); print_r($matrizinv); echo "<BR><BR><BR>"; $alin = new Alinventario(); $matrizinv = $alin->getStockMatTotal('18005746'); print_r($matrizinv); echo "<BR><BR><BR>"; $matrizinv = $alin->getStockMatCentro('18005746'); print_r($matrizinv); echo "<BR><BR><BR>"; $matrizinv = $alin->getStockMatAlmacen('18005746'); print_r($matrizinv); echo "<BR><BR><BR>"; yii::app()->end(); echo date('Y-m-d H:i:s'); var_dump(yii::app()->tipocambio->setcompra('USD', 3.69)); /* yii::app()->tipocambio->setventa('USD',3.39); ECHO "COMRPA DOLAR ".yii::app()->tipocambio->getcompra('USD'); echo "<br>"; ECHO "VENTA DOLAR ".yii::app()->tipocambio->getventa('USD'); echo "<br>"; echo "moendas vencias "; print_r(yii::app()->tipocambio->cambiospasados());*/ yii::app()->end(); var_dump(yii::app()->periodo->verificafechas('2015-10-30', '2015-10-30')); echo " fecha " . strtotime('2015-10-30'); yii::app()->end(); $compra = '21000050'; $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" => $compra))->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" => $compra))->queryColumn(); $arraypar = array_combine($vales, $valesreferenciados); //$arraypar=array_unique(array_combine($vales,$valesreferenciados)); $vales = array_unique($vales); $valesreferenciados = array_unique($valesreferenciados); ///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); print_r($vales); echo "<br><br><br>"; print_r($valesreferenciados); echo "<br><br><br>"; print_r($arraypar); echo "<br><br><br>"; print_r($interseccion); echo "<br><br><br>"; //yii::app()->end(); 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); } $valores = array(); $i = 0; foreach ($vales as $clave => $valor) { $valores[":ycp" . $i] = $valor . ''; $i = $i + 1; } //bien ya nos aseguramos de eliminar los vales que estan comprometidos con anulaciones //ahora si sale limpio: $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"] = $compra; $criterio->params = $valores; print_r($criterio->params); echo "<br>vxvx<br><br>"; $entregas = yii::app()->db->createCommand()->select('c.id')->from('{{almacendocs}} a,{{alkardex}} b, {{alentregas}} c')->where($criterio->condition, $criterio->params)->queryAll(); PRINT_R($entregas); foreach ($entregas as $filaentrega) { $detalle = new Tempdetingfactura(); $detalle->setScenario('basico'); $detalle->setAttributes(array('hidfactura' => 2, 'hidalentrega' => $filaentrega->id)); $detalle->save(); } yii::app()->end(); echo yii::app()->baseUrl . " /recurso/themes/temita/css/abound.css <br> "; echo is_file('/recurso/themes/temita/css/abound.css') ? " Si Es Archivo " : " NO es archivo "; }