Exemplo n.º 1
0
 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();
     }
 }
Exemplo n.º 2
0
 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 ";
 }