예제 #1
0
  /**
   * @param pagos List
   * @param montoaAbonar double
   * @return int 1, finalizar nota entregar articulos y entregar articulos
   */
  public java.util.List<Pago> agregarPagos(List<Pago> pagos, double montoaAbonar) {
    try {

      pagos = DaoVentas.registrarPagos(ventaSeleccionada.getId(), pagos, null);
      // Registramos los pagos, ahora revisamos si es necesario finalizar la nota checando el monto
      // pendiente
      if ((montoPendiente - montoaAbonar) <= 0.05) {
        // Se han registrado los pagos suficientes para finalizar la nota
        DaoVentas.finalizarVenta(this.ventaSeleccionada);
      }
      return pagos;
    } catch (SQLException ex) {
      System.out.println(ex.toString());
      return null;
    }
  }
예제 #2
0
  public void seleccionarVenta(int index) {
    pagosView.clear();
    productosView.clear();
    // Obtenemos los productos vendidos en la venta/ si es -1 estoy refrescando los datos de la
    // venta previamente
    // seleccionada
    if (index != -1) {
      ventaSeleccionada = ventasEncontradas.get(index);
    } else {
      ventaSeleccionada = (VentaApartado) DaoVentas.findByIdNoFinalizada(ventaSeleccionada.getId());
    }
    total = 0;
    abonado = 0;
    ventaSeleccionada.setProductosVendidos(
        DaoVentas.getProductosVendidos(ventaSeleccionada.getId()));
    Object[] row = null;
    for (ProductoVendido pv : ventaSeleccionada.getProductosVendidos()) {
      row = new Object[7];
      row[0] = "1";
      row[1] = pv.getDescripcion();
      row[2] = pv.getEtiqueta();
      row[3] = AppInstance.number.format(pv.getPrecioInicial());
      row[4] = pv.getDescuento() + "%";
      row[5] = AppInstance.number.format(pv.getPrecioFinal());
      switch (pv.getEntregado()) {
        case 0:
          row[6] = "No";
          break;
        case 1:
          row[6] = "Si";
          montoUsado += pv.getPrecioFinal();
          break;
      }
      productosView.add(row);

      total += pv.getPrecioFinal();
    }
    // Obtenemos los pagos realizados en la venta
    ventaSeleccionada.setPagos(DaoVentas.getPagos(ventaSeleccionada.getId()));

    for (Pago p : ventaSeleccionada.getPagos()) {
      row = new Object[4];
      row[0] = p.getId();
      row[1] = AppInstance.formatoLargo.format(p.getFecha());
      row[2] = AppInstance.number.format(p.getMonto());
      if (p instanceof PagoTarjetaCredito) {
        PagoTarjetaCredito pt = (PagoTarjetaCredito) p;
        row[3] =
            "T Credito/debito "
                + pt.getBanco()
                + ((pt.getMeses() > 0) ? pt.getMeses() + " meses sin intereses" : "");
      } else if (p instanceof PagoVale) {
        PagoVale pv = (PagoVale) p;
        row[3] = "Vale no. " + pv.getIdVale();

      } else if (p instanceof PagoCheque) {
        PagoCheque pch = (PagoCheque) p;
        row[3] = "Cheque no. " + pch.getNoCheque() + " de " + pch.getBanco();

      } else if (p instanceof PagoDevolucion) {
        PagoDevolucion pv = (PagoDevolucion) p;
        row[3] = "Descuento por entrega de vale no. " + pv.getVale().getId();
        pv = null;
      } else if (p instanceof PagoTransferenciaBancaria) {
        PagoTransferenciaBancaria pb = (PagoTransferenciaBancaria) p;
        row[3] = "Depósito/transf. bancaria, ref: " + pb.getNoReferencia();
      } else if (p instanceof Pago) {
        row[3] = "Efectivo";
      }
      abonado += p.getMonto();
      pagosView.add(row);
    }
    montoPendiente = total - abonado;
    montoDisponible = abonado - montoUsado;
    // Retornamos la venta.

  }
예제 #3
0
 /**
  * entregarProducto
  *
  * @param pv ProductoVendido
  */
 public boolean entregarProducto(ProductoVendido pv) {
   return DaoVentas.entregarProducto(pv);
 }