1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Dúvida para manipular uma propriedade anotada com @Transient

Olá a todos !

Estou com o seguinte problema que eu nunca passei, e não estou conseguindo resolver. Tenho um DataTable (RichFaces) onde são apresentados as informações de vendas de um cliente. Dentro desse DataTable, tem uma coluna de percentual de venda de cada cliente, exemplo percentual (A, B, C) "Tipo char". Ao mudar as letras no DataTable, altera os valores de porcentagem de venda de cada cliente no DataTable apresentando somente os clientes com a letra que você selecionou. Essa propriedade se chama TipoPorcentagem e está marcada com uma anotação @Transient na minha Classe InfVendaCli. Eu gostaria de saber, como eu calculo o total de clientes de cada percentual (A), (B) e (C). Exemplo, ao selecionar o percentual (A), ele calcula o total de clientes com esse percentual, e assim sucessivamente. Se alguém puder me dar um exemplo simples de como fazer isso.

Obrigado !

**Meu Bean**
private int totalDeClientesPorPercentual;


private void calcPercent() {

        BigDecimal totalVendMes = getValorCompraMes();
        BigDecimal percentual = BigDecimal.ZERO;
        List<InfVendaCli> curvas = new ArrayList<InformacaoVendaCliente>();

        for (InfVendaCli resumoHistCli : getListagem()) {
            if (resumoHistCli.getValorVendaMes().compareTo(BigDecimal.ZERO) > 0) {
                percentual = percentual.add(resumoHistCli.getValorVendaMes().divide(totalVendMes, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));

                if (percentual.compareTo(new BigDecimal(70)) < 0) {
                    totalVendMes.setTipoPorcentagem('A');

                } else if (percentual.compareTo(new BigDecimal(70)) > 0 && percentual.compareTo(new BigDecimal(90)) < 0) {
                    resumoHistoricoCliente.setTipoPorcentagem('B');

                } else if (percentual.compareTo(new BigDecimal(90)) > 0 && percentual.compareTo(new BigDecimal(101)) < 0) {
                    resumoHistoricoCliente.setTipoPorcentagem('C');

                }

            }

            curvas.add(resumoHistCli);
            calculaTotalClientesPorCurva(curvas);


        }

    }


public int calculaTotalClientesPorPercentual(List<InformacaoVendaCliente> curva){
        iniciarVariaveis();
        char curvaCli;        
        int total = 0;
        for (InformacaoVendaCliente buscar : curva) {
                curvaCli = buscar.getTipoCurva();

            if (curvaCli == 'A') {
                total = total + 1;                
            }

            if (curvaCli == 'B') {
                total = total + 1;
            }

            if (curvaCli == 'C') {
                total = total + 1;
            }
        }
        return totalDeClientesPorPercentual = total;


    }

    public int getTotalDeClientesPorPercentual() {
        return totalDeClientesPorPercentual;
    }

    public void setTotalDeClientesPorPercentual(int totalDeClientesPorPercentual) {
        this.totalDeClientesPorPercentual = totalDeClientesPorPercentual;
    }
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java java-ee hibernate richfaces jsf jboss primefaces ou faça a sua própria pergunta.