Search in sources :

Example 26 with BusinessServiceException

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

the class FacturaServiceImpl method eliminar.

@Override
@Transactional
public void eliminar(long[] idsFactura) {
    for (long idFactura : idsFactura) {
        if (!pagoService.getPagosDeLaFactura(idFactura).isEmpty()) {
            throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_no_se_puede_eliminar"));
        }
        Factura factura = this.getFacturaPorId(idFactura);
        if (factura.getCAE() == 0L) {
            factura.setEliminada(true);
            this.cuentaCorrienteService.asentarEnCuentaCorriente((FacturaVenta) factura, TipoDeOperacion.ELIMINACION);
            if (factura instanceof FacturaVenta) {
                productoService.actualizarStock(this.getIdsProductosYCantidades(factura), TipoDeOperacion.ELIMINACION, Movimiento.VENTA);
            } else if (factura instanceof FacturaCompra) {
                productoService.actualizarStock(this.getIdsProductosYCantidades(factura), TipoDeOperacion.ELIMINACION, Movimiento.COMPRA);
            }
            if (factura.getPedido() != null) {
                List<Factura> facturas = new ArrayList<>();
                facturas.add(factura);
                pedidoService.actualizarEstadoPedido(factura.getPedido(), facturas);
            }
        } else {
            throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_eliminar_factura_aprobada"));
        }
    }
}
Also used : FacturaVenta(sic.modelo.FacturaVenta) BusinessServiceException(sic.service.BusinessServiceException) ArrayList(java.util.ArrayList) Factura(sic.modelo.Factura) RenglonFactura(sic.modelo.RenglonFactura) FacturaCompra(sic.modelo.FacturaCompra) Transactional(org.springframework.transaction.annotation.Transactional)

Example 27 with BusinessServiceException

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

the class PagoServiceImpl method eliminar.

@Override
@Transactional
public void eliminar(long idPago) {
    Pago pago = this.getPagoPorId(idPago);
    if (notaService.getNotaDebitoPorPago(idPago) != null) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_no_se_puede_eliminar"));
    }
    pago.setEliminado(true);
    this.cuentaCorrienteService.asentarEnCuentaCorriente(pago, TipoDeOperacion.ELIMINACION, null);
    pagoRepository.save(pago);
    if (pago.getFactura() != null) {
        facturaService.actualizarFacturaEstadoPago(pago.getFactura());
    }
    LOGGER.warn("El Pago " + pago + " se eliminĂ³ correctamente.");
}
Also used : BusinessServiceException(sic.service.BusinessServiceException) Pago(sic.modelo.Pago) FormaDePago(sic.modelo.FormaDePago) Transactional(org.springframework.transaction.annotation.Transactional)

Example 28 with BusinessServiceException

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

the class EmpresaServiceImpl method guardarLogo.

@Override
public String guardarLogo(byte[] imagen) {
    try {
        String filename = String.valueOf(new Date().getTime());
        MultipartFile file = new BASE64DecodedMultipartFile(imagen, filename);
        return amazonService.saveFileIntoS3Bucket(filename, file.getInputStream(), file.getContentType());
    } catch (IOException ex) {
        LOGGER.error(ex.getMessage());
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_error_IOException"));
    }
}
Also used : BASE64DecodedMultipartFile(sic.util.BASE64DecodedMultipartFile) BASE64DecodedMultipartFile(sic.util.BASE64DecodedMultipartFile) MultipartFile(org.springframework.web.multipart.MultipartFile) BusinessServiceException(sic.service.BusinessServiceException) IOException(java.io.IOException) Date(java.util.Date)

Example 29 with BusinessServiceException

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

the class NotaServiceImpl method eliminarNota.

@Override
@Transactional
public void eliminarNota(long[] idsNota) {
    for (long idNota : idsNota) {
        Nota nota = this.getNotaPorId(idNota);
        if (nota != null && nota.getCAE() == 0l) {
            if (!getPagosNota(idNota).isEmpty()) {
                throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_no_se_puede_eliminar"));
            }
            nota.setEliminada(true);
            this.cuentaCorrienteService.asentarEnCuentaCorriente(nota, TipoDeOperacion.ELIMINACION);
            notaRepository.save(nota);
            LOGGER.warn("La Nota " + nota + " se eliminĂ³ correctamente.");
        } else {
            throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_eliminar_factura_aprobada"));
        }
    }
}
Also used : BusinessServiceException(sic.service.BusinessServiceException) Nota(sic.modelo.Nota) Transactional(org.springframework.transaction.annotation.Transactional)

