use of sic.modelo.FacturaVenta 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.FacturaVenta 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.FacturaVenta in project sic by belluccifranco.
the class PuntoDeVentaGUI method construirFactura.
public FacturaVenta construirFactura() {
FacturaVenta factura = new FacturaVenta();
factura.setFecha(this.dc_fechaFactura.getDate());
factura.setTipoComprobante(this.tipoDeComprobante);
factura.setFechaVencimiento(this.dc_fechaVencimiento.getDate());
factura.setRenglones(this.getRenglones());
factura.setObservaciones(this.txta_Observaciones.getText().trim());
factura.setEmpresa(EmpresaActiva.getInstance().getEmpresa());
factura.setCliente(this.cliente);
factura.setUsuario(UsuarioActivo.getInstance().getUsuario());
factura.setSubTotal(Double.parseDouble(txt_Subtotal.getValue().toString()));
factura.setDescuento_porcentaje(Double.parseDouble(txt_Decuento_porcentaje.getValue().toString()));
factura.setDescuento_neto(Double.parseDouble(txt_Decuento_neto.getValue().toString()));
factura.setRecargo_porcentaje(Double.parseDouble(txt_Recargo_porcentaje.getValue().toString()));
factura.setRecargo_neto(Double.parseDouble(txt_Recargo_neto.getValue().toString()));
factura.setSubTotal_bruto(subTotalBruto);
factura.setIva_105_neto(iva_105_netoFactura);
factura.setIva_21_neto(iva_21_netoFactura);
factura.setTotal(Double.parseDouble(txt_Total.getValue().toString()));
return factura;
}
use of sic.modelo.FacturaVenta in project sic by belluccifranco.
the class CajaServiceImpl method getTotalMovimientosPorFormaDePago.
private double getTotalMovimientosPorFormaDePago(Caja caja, FormaDePago fdp) {
double pagosVentasTotal = 0.0;
double pagosComprasTotal = 0.0;
double gastosTotal = 0.0;
LocalDateTime ldt = caja.getFechaApertura().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
if (caja.getFechaCierre() == null) {
ldt = ldt.withHour(23);
ldt = ldt.withMinute(59);
ldt = ldt.withSecond(59);
} else {
ldt = caja.getFechaCierre().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
}
List<Pago> pagos = pagoService.getPagosEntreFechasYFormaDePago(caja.getEmpresa().getId_Empresa(), fdp.getId_FormaDePago(), caja.getFechaApertura(), Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant()));
List<Gasto> gastos = gastoService.getGastosEntreFechasYFormaDePago(caja.getEmpresa().getId_Empresa(), fdp.getId_FormaDePago(), caja.getFechaApertura(), Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant()));
for (Pago pago : pagos) {
if (pago.getFactura() instanceof FacturaVenta) {
pagosVentasTotal += pago.getMonto();
} else if (pago.getFactura() instanceof FacturaCompra) {
pagosComprasTotal += pago.getMonto();
}
}
gastosTotal = gastos.stream().map((gasto) -> gasto.getMonto()).reduce(gastosTotal, (accumulator, _item) -> accumulator + _item);
return pagosVentasTotal - pagosComprasTotal - gastosTotal;
}
use of sic.modelo.FacturaVenta in project sic by belluccifranco.
the class FacturaRepositoryImpl method buscarFacturasVenta.
@Override
public List<FacturaVenta> buscarFacturasVenta(BusquedaFacturaVentaCriteria criteria) {
String query = "SELECT f FROM FacturaVenta f WHERE f.empresa = :empresa AND f.eliminada = false";
//Fecha
if (criteria.isBuscaPorFecha() == true) {
FormatterFechaHora formateadorFecha = new FormatterFechaHora(FormatterFechaHora.FORMATO_FECHAHORA_INTERNACIONAL);
query += " AND f.fecha BETWEEN '" + formateadorFecha.format(criteria.getFechaDesde()) + "' AND '" + formateadorFecha.format(criteria.getFechaHasta()) + "'";
}
//Cliente
if (criteria.isBuscaCliente() == true) {
query += " AND f.cliente = " + criteria.getCliente().getId_Cliente();
}
//Tipo de Factura
if (criteria.isBuscaPorTipoComprobante() == true) {
query += " AND f.tipoComprobante = " + "\'" + criteria.getTipoComprobante() + "\'";
}
//Usuario
if (criteria.isBuscaUsuario() == true) {
query += " AND f.usuario = " + criteria.getUsuario().getId_Usuario();
}
if (criteria.isBuscaViajante() == true) {
query += " AND f.cliente.viajante = " + criteria.getViajante().getId_Usuario();
}
//Nro de Factura
if (criteria.isBuscaPorNumeroFactura() == true) {
query += " AND f.numSerie = " + criteria.getNumSerie() + " AND f.numFactura = " + criteria.getNumFactura();
}
//Pedido
if (criteria.isBuscarPorPedido() == true) {
query += " AND f.pedido.nroPedido = " + criteria.getNroPedido();
}
//Inpagas
if (criteria.isBuscaSoloImpagas() == true) {
query += " AND f.pagada = false";
}
//Pagas
if (criteria.isBuscaSoloPagadas() == true) {
query += " AND f.pagada = true";
}
query += " ORDER BY f.fecha DESC";
TypedQuery<FacturaVenta> typedQuery = em.createQuery(query, FacturaVenta.class);
typedQuery.setParameter("empresa", criteria.getEmpresa());
//si es 0, recupera TODOS los registros
if (criteria.getCantRegistros() != 0) {
typedQuery.setMaxResults(criteria.getCantRegistros());
}
return typedQuery.getResultList();
}
Aggregations