Con este informe vamos a poder ver los tratamientos que tenemos que aplicar a los animales
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 imprimeTratAni, el id del informe es admin/central/25. 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 tratani
con valor si
En la entidad EAnimales creamos un EntityResult con el valor generado por el método fai_trat_ani
Esta función está sobrecargada y depende de si el campo de fecha_prox_visita
tiene datos, se ejecuta una u otra
En el caso de que no exista el valor de fecha de la próxima visita
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 cada animal
De cada animal obtenemos id del animal, de la explotación, nombre corto, número de saneamiento, tipo y número de establo.
Hacemos una consulta a EExplotaciones para obtener el propietario y el cea.
Hacemos una consulta a la tabla de tratamientos animales para el id del animal y que tenga la fecha y hora posterior a la fecha que se puso en el formulario de consulta
Comenzando a iterar por todas las entradas anteriores
De cada entrada obtenemos lo datos del medicamento previo, la dosificación previa, y las horas del tratamiento previo
Hacemos una consulta una la tabla de medicamentos para obtener los tiempos de leche y carne
En dependencia de si hay más de un medicamento en el tratamiento, obtenemos los datos de los medicamentos de los campos correspondientes.
Si se trata de un tratamiento clínico, entonces usando el valor de días de repetición rellenamos un Hashtable con tantas entradas repeticiones del tratamiento.
En otro caso simplemente obtenemos del las líneas de los tratamientos “propietario”, “cea”, “tecnico”, “telefono”, “nombre_corto”, “n_saneamiento”, “fecha”, “fecha_orden”, “fecha_hora_inicio”, “fecha_hora_fin”, “tratamiento”, “patologia”, “medicamento”, “dosis”, “supresion_leche”, “supresion_carne”
Si el número de avisos es mayor que cero, entonces añadimos más datos al hashtable
Con el Hashtable completo, entonces se lo pasamos a un EntityResult y luego al método de generación de informes.