use of sic.modelo.TipoDeComprobante in project sic by belluccifranco.
the class FacturaServiceImpl method calcularIvaVenta.
@Override
public double calcularIvaVenta(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"));
}
TipoDeComprobante[] tipoFactura = { TipoDeComprobante.FACTURA_A, TipoDeComprobante.FACTURA_B };
return facturaVentaRepository.calcularIVA_Venta(criteria, tipoFactura);
}
use of sic.modelo.TipoDeComprobante in project sic by belluccifranco.
the class NotaServiceImpl method getTipoNota.
@Override
public TipoDeComprobante[] getTipoNota(Long idCliente, Long idEmpresa) {
Empresa empresa = empresaService.getEmpresaPorId(idEmpresa);
Cliente cliente = clienteService.getClientePorId(idCliente);
if (empresa.getCondicionIVA().isDiscriminaIVA() && cliente.getCondicionIVA().isDiscriminaIVA()) {
TipoDeComprobante[] tiposPermitidos = new TipoDeComprobante[4];
tiposPermitidos[0] = TipoDeComprobante.NOTA_CREDITO_A;
tiposPermitidos[1] = TipoDeComprobante.NOTA_CREDITO_X;
tiposPermitidos[2] = TipoDeComprobante.NOTA_DEBITO_A;
tiposPermitidos[3] = TipoDeComprobante.NOTA_DEBITO_X;
return tiposPermitidos;
} else if (empresa.getCondicionIVA().isDiscriminaIVA() && !cliente.getCondicionIVA().isDiscriminaIVA()) {
TipoDeComprobante[] tiposPermitidos = new TipoDeComprobante[4];
tiposPermitidos[0] = TipoDeComprobante.NOTA_CREDITO_B;
tiposPermitidos[1] = TipoDeComprobante.NOTA_CREDITO_X;
tiposPermitidos[2] = TipoDeComprobante.NOTA_DEBITO_B;
tiposPermitidos[3] = TipoDeComprobante.NOTA_DEBITO_X;
return tiposPermitidos;
} else {
TipoDeComprobante[] tiposPermitidos = new TipoDeComprobante[2];
tiposPermitidos[0] = TipoDeComprobante.NOTA_CREDITO_X;
tiposPermitidos[1] = TipoDeComprobante.NOTA_DEBITO_X;
return tiposPermitidos;
}
}
use of sic.modelo.TipoDeComprobante in project sic by belluccifranco.
the class FacturaServiceImplTest method shouldGetTipoFacturaVentaWhenEmpresaDiscriminaYClienteTambien.
@Test
public void shouldGetTipoFacturaVentaWhenEmpresaDiscriminaYClienteTambien() {
Empresa empresa = Mockito.mock(Empresa.class);
Cliente cliente = Mockito.mock(Cliente.class);
CondicionIVA condicionIVAqueDiscrimina = Mockito.mock(CondicionIVA.class);
when(condicionIVAqueDiscrimina.isDiscriminaIVA()).thenReturn(Boolean.TRUE);
when(empresa.getCondicionIVA()).thenReturn(condicionIVAqueDiscrimina);
when(cliente.getCondicionIVA()).thenReturn(condicionIVAqueDiscrimina);
TipoDeComprobante[] expResult = { TipoDeComprobante.FACTURA_A, TipoDeComprobante.FACTURA_X, TipoDeComprobante.FACTURA_Y, TipoDeComprobante.PRESUPUESTO };
TipoDeComprobante[] result = facturaService.getTipoFacturaVenta(empresa, cliente);
assertArrayEquals(expResult, result);
}
use of sic.modelo.TipoDeComprobante in project sic by belluccifranco.
the class FacturaServiceImplTest method shouldGetTipoFacturaVentaWhenEmpresaNoDiscriminaYClienteSi.
@Test
public void shouldGetTipoFacturaVentaWhenEmpresaNoDiscriminaYClienteSi() {
Empresa empresa = Mockito.mock(Empresa.class);
Cliente cliente = Mockito.mock(Cliente.class);
CondicionIVA condicionIVAqueDiscrimina = Mockito.mock(CondicionIVA.class);
CondicionIVA condicionIVAqueNoDiscrimina = Mockito.mock(CondicionIVA.class);
when(condicionIVAqueDiscrimina.isDiscriminaIVA()).thenReturn(Boolean.TRUE);
when(condicionIVAqueNoDiscrimina.isDiscriminaIVA()).thenReturn(Boolean.FALSE);
when(empresa.getCondicionIVA()).thenReturn(condicionIVAqueNoDiscrimina);
when(cliente.getCondicionIVA()).thenReturn(condicionIVAqueDiscrimina);
TipoDeComprobante[] expResult = { TipoDeComprobante.FACTURA_C, TipoDeComprobante.FACTURA_X, TipoDeComprobante.FACTURA_Y, TipoDeComprobante.PRESUPUESTO };
TipoDeComprobante[] result = facturaService.getTipoFacturaVenta(empresa, cliente);
assertArrayEquals(expResult, result);
}
use of sic.modelo.TipoDeComprobante in project sic by belluccifranco.
the class FacturaServiceImplTest method shouldGetTipoFacturaVentaWhenEmpresaDiscriminaYClienteNo.
@Test
public void shouldGetTipoFacturaVentaWhenEmpresaDiscriminaYClienteNo() {
Empresa empresa = Mockito.mock(Empresa.class);
Cliente cliente = Mockito.mock(Cliente.class);
CondicionIVA condicionIVAqueDiscrimina = Mockito.mock(CondicionIVA.class);
CondicionIVA condicionIVAqueNoDiscrimina = Mockito.mock(CondicionIVA.class);
when(condicionIVAqueDiscrimina.isDiscriminaIVA()).thenReturn(Boolean.TRUE);
when(condicionIVAqueNoDiscrimina.isDiscriminaIVA()).thenReturn(Boolean.FALSE);
when(empresa.getCondicionIVA()).thenReturn(condicionIVAqueDiscrimina);
when(cliente.getCondicionIVA()).thenReturn(condicionIVAqueNoDiscrimina);
TipoDeComprobante[] expResult = { TipoDeComprobante.FACTURA_B, TipoDeComprobante.FACTURA_X, TipoDeComprobante.FACTURA_Y, TipoDeComprobante.PRESUPUESTO };
TipoDeComprobante[] result = facturaService.getTipoFacturaVenta(empresa, cliente);
assertArrayEquals(expResult, result);
}
Aggregations