Search in sources :

Example 16 with TipoDeComprobante

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);
}
Also used : BusinessServiceException(sic.service.BusinessServiceException) TipoDeComprobante(sic.modelo.TipoDeComprobante) GregorianCalendar(java.util.GregorianCalendar) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) EntityNotFoundException(javax.persistence.EntityNotFoundException)

Example 17 with TipoDeComprobante

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;
    }
}
Also used : Empresa(sic.modelo.Empresa) TipoDeComprobante(sic.modelo.TipoDeComprobante) Cliente(sic.modelo.Cliente)

Example 18 with TipoDeComprobante

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);
}
Also used : Empresa(sic.modelo.Empresa) TipoDeComprobante(sic.modelo.TipoDeComprobante) CondicionIVA(sic.modelo.CondicionIVA) Cliente(sic.modelo.Cliente) Test(org.junit.Test)

Example 19 with TipoDeComprobante

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);
}
Also used : Empresa(sic.modelo.Empresa) TipoDeComprobante(sic.modelo.TipoDeComprobante) CondicionIVA(sic.modelo.CondicionIVA) Cliente(sic.modelo.Cliente) Test(org.junit.Test)

Example 20 with TipoDeComprobante

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);
}
Also used : Empresa(sic.modelo.Empresa) TipoDeComprobante(sic.modelo.TipoDeComprobante) CondicionIVA(sic.modelo.CondicionIVA) Cliente(sic.modelo.Cliente) Test(org.junit.Test)

Aggregations

TipoDeComprobante (sic.modelo.TipoDeComprobante)20 Empresa (sic.modelo.Empresa)15 Test (org.junit.Test)14 CondicionIVA (sic.modelo.CondicionIVA)13 Cliente (sic.modelo.Cliente)9 Proveedor (sic.modelo.Proveedor)5 ClienteBuilder (sic.builder.ClienteBuilder)4 EmpresaBuilder (sic.builder.EmpresaBuilder)4 BusinessServiceException (sic.service.BusinessServiceException)3 Point (java.awt.Point)2 Calendar (java.util.Calendar)2 GregorianCalendar (java.util.GregorianCalendar)2 EntityNotFoundException (javax.persistence.EntityNotFoundException)2 ResourceAccessException (org.springframework.web.client.ResourceAccessException)2 RestClientResponseException (org.springframework.web.client.RestClientResponseException)2 RenglonNotaCredito (sic.modelo.RenglonNotaCredito)1