Informe para consultar la evolución diaria de la estatura de la Novilla durante la etapa de crecimiento
El botón que genera está en Reproducción → Informes → Informes RE, el id de referencia es imprimeDiasAccEst, el id del informe es admin/central/64. 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 diasacc
con valor si
En la entidad EAnimales creamos un EntityResult con el valor generado por el método fai_dias_accions
Primero inicializamos las variables
Obtenemos los datos del técnico de ETecnicos, si no existen entonces de EAdministradores, si no hubiesen entonces de EGanaderos
Ahora comenzamos a iterar por los animales
Para cada animal primero obtenemos los datos identificativos
Comprobamos que sea Novilla
Luego consultamos la tabla de HistorialAnimal para las acciones del tipo Peso y obtenemos los campos de fecha, estatura y peso
Luego inicializamos algunas variables que utilizaremos en la iteración por las acciones, como por ejemplo días de inicio y fin, peso inicial y final, estatura inicial y final y ganancia de peso y estatura
Obtenemos los días de diferencia entre la fecha de nacimiento del animal y la fecha de análisis
Obtenemos el porcentaje de ganancia de peso restando el peso actual con el peso anterior y dividiéndolo entre los número de días de análisis del paso anterior
Lo mismo para la estatura
Hacemos un conteo de cantidad de valores para el peso y la estatura
Establecemos el peso como el peso actual para que cuente como peso inicial en la próxima iteración
Lo mismo para la estatura
Ahora vamos a hacer cosas diferentes basándonos en la diferencia de días entre el análisis y la fecha de nacimiento de la Novilla
Vamos rellenando los datos de las variables en dependencia de la diferencia de días
Rellenamos un Hashtable con los datos de ganancia peso, días final, peso final, estatura final y ganancia estatura
Le pasamos este hash a un EntityResult y luego se lo pasamos al método de generación de Informes.