Dashboard con Paneles

En el index.xhtml

 <b:row>

                <b:column span="3">
                    <b:panel look="primary" collapsed="false" collapsible="false">
                        <f:facet name="heading">
                            <i class="fa fa-television" style="padding-right:20px" />

                            <p:outputLabel value="#{msg['label.totalarticulos']}"  />
                            <b:badge  style="margin-left:10px;" value="#{dashboardIndexController.totalarticulos}"  />
                        </f:facet>
                        <b:commandLink value="#{msg['commandlink.agregararticulo']}" outcome="/pages/articulo/list" rendered="#{applicationMenu.articulo.menu}"/>
                    </b:panel>
                </b:column>

                <b:column span="3">
                    <b:panel look="primary" collapsed="false" collapsible="false">
                        <f:facet name="heading">
                            <i class="fa fa-address-card" style="padding-right:20px" />

                            <p:outputLabel value="#{msg['label.totalclientes']}"  />
                            <b:badge  style="margin-left:10px;;" value="#{dashboardIndexController.totalclientes}"  />
                        </f:facet>
                        <b:commandLink value="#{msg['commandlink.agregarclientes']}" outcome="/pages/cliente/list" rendered="#{applicationMenu.cliente.menu}"/>
                    </b:panel>
                </b:column>

                <b:column span="3">
                    <b:panel look="primary" collapsed="false" collapsible="false">
                        <f:facet name="heading">
                            <i class="fa fa-briefcase" style="padding-right:20px" />

                            <p:outputLabel value="#{msg['label.totalfacturas']}"  />
                            <b:badge  style="margin-left:10px; " value="#{dashboardIndexController.totalfacturas}"  />
                        </f:facet>
                        <b:commandLink value="#{msg['commandlink.agregarfacturas']}" outcome="/pages/factura/list" rendered="#{applicationMenu.factura.menu}"/>

                    </b:panel>
                </b:column>

                <b:column span="3">
                    <b:panel look="primary" collapsed="false" collapsible="false">
                        <f:facet name="heading">
                            <i class="fa fa-briefcase" style="padding-right:20px" />
                            <p:outputLabel value="#{msg['label.totalordenes']}"  />
                            <b:badge  style="margin-left:10px; " value="#{dashboardIndexController.totalordenes}"  />
                        </f:facet>
                        <b:commandLink value="#{msg['commandlink.agregarordenes']}" outcome="/pages/orden/list" rendered="#{applicationMenu.orden.menu}"/>

                    </b:panel>
                </b:column>
    </b:row>

Controller

@Named
@ViewScoped
public class DashboardIndexController implements Serializable {

    // <editor-fold defaultstate="collapsed" desc="fields">  
    private static final long serialVersionUID = 1L;



    @Inject
    ClienteRepository clienteRepository;
    @Inject
    AlmacenRepository almacenRepository;

    @Inject
    ArticuloRepository articuloRepository;
    @Inject
    OrdenRepository ordenRepository;
    @Inject
    FacturaRepository facturaRepository;
    @Inject
    LoginController loginController;
ErrorInfoStoreejbServices errorServices;
    @Inject
    ResourcesFiles rf;

    Integer totalarticulos;
    Integer totalclientes;
    Integer totalordenes;
    Integer totalfacturas;
    // </editor-fold>

    /**
     * Creates a new instance of DashboardController
     */
    public DashboardIndexController() {
    }

    // <editor-fold defaultstate="collapsed" desc="init">
    @PostConstruct
    public void init() {

calcularTotales();
    } // </editor-fold>

    public Integer getTotalordenes() {
        return totalordenes;
    }

    public void setTotalordenes(Integer totalordenes) {
        this.totalordenes = totalordenes;
    }





    public Integer getTotalclientes() {
        return totalclientes;
    }

    public void setTotalclientes(Integer totalclientes) {
        this.totalclientes = totalclientes;
    }

    public Integer getTotalfacturas() {
        return totalfacturas;
    }

    public void setTotalfacturas(Integer totalfacturas) {
        this.totalfacturas = totalfacturas;
    }




    public Integer getTotalarticulos() {
        return totalarticulos;
    }

    public void setTotalarticulos(Integer totalarticulos) {
        this.totalarticulos = totalarticulos;
    }

    // <editor-fold defaultstate="collapsed" desc="calcularTotales()">
    public void calcularTotales(){
        try {
              Document doc ;
            totalarticulos = articuloRepository.count(new Document("activo","si"));
            totalclientes = clienteRepository.count(new Document("activo","si"));
            totalordenes =ordenRepository.count(new Document("activo","si"));

            doc = new Document("almacen.idalmacen",loginController.getAlmacen().getIdalmacen());          
            totalfacturas =facturaRepository.count(doc);
        } catch (Exception e) {
            errorServices.errorMessage(JsfUtil.nameOfClass(),JsfUtil.nameOfMethod(), e.getLocalizedMessage());
        }
    }
    // </editor-fold>
    // <editor-fold defaultstate="collapsed" desc="goArticulos()">
    public String goArticulos(){
       return "/pages/articulo/view.xhtml";
    }
    // </editor-fold>
    // <editor-fold defaultstate="collapsed" desc="goArticulos()">
    public String goFactura(){
       return "/pages/factura/list.xhtml";
    }
    // </editor-fold>

}

Last updated