Subversion Repositories eFlore/Applications.coel

Rev

Rev 935 | Rev 993 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
935 jpm 1
package org.tela_botanica.client.modeles.personne;
102 jpm 2
 
350 gduche 3
import java.util.Date;
102 jpm 4
import java.util.Iterator;
5
import java.util.Set;
6
 
827 gduche 7
import org.tela_botanica.client.Mediateur;
935 jpm 8
import org.tela_botanica.client.modeles.aDonnee;
620 gduche 9
import org.tela_botanica.client.util.UtilString;
10
 
350 gduche 11
import com.google.gwt.core.client.GWT;
12
import com.google.gwt.i18n.client.DateTimeFormat;
102 jpm 13
import com.google.gwt.json.client.JSONObject;
14
 
15
public class Personne extends aDonnee {
208 jp_milcent 16
 
748 jpm 17
	private static final long serialVersionUID = -6974716696155349332L;
18
 
208 jp_milcent 19
	public static final String PREFIXE = "cp";
245 jp_milcent 20
	public static final String TELEPHONE_FIXE = "FIX";
21
	public static final String TELEPHONE_GSM = "GSM";
602 jp_milcent 22
	public static final String TELEPHONE_FAX = "FAX";
875 jpm 23
	public static final String ETRE_DECEDE = "30745";
24
	public static final String ETRE_VIVANT = "30746";
208 jp_milcent 25
 
103 jpm 26
	public Personne() {
27
	}
28
 
775 jpm 29
	public Personne(JSONObject personne) {
30
		initialiserModele(personne);
261 gduche 31
		//Ajout du champ courriel principal
947 gduche 32
		this.setCourrielPrinc(this.getInfoDenormaliseParPosition(this.renvoyerValeurCorrecte("truk_courriel"), 1));
102 jpm 33
	}
34
 
748 jpm 35
	@Override
36
	protected String getPrefixe() {
37
		return PREFIXE;
38
	}
39
 
875 jpm 40
	public Object obtenirValeurChamp(String nomChamp)	{
41
		return renvoyerValeurCorrecte(nomChamp);
42
	}
43
 
44
	public Date getDate(String nomChamp)	{
45
		String strDate = renvoyerValeurCorrecte(nomChamp);
46
		Date dateRetour = null;
47
		try {
48
			if ((strDate != null) && (!strDate.equals("0000-00-00"))) {
49
				dateRetour = DateTimeFormat.getFormat("yyyy-MM-dd").parseStrict(strDate);
50
			}
51
		} catch (StringIndexOutOfBoundsException e)	{
52
			GWT.log("Impossible de parser la date " + strDate, e);
53
		}
54
		return dateRetour;
55
	}
56
 
57
	public String getString(String nomChamp)	{
58
		return String.valueOf(renvoyerValeurCorrecte(nomChamp));
59
	}
60
 
61
	//Traitement des truks
62
	protected void remplacerTypeDansChaineDenormalise(String champ, String type, Object valeur) {
63
		if (valeur != null && !valeur.equals("")) {
64
			ajouterChaineDenormaliseAvecType(champ, type, valeur);
65
		} else {
66
			supprimerTypeDansChaineDenormalise(champ, type);
67
		}
68
	}
69
	/**
70
	 * Ajoute un nouvel élément sans type à une chaine dénormalisée.
71
	 * Champ de type "truk" contenant seulement des valeurs séparées par ";;".
72
	 * Si l'élément existe déjà, il ne sera pas ajouté.
73
	 *
74
	 * @param champ le nom du champ dénormalisé
75
	 * @param valeur la valeur à ajouter
76
	 */
77
	protected void ajouterChaineDenormalise(String champ, Object valeur) {
78
		if (valeur instanceof String) {
79
			String chaineExistante = renvoyerValeurCorrecte(champ);
80
			if (chaineExistante.equals("")) {
81
				this.set(champ, valeur);
82
			} else {
83
				// Si la valeur à ajouter n'est pas déjà présente, nous l'ajoutons
84
				if (!chaineExistante.matches("(^|"+SEPARATEUR_VALEURS+")"+valeur+"("+SEPARATEUR_VALEURS+"|$)")) {
85
					this.set(champ, chaineExistante+SEPARATEUR_VALEURS+valeur);
86
				}
87
			}
88
		}
89
	}
90
 
240 jp_milcent 91
	// ID PERSONNE
102 jpm 92
	public String getId() {
240 jp_milcent 93
		return renvoyerValeurCorrecte("id_personne");
102 jpm 94
	}
875 jpm 95
	public void setId(String personneId) {
96
		this.set("id_personne", personneId);
97
	}
102 jpm 98
 
609 jp_milcent 99
	// ID PROJET
100
	public String getIdProjet() {
101
		return renvoyerValeurCorrecte("ce_projet");
102
	}
103
 
240 jp_milcent 104
	// NOM COMPLET
105
	public String getNomComplet() {
106
		return renvoyerValeurCorrecte("fmt_nom_complet");
181 gduche 107
	}
912 jpm 108
	public void setNomComplet(String nomComplet) {
109
		this.set("fmt_nom_complet", nomComplet);
110
	}
875 jpm 111
	public void setFmtNomComplet(String prefixe, String suffixe)	{
112
		String fmtNomComplet = "";
912 jpm 113
 
875 jpm 114
		if ((prefixe != null)&&(!prefixe.trim().equals("")))	{
115
			fmtNomComplet += prefixe + " ";
116
		}
117
 
118
		if ((this.getPrenom()!=null)&&(!this.getPrenom().trim().equals("")))	{
119
			fmtNomComplet += this.getPrenom() + " ";
120
		}
121
 
122
		if ((this.getNom()!=null)&&(!this.getNom().trim().equals("")))	{
123
			fmtNomComplet += this.getNom() + " ";
124
		}
125
 
126
		if ((suffixe!=null)&&(!suffixe.trim().equals("")))	{
127
			fmtNomComplet += suffixe;
128
		}
912 jpm 129
 
130
		setNomComplet(UtilString.ucFirst(fmtNomComplet));
875 jpm 131
	}
181 gduche 132
 
240 jp_milcent 133
	// NOM
134
	public String getNom() {
135
		return renvoyerValeurCorrecte("nom");
181 gduche 136
	}
912 jpm 137
	public void setNom(String nom) {
138
		set("nom", nom);
139
	}
181 gduche 140
 
240 jp_milcent 141
	// PRÉNOM
142
	public String getPrenom() {
143
		return renvoyerValeurCorrecte("prenom");
238 aurelien 144
	}
912 jpm 145
	public void setPrenom(String prenom) {
146
		set("prenom", prenom);
147
	}
238 aurelien 148
 
240 jp_milcent 149
	// TÉLÉPHONE
150
	public String getTelephone() {
151
		return renvoyerValeurCorrecte("truk_telephone");
152
	}
153
	public void setTelephone(String t) {
154
		this.set("truk_telephone", t);
155
	}
245 jp_milcent 156
	public void ajouterTelephone(String type, Object valeur) {
240 jp_milcent 157
		ajouterChaineDenormaliseAvecType("truk_telephone", type, valeur);
158
	}
245 jp_milcent 159
	public String selectionnerTelephone(String type) {
160
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("truk_telephone"), type);
161
	}
