Search in sources :

Example 1 with FormatterFechaHora

use of sic.util.FormatterFechaHora in project sic by belluccifranco.

the class PedidoServiceImpl method buscarConCriteria.

@Override
public List<Pedido> buscarConCriteria(BusquedaPedidoCriteria criteria) {
    //Fecha
    if (criteria.isBuscaPorFecha() == true & (criteria.getFechaDesde() == null | criteria.getFechaHasta() == null)) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_pedido_fechas_busqueda_invalidas"));
    }
    if (criteria.isBuscaPorFecha() == true) {
        Calendar cal = new GregorianCalendar();
        cal.setTime(criteria.getFechaDesde());
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        criteria.setFechaDesde(cal.getTime());
        cal.setTime(criteria.getFechaHasta());
        cal.set(Calendar.HOUR_OF_DAY, 23);
        cal.set(Calendar.MINUTE, 59);
        cal.set(Calendar.SECOND, 59);
        criteria.setFechaHasta(cal.getTime());
    }
    //Empresa
    if (criteria.getEmpresa() == null) {
        throw new EntityNotFoundException(ResourceBundle.getBundle("Mensajes").getString("mensaje_empresa_no_existente"));
    }
    //Cliente
    if (criteria.isBuscaCliente() == true && criteria.getCliente() == null) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_cliente_vacio_razonSocial"));
    }
    //Usuario
    if (criteria.isBuscaUsuario() == true && criteria.getUsuario() == null) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_usuario_vacio_nombre"));
    }
    QPedido qpedido = QPedido.pedido;
    BooleanBuilder builder = new BooleanBuilder();
    builder.and(qpedido.empresa.eq(criteria.getEmpresa()).and(qpedido.eliminado.eq(false)));
    if (criteria.isBuscaPorFecha() == true) {
        FormatterFechaHora formateadorFecha = new FormatterFechaHora(FormatterFechaHora.FORMATO_FECHAHORA_INTERNACIONAL);
        DateExpression<Date> fDesde = Expressions.dateTemplate(Date.class, "convert({0}, datetime)", formateadorFecha.format(criteria.getFechaDesde()));
        DateExpression<Date> fHasta = Expressions.dateTemplate(Date.class, "convert({0}, datetime)", formateadorFecha.format(criteria.getFechaHasta()));
        builder.and(qpedido.fecha.between(fDesde, fHasta));
    }
    if (criteria.isBuscaCliente() == true) {
        builder.and(qpedido.cliente.eq(criteria.getCliente()));
    }
    if (criteria.isBuscaUsuario() == true) {
        builder.and(qpedido.usuario.eq(criteria.getUsuario()));
    }
    if (criteria.isBuscaPorNroPedido() == true) {
        builder.and(qpedido.nroPedido.eq(criteria.getNroPedido()));
    }
    List<Pedido> pedidos = new ArrayList<>();
    pedidoRepository.findAll(builder, new Sort(Sort.Direction.DESC, "fecha")).iterator().forEachRemaining(pedidos::add);
    return this.calcularTotalActualDePedidos(pedidos);
}
Also used : FormatterFechaHora(sic.util.FormatterFechaHora) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) RenglonPedido(sic.modelo.RenglonPedido) QPedido(sic.modelo.QPedido) Pedido(sic.modelo.Pedido) EstadoPedido(sic.modelo.EstadoPedido) GregorianCalendar(java.util.GregorianCalendar) ArrayList(java.util.ArrayList) EntityNotFoundException(javax.persistence.EntityNotFoundException) QPedido(sic.modelo.QPedido) Date(java.util.Date) BusinessServiceException(sic.service.BusinessServiceException) BooleanBuilder(com.querydsl.core.BooleanBuilder) Sort(org.springframework.data.domain.Sort)

Example 2 with FormatterFechaHora

use of sic.util.FormatterFechaHora in project sic by belluccifranco.

the class CajasGUI method cargarResultadosAlTable.

