Esempio n. 1
0
  /*
   * (non-Javadoc)
   * @see com.luxsoft.siipap.cxc.model.PagosFactory#crearPagoParaDiferienciaCambiaria(com.luxsoft.siipap.cxc.domain.PagoM)
   */
  public PagoConOtros crearPagoParaDiferienciaCambiaria(final PagoM origen) {
    Assert.notNull(origen, "El pago no debe ser nulo");
    Assert.isTrue(origen.getDisponible().doubleValue() > 0);
    final String tipo = origen.getTipoDeDocumento();
    final CantidadMonetaria total = origen.getDisponibleAsMoneda();

    final PagoConOtros pago = new PagoConOtros();
    pago.setOrigen(origen);
    pago.setReferencia(origen.getId().toString());
    pago.setCliente(origen.getCliente());
    pago.setTipoDeDocumento(tipo);
    pago.setCliente(origen.getCliente());
    pago.setFormaDePago(FormaDePago.F);
    pago.setComentario("DIFERENCIA CAMBIARA DE MAS");

    pago.setImporte(total);
    return pago;
  }
Esempio n. 2
0
 public PagoConOtros crearPagoDeCargo(PagoM origen, List<NotaDeCredito> cargos) {
   Assert.notEmpty(cargos, "La collecion de cargos debe tener elementos");
   Assert.isTrue(origen.getDisponible().doubleValue() > 0, "El pago origen debe tener disponible");
   CXCFiltros.filtrarCargosConSaldo(cargos);
   if (cargos.isEmpty()) return null;
   final PagoConOtros pago = new PagoConOtros();
   pago.setOrigen(origen);
   pago.setReferencia(origen.getId().toString());
   pago.setCliente(origen.getCliente());
   pago.setFormaDePago(FormaDePago.S);
   pago.setTipoDeDocumento(cargos.get(0).getTipo());
   pago.setCliente(cargos.get(0).getCliente());
   for (NotaDeCredito c : cargos) {
     Pago pp = pago.aplicarPago(c, CantidadMonetaria.pesos(0));
     pp.setSucursal(1);
   }
   return pago;
 }
 /*
  * (non-Javadoc)
  * @see com.luxsoft.siipap.cxc.pagos.IControladorDePagos#diferenciaCambiaria(com.luxsoft.siipap.cxc.domain.PagoM)
  */
 public boolean diferenciaCambiaria(final PagoM pago) {
   if (pago.getTipoDeDocumento().equals("X") || pago.getTipoDeDocumento().equals("M")) {
     if (pago.getDisponible().doubleValue() > 0) {
       if (MessageUtils.showConfirmationMessage(
           "Pago de facturas en dolares. Es el disponible diferencia cambiaria?",
           "Diferencia cambiaria")) {
         PagoConOtros pp = getPagosFactory().crearPagoParaDiferienciaCambiaria(pago);
         getPagosManager().salvarGrupoDePagos(pp);
         MessageUtils.showMessage(
             "Pago a diferencia cambiaria generado:\n" + pp.toString(), "Pago autmático");
         return true;
       }
     } else {
       diferenciaCambiaria(pago.getVentasAplicadas());
     }
   }
   return false;
 }
Esempio n. 4
0
 /**
  * Genera un {@link PagoConOtros} para un grupo de ventas
  *
  * @param origen
  * @param ventas
  * @return
  */
 public PagoConOtros crearPago(final PagoM origen, final List<Venta> ventas) {
   Assert.notEmpty(ventas, "La collecion de ventas debe tener elementos");
   Assert.isTrue(origen.getDisponible().doubleValue() > 0, "El pago origen debe tener disponible");
   CXCFiltros.filtrarVentasConSaldo(ventas);
   if (ventas.isEmpty()) return null;
   final String tipo = ventas.get(0).getTipo();
   if (ventas.isEmpty()) return null;
   CXCFiltros.filtrarVentasParaUnTipo(ventas, tipo);
   final PagoConOtros pago = new PagoConOtros();
   pago.setOrigen(origen);
   pago.setReferencia(origen.getId().toString());
   pago.setCliente(origen.getCliente());
   pago.setFormaDePago(FormaDePago.S);
   pago.setTipoDeDocumento(tipo);
   pago.setCliente(ventas.get(0).getCliente());
   for (Venta v : ventas) {
     pago.aplicarPago(v, CantidadMonetaria.pesos(0));
   }
   return pago;
 }