240 jp_milcent 162
 
163
	// FAX
164
	public String getFax() {
165
		return renvoyerValeurCorrecte("truk_fax");
166
	}
167
	public void setFax(String f) {
168
		this.set("truk_fax", f);
169
	}
245 jp_milcent 170
	public void ajouterFax(Object valeur) {
240 jp_milcent 171
		ajouterChaineDenormalise("truk_fax", valeur);
172
	}
245 jp_milcent 173
	public String selectionnerFax(int position) {
174
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_fax"), position);
175
	}
240 jp_milcent 176
 
177
	// COURRIEL
178
	public String getCourriel() {
179
		return renvoyerValeurCorrecte("truk_courriel");
180
	}
181
	public void setCourriel(String c) {
182
		this.set("truk_courriel", c);
183
	}
245 jp_milcent 184
	public void ajouterCourriel(String c) {
240 jp_milcent 185
		ajouterChaineDenormalise("truk_courriel", c);
186
	}
245 jp_milcent 187
	public String selectionnerCourriel(int position) {
188
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_courriel"), position);
189
	}
240 jp_milcent 190
 
191
	// SPÉCIALITÉ
192
	public String getSpecialite() {
193
		return renvoyerValeurCorrecte("ce_truk_specialite");
194
	}
195
	public void setSpecialite(String s) {
196
		// Pas de liste pour l'instant, donc tout passe dans "Autre".
197
		setChaineDenormaliseUnique("ce_truk_specialite", "AUTRE", s);
198
	}
