Search in sources :

Example 11 with BusinessServiceException

use of sic.service.BusinessServiceException in project sic by belluccifranco.

the class GastoServiceImpl method eliminar.

@Override
@Transactional
public void eliminar(long idGasto) {
    Gasto gastoParaEliminar = this.getGastoPorId(idGasto);
    if (this.cajaService.getUltimaCaja(gastoParaEliminar.getEmpresa().getId_Empresa()).getEstado().equals(EstadoCaja.CERRADA)) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_gasto_caja_cerrada"));
    }
    gastoParaEliminar.setEliminado(true);
    gastoRepository.save(gastoParaEliminar);
}
Also used : Gasto(sic.modelo.Gasto) BusinessServiceException(sic.service.BusinessServiceException) Transactional(org.springframework.transaction.annotation.Transactional)

Example 12 with BusinessServiceException

use of sic.service.BusinessServiceException in project sic by belluccifranco.

the class PagoServiceImpl method pagarMultiplesFacturas.

@Override
@Transactional
public void pagarMultiplesFacturas(List<Factura> facturas, double monto, FormaDePago formaDePago, String nota) {
    if (monto <= this.calcularTotalAdeudadoFacturas(facturas)) {
        List<Factura> facturasOrdenadas = facturaService.ordenarFacturasPorFechaAsc(facturas);
        for (Factura factura : facturasOrdenadas) {
            if (monto > 0.0) {
                factura.setPagos(this.getPagosDeLaFactura(factura.getId_Factura()));
                Pago nuevoPago = new Pago();
                nuevoPago.setFormaDePago(formaDePago);
                nuevoPago.setFactura(factura);
                nuevoPago.setFecha(new Date());
                nuevoPago.setEmpresa(factura.getEmpresa());
                nuevoPago.setNota(nota);
                double saldoAPagar = this.getSaldoAPagar(factura);
                if (saldoAPagar <= monto) {
                    monto = monto - saldoAPagar;
                    // Se utiliza round por un problema de presicion de la maquina ej: 828.65 - 614.0 = 214.64999...
                    monto = Math.round(monto * 100.0) / 100.0;
                    nuevoPago.setMonto(saldoAPagar);
                } else {
                    nuevoPago.setMonto(monto);
                    monto = 0.0;
                }
                this.guardar(nuevoPago);
            }
        }
    } else {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_pago_mayorADeuda_monto"));
    }
}
Also used : BusinessServiceException(sic.service.BusinessServiceException) Factura(sic.modelo.Factura) Pago(sic.modelo.Pago) FormaDePago(sic.modelo.FormaDePago) Date(java.util.Date) Transactional(org.springframework.transaction.annotation.Transactional)

Example 13 with BusinessServiceException

use of sic.service.BusinessServiceException in project sic by belluccifranco.

the class FacturaServiceImpl method calcularIvaCompra.

@Override
public double calcularIvaCompra(BusquedaFacturaCompraCriteria criteria) {
    //Empresa
    if (criteria.getEmpresa() == null) {
        throw new EntityNotFoundException(ResourceBundle.getBundle("Mensajes").getString("mensaje_empresa_no_existente"));
    }
    //Fecha de Factura        
    if (criteria.isBuscaPorFecha() == true & (criteria.getFechaDesde() == null | criteria.getFechaHasta() == null)) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_factura_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());
    }
    //Proveedor
    if (criteria.isBuscaPorProveedor() == true && criteria.getProveedor() == null) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_factura_proveedor_vacio"));
    }
    TipoDeComprobante[] tipoFactura = { TipoDeComprobante.FACTURA_A };
    return facturaRepository.calcularIVA_Compra(criteria, tipoFactura);
}
Also used : BusinessServiceException(sic.service.BusinessServiceException) TipoDeComprobante(sic.modelo.TipoDeComprobante) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) GregorianCalendar(java.util.GregorianCalendar) EntityNotFoundException(javax.persistence.EntityNotFoundException)

Example 14 with BusinessServiceException

use of sic.service.BusinessServiceException in project sic by belluccifranco.

the class FacturaServiceImpl method calcularTotalFacturadoCompra.

@Override
public double calcularTotalFacturadoCompra(BusquedaFacturaCompraCriteria criteria) {
    //Empresa
    if (criteria.getEmpresa() == null) {
        throw new EntityNotFoundException(ResourceBundle.getBundle("Mensajes").getString("mensaje_empresa_no_existente"));
    }
    //Fecha de Factura        
    if (criteria.isBuscaPorFecha() == true & (criteria.getFechaDesde() == null | criteria.getFechaHasta() == null)) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_factura_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());
    }
    //Proveedor
    if (criteria.isBuscaPorProveedor() == true && criteria.getProveedor() == null) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_factura_proveedor_vacio"));
    }
    return facturaRepository.calcularTotalFacturadoCompra(criteria);
}
Also used : BusinessServiceException(sic.service.BusinessServiceException) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) GregorianCalendar(java.util.GregorianCalendar) EntityNotFoundException(javax.persistence.EntityNotFoundException)

Example 15 with BusinessServiceException

use of sic.service.BusinessServiceException in project sic by belluccifranco.

the class FacturaServiceImpl method calcularGananciaTotal.

@Override
public double calcularGananciaTotal(BusquedaFacturaVentaCriteria criteria) {
    //Empresa
    if (criteria.getEmpresa() == null) {
        throw new EntityNotFoundException(ResourceBundle.getBundle("Mensajes").getString("mensaje_empresa_no_existente"));
    }
    //Fecha de Factura        
    if (criteria.isBuscaPorFecha() == true && (criteria.getFechaDesde() == null || criteria.getFechaHasta() == null)) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_factura_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());
    }
    //Cliente
    if (criteria.isBuscaCliente() == true && criteria.getCliente() == null) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_factura_cliente_vacio"));
    }
    //Usuario
    if (criteria.isBuscaUsuario() == true && criteria.getUsuario() == null) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_factura_usuario_vacio"));
    }
    if (criteria.isBuscaViajante() == true && criteria.getViajante() == null) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_factura_viajante_vacio"));
    }
    return facturaRepository.calcularGananciaTotal(criteria);
}
Also used : BusinessServiceException(sic.service.BusinessServiceException) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) GregorianCalendar(java.util.GregorianCalendar) EntityNotFoundException(javax.persistence.EntityNotFoundException)

Aggregations

BusinessServiceException (sic.service.BusinessServiceException)23 GregorianCalendar (java.util.GregorianCalendar)12 Calendar (java.util.Calendar)11 EntityNotFoundException (javax.persistence.EntityNotFoundException)11 ArrayList (java.util.ArrayList)6 Date (java.util.Date)5 Transactional (org.springframework.transaction.annotation.Transactional)5 BooleanBuilder (com.querydsl.core.BooleanBuilder)3 WebServiceClientException (org.springframework.ws.client.WebServiceClientException)3 QProducto (sic.modelo.QProducto)3 Sort (org.springframework.data.domain.Sort)2 AfipWSAACredencial (sic.modelo.AfipWSAACredencial)2 Factura (sic.modelo.Factura)2 Producto (sic.modelo.Producto)2 RenglonFactura (sic.modelo.RenglonFactura)2 FormatterFechaHora (sic.util.FormatterFechaHora)2 LoginCms (afip.wsaa.wsdl.LoginCms)1 AlicIva (afip.wsfe.wsdl.AlicIva)1 ArrayOfAlicIva (afip.wsfe.wsdl.ArrayOfAlicIva)1 ArrayOfFECAEDetRequest (afip.wsfe.wsdl.ArrayOfFECAEDetRequest)1