Example 30 with BusinessServiceException

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

the class NotaServiceImpl method calcularRenglonCredito.

@Override
public List<RenglonNotaCredito> calcularRenglonCredito(TipoDeComprobante tipo, double[] cantidad, long[] idRenglonFactura) {
    List<RenglonNotaCredito> renglonesNota = new ArrayList<>();
    RenglonNotaCredito renglonNota;
    if (cantidad.length == idRenglonFactura.length) {
        for (int i = 0; i < idRenglonFactura.length; i++) {
            RenglonFactura renglonFactura = facturaService.getRenglonFactura(idRenglonFactura[i]);
            if (renglonFactura.getCantidad() < cantidad[i] || cantidad[i] < 0) {
                throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_nota_de_credito_cantidad_no_valida") + " " + renglonFactura.getDescripcionItem());
            }
            renglonNota = new RenglonNotaCredito();
            renglonNota.setIdProductoItem(renglonFactura.getId_ProductoItem());
            renglonNota.setCodigoItem(renglonFactura.getCodigoItem());
            renglonNota.setDescripcionItem(renglonFactura.getDescripcionItem());
            renglonNota.setMedidaItem(renglonFactura.getMedidaItem());
            renglonNota.setCantidad(cantidad[i]);
            renglonNota.setPrecioUnitario(renglonFactura.getPrecioUnitario());
            renglonNota.setDescuentoPorcentaje(renglonFactura.getDescuento_porcentaje());
            renglonNota.setDescuentoNeto(renglonNota.getPrecioUnitario() * (renglonFactura.getDescuento_porcentaje() / 100));
            renglonNota.setGananciaPorcentaje(renglonFactura.getGanancia_porcentaje());
            renglonNota.setGananciaNeto(renglonNota.getPrecioUnitario() * (renglonNota.getGananciaPorcentaje() / 100));
            renglonNota.setIvaPorcentaje(renglonFactura.getIva_porcentaje());
            renglonNota.setIvaNeto((tipo == TipoDeComprobante.FACTURA_A || tipo == TipoDeComprobante.FACTURA_B) ? renglonFactura.getIva_neto() : 0);
            renglonNota.setImporte(renglonNota.getPrecioUnitario() * cantidad[i]);
            renglonNota.setImporteBruto(renglonNota.getImporte() - (renglonNota.getDescuentoNeto() * cantidad[i]));
            if (tipo == TipoDeComprobante.FACTURA_B) {
                renglonNota.setImporteNeto(renglonNota.getImporteBruto());
            } else {
                renglonNota.setImporteNeto(renglonNota.getImporteBruto() + (renglonNota.getIvaNeto() * cantidad[i]));
            }
            renglonesNota.add(renglonNota);
        }
    }
    return renglonesNota;
}
Also used : BusinessServiceException(sic.service.BusinessServiceException) RenglonNotaCredito(sic.modelo.RenglonNotaCredito) ArrayList(java.util.ArrayList) RenglonFactura(sic.modelo.RenglonFactura)

Aggregations

BusinessServiceException (sic.service.BusinessServiceException)33 GregorianCalendar (java.util.GregorianCalendar)12 Calendar (java.util.Calendar)11 EntityNotFoundException (javax.persistence.EntityNotFoundException)11 Transactional (org.springframework.transaction.annotation.Transactional)8 ArrayList (java.util.ArrayList)5 Date (java.util.Date)5 WebServiceClientException (org.springframework.ws.client.WebServiceClientException)4 FEAuthRequest (afip.wsfe.wsdl.FEAuthRequest)3 BooleanBuilder (com.querydsl.core.BooleanBuilder)3 RenglonFactura (sic.modelo.RenglonFactura)3 RenglonNotaCredito (sic.modelo.RenglonNotaCredito)3 LoginCms (afip.wsaa.wsdl.LoginCms)2 AlicIva (afip.wsfe.wsdl.AlicIva)2 ArrayOfAlicIva (afip.wsfe.wsdl.ArrayOfAlicIva)2 ArrayOfFECAEDetRequest (afip.wsfe.wsdl.ArrayOfFECAEDetRequest)2 FECAECabRequest (afip.wsfe.wsdl.FECAECabRequest)2 FECAEDetRequest (afip.wsfe.wsdl.FECAEDetRequest)2 FECAERequest (afip.wsfe.wsdl.FECAERequest)2 FECAEResponse (afip.wsfe.wsdl.FECAEResponse)2