New file |
0,0 → 1,283 |
package org.tela_botanica.client.modeles.personne; |
|
import java.util.Date; |
import java.util.Iterator; |
import java.util.Set; |
|
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.util.UtilString; |
|
import com.google.gwt.core.client.GWT; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.json.client.JSONObject; |
|
public class Personne extends aDonnee { |
|
private static final long serialVersionUID = -6974716696155349332L; |
|
public static final String PREFIXE = "cp"; |
public static final String TELEPHONE_FIXE = "FIX"; |
public static final String TELEPHONE_GSM = "GSM"; |
public static final String TELEPHONE_FAX = "FAX"; |
public static final String ETRE_DECEDE = "30745"; |
public static final String ETRE_VIVANT = "30746"; |
|
public Personne() { |
} |
|
public Personne(JSONObject personne) { |
initialiserModele(personne); |
//Ajout du champ courriel principal |
this.set("courriel_princ", this.getInfoDenormaliseParPosition(this.renvoyerValeurCorrecte("truk_courriel"), 1)); |
} |
|
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
|
public Object obtenirValeurChamp(String nomChamp) { |
return renvoyerValeurCorrecte(nomChamp); |
} |
|
public Date getDate(String nomChamp) { |
String strDate = renvoyerValeurCorrecte(nomChamp); |
Date dateRetour = null; |
try { |
if ((strDate != null) && (!strDate.equals("0000-00-00"))) { |
dateRetour = DateTimeFormat.getFormat("yyyy-MM-dd").parseStrict(strDate); |
} |
} catch (StringIndexOutOfBoundsException e) { |
GWT.log("Impossible de parser la date " + strDate, e); |
} |
return dateRetour; |
} |
|
public String getString(String nomChamp) { |
return String.valueOf(renvoyerValeurCorrecte(nomChamp)); |
} |
|
//Traitement des truks |
protected void remplacerTypeDansChaineDenormalise(String champ, String type, Object valeur) { |
if (valeur != null && !valeur.equals("")) { |
ajouterChaineDenormaliseAvecType(champ, type, valeur); |
} else { |
supprimerTypeDansChaineDenormalise(champ, type); |
} |
} |
/** |
* Ajoute un nouvel élément sans type à une chaine dénormalisée. |
* Champ de type "truk" contenant seulement des valeurs séparées par ";;". |
* Si l'élément existe déjà, il ne sera pas ajouté. |
* |
* @param champ le nom du champ dénormalisé |
* @param valeur la valeur à ajouter |
*/ |
protected void ajouterChaineDenormalise(String champ, Object valeur) { |
if (valeur instanceof String) { |
String chaineExistante = renvoyerValeurCorrecte(champ); |
if (chaineExistante.equals("")) { |
this.set(champ, valeur); |
} else { |
// Si la valeur à ajouter n'est pas déjà présente, nous l'ajoutons |
if (!chaineExistante.matches("(^|"+SEPARATEUR_VALEURS+")"+valeur+"("+SEPARATEUR_VALEURS+"|$)")) { |
this.set(champ, chaineExistante+SEPARATEUR_VALEURS+valeur); |
} |
} |
} |
} |
|
// ID PERSONNE |
public String getId() { |
return renvoyerValeurCorrecte("id_personne"); |
} |
public void setId(String personneId) { |
this.set("id_personne", personneId); |
} |
|
// ID PROJET |
public String getIdProjet() { |
return renvoyerValeurCorrecte("ce_projet"); |
} |
|
// NOM COMPLET |
public String getNomComplet() { |
return renvoyerValeurCorrecte("fmt_nom_complet"); |
} |
public void setNomComplet(String nomComplet) { |
this.set("fmt_nom_complet", nomComplet); |
} |
public void setFmtNomComplet(String prefixe, String suffixe) { |
String fmtNomComplet = ""; |
|
if ((prefixe != null)&&(!prefixe.trim().equals(""))) { |
fmtNomComplet += prefixe + " "; |
} |
|
if ((this.getPrenom()!=null)&&(!this.getPrenom().trim().equals(""))) { |
fmtNomComplet += this.getPrenom() + " "; |
} |
|
if ((this.getNom()!=null)&&(!this.getNom().trim().equals(""))) { |
fmtNomComplet += this.getNom() + " "; |
} |
|
if ((suffixe!=null)&&(!suffixe.trim().equals(""))) { |
fmtNomComplet += suffixe; |
} |
|
setNomComplet(UtilString.ucFirst(fmtNomComplet)); |
} |
|
// NOM |
public String getNom() { |
return renvoyerValeurCorrecte("nom"); |
} |
public void setNom(String nom) { |
set("nom", nom); |
} |
|
// PRÉNOM |
public String getPrenom() { |
return renvoyerValeurCorrecte("prenom"); |
} |
public void setPrenom(String prenom) { |
set("prenom", prenom); |
} |
|
// TÉLÉPHONE |
public String getTelephone() { |
return renvoyerValeurCorrecte("truk_telephone"); |
} |
public void setTelephone(String t) { |
this.set("truk_telephone", t); |
} |
public void ajouterTelephone(String type, Object valeur) { |
ajouterChaineDenormaliseAvecType("truk_telephone", type, valeur); |
} |
public String selectionnerTelephone(String type) { |
return getInfoDenormaliseParType(renvoyerValeurCorrecte("truk_telephone"), type); |
} |
|
// FAX |
public String getFax() { |
return renvoyerValeurCorrecte("truk_fax"); |
} |
public void setFax(String f) { |
this.set("truk_fax", f); |
} |
public void ajouterFax(Object valeur) { |
ajouterChaineDenormalise("truk_fax", valeur); |
} |
public String selectionnerFax(int position) { |
return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_fax"), position); |
} |
|
// COURRIEL |
public String getCourriel() { |
return renvoyerValeurCorrecte("truk_courriel"); |
} |
public void setCourriel(String c) { |
this.set("truk_courriel", c); |
} |
public void ajouterCourriel(String c) { |
ajouterChaineDenormalise("truk_courriel", c); |
} |
public String selectionnerCourriel(int position) { |
return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_courriel"), position); |
} |
|
// SPÉCIALITÉ |
public String getSpecialite() { |
return renvoyerValeurCorrecte("ce_truk_specialite"); |
} |
public void setSpecialite(String s) { |
// Pas de liste pour l'instant, donc tout passe dans "Autre". |
setChaineDenormaliseUnique("ce_truk_specialite", "AUTRE", s); |
} |
public String afficherSpecialite() { |
return getChaineDenormaliseUnique("ce_truk_specialite"); |
} |
|
// NAISSANCE DATE |
public String getNaissanceDate() { |
String dateNaiss = ""; |
dateNaiss = get("naissance_date"); |
if (UtilString.isEmpty(dateNaiss)||dateNaiss.equals("0000-00-00")) { |
dateNaiss = Mediateur.i18nC.inconnue(); |
} |
return dateNaiss; |
} |
public void setNaissanceDate(Date naissanceDate) { |
if (naissanceDate != null) { |
this.set("naissance_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(naissanceDate)); |
} |
} |
|
// NAISSANCE LIEU |
public String getNaissanceLieu() { |
return renvoyerValeurCorrecte("naissance_lieu"); |
} |
public void setNaissanceLieu(String naissanceLieu) { |
this.set("naissance_lieu", naissanceLieu); |
} |
|
// DÉCÉS |
public boolean estDecedee() { |
String ceDeces = getDeces(); |
if (ceDeces.isEmpty() || ceDeces.equals(ETRE_DECEDE)) { |
return false; |
} else { |
return true; |
} |
} |
public String getDeces() { |
return renvoyerValeurCorrecte("ce_deces"); |
} |
public void setDeces(String deces) { |
set("ce_deces", deces); |
} |
public void setDeces(Date decesDate, String lieuDeces) { |
set("ce_deces", ETRE_DECEDE); |
setDecesDate(decesDate); |
setDecesLieu(lieuDeces); |
} |
public void setNonDecedee() { |
set("ce_deces", ETRE_VIVANT); |
setDecesDate(null); |
setDecesLieu(""); |
} |
|
// DÉCÉS DATE |
public String getDecesDate() { |
String dateDeces = renvoyerValeurCorrecte("deces_date"); |
if (UtilString.isEmpty(dateDeces) || dateDeces.equals("0000-00-00")) { |
dateDeces = Mediateur.i18nC.inconnue(); |
} |
return dateDeces; |
} |
public void setDecesDate(Date decesDate) { |
if (decesDate != null) { |
this.set("deces_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(decesDate)); |
} else { |
this.set("deces_date", ""); |
} |
} |
|
// DÉCÉS LIEU |
public String getDecesLieu() { |
return renvoyerValeurCorrecte("deces_lieu"); |
} |
public void setDecesLieu(String decesLieu) { |
this.set("deces_lieu", decesLieu); |
} |
|
// PARAMÊTRE |
public String getParametre() { |
return renvoyerValeurCorrecte("parametre"); |
} |
public void setParametre(String parametre) { |
this.set("parametre", parametre); |
} |
} |