Subversion Repositories eFlore/Applications.coel

Rev

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