I am trying to build a module of a system of audits using JSF, the summary of the module is: there are audit projects which have questions that a lead auditor must answer and if he can not answer the question, he generates a requirement to a assistant auditor, questions are associated with a factor and many factors are within an activity ....
I'm having trouble generating the following view (it's a mockup):
Using a simulation in the console works, that is if the code is very verbose and I know it can be improved:
int banderaPlaneacionEstrategica = 0;
int banderaPlaneacionTactica = 0;
int banderaPlaneacionOperativa = 0;
int banderaEjecucionEstrategica = 0;
int banderaEjecucionTactica = 0;
int banderaEjecucionOperativa = 0;
for (DetalleProyecto dp : proyectoSeleccionado.getDetalleProyectoList()) {
if (dp.getPreguntasId().getFactoresId().getActividadesid().getNombre().equals("Planeacion estrategica") && banderaPlaneacionEstrategica == 0) {
System.out.println(dp.getPreguntasId().getFactoresId().getActividadesid().getNombre());
for (Factor f : dp.getPreguntasId().getFactoresId().getActividadesid().getFactorList()) {
if (f.getActividadesid().equals(dp.getPreguntasId().getFactoresId().getActividadesid())) {
System.out.println("\t" + f.getNombre());
for (Pregunta pregunta : dp.getPreguntasId().getFactoresId().getPreguntaList()) {
if (pregunta.getFactoresId().equals(f)) {
System.out.println("\t\t" + pregunta.getNombrePregunta());
}
}
}
}
banderaPlaneacionEstrategica = 1;
}
if (dp.getPreguntasId().getFactoresId().getActividadesid().getNombre().equals("Planeacion tactica") && banderaPlaneacionTactica == 0) {
System.out.println(dp.getPreguntasId().getFactoresId().getActividadesid().getNombre());
for (Factor f : dp.getPreguntasId().getFactoresId().getActividadesid().getFactorList()) {
if (f.getActividadesid().equals(dp.getPreguntasId().getFactoresId().getActividadesid())) {
System.out.println("\t" + f.getNombre());
for (Pregunta pregunta : dp.getPreguntasId().getFactoresId().getPreguntaList()) {
if (pregunta.getFactoresId().equals(f)) {
System.out.println("\t\t" + pregunta.getNombrePregunta());
}
}
}
}
banderaPlaneacionTactica = 1;
//y asi con las demas actividades, itero y pregunto por el nombre de la actividad y la bandera la establesco a 1, sip se ve horrible :)
}
and the output that generates me is like this:
Info: Planeacion estrategica
Info: entorno
Info: Análisis de fenómenos económicos que fundamentan la elaboración del plan de marketing que a su vez inciden sobre la compra, consumo o uso del producto
Info: Análisis de fenómenos culturales que fundamentan la elaboración del plan de marketing que a su vez inciden sobre la compra, consumo o uso del producto
Info: Análisis de fenómenos tecnológicos que fundamentan la elaboración del plan de marketing que a su vez inciden sobre la compra, consumo o uso del producto
Info: Análisis de fenómenos demográficos que fundamentan la elaboración del plan de marketing que a su vez inciden sobre la compra, consumo o uso del producto
Info: Análisis de fenómenos políticos y normativos que fundamentan la elaboración del plan de marketing que a su vez inciden sobre la compra, consumo o uso del producto
Info: Análisis de las actividades actuales y esperadas de los principales competidores que se han utilizado como referencia en la elaboración del plan de marketing
Info: Observaciones sobre los stakeholders relevantes que tienen mayor influencia en las actividades de marketing y que pueden afectar la compra, consumo o uso del producto
Info: Observaciones sobre los proveedores considerados como estratégicos y que pueden provocar cambios en el mercado, en las actividades de marketing o que pueden afectar la compra, consumo o uso del producto
Info: Observaciones sobre los intermediarios considerados como estratégicos y que pueden provocar cambios en el mercado, en las actividades de marketing o que pueden afectar la compra, consumo o uso del producto
Info: Descripción de los canales de distribución utilizados para la línea de producto
Info: Caracterización del mercado donde se compite: Evolución, comportamiento y tendencias
Info: Posicionamiento
Info: Participacion
Info: Penetracion
Info: Factores clave
Info: Objetivos empresariales
Info: objetivos de marketing
Info: Estructura y RRHH
Info: Politica, cultura
Info: Sistemas de marketing
Info: Recursos
Info: Conocimientos
Info: Relaciones
Info: Formulacion estrategica
Info: Planeacion tactica
Info: Producto
Info: pregunta prueba 3
Info: Distribucion
Info: Cominicaciones
Info: Precio
Info: Rentabilidad
Info: Alineacion objetivos
It can be said that I can identify the activities, the factors to which they belong and how many questions each factor has.
The problem is when I want to do the same thing in jsf, when I use the version with managed bean and console I can set the values to the flags variables, in jsf I could not do something like setBanderaXxxxx (1);
<div class="col-md-12">
<ui:repeat value="#{controllerVerProyecto.proyectoSeleccionado.detalleProyectoList}" var="dp" varStatus="i">
<h:panelGroup class="col-md-2" rendered="#{dp.preguntasId.factoresId.actividadesid.nombre eq 'Planeacion estrategica' and banderaPlaneacionEstrategica eq 0}">
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">#{dp.preguntasId.factoresId.actividadesid.nombre}
<span class="caret"></span></button>
<ul class="dropdown-menu">
<ui:repeat value="#{dp.preguntasId.factoresId.actividadesid.factorList}" var="f">
<h:panelGroup rendered="#{f.actividadesid.equals(dp.preguntasId.factoresId.actividadesid)}">
<li><a href="#">#{f.nombre}</a></li>
</h:panelGroup>
</ui:repeat>
</ul>
</div>
</h:panelGroup>
#{banderaPlaneacionEstrategica}
<c:set var="banderaPlaneacionEstrategica" value="1" />
#{banderaPlaneacionEstrategica}
</ui:repeat>
<h:inputText value="#{controllerVerProyecto.miVar}"></h:inputText>
</div>
and the output in the user agent is very funny ....
All the dropdown have the same internal items since I could not establish the new value of the flag.
I also used jstl (c: set) to create the flag variables and it did not work, according to the previous thing I would like that please help me generate in html the mockup that I show them from the information of the database and if They also have some suggestion with the database. thanks.