4
respostas

Usar o componente do primefaces para graficos

Opa, boa tarde, olhando no primefaces tem um componente para graficos, eu fiz um teste aqui, e rolou, porém não sei se está correto, poderiam me ajudar? Eu tenho no meu projeto uma tabela de parcelas, e eu queria mostrar isso na minha tabela, Por exemplo, quero mostrar no graficos todas as parcelas realizadas, porem fazer um risco no meu grafico com quantas parcelas pendente ainda tenho para receber, deu para entender? Fazer um grafico com todas as parcelas, e fazer um risco no grafico para mostrar as parcelas (PENDENTE) fiz um exemplo aqui, porem não cheguei no resultado kkk, vou postar aqui, lembrando segui o exemplo do primefaces, não sei oque cada uma coisa faz.

<ui:define name="content">
        <div class="ui-g">
            <div class="ui-g-12">
                <div class="ui-fluid">
                    <h:form id="cargoTabela">
                        <p:chart type="bar" model="#{graficosBean.contasModel}" style="height:300px;" responsive="true"/>
                    </h:form>
                </div>
            </div>
        </div>
    </ui:define>
</ui:composition>
@Named
@ViewScoped
@SuppressWarnings("serial")
public class GraficosBean implements Serializable {

    @Inject
    private ParcelaCompraDao parcelaCompraDao;


    public BarChartModel getContasModel() {

        BarChartModel model = new BarChartModel();
        ChartSeries chart = new ChartSeries();
        chart.setLabel("Contas a pagar");

        List<ParcelaCompra> getListaParcelas = parcelaCompraDao.lista();

        for(ParcelaCompra p: getListaParcelas) {
            chart.set(p.getStatusCompra(), p.getCodigo());
        }


        model.setTitle("Contas a receber");
        model.setLegendPosition("ne");
        Axis axis = model.getAxis(AxisType.X);
        axis.setLabel("Titulo");
        Axis axisY = model.getAxis(AxisType.Y);
        axisY.setLabel("Quantidade");
        model.addSeries(chart);

        return model;
    }

    public ParcelaCompraDao getParcelaCompraDao() {
        return parcelaCompraDao;
    }

    public void setParcelaCompraDao(ParcelaCompraDao parcelaCompraDao) {
        this.parcelaCompraDao = parcelaCompraDao;
    }

}

Oque devo mudar no meu controller? E a do jeito que tá não tá passando risco nenhum para mostrar.

4 respostas

Alisson, tudo bem ?

Cara não entendi a necessidade disso, consegue me explicar um pouco melhor, qual é o contexto e ai eu tento te ajudar.

Abraços

Opa boa noite Matheus, bom?

Cara eu quero uma página html, que mostre um grafico das parcelas geradas, e nessas parcelas geradas mostrar quantas parcelas já foram pagas, deu para enteder? É possivel realizar?

Olá Alisson o que você quer é possivel realizar, porém só utilizando primefaces não é possivel, dê uma estudada em Angular JS2 e NODE JS. O Primeface na pagina showcase

https://www.primefaces.org/showcase/

lhe dar todos os componentes necessários, junto com o codigo java e como implemeta-los.

Seu projeto é bem especifico, por isso será difiicl encontrar pronto, terá que se aprofundar mais nesse conceito.

Alisson, tudo bem ?

Cara acho que ia ficar legal o seguinte :

  • uma lista com todas as parcelas, mostrando qual já foi paga e quais ainda não,
  • E um gráfico de pizza mostrando pagas e não pagas.