Java - Ayuda, como pintar una lista en un datatable de primefaces con la siguiente condicion?

 
Vista:
sin imagen de perfil
Val: 20
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda, como pintar una lista en un datatable de primefaces con la siguiente condicion?

Publicado por fanny (16 intervenciones) el 12/03/2018 03:21:15
tengo el siguiente metodo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//Metodo que busca por año y mes el detalle de la incidencia, como la hora de entrada y salida 
public void buscaDetalleIncidencia() {
    System.out.println("ENTRO AL METODO BUSCA DETALLE POR AÑO/MESSS");
 
    muestraTablaDetalle = true;
 
    //PRUEBA LISTA
    Calendar calendar = Calendar.getInstance();
    calendar.clear();
    calendar.set(annio, mes - 1, 1);
 
    while (calendar.get(Calendar.MONTH) == mes - 1) {
        fechas.add(calendar.getTime());
        calendar.add(Calendar.DAY_OF_MONTH, 1);
 
    }
 
    incidenciaAnioMesDet = anioMesDetService.findIncidenciaAnioMesDeByAnioMes(cvePersona, annio, mes);
    for (IncidenciaAnioMesDet incidencia : incidenciaAnioMesDet) {
        cveIncidencia = incidencia.getIncidencias().getCveIdIncidencia();
 
    }
 
    System.out.println("INCIDENCIA\n" + "DIA-" + incidenciaAnioMesDet.get(0).getDia() + " MES-" + incidenciaAnioMesDet.get(0).getIncidenciaAnioMes().getMes() + " AÑO-" + incidenciaAnioMesDet.get(0).getIncidenciaAnioMes().getAnio() + " CVE INCIDENCIA-" + incidenciaAnioMesDet.get(0).getIncidencias().getCveIdIncidencia());
 
 
    System.out.println("PREBA LISTA FECHA" + fechas);
 
}
Hago una lista de Date (fechas) a partir del mes y del anio, a mi lista incidenciaAnioMesDet , le paso un find que me trae una lista de incidencias, con el dia, el mes y el año que ocurrio esa incidencia, solo es una incidencia por dia. Lo que me pinta en consola es lo siguiente:
INCIDENCIA DIA-1 MES-3 AÑO-2018 CVE INCIDENCIA-12


Ahora lo que quiero hacer, es mostrar una tabla con el campo fecha, y llenarla con los dias del mes actual en formato 11/03/2018, y un campo incidencia, que muestre el numero de incidencia que me trae el find, pero que esa incidencia se pinte en la fila correspondiente al dia que ocurrio, como la siguiente tabla, ejemplo: en el dia 3 se tuvo la incidencia 51.

Esta es mi tabla, ahorita solo mando a llamar la lista (fechas) para que pinte todos los dias del mes en el campo fecha de la tabla
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!--Tabla que muestra los detalles de las incidencias-->
<p:dataTable  id="detalle" var="detalle"  styleClass="columns"  value="#{RegistroAccesoComponent.fechas}" emptyMessage="No se encontraron registros.">
 
    <p:column headerText="FECHA"  style="width: 100px;">
        <h:outputText value="#{detalle}">
            <f:convertDateTime  type="date" pattern="dd/MM/yyyy"/>
        </h:outputText>
    </p:column>
 
    <p:column headerText="ENTRADA" style="width: 100px;" >
        <h:outputText >
            <f:convertDateTime type="date" timeZone="CST" pattern="HH:mm:ss"/>
        </h:outputText>
 
    </p:column>
    <p:column headerText="SALIDA" style="width: 100px;">
        <h:outputText  >
            <f:convertDateTime type="date" timeZone="CST" pattern="HH:mm:ss"/>
        </h:outputText>
    </p:column>
    <p:column headerText="INCIDENCIA" >
        <h:outputText value="#{RegistroAccesoComponent.cveIncidencia}"/>
    </p:column>
    <p:column headerText="ACCIÓN" style="width: 100px;" >
        <p:commandButton  icon="ui-icon-search"  styleClass="element-button green hacia-izquierda"  style="margin-right: 5em;" title="View" onclick="PF('modalIntentos').show();">
        </p:commandButton>
    </p:column>
</p:dataTable>


table1

y pinta lo siguiente


yaaaa

lo que no se, es como hacer el match para pintar la incidencia en el dia correspondiente del mes
como le puedo hacer?

Ahorita solo tengo una incidencia que es la 12, en el dia 1 de este mes y año actual, que es lo que pinta en consola del resultado del find, pero puede tener mas en incidencias en otros dias.
hice una variable "cveIncidencia" y le pase el valor de la incidencia, y esa variable la puse en mi vista, por eso pinta el 12, pero se repite en todos los dias del mes, cuando solo se debe pintar en el dia 1 del mes
como le podria hacer? No se si haciendo otra lista que contenga las incidencias que me trae en find, con la lista de fechas, y esa lista nueva, meterla en mi tabla
pero como hago el match?
la verdad no veo como darle solucion, espero me puedan ayudar. gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder