Subversion Repositories eFlore/Applications.coel

Rev

Rev 1779 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
935 jpm 1
package org.tela_botanica.client.modeles.structure;
208 jp_milcent 2
 
3
import java.util.Iterator;
1369 cyprien 4
import java.util.Map;
208 jp_milcent 5
import java.util.Set;
6
 
935 jpm 7
import org.tela_botanica.client.modeles.aDonnee;
8
import org.tela_botanica.client.modeles.personne.Personne;
9
 
208 jp_milcent 10
import com.google.gwt.json.client.JSONObject;
11
 
12
public class StructureAPersonne extends aDonnee {
748 jpm 13
 
14
	private static final long serialVersionUID = -7265602594281982891L;
15
 
16
	public static final String PREFIXE = "csap";
17
 
264 jp_milcent 18
	public static final String FONCTION_DIRECTEUR = "2028";
19
	public static final String FONCTION_CONSERVATEUR = "2029";
20
	public static final String FONCTION_TECHNICIEN = "2030";
208 jp_milcent 21
	public static final String ROLE_ADMIN = "2026";
22
	public static final String ROLE_EQUIPE = "2027";
295 jp_milcent 23
	public static final String ETAT_AJOUTE = "A";
1173 jpm 24
	public static String[] champsObligatoires = {"csap_id_personne", "csap_id_structure", "csap_id_role", "cp_id_personne"};
208 jp_milcent 25
 
26
	public StructureAPersonne() {
27
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
602 jp_milcent 28
		set("contact", false);
29
		set("fonction", "");
30
		set("statut", "");
31
		set("travail", 0);
208 jp_milcent 32
	}
33
 
34
	public StructureAPersonne(JSONObject personnel) {
35
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
602 jp_milcent 36
		set("contact", false);
37
		set("fonction", "");
38
		set("statut", "");
39
		set("travail", 0);
208 jp_milcent 40
 
41
		// L'objet JSON est une table de hachage
42
		Set<String> im = personnel.keySet();
43
 
44
		// Parcourt pour chaque clé
45
		for (Iterator<String> it = im.iterator(); it.hasNext();) {
46
			// Si elle est associée à une valeur, nous l'ajoutons
47
			String cle = it.next();
48
			if (cle.startsWith(PREFIXE+"_")) {
49
				// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
50
				String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
51
				// Sinon, nous ajoutons la clé avec une valeur vide
52
				String valeur = "";
53
				if (personnel.get(cle).isString() != null) {
54
					valeur = personnel.get(cle).isString().stringValue();
55
				}
602 jp_milcent 56
				set(cleObjet, valeur);
208 jp_milcent 57
				if (cle.equals("mark_contact")) {
602 jp_milcent 58
					set("contact", (valeur.equals("1") ? true : false));
208 jp_milcent 59
				} else if (cle.equals("bota_travail_hebdo_tps")) {
602 jp_milcent 60
					set("travail", Integer.parseInt(valeur));
208 jp_milcent 61
				}
62
			}
63
			if (cle.startsWith(Personne.PREFIXE+"_")) {
64
				// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
65
				String cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", "");
66
				// Sinon, nous ajoutons la clé avec une valeur vide
67
				String valeur = "";
68
				if (personnel.get(cle).isString() != null) {
69
					valeur = personnel.get(cle).isString().stringValue();
70
				}
71
 
72
				if (cleObjet.equals("truk_telephone")) {
602 jp_milcent 73
					set("telephone", valeur);
74
					set("tel_fix", getInfoDenormaliseParType(valeur, Personne.TELEPHONE_FIXE));
75
					set("tel_fax", getInfoDenormaliseParType(valeur, Personne.TELEPHONE_FAX));
208 jp_milcent 76
				} else if (cleObjet.equals("truk_courriel")) {
602 jp_milcent 77
					set("courriel", getInfoDenormaliseParPosition(valeur, 1));
208 jp_milcent 78
				} else if (cleObjet.equals("ce_truk_specialite")) {
602 jp_milcent 79
					set("specialite", getInfoDenormaliseParPosition(valeur, 1));
208 jp_milcent 80
				} else {
602 jp_milcent 81
					set(cleObjet, valeur);
208 jp_milcent 82
				}
83
			}
84
		}
85
	}
86
 
1369 cyprien 87
	public StructureAPersonne(Personne personne, String fonction, String roleId, String codeEtat) {
88
		Map<String, Object> a = personne.getProperties();
89
 
90
		Set<String> cles = a.keySet();
91
		Iterator<String> it = cles.iterator();
92
		while (it.hasNext()) {
93
			String cle = it.next();
94
			String cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", "");
95
			String valeur = (String)a.get(cle);
96
			if (a.get(cle) != null) {
97
				if (cle.equals("truk_telephone")) {
98
					set("telephone", a.get(cle));
99
					set("tel_fix", getInfoDenormaliseParType(valeur, Personne.TELEPHONE_FIXE));
100
					set("tel_fax", getInfoDenormaliseParType(valeur, Personne.TELEPHONE_FAX));
101
				} else if (cleObjet.equals("truk_courriel")) {
102
					set("courriel", getInfoDenormaliseParPosition(valeur, 1));
103
				} else if (cleObjet.equals("ce_truk_specialite")) {
104
					set("specialite", getInfoDenormaliseParPosition(valeur, 1));
105
				} else {
106
					this.set(cleObjet, a.get(cle));
107
				}
108
			}
109
		}
110
 
111
		setFonction(fonction);
112
		setIdRole(roleId);
113
 
114
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
115
		set("contact", false);
116
		set("fonction", fonction);
117
		set("statut", "");
118
		set("travail", 0);
119
		set("etat", codeEtat);
120
	}
121
 
122
 
208 jp_milcent 123
	/**
124
	 * Constructeur avec la fonction à passer en paramètre
125
	 *
231 jp_milcent 126
	 * @param fonction fonction de la personne dans la structure.
127
	 * @param role identifiant du rôle de la personne vis à vis de la structure.
208 jp_milcent 128
	 */
231 jp_milcent 129
	public StructureAPersonne(String fonction, String roleId) {
208 jp_milcent 130
		setFonction(fonction);
231 jp_milcent 131
		setIdRole(roleId);
132
 
208 jp_milcent 133
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
602 jp_milcent 134
		set("contact", false);
135
		set("fonction", fonction);
136
		set("statut", "");
137
		set("travail", 0);
208 jp_milcent 138
	}
139
 
295 jp_milcent 140
	/**
141
	 * Constructeur avec la fonction à passer en paramètre
142
	 *
143
	 * @param fonction fonction de la personne dans la structure.
144
	 * @param role identifiant du rôle de la personne vis à vis de la structure.
145
	 */
146
	public StructureAPersonne(String fonction, String roleId, String codeEtat) {
147
		setFonction(fonction);
148
		setIdRole(roleId);
149
 
150
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
602 jp_milcent 151
		set("contact", false);
152
		set("fonction", fonction);
153
		set("statut", "");
154
		set("travail", 0);
155
		set("etat", codeEtat);
295 jp_milcent 156
	}
157
 
748 jpm 158
	@Override
159
	protected String getPrefixe() {
160
		return PREFIXE;
161
	}
162
 
1173 jpm 163
	protected String[] getChampsObligatoires()	{
164
		return champsObligatoires;
165
	}
166
 
167
 
208 jp_milcent 168
	// ID
169
	/** Génère un identifiant de StructureAPersonne.
170
	 *
171
	 * C'est une concaténation des clés primaires de la table coel_structure_a_personne séparées par un tiret "-".
172
	 *
173
	 * @return identifiant unique d'une relation "structure à personne".
174
	 */
175
	public String getId() {
231 jp_milcent 176
		String idStructure = renvoyerValeurCorrecte("id_structure");
177
		String idPersonne = renvoyerValeurCorrecte("id_personne");
178
		String idRole = renvoyerValeurCorrecte("id_role");
179
		if (idStructure.equals("") && idPersonne.equals("") && idRole.equals("")) {
180
			return null;
181
		} else {
182
			return (idStructure+"-"+idPersonne+"-"+idRole);
183
		}
208 jp_milcent 184
	}
185
 
186
	//+---------------------------------------------------------------------------------------------------------------+
187
	// CHAMPS PROVENANT de la TABLE COEL_STRUCTURE_A_PERSONNE
188
 
189
	// ID STRUCTURE
190
	public String getIdStructure() {
191
		return renvoyerValeurCorrecte("id_structure");
192
	}
193
	public void setIdStructure(String is) {
602 jp_milcent 194
		set("id_structure", is);
208 jp_milcent 195
	}
196
 
197
	// ID PERSONNE
198
	public String getIdPersonne() {
199
		return renvoyerValeurCorrecte("id_personne");
200
	}
201
	public void setIdPersonne(String ip) {
602 jp_milcent 202
		set("id_personne", ip);
208 jp_milcent 203
	}
204
 
205
	// ID RôLE
206
	public String getIdRole() {
207
		return renvoyerValeurCorrecte("id_role");
208
	}
209
	public void setIdRole(String ir) {
602 jp_milcent 210
		set("id_role", ir);
208 jp_milcent 211
	}
212
 
213
	// FONCTION
214
	public String getFonction() {
212 jp_milcent 215
		return renvoyerValeurCorrecte("ce_truk_fonction");
208 jp_milcent 216
	}
217
	public void setFonction(String ctf) {
602 jp_milcent 218
		set("ce_truk_fonction", ctf);
208 jp_milcent 219
	}
794 jpm 220
	public void setFonction(String type, String valeur) {
231 jp_milcent 221
		setChaineDenormaliseUnique("ce_truk_fonction", type, valeur);
208 jp_milcent 222
	}
223
 
224
	// SERVICE
225
	public String getService() {
226
		return renvoyerValeurCorrecte("service");
227
	}
228
	public void setService(String s) {
602 jp_milcent 229
		set("service", s);
208 jp_milcent 230
	}
231
 
232
	// STATUT
233
	public String getStatut() {
234
		return renvoyerValeurCorrecte("ce_truk_statut");
235
	}
236
	public void setStatut(String cts) {
602 jp_milcent 237
		set("ce_truk_statut", cts);
208 jp_milcent 238
	}
794 jpm 239
	public void setStatut(String type, String valeur) {
231 jp_milcent 240
		setChaineDenormaliseUnique("ce_truk_statut", type, valeur);
208 jp_milcent 241
	}
242
 
243
	// CONTACT
244
	public String getContact() {
245
		return renvoyerValeurCorrecte("mark_contact");
246
	}
247
	public void setContact(String c) {
602 jp_milcent 248
		//set("contact", (c.equals("1") ? true : false));
249
		set("mark_contact", c);
208 jp_milcent 250
	}
251
	public void setContact(Boolean c) {
252
		setContact((c.equals(Boolean.TRUE) ? "1" : "0"));
253
	}
254
 
255
	// BOTA TRAVAIL HEBDO TPS
256
	public String getBotaTravailHebdoTps() {
257
		return renvoyerValeurCorrecte("bota_travail_hebdo_tps");
258
	}
259
	public void setBotaTravailHebdoTps(String btht) {
602 jp_milcent 260
		set("bota_travail_hebdo_tps", btht);
208 jp_milcent 261
	}
262
 
263
	//+---------------------------------------------------------------------------------------------------------------+
264
	// CHAMPS PROVENANT de la TABLE COEL_PERSONNE
265
 
266
	// PRÉNOM
267
	public String getPrenom() {
268
		return renvoyerValeurCorrecte("prenom");
269
	}
602 jp_milcent 270
	public void setPrenom(String prenom) {
271
		set("prenom", prenom);
208 jp_milcent 272
	}
273
 
274
	// NOM
275
	public String getNom() {
276
		return renvoyerValeurCorrecte("nom");
277
	}
602 jp_milcent 278
	public void setNom(String nom) {
279
		set("nom", nom);
208 jp_milcent 280
	}
281
 
1210 cyprien 282
	// NOM COMPLET
283
	public String getNomComplet() {
284
		return renvoyerValeurCorrecte("fmt_nom_complet");
285
	}
286
	public void setNomComplet(String nomComplet) {
287
		set("fmt_nom_complet", nomComplet);
288
	}
289
 
208 jp_milcent 290
	// TÉLÉPHONE
291
	public String getTelephone() {
292
		return renvoyerValeurCorrecte("telephone");
293
	}
602 jp_milcent 294
	public void setTelephone(String tel) {
295
		set("telephone", tel);
296
	}
297
 
298
	// TÉLÉPHONE FIXE
299
	public String getTelephoneFixe() {
300
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FIXE);
301
	}
