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);
}
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;
}
Aggregations