Subversion Repositories eFlore/Applications.coel

Rev

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

Rev Author Line No. Line
208 jp_milcent 1
package org.tela_botanica.client.modeles;
2
 
3
import java.util.Iterator;
4
import java.util.Set;
5
 
6
import com.google.gwt.json.client.JSONObject;
7
 
8
public class StructureAPersonne extends aDonnee {
264 jp_milcent 9
	public static final String FONCTION_DIRECTEUR = "2028";
10
	public static final String FONCTION_CONSERVATEUR = "2029";
11
	public static final String FONCTION_TECHNICIEN = "2030";
208 jp_milcent 12
	public static final String ROLE_ADMIN = "2026";
13
	public static final String ROLE_EQUIPE = "2027";
14
	public static final String PREFIXE = "csap";
295 jp_milcent 15
	public static final String ETAT_AJOUTE = "A";
208 jp_milcent 16
 
17
	/**
18
	 * Constructeur vide
19
	 *
20
	 */
21
	public StructureAPersonne() {
22
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
602 jp_milcent 23
		set("contact", false);
24
		set("fonction", "");
25
		set("statut", "");
26
		set("travail", 0);
208 jp_milcent 27
	}
28
 
29
	/**
30
	 * Constructeur avec un objet JSON
31
	 *
32
	 * @param
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
 
87
	/**
88
	 * Constructeur avec la fonction à passer en paramètre
89
	 *
231 jp_milcent 90
	 * @param fonction fonction de la personne dans la structure.
91
	 * @param role identifiant du rôle de la personne vis à vis de la structure.
208 jp_milcent 92
	 */
231 jp_milcent 93
	public StructureAPersonne(String fonction, String roleId) {
208 jp_milcent 94
		setFonction(fonction);
231 jp_milcent 95
		setIdRole(roleId);
96
 
208 jp_milcent 97
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
602 jp_milcent 98
		set("contact", false);
99
		set("fonction", fonction);
100
		set("statut", "");
101
		set("travail", 0);
208 jp_milcent 102
	}
103
 
295 jp_milcent 104
	/**
105
	 * Constructeur avec la fonction à passer en paramètre
106
	 *
107
	 * @param fonction fonction de la personne dans la structure.
108
	 * @param role identifiant du rôle de la personne vis à vis de la structure.
109
	 */
110
	public StructureAPersonne(String fonction, String roleId, String codeEtat) {
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
602 jp_milcent 115
		set("contact", false);
116
		set("fonction", fonction);
117
		set("statut", "");
118
		set("travail", 0);
119
		set("etat", codeEtat);
295 jp_milcent 120
	}
121
 
208 jp_milcent 122
	// ID
123
	/** Génère un identifiant de StructureAPersonne.
124
	 *
125
	 * C'est une concaténation des clés primaires de la table coel_structure_a_personne séparées par un tiret "-".
126
	 *
127
	 * @return identifiant unique d'une relation "structure à personne".
128
	 */
129
	public String getId() {
231 jp_milcent 130
		String idStructure = renvoyerValeurCorrecte("id_structure");
131
		String idPersonne = renvoyerValeurCorrecte("id_personne");
132
		String idRole = renvoyerValeurCorrecte("id_role");
133
		if (idStructure.equals("") && idPersonne.equals("") && idRole.equals("")) {
134
			return null;
135
		} else {
136
			return (idStructure+"-"+idPersonne+"-"+idRole);
137
		}
208 jp_milcent 138
	}
139
 
140
	//+---------------------------------------------------------------------------------------------------------------+
141
	// CHAMPS PROVENANT de la TABLE COEL_STRUCTURE_A_PERSONNE
142
 
143
	// ID STRUCTURE
144
	public String getIdStructure() {
145
		return renvoyerValeurCorrecte("id_structure");
146
	}
147
	public void setIdStructure(String is) {
602 jp_milcent 148
		set("id_structure", is);
208 jp_milcent 149
	}
150
 
151
	// ID PERSONNE
152
	public String getIdPersonne() {
153
		return renvoyerValeurCorrecte("id_personne");
154
	}
155
	public void setIdPersonne(String ip) {
602 jp_milcent 156
		set("id_personne", ip);
208 jp_milcent 157
	}
158
 
159
	// ID RôLE
160
	public String getIdRole() {
161
		return renvoyerValeurCorrecte("id_role");
162
	}
163
	public void setIdRole(String ir) {
602 jp_milcent 164
		set("id_role", ir);
208 jp_milcent 165
	}
166
 
167
	// FONCTION
168
	public String getFonction() {
212 jp_milcent 169
		return renvoyerValeurCorrecte("ce_truk_fonction");
208 jp_milcent 170
	}
171
	public void setFonction(String ctf) {
602 jp_milcent 172
		set("ce_truk_fonction", ctf);
208 jp_milcent 173
	}
174
	public void setFonction(String type, Object valeur) {
231 jp_milcent 175
		setChaineDenormaliseUnique("ce_truk_fonction", type, valeur);
208 jp_milcent 176
	}
177
 
178
 
179
	// SERVICE
180
	public String getService() {
181
		return renvoyerValeurCorrecte("service");
182
	}
183
	public void setService(String s) {
602 jp_milcent 184
		set("service", s);
208 jp_milcent 185
	}
186
 
187
	// STATUT
188
	public String getStatut() {
189
		return renvoyerValeurCorrecte("ce_truk_statut");
190
	}
191
	public void setStatut(String cts) {
602 jp_milcent 192
		set("ce_truk_statut", cts);
208 jp_milcent 193
	}
231 jp_milcent 194
	public void setStatut(String type, Object valeur) {
195
		setChaineDenormaliseUnique("ce_truk_statut", type, valeur);
208 jp_milcent 196
	}
197
 
198
	// CONTACT
199
	public String getContact() {
200
		return renvoyerValeurCorrecte("mark_contact");
201
	}
202
	public void setContact(String c) {
602 jp_milcent 203
		//set("contact", (c.equals("1") ? true : false));
204
		set("mark_contact", c);
208 jp_milcent 205
	}
206
	public void setContact(Boolean c) {
207
		setContact((c.equals(Boolean.TRUE) ? "1" : "0"));
208
	}
209
 
210
	// BOTA TRAVAIL HEBDO TPS
211
	public String getBotaTravailHebdoTps() {
212
		return renvoyerValeurCorrecte("bota_travail_hebdo_tps");
213
	}
214
	public void setBotaTravailHebdoTps(String btht) {
602 jp_milcent 215
		set("bota_travail_hebdo_tps", btht);
208 jp_milcent 216
	}
217
 
218
	//+---------------------------------------------------------------------------------------------------------------+
219
	// CHAMPS PROVENANT de la TABLE COEL_PERSONNE
220
 
221
	// PRÉNOM
222
	public String getPrenom() {
223
		return renvoyerValeurCorrecte("prenom");
224
	}
602 jp_milcent 225
	public void setPrenom(String prenom) {
226
		set("prenom", prenom);
208 jp_milcent 227
	}
228
 
229
	// NOM
230
	public String getNom() {
231
		return renvoyerValeurCorrecte("nom");
232
	}
602 jp_milcent 233
	public void setNom(String nom) {
234
		set("nom", nom);
208 jp_milcent 235
	}
236
 
237
	// TÉLÉPHONE
238
	public String getTelephone() {
239
		return renvoyerValeurCorrecte("telephone");
240
	}
602 jp_milcent 241
	public void setTelephone(String tel) {
242
		set("telephone", tel);
243
	}
244
 
245
	// TÉLÉPHONE FIXE
246
	public String getTelephoneFixe() {
247
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FIXE);
248
	}
