Rev 1208 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles.structure;import java.util.Iterator;import java.util.Set;import org.tela_botanica.client.modeles.aDonnee;import org.tela_botanica.client.modeles.personne.Personne;import org.tela_botanica.client.util.UtilString;import com.google.gwt.json.client.JSONObject;public class StructureAPersonne extends aDonnee {private static final long serialVersionUID = -7265602594281982891L;public static final String PREFIXE = "csap";public static final String FONCTION_DIRECTEUR = "2028";public static final String FONCTION_CONSERVATEUR = "2029";public static final String FONCTION_TECHNICIEN = "2030";public static final String ROLE_ADMIN = "2026";public static final String ROLE_EQUIPE = "2027";public static final String ETAT_AJOUTE = "A";public static String[] champsObligatoires = {"csap_id_personne", "csap_id_structure", "csap_id_role", "cp_id_personne"};public StructureAPersonne() {// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objetset("contact", false);set("fonction", "");set("statut", "");set("travail", 0);}public StructureAPersonne(JSONObject personnel) {// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objetset("contact", false);set("fonction", "");set("statut", "");set("travail", 0);// L'objet JSON est une table de hachageSet<String> im = personnel.keySet();// Parcourt pour chaque cléfor (Iterator<String> it = im.iterator(); it.hasNext();) {// Si elle est associée à une valeur, nous l'ajoutonsString cle = it.next();if (cle.startsWith(PREFIXE+"_")) {// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objetString cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");// Sinon, nous ajoutons la clé avec une valeur videString valeur = "";if (personnel.get(cle).isString() != null) {valeur = personnel.get(cle).isString().stringValue();}set(cleObjet, valeur);if (cle.equals("mark_contact")) {set("contact", (valeur.equals("1") ? true : false));} else if (cle.equals("bota_travail_hebdo_tps")) {set("travail", Integer.parseInt(valeur));}}if (cle.startsWith(Personne.PREFIXE+"_")) {// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objetString cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", "");// Sinon, nous ajoutons la clé avec une valeur videString valeur = "";if (personnel.get(cle).isString() != null) {valeur = personnel.get(cle).isString().stringValue();}if (cleObjet.equals("truk_telephone")) {set("telephone", valeur);set("tel_fix", getInfoDenormaliseParType(valeur, Personne.TELEPHONE_FIXE));set("tel_fax", getInfoDenormaliseParType(valeur, Personne.TELEPHONE_FAX));} else if (cleObjet.equals("truk_courriel")) {set("courriel", getInfoDenormaliseParPosition(valeur, 1));} else if (cleObjet.equals("ce_truk_specialite")) {set("specialite", getInfoDenormaliseParPosition(valeur, 1));} else {set(cleObjet, valeur);}}}}/*** Constructeur avec la fonction à passer en paramètre** @param fonction fonction de la personne dans la structure.* @param role identifiant du rôle de la personne vis à vis de la structure.*/public StructureAPersonne(String fonction, String roleId) {setFonction(fonction);setIdRole(roleId);// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objetset("contact", false);set("fonction", fonction);set("statut", "");set("travail", 0);}/*** Constructeur avec la fonction à passer en paramètre** @param fonction fonction de la personne dans la structure.* @param role identifiant du rôle de la personne vis à vis de la structure.*/public StructureAPersonne(String fonction, String roleId, String codeEtat) {setFonction(fonction);setIdRole(roleId);// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objetset("contact", false);set("fonction", fonction);set("statut", "");set("travail", 0);set("etat", codeEtat);}@Overrideprotected String getPrefixe() {return PREFIXE;}protected String[] getChampsObligatoires() {return champsObligatoires;}// ID/** Génère un identifiant de StructureAPersonne.** C'est une concaténation des clés primaires de la table coel_structure_a_personne séparées par un tiret "-".** @return identifiant unique d'une relation "structure à personne".*/public String getId() {String idStructure = renvoyerValeurCorrecte("id_structure");String idPersonne = renvoyerValeurCorrecte("id_personne");String idRole = renvoyerValeurCorrecte("id_role");if (idStructure.equals("") && idPersonne.equals("") && idRole.equals("")) {return null;} else {return (idStructure+"-"+idPersonne+"-"+idRole);}}//+---------------------------------------------------------------------------------------------------------------+// CHAMPS PROVENANT de la TABLE COEL_STRUCTURE_A_PERSONNE// ID STRUCTUREpublic String getIdStructure() {return renvoyerValeurCorrecte("id_structure");}public void setIdStructure(String is) {set("id_structure", is);}// ID PERSONNEpublic String getIdPersonne() {return renvoyerValeurCorrecte("id_personne");}public void setIdPersonne(String ip) {set("id_personne", ip);}// ID RôLEpublic String getIdRole() {return renvoyerValeurCorrecte("id_role");}public void setIdRole(String ir) {set("id_role", ir);}// FONCTIONpublic String getFonction() {return renvoyerValeurCorrecte("ce_truk_fonction");}public void setFonction(String ctf) {set("ce_truk_fonction", ctf);}public void setFonction(String type, String valeur) {setChaineDenormaliseUnique("ce_truk_fonction", type, valeur);}// SERVICEpublic String getService() {return renvoyerValeurCorrecte("service");}public void setService(String s) {set("service", s);}// STATUTpublic String getStatut() {return renvoyerValeurCorrecte("ce_truk_statut");}public void setStatut(String cts) {set("ce_truk_statut", cts);}public void setStatut(String type, String valeur) {setChaineDenormaliseUnique("ce_truk_statut", type, valeur);}// CONTACTpublic String getContact() {return renvoyerValeurCorrecte("mark_contact");}public void setContact(String c) {//set("contact", (c.equals("1") ? true : false));set("mark_contact", c);}public void setContact(Boolean c) {setContact((c.equals(Boolean.TRUE) ? "1" : "0"));}// BOTA TRAVAIL HEBDO TPSpublic String getBotaTravailHebdoTps() {return renvoyerValeurCorrecte("bota_travail_hebdo_tps");}public void setBotaTravailHebdoTps(String btht) {set("bota_travail_hebdo_tps", btht);}//+---------------------------------------------------------------------------------------------------------------+// CHAMPS PROVENANT de la TABLE COEL_PERSONNE// ID PROJET PERSONNEpublic String getIdProjetPersonne() {return renvoyerValeurCorrecte("ce_projet");}public void setIdProjetPersonne(String ipp) {set("ce_projet", ipp);}// PRÉNOMpublic String getPrenom() {return renvoyerValeurCorrecte("prenom");}public void setPrenom(String prenom) {set("prenom", prenom);}// NOMpublic String getNom() {return renvoyerValeurCorrecte("nom");}public void setNom(String nom) {set("nom", nom);}// NOM COMPLETpublic String getNomComplet() {return renvoyerValeurCorrecte("fmt_nom_complet");}public void setNomComplet(String nomComplet) {set("fmt_nom_complet", nomComplet);}// TÉLÉPHONEpublic String getTelephone() {return renvoyerValeurCorrecte("telephone");}public void setTelephone(String tel) {set("telephone", tel);}// TÉLÉPHONE FIXEpublic String getTelephoneFixe() {return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FIXE);}public void setTelephoneFixe(String fixe) {// Nous remplaçons le premier numéro de Téléphone FIXE de la personnemodifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FIXE, fixe);}// TÉLÉPHONE FAXpublic String getFax() {return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FAX);}public void setFax(String fax) {// Nous remplaçons le premier numéro de FAX de la personnemodifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FAX, fax);}// COURRIELpublic String getCourriel() {return renvoyerValeurCorrecte("courriel");}public void setCourriel(String courriel) {// Nous remplaçons le courriel en position 1 (principal)this.modifierChaineDenormaliseParPosition("courriel", 1, courriel);}public String selectionnerCourriel(int position) {return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("courriel"), position);}// SPÉCIALITÉpublic String getSpecialite() {return renvoyerValeurCorrecte("specialite");}public void setSpecialite(String specialite) {setChaineDenormaliseUnique("specialite", "AUTRE", specialite);}public String afficherSpecialite() {return getChaineDenormaliseUnique("specialite");}public String getDeces() {return renvoyerValeurCorrecte("ce_deces");}public void setDeces(String etat) {set("ce_deces", etat);}}