Search in sources :

Example 6 with RenglonNotaCredito

use of sic.modelo.RenglonNotaCredito in project sic by belluccifranco.

the class NotaServiceImplTest method shloudCalcularTotalNotaCredito.

@Test
public void shloudCalcularTotalNotaCredito() {
    RenglonNotaCredito renglon1 = new RenglonNotaCreditoBuilder().build();
    List<RenglonNotaCredito> renglones = new ArrayList<>();
    renglones.add(renglon1);
    assertEquals(172.062, notaServiceImpl.calcularTotalNota(renglones), 0);
}
Also used : RenglonNotaCredito(sic.modelo.RenglonNotaCredito) RenglonNotaCreditoBuilder(sic.builder.RenglonNotaCreditoBuilder) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Example 7 with RenglonNotaCredito

use of sic.modelo.RenglonNotaCredito in project sic by belluccifranco.

the class NotaServiceImpl method calcularRenglonCredito.

@Override
public List<RenglonNotaCredito> calcularRenglonCredito(TipoDeComprobante tipo, double[] cantidad, long[] idRenglonFactura) {
    List<RenglonNotaCredito> renglonesNota = new ArrayList<>();
    RenglonNotaCredito renglonNota;
    if (cantidad.length == idRenglonFactura.length) {
        for (int i = 0; i < idRenglonFactura.length; i++) {
            RenglonFactura renglonFactura = facturaService.getRenglonFactura(idRenglonFactura[i]);
            if (renglonFactura.getCantidad() < cantidad[i] || cantidad[i] < 0) {
                throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_nota_de_credito_cantidad_no_valida") + " " + renglonFactura.getDescripcionItem());
            }
            renglonNota = new RenglonNotaCredito();
            renglonNota.setIdProductoItem(renglonFactura.getId_ProductoItem());
            renglonNota.setCodigoItem(renglonFactura.getCodigoItem());
            renglonNota.setDescripcionItem(renglonFactura.getDescripcionItem());
            renglonNota.setMedidaItem(renglonFactura.getMedidaItem());
            renglonNota.setCantidad(cantidad[i]);
            renglonNota.setPrecioUnitario(renglonFactura.getPrecioUnitario());
            renglonNota.setDescuentoPorcentaje(renglonFactura.getDescuento_porcentaje());
            renglonNota.setDescuentoNeto(renglonNota.getPrecioUnitario() * (renglonFactura.getDescuento_porcentaje() / 100));
            renglonNota.setGananciaPorcentaje(renglonFactura.getGanancia_porcentaje());
            renglonNota.setGananciaNeto(renglonNota.getPrecioUnitario() * (renglonNota.getGananciaPorcentaje() / 100));
            renglonNota.setIvaPorcentaje(renglonFactura.getIva_porcentaje());
            renglonNota.setIvaNeto((tipo == TipoDeComprobante.FACTURA_A || tipo == TipoDeComprobante.FACTURA_B) ? renglonFactura.getIva_neto() : 0);
            renglonNota.setImporte(renglonNota.getPrecioUnitario() * cantidad[i]);
            renglonNota.setImporteBruto(renglonNota.getImporte() - (renglonNota.getDescuentoNeto() * cantidad[i]));
            if (tipo == TipoDeComprobante.FACTURA_B) {
                renglonNota.setImporteNeto(renglonNota.getImporteBruto());
            } else {
                renglonNota.setImporteNeto(renglonNota.getImporteBruto() + (renglonNota.getIvaNeto() * cantidad[i]));
            }
            renglonesNota.add(renglonNota);
        }
    }
    return renglonesNota;
}
Also used : BusinessServiceException(sic.service.BusinessServiceException) RenglonNotaCredito(sic.modelo.RenglonNotaCredito) ArrayList(java.util.ArrayList) RenglonFactura(sic.modelo.RenglonFactura)

Aggregations

RenglonNotaCredito (sic.modelo.RenglonNotaCredito)7 ArrayList (java.util.ArrayList)3 RenglonFactura (sic.modelo.RenglonFactura)3 BusinessServiceException (sic.service.BusinessServiceException)3 HashMap (java.util.HashMap)2 Test (org.junit.Test)2 NotaCredito (sic.modelo.NotaCredito)2 RenglonNotaDebito (sic.modelo.RenglonNotaDebito)2 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 URL (java.net.URL)1 Date (java.util.Date)1 Map (java.util.Map)1 ImageIcon (javax.swing.ImageIcon)1 JRException (net.sf.jasperreports.engine.JRException)1 JRBeanCollectionDataSource (net.sf.jasperreports.engine.data.JRBeanCollectionDataSource)1 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)1 ResourceAccessException (org.springframework.web.client.ResourceAccessException)1 RestClientResponseException (org.springframework.web.client.RestClientResponseException)1 ClienteBuilder (sic.builder.ClienteBuilder)1