<p:chart> pie
Last updated
Was this helpful?
Last updated
Was this helpful?
Total de clientes por Tienda
public class Tienda{
@Id
private String idtienda;
]
public class Cliente{
@Id
private String idcliente;
@Rererenced()
Tienda tienda;
}
Componente
<p:chart id="grafica" widgetVar="chart"
type="pie" model="#{dashboardController.pieModelCliente}" />
Crear un atributo PieChartModel
private PieChartModel pieModelCliente;
Crear un mètodo para cargar el pieModelCliente
private void createPieModelCliente()
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.avbravo.store.controller;
// <editor-fold defaultstate="collapsed" desc="imports">
import com.avbravo.avbravoutils.JsfUtil;
import com.avbravo.store.util.ResourcesFiles;
import com.avbravo.storeejb.entity.Cliente;
import com.avbravo.storeejb.entity.Tienda;
import com.avbravo.storeejb.repository.ClienteRepository;
import com.avbravo.storeejb.repository.TiendaRepository;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.bson.Document;
import org.primefaces.model.chart.PieChartModel;
// </editor-fold>
/**
*
* @author avbravo
*/
@Named
@ViewScoped
public class DashboardController implements Serializable{
// <editor-fold defaultstate="collapsed" desc="fields">
private static final long serialVersionUID = 1L;
private PieChartModel pieModelCliente;
@Inject
ClienteRepository clienteRepository;
@Inject
TiendaRepository tiendaRepository;
@Inject
ResourcesFiles rf;
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="getter/setter">
public PieChartModel getPieModelCliente() {
return pieModelCliente;
}
public void setPieModelCliente(PieChartModel pieModelCliente) {
this.pieModelCliente = pieModelCliente;
}
// </editor-fold>
/**
* Creates a new instance of DashboardController
*/
public DashboardController() {
}
// <editor-fold defaultstate="collapsed" desc="init">
@PostConstruct
public void init() {
createPieModelCliente();
} // </editor-fold>
// <editor-fold defaultstate="collapsed" desc="createPieModelColegio">
private void createPieModelCliente() {
try {
pieModelCliente = new PieChartModel();
List<Tienda> list= tiendaRepository.findAll(new Document("idtienda",1));
for(Tienda t:list){
Integer n = clienteRepository.count(new Document("tienda.idtienda",t.getIdtienda()));
pieModelCliente.set(t.getTienda(),n);
}
pieModelCliente.setTitle(rf.getMessage("graph.cliente"));
pieModelCliente.setLegendPosition(rf.getAppMessage("info.total"));
} catch (Exception e) {
JsfUtil.errorMessage("createPieModelCliente() "+e.getLocalizedMessage());
}
}// </editor-fold>
}