Search in sources :

Example 1 with RenglonFactura

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;
}
Also used : ArrayList(java.util.ArrayList) RenglonFactura(sic.modelo.RenglonFactura) FacturaCompra(sic.modelo.FacturaCompra)

Example 2 with RenglonFactura

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;
}
Also used : FacturaVenta(sic.modelo.FacturaVenta) ArrayList(java.util.ArrayList) RenglonFactura(sic.modelo.RenglonFactura)

Example 3 with RenglonFactura

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);
}
Also used : ArrayList(java.util.ArrayList) RenglonFactura(sic.modelo.RenglonFactura) Test(org.junit.Test)

Example 4 with RenglonFactura

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);
    }
}
Also used : FacturaVenta(sic.modelo.FacturaVenta) RenglonFactura(sic.modelo.RenglonFactura) Factura(sic.modelo.Factura) RenglonFactura(sic.modelo.RenglonFactura) RestClientResponseException(org.springframework.web.client.RestClientResponseException) ResourceAccessException(org.springframework.web.client.ResourceAccessException)

Example 5 with RenglonFactura

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);
    }
}
Also used : RenglonFactura(sic.modelo.RenglonFactura) RestClientResponseException(org.springframework.web.client.RestClientResponseException) Point(java.awt.Point) ResourceAccessException(org.springframework.web.client.ResourceAccessException)

Aggregations

RenglonFactura (sic.modelo.RenglonFactura)29 ArrayList (java.util.ArrayList)16 ResourceAccessException (org.springframework.web.client.ResourceAccessException)9 RestClientResponseException (org.springframework.web.client.RestClientResponseException)9 Point (java.awt.Point)7 Test (org.junit.Test)7 Producto (sic.modelo.Producto)7 FacturaVenta (sic.modelo.FacturaVenta)6 EstadoPedido (sic.modelo.EstadoPedido)4 Factura (sic.modelo.Factura)4 Pedido (sic.modelo.Pedido)4 RenglonPedido (sic.modelo.RenglonPedido)4 Date (java.util.Date)3 ClienteBuilder (sic.builder.ClienteBuilder)3 EmpresaBuilder (sic.builder.EmpresaBuilder)3 TransportistaBuilder (sic.builder.TransportistaBuilder)3 Medida (sic.modelo.Medida)3 Usuario (sic.modelo.Usuario)3 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)2 CondicionIVABuilder (sic.builder.CondicionIVABuilder)2