302
	public void setTelephoneFixe(String fixe) {
1210 cyprien 303
		// Nous remplaçons le premier numéro de Téléphone FIXE de la personne
602 jp_milcent 304
		modifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FIXE, fixe);
208 jp_milcent 305
	}
306
 
602 jp_milcent 307
	// TÉLÉPHONE FAX
208 jp_milcent 308
	public String getFax() {
602 jp_milcent 309
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FAX);
208 jp_milcent 310
	}
602 jp_milcent 311
	public void setFax(String fax) {
312
		// Nous remplaçons le premier numéro de FAX de la personne
313
		modifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FAX, fax);
208 jp_milcent 314
	}
315
 
316
	// COURRIEL
317
	public String getCourriel() {
318
		return renvoyerValeurCorrecte("courriel");
319
	}
602 jp_milcent 320
	public void setCourriel(String courriel) {
231 jp_milcent 321
		// Nous remplaçons le courriel en position 1 (principal)
602 jp_milcent 322
		this.modifierChaineDenormaliseParPosition("courriel", 1, courriel);
208 jp_milcent 323
	}
295 jp_milcent 324
	public String selectionnerCourriel(int position) {
325
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("courriel"), position);
326
	}
208 jp_milcent 327
 
328
	// SPÉCIALITÉ
329
	public String getSpecialite() {
330
		return renvoyerValeurCorrecte("specialite");
331
	}
602 jp_milcent 332
	public void setSpecialite(String specialite) {
333
		setChaineDenormaliseUnique("specialite", "AUTRE", specialite);
208 jp_milcent 334
	}
295 jp_milcent 335
	public String afficherSpecialite() {
336
		return getChaineDenormaliseUnique("specialite");
337
	}
1329 cyprien 338
 
339
	public String getDeces() {
340
		return renvoyerValeurCorrecte("ce_deces");
341
	}
342
	public void setDeces(String etat) {
343
		set("ce_deces", etat);
344
	}
345
}