El botón que genera está en Reproducción → Informes → Informes RE, el id de referencia es imprimePrevDel
, el id del informe es admin/central/18
. La interfaz está definida en client/principal/f_informes_RE.xml
.
Primero obtenemos los registros de los animales que tenemos en la tabla de la interfaz de
Informes RE
Consultamos la entidad EAnimales
para obtener los registros de la base de datos para los animales de la tabla anterior.
Con estos datos conformamos un Hashtable y hacemos una consulta nuevamente la entidad EAnimales
con el flag de consulta prevdel
con valor si
En la entidad EAnimales
creamos con EntityResult con el valor generado por el método fai_prev_del
Iteramos 31 ciclos por cada día de los meses y por 6 ciclos de los próximos 6 meses.
En cada iteración hacemos los siguiente
Para cada día iteramos por los animales que obtuvimos antes
Primero comprobamos que el animal no esté de Baja, luego que tenga fecha de parto, fecha de secado secado, que la fecha de secado sea anterior a la fecha de la consulta
Si el animal cumple estas condiciones calculamos los días transcurridos desde la fecha de consulta y la fecha de parto previsto, también acumulamos en otra variable el número de ordeños, acumulamos en un vector el nombre del animal.
Si la fecha de parto previsto es posterior a la fecha de consulta, entonces sumamos 1 a la variable que representa el número de vacas secas.
Si no se cumplen las dos condiciones anteriores entonces adicionamos 1 al numero de partos, al numero de ordeños y añadimos el nombre del animal a un vector.
Si en el paso 4 vemos que la fecha de secado es anterior a la fecha de parto y la fecha de secado previsto existe, entonces si la fecha de parto previsto es anterior a la consulta contamos los días entre la fecha de parto previsto, las vacas en ordeño y añadimos el animal al vector
Seguidamente vamos comparando las fechas de parto, secado previsto, fecha de parto para ir contando el numero de animales en ordeño, numero de secas, días en ordeño, entre otros.
Luego obtenemos los datos del técnico y se lo pasamos en un hash al método generador de informes.