private void cargarResultadosAlTable() {
    double totalFinal = 0.0;
    double totalCierre = 0.0;
    for (Caja caja : cajas) {
        Object[] fila = new Object[8];
        fila[0] = caja.getEstado();
        fila[1] = caja.getFechaApertura();
        fila[2] = (new FormatterFechaHora(FormatterFechaHora.FORMATO_HORA_INTERNACIONAL)).format(caja.getFechaCorteInforme());
        if (caja.getFechaCierre() != null) {
            fila[3] = caja.getFechaCierre();
        }
        fila[4] = (caja.getUsuarioCierraCaja() != null ? caja.getUsuarioCierraCaja() : "");
        fila[5] = caja.getSaldoInicial();
        fila[6] = caja.getSaldoFinal();
        fila[7] = (caja.getEstado().equals(EstadoCaja.CERRADA) ? caja.getSaldoReal() : 0.0);
        totalFinal += caja.getSaldoFinal();
        totalCierre += caja.getSaldoReal();
        modeloTablaCajas.addRow(fila);
    }
    tbl_Cajas.setModel(modeloTablaCajas);
    tbl_Cajas.getColumnModel().getColumn(0).setCellRenderer(new ColoresEstadosRenderer());
    ftxt_TotalFinal.setValue(totalFinal);
    ftxt_TotalCierre.setValue(totalCierre);
    lbl_cantidadMostrar.setText(cajas.size() + " Cajas encontradas");
}
Also used : FormatterFechaHora(sic.util.FormatterFechaHora) ColoresEstadosRenderer(sic.util.ColoresEstadosRenderer) Caja(sic.modelo.Caja) EstadoCaja(sic.modelo.EstadoCaja)

Example 3 with FormatterFechaHora

use of sic.util.FormatterFechaHora in project sic by belluccifranco.

the class CajaServiceImpl method getCajasCriteria.

@Override
public List<Caja> getCajasCriteria(BusquedaCajaCriteria criteria) {
    //Empresa
    if (criteria.getEmpresa() == null) {
        throw new EntityNotFoundException(ResourceBundle.getBundle("Mensajes").getString("mensaje_empresa_no_existente"));
    }
    //Fecha
    if (criteria.isBuscaPorFecha() == true && (criteria.getFechaDesde() == null || criteria.getFechaHasta() == null)) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_caja_fechas_invalidas"));
    }
    if (criteria.isBuscaPorFecha() == true) {
        Calendar cal = new GregorianCalendar();
        cal.setTime(criteria.getFechaDesde());
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        criteria.setFechaDesde(cal.getTime());
        cal.setTime(criteria.getFechaHasta());
        cal.set(Calendar.HOUR_OF_DAY, 23);
        cal.set(Calendar.MINUTE, 59);
        cal.set(Calendar.SECOND, 59);
        criteria.setFechaHasta(cal.getTime());
    }
    if (criteria.getEmpresa() == null) {
        throw new EntityNotFoundException(ResourceBundle.getBundle("Mensajes").getString("mensaje_empresa_no_existente"));
    }
    QCaja qcaja = QCaja.caja;
    BooleanBuilder builder = new BooleanBuilder();
    builder.and(qcaja.empresa.eq(criteria.getEmpresa()).and(qcaja.eliminada.eq(false)));
    if (criteria.isBuscaPorUsuario() == true) {
        builder.and(qcaja.usuarioCierraCaja.eq(criteria.getUsuario()));
    }
    if (criteria.isBuscaPorFecha() == true) {
        FormatterFechaHora formateadorFecha = new FormatterFechaHora(FormatterFechaHora.FORMATO_FECHAHORA_INTERNACIONAL);
        DateExpression<Date> fDesde = Expressions.dateTemplate(Date.class, "convert({0}, datetime)", formateadorFecha.format(criteria.getFechaDesde()));
        DateExpression<Date> fHasta = Expressions.dateTemplate(Date.class, "convert({0}, datetime)", formateadorFecha.format(criteria.getFechaHasta()));
        builder.and(qcaja.fechaApertura.between(fDesde, fHasta));
    }
    List<Caja> cajas = new ArrayList<>();
    cajaRepository.findAll(builder, new Sort(Sort.Direction.DESC, "fechaApertura")).iterator().forEachRemaining(cajas::add);
    return cajas;
}
Also used : FormatterFechaHora(sic.util.FormatterFechaHora) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) GregorianCalendar(java.util.GregorianCalendar) ArrayList(java.util.ArrayList) Caja(sic.modelo.Caja) QCaja(sic.modelo.QCaja) EstadoCaja(sic.modelo.EstadoCaja) EntityNotFoundException(javax.persistence.EntityNotFoundException) Date(java.util.Date) LocalDate(java.time.LocalDate) BusinessServiceException(sic.service.BusinessServiceException) QCaja(sic.modelo.QCaja) BooleanBuilder(com.querydsl.core.BooleanBuilder) Sort(org.springframework.data.domain.Sort)

