Subversion Repositories eFlore/Applications.coel

Rev

Details | 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 {
748 jpm 9
 
10
	private static final long serialVersionUID = -7265602594281982891L;
11
 
12
	public static final String PREFIXE = "csap";
13
 
264 jp_milcent 14
	public static final String FONCTION_DIRECTEUR = "2028";
15
	public static final String FONCTION_CONSERVATEUR = "2029";
16
	public static final String FONCTION_TECHNICIEN = "2030";
208 jp_milcent 17
	public static final String ROLE_ADMIN = "2026";
18
	public static final String ROLE_EQUIPE = "2027";
295 jp_milcent 19
	public static final String ETAT_AJOUTE = "A";
208 jp_milcent 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
	public StructureAPersonne(JSONObject personnel) {
30
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
602 jp_milcent 31
		set("contact", false);
32
		set("fonction", "");
33
		set("statut", "");
34
		set("travail", 0);
208 jp_milcent 35
 
36
		// L'objet JSON est une table de hachage
37
		Set<String> im = personnel.keySet();
38
 
39
		// Parcourt pour chaque clé
40
		for (Iterator<String> it = im.iterator(); it.hasNext();) {
41
			// Si elle est associée à une valeur, nous l'ajoutons
42
			String cle = it.next();
43
			if (cle.startsWith(PREFIXE+"_")) {
44
				// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
45
				String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
46
				// Sinon, nous ajoutons la clé avec une valeur vide
47
				String valeur = "";
48
				if (personnel.get(cle).isString() != null) {
49
					valeur = personnel.get(cle).isString().stringValue();
50
				}
602 jp_milcent 51
				set(cleObjet, valeur);
208 jp_milcent 52
				if (cle.equals("mark_contact")) {
602 jp_milcent 53
					set("contact", (valeur.equals("1") ? true : false));
208 jp_milcent 54
				} else if (cle.equals("bota_travail_hebdo_tps")) {
602 jp_milcent 55
					set("travail", Integer.parseInt(valeur));
208 jp_milcent 56
				}
57
			}
58
			if (cle.startsWith(Personne.PREFIXE+"_")) {
59
				// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
60
				String cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", "");
61
				// Sinon, nous ajoutons la clé avec une valeur vide
62
				String valeur = "";
63
				if (personnel.get(cle).isString() != null) {
64
					valeur = personnel.get(cle).isString().stringValue();
65
				}
66
 
67
				if (cleObjet.equals("truk_telephone")) {
602 jp_milcent 68
					set("telephone", valeur);
69
					set("tel_fix", getInfoDenormaliseParType(valeur, Personne.TELEPHONE_FIXE));
70
					set("tel_fax", getInfoDenormaliseParType(valeur, Personne.TELEPHONE_FAX));
208 jp_milcent 71
				} else if (cleObjet.equals("truk_courriel")) {
602 jp_milcent 72
					set("courriel", getInfoDenormaliseParPosition(valeur, 1));
208 jp_milcent 73
				} else if (cleObjet.equals("ce_truk_specialite")) {
602 jp_milcent 74
					set("specialite", getInfoDenormaliseParPosition(valeur, 1));
208 jp_milcent 75
				} else {
602 jp_milcent 76
					set(cleObjet, valeur);
208 jp_milcent 77
				}
78
			}
79
		}
80
	}
81
 
82
	/**
83
	 * Constructeur avec la fonction à passer en paramètre
84
	 *
231 jp_milcent 85
	 * @param fonction fonction de la personne dans la structure.
86
	 * @param role identifiant du rôle de la personne vis à vis de la structure.
208 jp_milcent 87
	 */
231 jp_milcent 88
	public StructureAPersonne(String fonction, String roleId) {
208 jp_milcent 89
		setFonction(fonction);
231 jp_milcent 90
		setIdRole(roleId);
91
 
208 jp_milcent 92
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
602 jp_milcent 93
		set("contact", false);
94
		set("fonction", fonction);
95
		set("statut", "");
96
		set("travail", 0);
208 jp_milcent 97
	}
98
 
295 jp_milcent 99
	/**
100
	 * Constructeur avec la fonction à passer en paramètre
101
	 *
102
	 * @param fonction fonction de la personne dans la structure.
103
	 * @param role identifiant du rôle de la personne vis à vis de la structure.
104
	 */
105
	public StructureAPersonne(String fonction, String roleId, String codeEtat) {
106
		setFonction(fonction);
107
		setIdRole(roleId);
108
 
109
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
602 jp_milcent 110
		set("contact", false);
111
		set("fonction", fonction);
112
		set("statut", "");
113
		set("travail", 0);
114
		set("etat", codeEtat);
295 jp_milcent 115
	}
116
 
748 jpm 117
	@Override
118
	protected String getPrefixe() {
119
		return PREFIXE;
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
 
609 jp_milcent 221
	// ID PROJET PERSONNE
222
	public String getIdProjetPersonne() {
223
		return renvoyerValeurCorrecte("ce_projet");
224
	}
225
	public void setIdProjetPersonne(String ipp) {
226
		set("ce_projet", ipp);
227
	}
228
 
208 jp_milcent 229
	// PRÉNOM
230
	public String getPrenom() {
231
		return renvoyerValeurCorrecte("prenom");
232
	}
602 jp_milcent 233
	public void setPrenom(String prenom) {
234
		set("prenom", prenom);
208 jp_milcent 235
	}
236
 
237
	// NOM
238
	public String getNom() {
239
		return renvoyerValeurCorrecte("nom");
240
	}
602 jp_milcent 241
	public void setNom(String nom) {
242
		set("nom", nom);
208 jp_milcent 243
	}
244
 
245
	// TÉLÉPHONE
246
	public String getTelephone() {
247
		return renvoyerValeurCorrecte("telephone");
248
	}
602 jp_milcent 249
	public void setTelephone(String tel) {
250
		set("telephone", tel);
251
	}
252
 
253
	// TÉLÉPHONE FIXE
254
	public String getTelephoneFixe() {
255
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FIXE);
256
	}
257
	public void setTelephoneFixe(String fixe) {
231 jp_milcent 258
		// Nous remplaçons le premier numéro de Téléphone FIX de la personne
602 jp_milcent 259
		modifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FIXE, fixe);
208 jp_milcent 260
	}
