use of sic.modelo.RenglonFactura in project sic by belluccifranco.
the class FacturaCompraBuilder method build.
public FacturaCompra build() {
if (renglones == null) {
RenglonFactura renglon1 = new RenglonFacturaBuilder().build();
RenglonFactura renglon2 = new RenglonFacturaBuilder().withCantidad(4).withId_ProductoItem(890L).withCodigoItem("mate.0923").withIVAneto(1092).withPrecioUnitario(5200).build();
List<RenglonFactura> renglonesFactura = new ArrayList<>();
renglonesFactura.add(renglon1);
renglonesFactura.add(renglon2);
this.renglones = renglonesFactura;
}
FacturaCompra factura = new FacturaCompra(id_Factura, fecha, tipoFactura, numSerie, numFactura, fechaVencimiento, pedido, transportista, renglones, pagos, subTotal, recargo_porcentaje, recargo_neto, descuento_porcentaje, descuento_neto, subTotal_neto, iva_105_neto, iva_21_neto, impuestoInterno_neto, total, observaciones, pagada, empresa, eliminada, CAE, vencimientoCAE, proveedor, numSerieAfip, numFacturaAfip);
return factura;
}
use of sic.modelo.RenglonFactura in project sic by belluccifranco.
the class FacturaVentaBuilder method build.
public FacturaVenta build() {
if (renglones == null) {
RenglonFactura renglon1 = new RenglonFacturaBuilder().build();
RenglonFactura renglon2 = new RenglonFacturaBuilder().withCantidad(4).withId_ProductoItem(890L).withCodigoItem("mate.0923").withIVAneto(1092).withPrecioUnitario(5200).build();
List<RenglonFactura> renglonesFactura = new ArrayList<>();
renglonesFactura.add(renglon1);
renglonesFactura.add(renglon2);
this.renglones = renglonesFactura;
}
FacturaVenta factura = new FacturaVenta(cliente, usuario, id_Factura, fecha, tipoFactura, numSerie, numFactura, fechaVencimiento, pedido, transportista, renglones, pagos, subTotal, recargo_porcentaje, recargo_neto, descuento_porcentaje, descuento_neto, subTotal_neto, iva_105_neto, iva_21_neto, impuestoInterno_neto, total, observaciones, pagada, empresa, eliminada, CAE, vencimientoCAE, numSerieAfip, numFacturaAfip);
return factura;
}
use of sic.modelo.RenglonFactura in project sic by belluccifranco.
the class FacturaServiceImplTest method shouldCalcularIva_netoWhenLaFacturaEsX.
@Test
public void shouldCalcularIva_netoWhenLaFacturaEsX() {
RenglonFactura renglon1 = new RenglonFactura();
renglon1.setImporte(5.601);
renglon1.setIva_porcentaje(21);
RenglonFactura renglon2 = new RenglonFactura();
renglon2.setImporte(18.052);
renglon2.setIva_porcentaje(21);
RenglonFactura renglon3 = new RenglonFactura();
renglon3.setImporte(10.011);
renglon3.setIva_porcentaje(10.5);
List<RenglonFactura> renglones = new ArrayList<>();
renglones.add(renglon1);
renglones.add(renglon2);
renglones.add(renglon3);
double resultadoEsperado = 0;
int size = renglones.size();
double[] cantidades = new double[size];
double[] ivaPorcentajes = new double[size];
double[] ivaNetos = new double[size];
int i = 0;
for (RenglonFactura r : renglones) {
cantidades[i] = r.getCantidad();
ivaPorcentajes[i] = r.getIva_porcentaje();
ivaNetos[i] = r.getIva_neto();
i++;
}
double resultadoObtenido = facturaService.calcularIvaNetoFactura(TipoDeComprobante.FACTURA_X, cantidades, ivaPorcentajes, ivaNetos, 21, 0, 0);
assertEquals(resultadoEsperado, resultadoObtenido, 0);
}
use of sic.modelo.RenglonFactura in project sic by belluccifranco.
the class CerrarVentaGUI method finalizarVenta.
private void finalizarVenta() {
FacturaVenta facturaVenta = gui_puntoDeVenta.construirFactura();
facturaVenta.setTransportista((Transportista) cmb_Transporte.getSelectedItem());
facturaVenta = this.agregarPagosAFactura(facturaVenta);
try {
String uri = "/facturas?idPedido=";
if (gui_puntoDeVenta.getPedido() != null) {
uri += gui_puntoDeVenta.getPedido().getId_Pedido();
}
if (dividir) {
String indices = "&indices=" + Arrays.toString(indicesParaDividir).substring(1, Arrays.toString(indicesParaDividir).length() - 1);
List<Factura> facturasDivididas = Arrays.asList(RestClient.getRestTemplate().postForObject(uri + indices, facturaVenta, Factura[].class));
int indice = facturasDivididas.size();
for (int i = 0; i < indice; i++) {
facturasDivididas.get(i).setRenglones(Arrays.asList(RestClient.getRestTemplate().getForObject("/facturas/" + facturasDivididas.get(i).getId_Factura() + "/renglones", RenglonFactura[].class)));
if (facturasDivididas.size() == 2 && !facturasDivididas.get(i).getRenglones().isEmpty()) {
if (i == 0) {
this.lanzarReporteFactura(facturasDivididas.get(i), "ComprobanteX");
} else {
this.lanzarReporteFactura(facturasDivididas.get(i), "Factura");
}
exito = true;
} else if (facturasDivididas.size() == 1 && !facturasDivididas.get(i).getRenglones().isEmpty()) {
this.lanzarReporteFactura(facturasDivididas.get(i), "Factura");
}
}
} else {
this.lanzarReporteFactura(Arrays.asList(RestClient.getRestTemplate().postForObject(uri, facturaVenta, FacturaVenta[].class)).get(0), "Factura");
exito = true;
}
if (gui_puntoDeVenta.getPedido() != null) {
gui_puntoDeVenta.dispose();
}
this.dispose();
} catch (RestClientResponseException ex) {
JOptionPane.showMessageDialog(this, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
} catch (ResourceAccessException ex) {
LOGGER.error(ex.getMessage());
JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_conexion"), "Error", JOptionPane.ERROR_MESSAGE);
}
}
use of sic.modelo.RenglonFactura in project sic by belluccifranco.
the class DetalleFacturaCompraGUI method calcularResultados.
private void calcularResultados() {
double subTotal;
double descuento_porcentaje;
double descuento_neto;
double recargo_porcentaje;
double recargo_neto;
double subTotalBruto;
double iva105_netoFactura;
double iva21_netoFactura;
double total;
this.validarComponentesDeResultados();
//subtotal
double[] importes = new double[renglones.size()];
double[] cantidades = new double[renglones.size()];
double[] ivaPorcentajeRenglones = new double[renglones.size()];
double[] ivaNetoRenglones = new double[renglones.size()];
int indice = 0;
for (RenglonFactura renglon : renglones) {
importes[indice] = renglon.getImporte();
cantidades[indice] = renglon.getCantidad();
ivaPorcentajeRenglones[indice] = renglon.getIva_porcentaje();
ivaNetoRenglones[indice] = renglon.getIva_neto();
indice++;
}
try {
subTotal = RestClient.getRestTemplate().getForObject("/facturas/subtotal?importe=" + Arrays.toString(importes).substring(1, Arrays.toString(importes).length() - 1), double.class);
txt_SubTotal.setValue(subTotal);
//descuento
descuento_porcentaje = Double.parseDouble(txt_Descuento_Porcentaje.getValue().toString());
descuento_neto = RestClient.getRestTemplate().getForObject("/facturas/descuento-neto?subTotal=" + subTotal + "&descuentoPorcentaje=" + descuento_porcentaje, double.class);
txt_Descuento_Neto.setValue(descuento_neto);
//recargo
recargo_porcentaje = Double.parseDouble(txt_Recargo_Porcentaje.getValue().toString());
recargo_neto = RestClient.getRestTemplate().getForObject("/facturas/recargo-neto?" + "subTotal=" + subTotal + "&recargoPorcentaje=" + recargo_porcentaje, double.class);
txt_Recargo_Neto.setValue(recargo_neto);
//IVA 10,5% neto
iva105_netoFactura = RestClient.getRestTemplate().getForObject("/facturas/iva-neto?" + "tipoDeComprobante=" + this.tipoDeComprobante.name() + "&cantidades=" + Arrays.toString(cantidades).substring(1, Arrays.toString(cantidades).length() - 1) + "&ivaPorcentajeRenglones=" + Arrays.toString(ivaPorcentajeRenglones).substring(1, Arrays.toString(ivaPorcentajeRenglones).length() - 1) + "&ivaNetoRenglones=" + Arrays.toString(ivaNetoRenglones).substring(1, Arrays.toString(ivaNetoRenglones).length() - 1) + "&ivaPorcentaje=10.5" + "&descuentoPorcentaje=" + descuento_porcentaje + "&recargoPorcentaje=" + recargo_porcentaje, double.class);
txt_IVA_105.setValue(iva105_netoFactura);
//IVA 21% neto
iva21_netoFactura = RestClient.getRestTemplate().getForObject("/facturas/iva-neto?" + "tipoDeComprobante=" + this.tipoDeComprobante.name() + "&cantidades=" + Arrays.toString(cantidades).substring(1, Arrays.toString(cantidades).length() - 1) + "&ivaPorcentajeRenglones=" + Arrays.toString(ivaPorcentajeRenglones).substring(1, Arrays.toString(ivaPorcentajeRenglones).length() - 1) + "&ivaNetoRenglones=" + Arrays.toString(ivaNetoRenglones).substring(1, Arrays.toString(ivaNetoRenglones).length() - 1) + "&ivaPorcentaje=21" + "&descuentoPorcentaje=" + descuento_porcentaje + "&recargoPorcentaje=" + recargo_porcentaje, double.class);
txt_IVA_21.setValue(iva21_netoFactura);
//subtotal bruto
subTotalBruto = RestClient.getRestTemplate().getForObject("/facturas/subtotal-bruto?" + "tipoDeComprobante=" + tipoDeComprobante.name() + "&subTotal=" + subTotal + "&recargoNeto=" + recargo_neto + "&descuentoNeto=" + descuento_neto + "&iva105Neto=" + iva105_netoFactura + "&iva21Neto=" + iva21_netoFactura, double.class);
txt_SubTotal_Neto.setValue(subTotalBruto);
//total
total = RestClient.getRestTemplate().getForObject("/facturas/total?" + "subTotalBruto=" + subTotalBruto + "&iva105Neto=" + iva105_netoFactura + "&iva21Neto=" + iva21_netoFactura, double.class);
txt_Total.setValue(total);
} catch (RestClientResponseException ex) {
JOptionPane.showMessageDialog(this, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
} catch (ResourceAccessException ex) {
LOGGER.error(ex.getMessage());
JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_conexion"), "Error", JOptionPane.ERROR_MESSAGE);
}
}
Aggregations