/* * (non-Javadoc) * @see com.luxsoft.siipap.cxc.model.PagosFactory#crearPagoAutomaticoParaNotaDeCargo(java.util.List) */ public PagoM crearPagoAutomaticoParaNotaDeCargo(List<NotaDeCredito> cargos) { Assert.notEmpty(cargos, "La collecion de cargos debe tener elementos"); final PagoM pago = crearPago(cargos.get(0).getCliente(), cargos); pago.setFormaDePago(FormaDePago.D); CantidadMonetaria total = CantidadMonetaria.pesos(0); for (NotaDeCredito c : cargos) { final CantidadMonetaria importe = c.getSaldoDelCargoEnMoneda(); pago.aplicarPago(c, importe); total = total.add(importe); } pago.setImporte(total); return pago; }
/* * (non-Javadoc) * @see com.luxsoft.siipap.cxc.model.PagosFactory#crearPagoParaDiferienciaCambiaria(java.util.List) */ public PagoM crearPagoParaDiferienciaCambiaria(final List<Venta> ventas) { Assert.notEmpty(ventas, "La collecion de ventas debe tener elementos"); if (ventas.isEmpty()) return null; final String tipo = ventas.get(0).getTipo(); final PagoM pago = new PagoM(); pago.setFormaDePago(FormaDePago.F); pago.setTipoDeDocumento(tipo); pago.setCliente(ventas.get(0).getCliente()); pago.setComentario("DIFERENCIA CAMBIARA DE MENOS"); CantidadMonetaria total = CantidadMonetaria.pesos(0); for (Venta v : ventas) { final CantidadMonetaria importe = v.getSaldoEnMonedaSinImportaroSigno(); pago.aplicarPago(v, importe); total = total.add(importe); } pago.setImporte(total); return pago; }
/** * Genera un PagoM para ventas con saldo menor o igual a 100 pesos * * @param ventas * @return */ public PagoM crearPagoAutomatico(List<Venta> ventas) { Assert.notEmpty(ventas, "La collecion de ventas debe tener elementos"); CXCFiltros.filtrarParaPagoAutomatico(ventas); if (ventas.isEmpty()) return null; final String tipo = ventas.get(0).getTipo(); if (ventas.isEmpty()) return null; CXCFiltros.filtrarVentasParaUnTipo(ventas, tipo); final PagoM pago = new PagoM(); pago.setFormaDePago(FormaDePago.D); pago.setTipoDeDocumento(tipo); pago.setCliente(ventas.get(0).getCliente()); CantidadMonetaria total = CantidadMonetaria.pesos(0); for (Venta v : ventas) { final CantidadMonetaria importe = v.getSaldoEnMoneda(); pago.aplicarPago(v, importe); total = total.add(importe); } pago.setImporte(total); // pago.calcularDisponible(); return pago; }