Example 4 with FormatterFechaHora

use of sic.util.FormatterFechaHora in project sic by belluccifranco.

the class FacturaRepositoryImpl method calcularIVA_Compra.

@Override
public double calcularIVA_Compra(BusquedaFacturaCompraCriteria criteria, TipoDeComprobante[] tipoComprobante) {
    String query = "SELECT SUM(f.iva_105_neto + f.iva_21_neto) FROM FacturaCompra f WHERE f.empresa = :empresa AND f.eliminada = false";
    //Fecha Factura
    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()) + "'";
    }
    //Proveedor
    if (criteria.isBuscaPorProveedor() == true) {
        query += " AND f.proveedor = " + criteria.getProveedor().getId_Proveedor();
    }
    for (int i = 0; i < tipoComprobante.length; i++) {
        if (i == 0) {
            query += " AND ( f.tipoComprobante = \'" + tipoComprobante[i] + "\'";
        } else {
            query += " OR f.tipoComprobante = \'" + tipoComprobante[i] + "\'";
        }
    }
    query += " )";
    //Nro de Factura
    if (criteria.isBuscaPorNumeroFactura() == true) {
        query += " AND f.numSerie = " + criteria.getNumSerie() + " AND f.numFactura = " + criteria.getNumFactura();
    }
    //Inpagas
    if (criteria.isBuscarSoloInpagas() == true) {
        query += " AND f.pagada = false";
    }
    //Pagas
    if (criteria.isBuscaSoloPagadas() == true) {
        query += " AND f.pagada = true";
    }
    query += " ORDER BY f.fecha DESC";
    TypedQuery<Double> typedQuery = em.createQuery(query, Double.class);
    typedQuery.setParameter("empresa", criteria.getEmpresa());
    //si es 0, recupera TODOS los registros
    if (criteria.getCantRegistros() != 0) {
        typedQuery.setMaxResults(criteria.getCantRegistros());
    }
    return (typedQuery.getSingleResult() == null) ? 0.0 : typedQuery.getSingleResult();
}
Also used : FormatterFechaHora(sic.util.FormatterFechaHora)

Example 5 with FormatterFechaHora

use of sic.util.FormatterFechaHora 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();
}
Also used : FormatterFechaHora(sic.util.FormatterFechaHora) FacturaVenta(sic.modelo.FacturaVenta)

Aggregations

FormatterFechaHora (sic.util.FormatterFechaHora)11 BooleanBuilder (com.querydsl.core.BooleanBuilder)2 ArrayList (java.util.ArrayList)2 Calendar (java.util.Calendar)2 Date (java.util.Date)2 GregorianCalendar (java.util.GregorianCalendar)2 EntityNotFoundException (javax.persistence.EntityNotFoundException)2 Sort (org.springframework.data.domain.Sort)2 Caja (sic.modelo.Caja)2 EstadoCaja (sic.modelo.EstadoCaja)2 BusinessServiceException (sic.service.BusinessServiceException)2 LocalDate (java.time.LocalDate)1 EstadoPedido (sic.modelo.EstadoPedido)1 FacturaCompra (sic.modelo.FacturaCompra)1 FacturaVenta (sic.modelo.FacturaVenta)1 Pedido (sic.modelo.Pedido)1 QCaja (sic.modelo.QCaja)1 QPedido (sic.modelo.QPedido)1 RenglonPedido (sic.modelo.RenglonPedido)1 ColoresEstadosRenderer (sic.util.ColoresEstadosRenderer)1