Rev 264 | Rev 318 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.apache.commons.digester.SetRootRule;
import com.extjs.gxt.ui.client.widget.form.CheckBox;
import com.google.gwt.json.client.JSONObject;
public class StructureAPersonne extends aDonnee {
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 PREFIXE = "csap";
public static final String ETAT_AJOUTE = "A";
/**
* Constructeur vide
*
*/
public StructureAPersonne() {
// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
this.set("contact", false);
this.set("fonction", "");
this.set("statut", "");
this.set("travail", 0);
}
/**
* Constructeur avec un objet JSON
*
* @param
*/
public StructureAPersonne(JSONObject personnel) {
// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
this.set("contact", false);
this.set("fonction", "");
this.set("statut", "");
this.set("travail", 0);
// L'objet JSON est une table de hachage
Set<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'ajoutons
String cle = it.next();
if (cle.startsWith(PREFIXE+"_")) {
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
// Sinon, nous ajoutons la clé avec une valeur vide
String valeur = "";
if (personnel.get(cle).isString() != null) {
valeur = personnel.get(cle).isString().stringValue();
}
this.set(cleObjet, valeur);
if (cle.equals("mark_contact")) {
this.set("contact", (valeur.equals("1") ? true : false));
} else if (cle.equals("bota_travail_hebdo_tps")) {
this.set("travail", Integer.parseInt(valeur));
}
}
if (cle.startsWith(Personne.PREFIXE+"_")) {
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
String cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", "");
// Sinon, nous ajoutons la clé avec une valeur vide
String valeur = "";
if (personnel.get(cle).isString() != null) {
valeur = personnel.get(cle).isString().stringValue();
}
if (cleObjet.equals("truk_telephone")) {
this.set("telephone", getInfoDenormaliseParType(valeur, "FIX"));
} else if (cleObjet.equals("truk_fax")) {
this.set("fax", getInfoDenormaliseParPosition(valeur, 1));
} else if (cleObjet.equals("truk_courriel")) {
this.set("courriel", getInfoDenormaliseParPosition(valeur, 1));
} else if (cleObjet.equals("ce_truk_specialite")) {
this.set("specialite", getInfoDenormaliseParPosition(valeur, 1));
} else {
this.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'objet
this.set("contact", false);
this.set("fonction", fonction);
this.set("statut", "");
this.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'objet
this.set("contact", false);
this.set("fonction", fonction);
this.set("statut", "");
this.set("travail", 0);
this.set("etat", codeEtat);
}
// 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 STRUCTURE
public String getIdStructure() {
return renvoyerValeurCorrecte("id_structure");
}
public void setIdStructure(String is) {
this.set("id_structure", is);
}
// ID PERSONNE
public String getIdPersonne() {
return renvoyerValeurCorrecte("id_personne");
}
public void setIdPersonne(String ip) {
this.set("id_personne", ip);
}
// ID RôLE
public String getIdRole() {
return renvoyerValeurCorrecte("id_role");
}
public void setIdRole(String ir) {
this.set("id_role", ir);
}
// FONCTION
public String getFonction() {
return renvoyerValeurCorrecte("ce_truk_fonction");
}
public void setFonction(String ctf) {
this.set("ce_truk_fonction", ctf);
}
public void setFonction(String type, Object valeur) {
setChaineDenormaliseUnique("ce_truk_fonction", type, valeur);
}
// SERVICE
public String getService() {
return renvoyerValeurCorrecte("service");
}
public void setService(String s) {
this.set("service", s);
}
// STATUT
public String getStatut() {
return renvoyerValeurCorrecte("ce_truk_statut");
}
public void setStatut(String cts) {
this.set("ce_truk_statut", cts);
}
public void setStatut(String type, Object valeur) {
setChaineDenormaliseUnique("ce_truk_statut", type, valeur);
}
// CONTACT
public String getContact() {
return renvoyerValeurCorrecte("mark_contact");
}
public void setContact(String c) {
//this.set("contact", (c.equals("1") ? true : false));
this.set("mark_contact", c);
}
public void setContact(Boolean c) {
setContact((c.equals(Boolean.TRUE) ? "1" : "0"));
}
// BOTA TRAVAIL HEBDO TPS
public String getBotaTravailHebdoTps() {
return renvoyerValeurCorrecte("bota_travail_hebdo_tps");
}
public void setBotaTravailHebdoTps(String btht) {
this.set("bota_travail_hebdo_tps", btht);
}
//+---------------------------------------------------------------------------------------------------------------+
// CHAMPS PROVENANT de la TABLE COEL_PERSONNE
// PRÉNOM
public String getPrenom() {
return renvoyerValeurCorrecte("prenom");
}
public void setPrenom(String p) {
this.set("prenom", p);
}
// NOM
public String getNom() {
return renvoyerValeurCorrecte("nom");
}
public void setNom(String n) {
this.set("nom", n);
}
// TÉLÉPHONE
public String getTelephone() {
return renvoyerValeurCorrecte("telephone");
}
public void setTelephone(String t) {
// Nous remplaçons le premier numéro de Téléphone FIX de la personne
this.modifierChaineDenormaliseParType("telephone", "FIX", t);
}
public String selectionnerTelephone(String type) {
return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), type);
}
// FAX
public String getFax() {
return renvoyerValeurCorrecte("fax");
}
public void setFax(String f) {
// Nous remplaçons le numéro de Fax en position 1 (principal)
this.modifierChaineDenormaliseParPosition("fax", 1, f);
}
public String selectionnerFax(int position) {
return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("fax"), position);
}
// COURRIEL
public String getCourriel() {
return renvoyerValeurCorrecte("courriel");
}
public void setCourriel(String c) {
// Nous remplaçons le courriel en position 1 (principal)
this.modifierChaineDenormaliseParPosition("courriel", 1, c);
}
public String selectionnerCourriel(int position) {
return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("courriel"), position);
}
// SPÉCIALITÉ
public String getSpecialite() {
return renvoyerValeurCorrecte("specialite");
}
public void setSpecialite(String s) {
// Nous remplaçons le premier numéro de Téléphone FIX de la personne
this.setChaineDenormaliseUnique("specialite", "AUTRE", s);
}
public String afficherSpecialite() {
return getChaineDenormaliseUnique("specialite");
}
}