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
	}
794 jpm 174
	public void setFonction(String type, String valeur) {
231 jp_milcent 175
		setChaineDenormaliseUnique("ce_truk_fonction", type, valeur);
208 jp_milcent 176
	}
177
 
178
	// SERVICE
179
	public String getService() {
180
		return renvoyerValeurCorrecte("service");
181
	}
182
	public void setService(String s) {
602 jp_milcent 183
		set("service", s);
208 jp_milcent 184
	}
185
 
186
	// STATUT
187
	public String getStatut() {
188
		return renvoyerValeurCorrecte("ce_truk_statut");
189
	}
190
	public void setStatut(String cts) {
602 jp_milcent 191
		set("ce_truk_statut", cts);
208 jp_milcent 192
	}
794 jpm 193
	public void setStatut(String type, String valeur) {
231 jp_milcent 194
		setChaineDenormaliseUnique("ce_truk_statut", type, valeur);
208 jp_milcent 195
	}
196
 
197
	// CONTACT
198
	public String getContact() {
199
		return renvoyerValeurCorrecte("mark_contact");
200
	}
201
	public void setContact(String c) {
602 jp_milcent 202
		//set("contact", (c.equals("1") ? true : false));
203
		set("mark_contact", c);
208 jp_milcent 204
	}
205
	public void setContact(Boolean c) {
206
		setContact((c.equals(Boolean.TRUE) ? "1" : "0"));
207
	}
208
 
209
	// BOTA TRAVAIL HEBDO TPS
210
	public String getBotaTravailHebdoTps() {
211
		return renvoyerValeurCorrecte("bota_travail_hebdo_tps");
212
	}
213
	public void setBotaTravailHebdoTps(String btht) {
602 jp_milcent 214
		set("bota_travail_hebdo_tps", btht);
208 jp_milcent 215
	}
216
 
217
	//+---------------------------------------------------------------------------------------------------------------+
218
	// CHAMPS PROVENANT de la TABLE COEL_PERSONNE
219
 
609 jp_milcent 220
	// ID PROJET PERSONNE
221
	public String getIdProjetPersonne() {
222
		return renvoyerValeurCorrecte("ce_projet");
223
	}
224
	public void setIdProjetPersonne(String ipp) {
225
		set("ce_projet", ipp);
226
	}
227
 
208 jp_milcent 228
	// PRÉNOM
229
	public String getPrenom() {
230
		return renvoyerValeurCorrecte("prenom");
231
	}
602 jp_milcent 232
	public void setPrenom(String prenom) {
233
		set("prenom", prenom);
208 jp_milcent 234
	}
235
 
236
	// NOM
237
	public String getNom() {
238
		return renvoyerValeurCorrecte("nom");
239
	}
602 jp_milcent 240
	public void setNom(String nom) {
241
		set("nom", nom);
208 jp_milcent 242
	}
243
 
244
	// TÉLÉPHONE
245
	public String getTelephone() {
246
		return renvoyerValeurCorrecte("telephone");
247
	}
602 jp_milcent 248
	public void setTelephone(String tel) {
249
		set("telephone", tel);
250
	}
251
 
252
	// TÉLÉPHONE FIXE
253
	public String getTelephoneFixe() {
254
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FIXE);
255
	}
256
	public void setTelephoneFixe(String fixe) {
231 jp_milcent 257
		// Nous remplaçons le premier numéro de Téléphone FIX de la personne
602 jp_milcent 258
		modifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FIXE, fixe);
208 jp_milcent 259
	}
260
 
602 jp_milcent 261
	// TÉLÉPHONE FAX
208 jp_milcent 262
	public String getFax() {
602 jp_milcent 263
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FAX);
208 jp_milcent 264
	}
602 jp_milcent 265
	public void setFax(String fax) {
266
		// Nous remplaçons le premier numéro de FAX de la personne
267
		modifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FAX, fax);
208 jp_milcent 268
	}
269
 
270
	// COURRIEL
271
	public String getCourriel() {
272
		return renvoyerValeurCorrecte("courriel");
273
	}
602 jp_milcent 274
	public void setCourriel(String courriel) {
231 jp_milcent 275
		// Nous remplaçons le courriel en position 1 (principal)
602 jp_milcent 276
		this.modifierChaineDenormaliseParPosition("courriel", 1, courriel);
208 jp_milcent 277
	}
295 jp_milcent 278
	public String selectionnerCourriel(int position) {
279
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("courriel"), position);
280
	}
208 jp_milcent 281
 
282
	// SPÉCIALITÉ
283
	public String getSpecialite() {
284
		return renvoyerValeurCorrecte("specialite");
285
	}
602 jp_milcent 286
	public void setSpecialite(String specialite) {
287
		setChaineDenormaliseUnique("specialite", "AUTRE", specialite);
208 jp_milcent 288
	}
295 jp_milcent 289
	public String afficherSpecialite() {
290
		return getChaineDenormaliseUnique("specialite");
291
	}
208 jp_milcent 292
}