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);
}
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"));
}
}
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);
}
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);
}
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);
}
Aggregations