Ferramentas de usuario

Ferramentas do sitio


informe_de_planning

Informe con el que podemos generar el Planning de la explotación.

El botón que genera está en Reproducción → Informes → Informes RE, el id de referencia es imprimePla, el id del informe es admin/central/14. La interfaz está definida en client/principal/f_informes_RE.xml.

La ejecución comienza imprimePla.addActionListener

  1. Primero obtenemos los registros de los animales que tenemos en la tabla de la interfaz de Informes RE
  2. Consultamos la entidad EAnimales para obtener los registros de la base de datos para los animales de la tabla anterior.
  3. Con estos datos conformamos un Hashtable y hacemos una consulta nuevamente la entidad EAnimales con el flag de consulta planin con valor si, también con el valor “mostra” que es el valor que tenemos en un selector que tenemos en la interfaz.
  4. En la entidad EAnimales creamos un EntityResult con el valor generado por el método fai_planin
  5. Borramos los datos de la entidad EInf_planing
  6. Comenzamos a iterar por los animales
  7. Para cada animal obtenemos primero los datos de la explotación a la que pertenece
  8. Si en el selector que tenemos en la interfaz seleccionamos “muestra” creamos una variable nom con el valor “nombre”, si seleccionamos “n_establo” se nos llena la variable nom con el valor del número de establo que tenga asignado el animal.
  9. De la entidad EExplotaciones obtenemos el nombre del propietario y el cea y si no hubiesen resultados entonces los obtenemos desde la tabla de Animales
  10. Utilizamos el método calculaFechaMeses para calcular las fechas correspondientes al siguiente mes, luego al siguiente y así hasta los 12 meses siguientes.
  11. Inicializamos las variables mes_1, mes_2 hasta mes_12 que contendrán las cadenas para los títulos de las columnas de los meses
  12. Inicializamos las variables mes1, mes2, hasta el mes12 que contienen el valor numérico de los meses siguientes
  13. Lo mismo para el año
  14. Rellenamos las variables de mes1, mes2 … para que sean cadenas como 01/2023, 02/2023, etc..
  15. Pasamos estas variables a un Hashtable llamado av
  16. Inicializamos el Hashtable con los valores para cada mes y para cada línea de cada casilla
  17. Inicializamos en el Hashtable con el nombre del padre del animal, el número de saneamiento, la fecha de nacimiento, el nombre del técnico, teléfono, fecha de parto´, ícono del parto, fecha de la 1ª inseminación, fecha de la última inseminación, el número de inseminaciones.
  18. Si el animal tiene relleno el campo del padre, entonces rellenamos el nombre del toro
  19. Rellenamos el Hashtable con los datos del número de saneamiento y la fecha de nacimiento
  20. Obtenemos los datos del técnico de ETecnicos, si no existen entonces de EAdministradores, si no hubiesen entonces de EGanaderos
  21. Consultamos la tabla del Historial Animales para el último registro que no sea ni Mamitis ni Alta y que sea menos a la fecha en la que se consulta
  22. Si hay resultados entonces rellenamos fecha de parto si existe, también con la fecha de la 1ª inseminación, la de última inseminación, el número de inseminaciones
  23. También en el historial obtenemos el estado y el nombre corto del toro
  24. Si la fecha de parto que obtuvimos en el paso 21 contiene algún valor, entonces consultamos en EAcciones_animales_RE para obtener el registro para el animal en la fecha de parto y de ahí obtenemos si es parto múltiple, macho o hembra.
  25. Ahora volvemos a consultar la tabla de Historial Animal para el último registro, que no sea ni Mamitis ni Alta, y de aquí sacamos la fecha de parto y secado previsto
  26. Además tenemos una variable parida con la que vamos controlando si la vaca está parida basándonos en el tipo de acciones insertadas
  27. Si de la consulta de acciones obtenemos solo un resultado entonces en la segunda línea ponemos las fechas de secado previsto y el ícono de ojo secado previsto
  28. Si de la consulta de acciones obtenemos dos resultados entonces en la tercera línea ponemos las fechas de parto previsto y el ícono de ojo parto previsto
  29. Si de la consulta de acciones no obtenemos ningún resultado entonces en la segunda y tercera línea ponemos las fechas de secado y parto previsto y el ícono los íconos correspondientes
  30. Ahora vamos rellenando los datos para las fechas de los posteriores 12 meses
  31. Finalmente en dependencia del estado del animal rellenamos el valor “est” y el “todo_gest” al Hashtable
  32. Insertamos el valor del Hashtable en la table Einformes_planin y tambien a un al EntityResult que le pasamos el método generador de informes.

Así es el informe de planning

informe_de_planning.txt · Última modificación: 2023/03/28 18:06 por admin