249
	public void setTelephoneFixe(String fixe) {
231 jp_milcent 250
		// Nous remplaçons le premier numéro de Téléphone FIX de la personne
602 jp_milcent 251
		modifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FIXE, fixe);
208 jp_milcent 252
	}
253
 
602 jp_milcent 254
	// TÉLÉPHONE FAX
208 jp_milcent 255
	public String getFax() {
602 jp_milcent 256
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FAX);
208 jp_milcent 257
	}
602 jp_milcent 258
	public void setFax(String fax) {
259
		// Nous remplaçons le premier numéro de FAX de la personne
260
		modifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FAX, fax);
208 jp_milcent 261
	}
262
 
263
	// COURRIEL
264
	public String getCourriel() {
265
		return renvoyerValeurCorrecte("courriel");
266
	}
602 jp_milcent 267
	public void setCourriel(String courriel) {
231 jp_milcent 268
		// Nous remplaçons le courriel en position 1 (principal)
602 jp_milcent 269
		this.modifierChaineDenormaliseParPosition("courriel", 1, courriel);
208 jp_milcent 270
	}
295 jp_milcent 271
	public String selectionnerCourriel(int position) {
272
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("courriel"), position);
273
	}
208 jp_milcent 274
 
275
	// SPÉCIALITÉ
276
	public String getSpecialite() {
277
		return renvoyerValeurCorrecte("specialite");
278
	}
602 jp_milcent 279
	public void setSpecialite(String specialite) {
231 jp_milcent 280
		// Nous remplaçons le premier numéro de Téléphone FIX de la personne
602 jp_milcent 281
		setChaineDenormaliseUnique("specialite", "AUTRE", specialite);
208 jp_milcent 282
	}
295 jp_milcent 283
	public String afficherSpecialite() {
284
		return getChaineDenormaliseUnique("specialite");
285
	}
208 jp_milcent 286
}