コード例 #1
0
 /**
  * Cambia la forma de pago el flag de facturar del albaran
  * a peticion del usuario
  *
  * @return <type>
  */
 public function cambiaAction()
 {
     $estado = $this->request['sino'] == 'on' ? '1' : '0';
     $albaran = new AlbaranesCab($this->request['idAlbaran']);
     $albaran->setFlagFacturar($estado);
     $albaran->setIDFP($this->request['idFormaPago']);
     $albaran->save();
     unset($albaran);
     return $this->listAction();
 }
コード例 #2
0
ファイル: PstoCab.class.php プロジェクト: albatronic/hermes
 /**
  * Confirma el presupuesto, que consiste en aprobarlo
  * y generar un albaran en base al mismo.
  * Devuelve el id del albaran generado
  * IMPORTANTE: APLICA LA TARIFA Y PROMOCIONES VIGENTES
  *
  * @return integer El id del albaran generado
  */
 public function confirma()
 {
     //Crear cabecera de albaran.
     //No pongo los totales porque los recalculo una vez
     //creadas las lineas del albaran.
     $contador = new Contadores();
     $albaran = new AlbaranesCab();
     $albaran->setIDSucursal($this->IDSucursal);
     $albaran->setIDContador($contador->dameContador($this->IDSucursal, 1));
     $albaran->setIDAlmacen($this->IDAlmacen);
     $albaran->setIDAgente($_SESSION['usuarioPortal']['Id']);
     $albaran->setIDComercial($this->IDComercial);
     $albaran->setFecha(date('d-m-Y'));
     $albaran->setIDCliente($this->IDCliente);
     $albaran->setIDDirec($this->IDDirec);
     $albaran->setDescuento($this->Descuento);
     $albaran->setObservaciones($this->Observaciones . "Proviene del Psto N. " . $this->NumeroPsto);
     $albaran->setIDAgencia($this->IDAgencia);
     $albaran->setIDFP($this->IDFP);
     $albaran->setIDPsto($this->IDPsto);
     $idAlbaran = $albaran->create();
     unset($contador);
     if ($idAlbaran) {
         // Marco el presupuesto como confirmado (Estado=1)
         $this->setIDEstado(1);
         $this->setIDAlbaran($idAlbaran);
         $this->setFechaAceptacion(date('d-m-Y'));
         $this->save();
         // Crear las lineas de albaran
         $lineas = new PstoLineas();
         $rows = $lineas->cargaCondicion('*', "IDPsto='{$this->IDPsto}'", "IDLinea ASC");
         unset($lineas);
         foreach ($rows as $row) {
             $linea = new AlbaranesLineas();
             $linea->setIDAlbaran($idAlbaran);
             $linea->setIDArticulo($row['IDArticulo']);
             $linea->setDescripcion($row['Descripcion']);
             $linea->setUnidades($row['Unidades']);
             $linea->setPrecio($row['Precio']);
             $linea->setDescuento($row['Descuento']);
             $linea->setImporte($row['Importe']);
             $linea->setImporteCosto($row['ImporteCosto']);
             $linea->setIDAlmacen($this->IDAlmacen);
             $linea->setIva($row['Iva']);
             $linea->setRecargo($row['Recargo']);
             $linea->setIDAgente($_SESSION['usuarioPortal']['Id']);
             $linea->setIDComercial($this->IDComercial);
             $linea->setAltoAl($row['AltoAl']);
             $linea->setAnchoAl($row['AnchoAl']);
             $linea->setIDEstado(0);
             if ($linea->valida()) {
                 $linea->create();
                 // Marco la línea de psto como confirmado (Estado=1)
                 $lineaPsto = new PstoLineas($row['IDLinea']);
                 $lineaPsto->setIDEstado(1);
                 $lineaPsto->save();
                 unset($lineaPsto);
             }
         }
         // Recalcular el albarán
         $albaran->recalcula();
         $albaran->save();
         // Confirmar el albarán
         $albaran->confirma();
         $this->_alertas[] = "Se ha generado el albarán n. " . $albaran->getNumeroAlbaran();
     } else {
         $this->_alertas[] = "No se ha generado albarán";
     }
     return $idAlbaran;
 }
コード例 #3
0
 private function guardar(array $datos)
 {
     $albaran = new AlbaranesCab();
     $albaran->bind($datos);
     if ($albaran->getIDAlbaran()) {
         $albaran->save();
     } else {
         $albaran->create();
     }
     return $albaran;
 }
コード例 #4
0
 /**
  * Cambia el repartidor asociado al albarán
  *
  * @return void
  */
 public function CambiaRepartidorAction()
 {
     if ($this->values['permisos']['permisosModulo']['UP']) {
         switch ($this->request['idTipo']) {
             case 'AlbaranesCab':
                 if ($this->request['idRepartidor']) {
                     $datos = new AlbaranesCab($this->request['idAlbaran']);
                     $datos->setIDRepartidor($this->request['idRepartidor']);
                     $datos->save();
                 }
                 break;
         }
     }
     return $this->listAlbaranesAction($this->request['idAlmacen'], $this->request['idDia']);
 }