245 jp_milcent 199
	public String afficherSpecialite() {
200
		return getChaineDenormaliseUnique("ce_truk_specialite");
201
	}
240 jp_milcent 202
 
875 jpm 203
	// NAISSANCE DATE
204
	public String getNaissanceDate()	{
205
		String dateNaiss = "";
206
		dateNaiss = get("naissance_date");
207
		if (UtilString.isEmpty(dateNaiss)||dateNaiss.equals("0000-00-00"))	{
208
			dateNaiss = Mediateur.i18nC.inconnue();
209
		}
210
		return dateNaiss;
181 gduche 211
	}
455 gduche 212
	public void setNaissanceDate(Date naissanceDate) {
213
		if (naissanceDate != null) {
214
			this.set("naissance_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(naissanceDate));
215
		}
216
	}
217
 
875 jpm 218
	// NAISSANCE LIEU
219
	public String getNaissanceLieu() {
220
		return renvoyerValeurCorrecte("naissance_lieu");
827 gduche 221
	}
875 jpm 222
	public void setNaissanceLieu(String naissanceLieu) {
223
		this.set("naissance_lieu", naissanceLieu);
827 gduche 224
	}
225
 
875 jpm 226
	// DÉCÉS
827 gduche 227
	public boolean estDecedee()	{
875 jpm 228
		String ceDeces = getDeces();
229
		if (ceDeces.isEmpty() || ceDeces.equals(ETRE_DECEDE))	{
827 gduche 230
			return false;
875 jpm 231
		} else {
827 gduche 232
			return true;
233
		}
234
	}
875 jpm 235
	public String getDeces()	{
236
		return renvoyerValeurCorrecte("ce_deces");
455 gduche 237
	}
875 jpm 238
	public void setDeces(String deces)	{
239
		set("ce_deces", deces);
240
	}
241
	public void setDeces(Date decesDate, String lieuDeces)	{
242
		set("ce_deces", ETRE_DECEDE);
243
		setDecesDate(decesDate);
244
		setDecesLieu(lieuDeces);
245
	}
246
	public void setNonDecedee()	{
247
		set("ce_deces", ETRE_VIVANT);
248
		setDecesDate(null);
249
		setDecesLieu("");
250
	}
455 gduche 251
 
875 jpm 252
	// DÉCÉS DATE
827 gduche 253
	public String getDecesDate()	{
875 jpm 254
		String dateDeces = renvoyerValeurCorrecte("deces_date");
255
		if (UtilString.isEmpty(dateDeces) || dateDeces.equals("0000-00-00"))	{
827 gduche 256
			dateDeces = Mediateur.i18nC.inconnue();
257
		}
258
		return dateDeces;
259
	}
875 jpm 260
	public void setDecesDate(Date decesDate) {
261
		if (decesDate != null)	{
262
			this.set("deces_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(decesDate));
263
		}	else	{
264
			this.set("deces_date", "");
827 gduche 265
		}
266
	}
267
 
875 jpm 268
	// DÉCÉS LIEU
269
	public String getDecesLieu() {
270
		return renvoyerValeurCorrecte("deces_lieu");
455 gduche 271
	}
875 jpm 272
	public void setDecesLieu(String decesLieu) {
273
		this.set("deces_lieu", decesLieu);
818 gduche 274
	}
912 jpm 275
 
276
	// PARAMÊTRE
277
	public String getParametre() {
278
		return renvoyerValeurCorrecte("parametre");
279
	}
280
	public void setParametre(String parametre) {
281
		this.set("parametre", parametre);
282
	}
947 gduche 283
 
284
	public void setCourrielPrinc(String courriel)	{
285
		this.set("_courriel_princ_", courriel);
286
	}
287
 
288
	public String getCourrielPrinc()	{
289
		return (String) this.get("_courriel_princ_");
290
	}
291
}
292