Ejemplo n.º 1
0
            $errores = $linea->getErrores();
        } else {
            $linea = new AlbaranesLineas();
            $alertas = $linea->getAlertas();
        }
        break;
    case 'guardar':
        if ($pvpConIva == '1') {
            // El precio viene con iva, calculo la base
            $datos['Precio'] = $datos['Precio'] * 100 / (100 + $datos['Iva']);
        }
        $linea = new AlbaranesLineas($datos['IDLinea']);
        $linea->bind($datos);
        if ($linea->valida(array())) {
            if (!$linea->save()) {
                $errores = $linea->getErrores();
            } else {
                $alertas = $linea->getAlertas();
                $linea = new AlbaranesLineas($datos['IDLinea']);
            }
        }
        break;
    case 'cierre':
        include_once '../modules/ExpedirLineas/ExpedirLineasController.class.php';
        $albaran = new AlbaranesCab($datos['IDAlbaran']);
        $albaran->confirma();
        $expedir = new ExpedirLineasController();
        $expedir->cargaLineasAlbaran($datos['IDAlbaran'], 0);
        //$albaran->expide();
        break;
}
Ejemplo n.º 2
0
 public function AlbaranesLineas()
 {
     $nItems = 0;
     $nErrores = 0;
     $dbLink = mysql_connect("localhost", "root", "albatronic");
     $query = "TRUNCATE {$this->dbDestino}.ErpAlbaranesLineas";
     mysql_query($query);
     $query = "select Codigo,IDArticulo from {$this->dbDestino}.ErpArticulos";
     $result = mysql_query($query, $dbLink);
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         $correspondencia[$row['Codigo']] = $row['IDArticulo'];
     }
     $query = "select l.*, c.IDAgente, c.Expedido, c.IDFactura, c.Fecha from {$this->dbOrigen}.albaranes_lineas as l LEFT JOIN {$this->dbOrigen}.albaranes_cab as c ON l.IDAlbaran=c.IDAlbaran where c.IDAlbaran>0";
     $result = mysql_query($query, $dbLink);
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         $c = new AlbaranesLineas();
         $c->setIDAlbaran($row['IDAlbaran']);
         $c->setIDLinea($row['IDLinea']);
         $c->setIDArticulo($correspondencia[$row['IDArticulo']]);
         $c->setDescripcion($row['Descripcion']);
         $c->setUnidades($row['Unidades']);
         $c->setUnidadMedida("UMV");
         $c->setPvpVigente($row['Precio']);
         $c->setPrecio($row['Precio']);
         $c->setDescuento($row['Descuento']);
         $c->setImporte($row['Importe']);
         $c->setImporteCosto($row['ImporteCosto']);
         $c->setIDAlmacen(1);
         if ($row['Fecha'] >= '2012-09-01') {
             $c->setIva($this->correspondenciaIva[$row['Iva']]);
         } else {
             $c->setIva($row['Iva']);
         }
         $c->setIDAgente($this->agentes[$row['IDAgente']]);
         $c->setIDComercial($this->agentes[$row['IDAgente']]);
         if ($row['Expedido'] == 0) {
             $c->setIDEstado(0);
         } elseif ($row['IDFactura']) {
             $c->setIDEstado(3);
         } else {
             $c->setIDEstado(2);
         }
         $c->setPrimaryKeyMD5(md5($row['IDLinea']));
         if (!$c->create()) {
             $errores[] = $c->getErrores();
             $nErrores++;
         } else {
             $nItems++;
         }
     }
     //mysql_close($dbLink);
     echo "Líneas Albaranes {$nItems}<br/>";
     if (count($errores)) {
         echo "<pre>";
         print_r($errores);
         echo "</pre>";
     }
 }
 /**
  * GENERA LOS ALBARANES Y FACTURAS DE MANTENIMIENTOS
  * EN BASE A LOS INDICADO EN EL ARCHIVO CSV
  * 
  * @param string $fileCsv
  */
 public function mantenimientosAction($fileCsv = '')
 {
     if ($fileCsv == '') {
         $fileCsv = 'tmp/mantenimientos.csv';
     }
     $archivo = new Archivo($fileCsv);
     $archivo->setColumnsDelimiter(";");
     if ($archivo->open()) {
         while (($linea = $archivo->readLine()) !== FALSE) {
             $idSucursal = $linea[0];
             $idAlmacen = $linea[1];
             $idComercial = $linea[2];
             $idCliente = $linea[3];
             $codigoArticulo = $linea[4];
             $unidades = $linea[5];
             $precio = $linea[6];
             $cliente = new Clientes($idCliente);
             $direccionesEntrega = $cliente->getDireccionesEntrega();
             $direcEntrega = $direccionesEntrega[0];
             $albaran = new AlbaranesCab();
             $albaran->setIDCliente($cliente->getIDCliente());
             $albaran->setIDSucursal($idSucursal);
             $albaran->setFecha(date("d-m-Y"));
             $albaran->setIDDirec($direcEntrega->getIDDirec());
             $albaran->setIDAlmacen($idAlmacen);
             $albaran->setIDComercial($idComercial);
             $albaran->setIDContador(2);
             $albaran->setIDEstado(0);
             $albaran->setIDFP($cliente->getIDFP()->getIDFP());
             $idAlbaran = $albaran->create();
             if ($idAlbaran) {
                 $articulo = new Articulos();
                 $articulo = $articulo->find("Codigo", $codigoArticulo);
                 $lineas = new AlbaranesLineas();
                 $lineas->setIDAlbaran($idAlbaran);
                 $lineas->setIDArticulo($articulo->getIDArticulo());
                 $lineas->setDescripcion($articulo->getDescripcion() . " Mes " . date("m Y"));
                 $lineas->setUnidades($unidades);
                 $lineas->setPrecio($precio);
                 $lineas->setDescuento(0);
                 $lineas->setIva($articulo->getIDIva()->getIva());
                 $lineas->setImporte($unidades * $precio);
                 $ok = $lineas->create();
                 if ($ok) {
                     $albaran = new AlbaranesCab($idAlbaran);
                     $albaran->confirma();
                     if ($albaran->expide()) {
                         $albaran = new AlbaranesCab($idAlbaran);
                         $contador = new Contadores();
                         $contador = $contador->dameContador($idSucursal, 2);
                         $albaran->facturar($contador);
                     }
                 } else {
                     print_r($lineas->getErrores());
                     exit;
                 }
             } else {
                 $this->values['errores'][] = "No se ha podido crear el albarán para " . $cliente->getRazonSocial();
             }
         }
     } else {
         $this->values['errores'][] = "El fichero de importación " . $fileCsv . " no existe";
     }
 }