use of sic.modelo.RenglonFactura in project sic by belluccifranco.
the class PuntoDeVentaGUI method calcularResultados.
private void calcularResultados() {
double subTotal;
double descuento_porcentaje;
double descuento_neto;
double recargo_porcentaje;
double recargo_neto;
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_Decuento_porcentaje.getValue().toString());
descuento_neto = RestClient.getRestTemplate().getForObject("/facturas/descuento-neto?" + "subTotal=" + subTotal + "&descuentoPorcentaje=" + descuento_porcentaje, double.class);
txt_Decuento_neto.setValue(descuento_neto);
//Regargo
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 - IVA 21% neto
iva_105_netoFactura = 0;
iva_21_netoFactura = 0;
if (tipoDeComprobante == TipoDeComprobante.FACTURA_B || tipoDeComprobante == TipoDeComprobante.FACTURA_A || tipoDeComprobante == TipoDeComprobante.PRESUPUESTO) {
iva_105_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);
iva_21_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);
}
if (tipoDeComprobante == TipoDeComprobante.FACTURA_B || tipoDeComprobante == TipoDeComprobante.PRESUPUESTO) {
txt_IVA105_neto.setValue(0);
txt_IVA21_neto.setValue(0);
} else {
txt_IVA105_neto.setValue(iva_105_netoFactura);
txt_IVA21_neto.setValue(iva_21_netoFactura);
}
//subtotal bruto
subTotalBruto = RestClient.getRestTemplate().getForObject("/facturas/subtotal-bruto?" + "tipoDeComprobante=" + tipoDeComprobante.name() + "&subTotal=" + subTotal + "&recargoNeto= " + recargo_neto + "&descuentoNeto=" + descuento_neto + "&iva105Neto=" + iva_105_netoFactura + "&iva21Neto=" + iva_21_netoFactura, double.class);
if (tipoDeComprobante == TipoDeComprobante.FACTURA_B || tipoDeComprobante == TipoDeComprobante.PRESUPUESTO) {
txt_SubTotalBruto.setValue(subTotal);
} else {
txt_SubTotalBruto.setValue(subTotalBruto);
}
//total
total = RestClient.getRestTemplate().getForObject("/facturas/total?" + "subTotalBruto=" + subTotalBruto + "&iva105Neto=" + iva_105_netoFactura + "&iva21Neto=" + iva_21_netoFactura, double.class);
txt_Total.setValue(total);
this.totalComprobante = 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);
}
}
use of sic.modelo.RenglonFactura in project sic by belluccifranco.
the class PuntoDeVentaGUI method btn_QuitarProductoActionPerformed.
//GEN-LAST:event_btn_ContinuarActionPerformed
private void btn_QuitarProductoActionPerformed(java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_btn_QuitarProductoActionPerformed
int[] indicesParaEliminar = Utilidades.getSelectedRowsModelIndices(tbl_Resultado);
List<RenglonFactura> renglonesParaBorrar = new ArrayList<>();
for (int i = 0; i < indicesParaEliminar.length; i++) {
renglonesParaBorrar.add(renglones.get(indicesParaEliminar[i]));
}
EstadoRenglon[] estadoDeRenglones = new EstadoRenglon[renglones.size()];
for (int i = 0; i < tbl_Resultado.getRowCount(); i++) {
if (((boolean) tbl_Resultado.getValueAt(i, 0)) == true) {
estadoDeRenglones[i] = EstadoRenglon.MARCADO;
} else {
estadoDeRenglones[i] = EstadoRenglon.DESMARCADO;
}
}
for (int i = 0; i < indicesParaEliminar.length; i++) {
estadoDeRenglones[indicesParaEliminar[i]] = EstadoRenglon.ELIMINADO;
}
renglonesParaBorrar.stream().forEach((renglon) -> {
renglones.remove(renglon);
});
this.cargarRenglonesAlTable(estadoDeRenglones);
this.calcularResultados();
}
use of sic.modelo.RenglonFactura in project sic by belluccifranco.
the class FacturaServiceImpl method agregarRenglonesAFacturaConIVA.
private FacturaVenta agregarRenglonesAFacturaConIVA(FacturaVenta facturaConIVA, int[] indices, List<RenglonFactura> renglones) {
List<RenglonFactura> renglonesConIVA = new ArrayList<>();
double cantidadProductosRenglonFacturaConIVA = 0;
int renglonMarcado = 0;
int numeroDeRenglon = 0;
for (RenglonFactura renglon : renglones) {
if (numeroDeRenglon == indices[renglonMarcado]) {
double cantidad = renglon.getCantidad();
if (cantidad < 1 || cantidad == 1) {
cantidadProductosRenglonFacturaConIVA = cantidad;
} else if ((cantidad % 1 != 0) || (renglon.getCantidad() % 2) == 0) {
cantidadProductosRenglonFacturaConIVA = renglon.getCantidad() / 2;
} else if ((renglon.getCantidad() % 2) != 0) {
cantidadProductosRenglonFacturaConIVA = Math.ceil(renglon.getCantidad() / 2);
}
RenglonFactura nuevoRenglonConIVA = this.calcularRenglon(facturaConIVA.getTipoComprobante(), Movimiento.VENTA, cantidadProductosRenglonFacturaConIVA, renglon.getId_ProductoItem(), renglon.getDescuento_porcentaje());
renglonesConIVA.add(nuevoRenglonConIVA);
renglonMarcado++;
numeroDeRenglon++;
} else {
numeroDeRenglon++;
RenglonFactura nuevoRenglonConIVA = this.calcularRenglon(facturaConIVA.getTipoComprobante(), Movimiento.VENTA, renglon.getCantidad(), renglon.getId_ProductoItem(), renglon.getDescuento_porcentaje());
renglonesConIVA.add(nuevoRenglonConIVA);
}
}
facturaConIVA.setRenglones(renglonesConIVA);
return facturaConIVA;
}
use of sic.modelo.RenglonFactura in project sic by belluccifranco.
the class FacturaServiceImpl method agregarRenglonesAFacturaSinIVA.
private FacturaVenta agregarRenglonesAFacturaSinIVA(FacturaVenta facturaSinIVA, int[] indices, List<RenglonFactura> renglones) {
List<RenglonFactura> renglonesSinIVA = new ArrayList<>();
double cantidadProductosRenglonFacturaSinIVA = 0;
int renglonMarcado = 0;
int numeroDeRenglon = 0;
for (RenglonFactura renglon : renglones) {
if (numeroDeRenglon == indices[renglonMarcado]) {
double cantidad = renglon.getCantidad();
if (cantidad >= 1) {
if ((cantidad % 1 != 0) || (cantidad % 2) == 0) {
cantidadProductosRenglonFacturaSinIVA = cantidad / 2;
} else if ((cantidad % 2) != 0) {
cantidadProductosRenglonFacturaSinIVA = cantidad - (Math.ceil(cantidad / 2));
}
} else {
cantidadProductosRenglonFacturaSinIVA = 0;
}
RenglonFactura nuevoRenglonSinIVA = this.calcularRenglon(TipoDeComprobante.FACTURA_X, Movimiento.VENTA, cantidadProductosRenglonFacturaSinIVA, renglon.getId_ProductoItem(), renglon.getDescuento_porcentaje());
if (nuevoRenglonSinIVA.getCantidad() != 0) {
renglonesSinIVA.add(nuevoRenglonSinIVA);
}
numeroDeRenglon++;
renglonMarcado++;
} else {
numeroDeRenglon++;
}
}
facturaSinIVA.setRenglones(renglonesSinIVA);
return facturaSinIVA;
}
use of sic.modelo.RenglonFactura in project sic by belluccifranco.
the class FacturaServiceImpl method procesarFacturaConIVA.
private FacturaVenta procesarFacturaConIVA(FacturaVenta facturaADividir, FacturaVenta facturaConIVA) {
int size = facturaConIVA.getRenglones().size();
double[] importes = new double[size];
double[] cantidades = new double[size];
double[] ivaPorcentajeRenglones = new double[size];
double[] ivaNetoRenglones = new double[size];
int indice = 0;
List<RenglonFactura> listRenglonesConIVA = new ArrayList<>(facturaConIVA.getRenglones());
facturaConIVA.setFecha(facturaADividir.getFecha());
facturaConIVA.setTipoComprobante(facturaADividir.getTipoComprobante());
facturaConIVA.setFechaVencimiento(facturaADividir.getFechaVencimiento());
facturaConIVA.setTransportista(facturaADividir.getTransportista());
facturaConIVA.setRenglones(listRenglonesConIVA);
for (RenglonFactura renglon : facturaConIVA.getRenglones()) {
importes[indice] = renglon.getImporte();
cantidades[indice] = renglon.getCantidad();
ivaPorcentajeRenglones[indice] = renglon.getIva_porcentaje();
ivaNetoRenglones[indice] = renglon.getIva_neto();
indice++;
}
facturaConIVA.setSubTotal(this.calcularSubTotal(importes));
facturaConIVA.setDescuento_neto(this.calcularDescuentoNeto(facturaConIVA.getSubTotal(), facturaConIVA.getDescuento_porcentaje()));
facturaConIVA.setRecargo_neto(this.calcularRecargoNeto(facturaConIVA.getSubTotal(), facturaConIVA.getRecargo_porcentaje()));
facturaConIVA.setIva_105_neto(this.calcularIvaNetoFactura(facturaConIVA.getTipoComprobante(), cantidades, ivaPorcentajeRenglones, ivaNetoRenglones, 10.5, facturaADividir.getDescuento_porcentaje(), facturaADividir.getRecargo_porcentaje()));
facturaConIVA.setIva_21_neto(this.calcularIvaNetoFactura(facturaConIVA.getTipoComprobante(), cantidades, ivaPorcentajeRenglones, ivaNetoRenglones, 21, facturaADividir.getDescuento_porcentaje(), facturaADividir.getRecargo_porcentaje()));
facturaConIVA.setSubTotal_bruto(this.calcularSubTotalBruto(facturaConIVA.getTipoComprobante(), facturaConIVA.getSubTotal(), facturaConIVA.getRecargo_neto(), facturaConIVA.getDescuento_neto(), facturaConIVA.getIva_105_neto(), facturaConIVA.getIva_21_neto()));
facturaConIVA.setTotal(this.calcularTotal(facturaConIVA.getSubTotal_bruto(), facturaConIVA.getIva_105_neto(), facturaConIVA.getIva_21_neto()));
facturaConIVA.setObservaciones(facturaADividir.getObservaciones());
facturaConIVA.setPagada(facturaADividir.isPagada());
facturaConIVA.setEmpresa(facturaADividir.getEmpresa());
facturaConIVA.setEliminada(facturaADividir.isEliminada());
return facturaConIVA;
}
Aggregations