La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau 19-20 Mai 2009 SIVOL Système dInformation Volailles MC Batut - T Heirman Comité de pilotage : MC Batut,

Présentations similaires


Présentation au sujet: "ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau 19-20 Mai 2009 SIVOL Système dInformation Volailles MC Batut - T Heirman Comité de pilotage : MC Batut,"— Transcription de la présentation:

1 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 SIVOL Système dInformation Volailles MC Batut - T Heirman Comité de pilotage : MC Batut, B. Basso Artiguères : F Dubos*, MD Bernadet, M Ruinaut PEAT : Y Baumard, J Besnard, J Delaveau, D Gourichon, N Sellier URA : C. Beaumont*, M Chabault, N Sellier GABI : T Heirman, M Tixier Boichard*, A Vieaud SAGA : B Basso, R Duzert, C Marie-Etancelin, MM Richard* Depuis 2003 : 20 réunions (1 tous les 3 mois au début)

2 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Quelles données gérer ? Modélisation des données : MCD fait avec PowerAMC

3 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Tours GFA URA Génétique Factorielle Avicole N. Sellier*/D.Gourichon* PEAT Pour qui ? : les UE et UR Les UE dépendent des 2 départements GA et PHASE M. Ruinaut* MD Bernadet* C. Peillod Landes UEPFG Unité Expérimentale des Palmipèdes à Foie Gras G.Guy PalmiPôle *=CP Garen O. Demeure F. Pitel LGC C. Marie* B. Basso* SAGA Station dAmélioration Génétique des Animaux PSGen Jouy-en-Josas GABI PSGen (ancien GDA) E. Verrier Agathe Vieaud* E. Duval M. Chabault* Unité de Recherche Avicole URA

4 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 JOUY EN JOSAS CTIG Unité Expérimentale Unité de Recherche Saisies portables sur le terrain Enregistrement des données Suivi délevage Sauvegardes Extraction des données Valorisation des données SaS Comment ? : interface + outils terrain Oracle 10g

5 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Particularités des volailles Beaucoup de données : PEAT : animaux identifiés par an Femelles en reproduction : GFA : 712 femelles contrôlées en individuel sur 4 mois œufs Pas didentification normalisée Identification Sivol : Espèce de lanimal (2) : canard(6), poule(8), caille(9), dinde(10) (Sidex) Domaine de naissance (3): ART, GAV, GFA, URA Année de naissance (4) : 2008, 2009 Numéro de naissance (4) : boucle sur laile Lot de naissance (2) : 01,02,03,.etc. (ajouté pour passer 9999) Identification utilisée aussi par les autres UR volailles (Tours, Rhennes, LGC) Identification électronique en cours délaboration (E Ricard, B Basso)

6 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Conduite par bande (cellule) Bâtiment 340Bâtiment Cellule divisée en cages Individuelle Collective Cellules Cellule collective Elevés au sol (cellule collective) ou en cage