261
 
602 jp_milcent 262
	// TÉLÉPHONE FAX
208 jp_milcent 263
	public String getFax() {
602 jp_milcent 264
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FAX);
208 jp_milcent 265
	}
602 jp_milcent 266
	public void setFax(String fax) {
267
		// Nous remplaçons le premier numéro de FAX de la personne
268
		modifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FAX, fax);
208 jp_milcent 269
	}
270
 
271
	// COURRIEL
272
	public String getCourriel() {
273
		return renvoyerValeurCorrecte("courriel");
274
	}
602 jp_milcent 275
	public void setCourriel(String courriel) {
231 jp_milcent 276
		// Nous remplaçons le courriel en position 1 (principal)
602 jp_milcent 277
		this.modifierChaineDenormaliseParPosition("courriel", 1, courriel);
208 jp_milcent 278
	}
295 jp_milcent 279
	public String selectionnerCourriel(int position) {
280
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("courriel"), position);
281
	}
208 jp_milcent 282
 
283
	// SPÉCIALITÉ
284
	public String getSpecialite() {
285
		return renvoyerValeurCorrecte("specialite");
286
	}
602 jp_milcent 287
	public void setSpecialite(String specialite) {
288
		setChaineDenormaliseUnique("specialite", "AUTRE", specialite);
208 jp_milcent 289
	}
295 jp_milcent 290
	public String afficherSpecialite() {
291
		return getChaineDenormaliseUnique("specialite");
292
	}
208 jp_milcent 293
}