7 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Interface convivial créé avec les utilisateurs Connexion via un login/mot de passe Connexion sur une espèce et un domaine de production (autorisation) Multi-fenêtrage Droits différents suivant les utilisateurs –rôles Oracle select/insert/update/delete sur les tables Développé sous VisualStudio 2005 (Framework 2.0, langage C#) –utilisation des classes de Thierry pour BD, fonctions échangées avec Hervé et M-Hélène IHM : Interface Homme Machine

8 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Menu – Opérations regroupées par thèmes

9 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Sélection : critères assez larges Opérateur : égale, différent, in, not in, entre, vide, non vide Opérateur : égale, différent, in, not in, entre, vide, non vide Pour les numériques : >, >=,, >=, <, <= Opérateur : égale, différent, in, not in, entre, vide, non vide Opérateur : égale, différent, in, not in, entre, vide, non vide Pour les numériques : >, >=,, >=, <, <=

10 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Affichage des données avec clés visuelles Touches dans la grille : comme dans Windows (en bleu foncé animaux sélectionnés) Touches dans la grille : comme dans Windows (en bleu foncé animaux sélectionnés) Se positionner sur UN animal : numéro de naissance ou numéro cage (orange) Se positionner sur UN animal : numéro de naissance ou numéro cage (orange) Trier les animaux : cliquer sur le titre de la colonne Trier les animaux : cliquer sur le titre de la colonne Ergonomie : quand on agrandit ou diminue la forme, les colonnes sont redimensionnées Ergonomie : quand on agrandit ou diminue la forme, les colonnes sont redimensionnées Touches dans la grille : comme dans Windows (en bleu foncé animaux sélectionnés) Touches dans la grille : comme dans Windows (en bleu foncé animaux sélectionnés) Se positionner sur UN animal : numéro de naissance ou numéro cage (orange) Se positionner sur UN animal : numéro de naissance ou numéro cage (orange) Trier les animaux : cliquer sur le titre de la colonne Trier les animaux : cliquer sur le titre de la colonne Ergonomie : quand on agrandit ou diminue la forme, les colonnes sont redimensionnées Ergonomie : quand on agrandit ou diminue la forme, les colonnes sont redimensionnées dgrv.ColumnHeadersDefaultCellStyle.BackColor = frmMaquette.coulColEnTete; dgrv.RowHeadersDefaultCellStyle.BackColor = frmMaquette.coulLigneEnTete; for (int i = 0; i < dgrv.ColumnCount; i++) dgrv.Columns[i].DefaultCellStyle.BackColor = frmMaquette.coulColNePasSaisir;

11 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Actions possibles à partir dune grille Action à faire sur un ou plusieurs animaux Possible sur UN seul animal Dans toutes les grilles A partir de nimporte quelle grille, clic droit avec la souris cmOperation.Enabled = true; menuCompter.Enabled = true; menuEnregistrer.Enabled = true; menuImprimer.Enabled = true; menuModifierReforme.Enabled = myDroit_Update; menuReactiver.Enabled = myDroit_Update; menuReformer.Enabled = myDroit_Update; menuChangerSexe.Enabled = myDroit_Update; Les droits : Insert, Update, Delete sur UNE table SELECT privilege FROM dba_tab_privs" WHERE grantee='" + myRole.ToString().ToUpper() + "'" AND table_name='" + nom_table + "'" AND privilege != 'SELECT'"

12 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai Automate de pesées Baléa Identification électronique Saisie terrain : de nombreuses possibilités 1- Sur boîtier de saisie PDA : 3- Saisie directe par lIHM sur PC portable : Mirages, Eclosion Pesées des animaux vivants Réforme, changement de sexe Chantiers divers (abattage,.etc.) Saisie de la ponte Saisie des phénotypes liés à un locus visible à œil nu Saisie de mesures diverses (abattage, morphologie, comportement, prélèvement des mâles, échantillons) Jaune = à saisir

13 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Saisie de mesures diverses : exemple abattage Se fait par bâtiment/cellule Choix des mesures à faire (10 maxi) Saisie par numéro animal ou par cage Saisie de la mesure : Contrôles de la mesure par rapport à des bornes (orange) et à un seuil (rouge) Listes possibles des animaux mesurés, non mesurés ou les deux avec mesures Gestion des doubles (avertit si animal déjà mesuré) Avant : Extraire les animaux à mesurer, choisir une première liste de mesures Envoyer le fichier au PDA Charger la liste sur le boîtier Après : Extraire les mesures du PDA, envoyer les données au PC Importer les données, regarder le journal (anomalies)

14 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 MAJ à partir dun fichier : souple DataGridView à 5 colonnes dgrv.Rows.Add("Domaine de naissance", "DOM_NAIS", "C", dimDomNais, 0); sql="select lib_champ,nom_champ,typ_data,dim,dec from sivol.parametre where dom_prod='" + myDomaine + "' and espece='" + myEspece + " and nom_table='" + nom_table + "';

15 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 MAJ des mesures dabattage par l IHM Choisir les mesures à saisir sur les animaux Choisir les animaux

16 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Suivi de lélevage : liste et inventaire Liste des pesées par animal sur une même ligne (poids en gramme, age en jour) Extraction de données, listes, inventaires, bilans, statistiques élémentaires …

17 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Suivi de lélevage : résultats de ponte Exemple : série de ponte Après une éclosion :

18 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Lien avec autres bases : Sidex Il créé le fichier au format Sidex Il met un drapeau à chaque animal sélectionné pour indiquer que lanimal est parti dans Sidex Peut se faire par cellule ou à partir dun fichier

19 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Lien avec autres bases : Gemma, BarCode Pour Gemma : Extraction des généalogies et des tubes pour les échantillons prélevés Pour BarCode : feuille de route FR6 et FR7 Il met un drapeau à chaque animal sélectionné pour indiquer que lanimal a été exporté dans Gemma

20 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Remontées des anciennes généalogies –GFA : de Niakwa -> reconstruire les généalogies Lignées de André Bordas : Thierry a commencé Lignées de Michèle Tixier Boichard : Thierry a commencé Lignées de Marie-Hélène Pinnard : non demandeuse Francis Minvielle (cailles) : non demandeur –GAV : Lignées BC, Salmonelles (AIL), D+/D- reste quelques lignées à faire –ART : Palmi Sivol : à faire Sivol IHM –Finir demandes des utilisateurs –Visual Studio 2008 (Framework 3) Boîtier de saisie : –Tester en grandeur nature Sivol_Mesure –Demande : charger un boîtier avec les animaux à réformer puis valider ou pas sur le terrain MAJ des docs : Formations Futur

21 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Lié à Oracle ? Oui et non Utilisation de la classe clsDataBase (T. Heirman) –Classe clsOracle pour lIHM : OracleConnection, OracleCommand, OracleDataAdapter, OracleDataReader, OracleTransaction –Classe clsSQLServeur pour.Net sur PDA : SqlConnection, SqlCommand, SqlDataAdapter, SqlDataReader, SqlTransaction –Utilisation de fonction pour les dates sql_where = sql_where + " and B.d_nais = "+frmMaquette.to_good_format(dtpD_Nais1.Value.ToString(),frmMaquette.TYP_DATA_DATE); Liés à Oracle –Triggers –PL/SQL : mise à jour de la ponte, des pesées et des phénotypes –Dictionnaire de données : les droits, le module dextraction de données

22 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Utilisation de la classe clsDataBase namespace INRA_Databases { public abstract class clsDataBase { #region Lecture/Modification des attributs de classe public abstract string DataSource{get; set; } public abstract string User {get; set; } public abstract string Password {get; set; } #endregion #region Ouverture/Fermeture de la base de données public abstract bool bdOpen(); public abstract bool bdOpen(string ConnexionString); public abstract bool bdClose(); #endregion #region SELECT... FROM..., SELECT... FROM... WHERE... public abstract bool SQLResult_In_Dataset(string SQL); public abstract bool SQLResult_In_Dataset(DataSet ds_gen, string SQL, string nomTable); public abstract Object[,] SQLResult_in_Array(string SQL); public abstract Int64 SQLCount(string SQL); #endregion #region INSERT, UPDATE, DELETE public abstract bool ExecuteNonQuery(string SQL); #endregion }

23 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Initialisations public const string dbDataSource="sivol"; static public int iDB_USED = 1; // Oracle // public int iDB_USED = 2; // MySQL // public int iDB_USED = 3; // PostGreSQL static public int iDB_USED = 4; // SQLServeur using INRA_Databases; namespace SIVOL { public class frmListerAnimaux : System.Windows.Forms.Form { private DataSet ds_gen; private clsDataBase ora_gen; … private void InitialiseDataSet() { ds_gen = new DataSet(); // Connexion à la base ora_gen = frmMaquette.InitDescripteurBD(); } } public static clsDataBase InitDescripteurBD() { clsDataBase myDB = null; switch (iDB_USED) { case 1: myDB = new clsOracle(); bIdentificationRequise = true; break; case 4: myDB = clsSQLServer(); bIdentificationRequise = false; break;} sChaineConnexion = myDB.ConnectionStringBuilder(dbDataSource, myIdUser, myPassword); try { bConnexionEtablie = myDB.bdOpen(sChaineConnexion); } catch { myDB = null; } static public string myIdUser = ""; static public string myPassword = ""; static public string myEspece = ""; static public string myDomaine = "";

24 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 DataGridView : lié à une source de données for (int iLigne = 0; iLigne < dgrvCage.RowCount; iLigne++) { if (dgrvCage.Rows[iLigne].Selected) { campagne = dgrvCage[col_campagne, iLigne].Value.ToString(); batiment = dgrvCage[col_batiment, iLigne].Value.ToString(); cellule = dgrvCage[col_cellule, iLigne].Value.ToString(); cage = dgrvCage[col_cage, iLigne].Value.ToString(); intra_cage = dgrvCage[col_intra_cage, iLigne].Value.ToString();... string sql= " select.. from.. where.. order by.. "; string nomTable = "Cage"; if (ora_gen.SQLResult_In_Dataset(ds_gen, sql, nomTable)) { // Afficher les données dgrvCage.DataSource = ds_gen.Tables[nomTable]; Afficher_TitreColonnes(dgrvCage); - Le dataset ds_gen contient une collection de Tables (1 dataset par forme) - Travail sur le DataGridView

25 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 DataGridView Peut être construit en conception : DataGridViewButtonColumn, DataGridViewCheckBoxColumn, DatGridViewComboBoxColumn, DataGridViewTextBoxColumn Peut être construit en dynamique for (int iColonne = 0; iColonne < nb_colonnes; iColonne++) { DataGridViewTextBoxColumn nouvelle_colonne = new DataGridViewTextBoxColumn(); dgrv.Columns.Add(nouvelle_colonne); // Attention j'ajoute 1 pour avoir col1, col2,... no_colonne = iColonne + 1; dgrv.Columns[iColonne].Name = "Col" + no_colonne.ToString(); dgrv.Columns[iColonne].HeaderText = "Col" + no_colonne.ToString(); dgrv.Columns[iColonne].Width = 80; }

26 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 private void dgrvMirIJ_CellEnter(object sender, DataGridViewCellEventArgs e) { int col; switch (cbOperation.SelectedIndex) { case 0: //Mirage1 if (dgrvMir1IJ.CurrentCell != null && dgrvMir1IJ.CurrentCell.Value != null) { col=frmMaquette.Chercher_NoColonne_DataGridView_ParSonNom(dgrvMir1IJ,"CD_MIRAGE1"); if (dgrvMir1IJ.CurrentCell.ColumnIndex == col) MIR1IJ_OLD = (string)dgrvMir1IJ.CurrentCell.Value; } break; … private void dgrvMirIJ_CellValidated(object sender, DataGridViewCellEventArgs e) { // valeurs acceptées de 1 à 4 pour le code du 1er mirage int col; switch (cbOperation.SelectedIndex) { case 0: //Mirage1 if (dgrvMir1IJ.CurrentCell != null) { col = frmMaquette.Chercher_NoColonne_DataGridView_ParSonNom(dgrvMir1IJ,"CD_MIRAGE1"); if (dgrvMir1IJ.CurrentCell.ColumnIndex == col) { if (dgrvMir1IJ.CurrentCell.Value != null && int.Parse((string)dgrvMir1IJ.CurrentCell.Value) > 4) dgrvMir1IJ.CurrentCell.Value = MIR1IJ_OLD; } } break; DataGridView : contrôle sur une colonne

27 ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau Mai 2009 Merci de votre attention


Télécharger ppt "ALIMENTATION AGRICULTURE ENVIRONNEMENT Lacanau 19-20 Mai 2009 SIVOL Système dInformation Volailles MC Batut - T Heirman Comité de pilotage : MC Batut,"

Présentations similaires


Annonces Google