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.List;
5
import java.util.Set;
6
 
7
import com.extjs.gxt.ui.client.widget.form.CheckBox;
8
import com.google.gwt.json.client.JSONObject;
9
 
10
public class StructureAPersonne extends aDonnee {
264 jp_milcent 11
	public static final String FONCTION_DIRECTEUR = "2028";
12
	public static final String FONCTION_CONSERVATEUR = "2029";
13
	public static final String FONCTION_TECHNICIEN = "2030";
208 jp_milcent 14
	public static final String ROLE_ADMIN = "2026";
15
	public static final String ROLE_EQUIPE = "2027";
16
	public static final String PREFIXE = "csap";
295 jp_milcent 17
	public static final String ETAT_AJOUTE = "A";
208 jp_milcent 18
 
19
	/**
20
	 * Constructeur vide
21
	 *
22
	 */
23
	public StructureAPersonne() {
24
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
25
		this.set("contact", false);
214 jp_milcent 26
		this.set("fonction", "");
27
		this.set("statut", "");
231 jp_milcent 28
		this.set("travail", 0);
208 jp_milcent 29
	}
30
 
31
	/**
32
	 * Constructeur avec un objet JSON
33
	 *
34
	 * @param
35
	 */
36
	public StructureAPersonne(JSONObject personnel) {
37
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
38
		this.set("contact", false);
214 jp_milcent 39
		this.set("fonction", "");
40
		this.set("statut", "");
231 jp_milcent 41
		this.set("travail", 0);
208 jp_milcent 42
 
43
		// L'objet JSON est une table de hachage
44
		Set<String> im = personnel.keySet();
45
 
46
		// Parcourt pour chaque clé
47
		for (Iterator<String> it = im.iterator(); it.hasNext();) {
48
			// Si elle est associée à une valeur, nous l'ajoutons
49
			String cle = it.next();
50
			if (cle.startsWith(PREFIXE+"_")) {
51
				// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
52
				String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
53
				// Sinon, nous ajoutons la clé avec une valeur vide
54
				String valeur = "";
55
				if (personnel.get(cle).isString() != null) {
56
					valeur = personnel.get(cle).isString().stringValue();
57
				}
58
				this.set(cleObjet, valeur);
59
				if (cle.equals("mark_contact")) {
60
					this.set("contact", (valeur.equals("1") ? true : false));
61
				} else if (cle.equals("bota_travail_hebdo_tps")) {
62
					this.set("travail", Integer.parseInt(valeur));
63
				}
64
			}
65
			if (cle.startsWith(Personne.PREFIXE+"_")) {
66
				// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
67
				String cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", "");
68
				// Sinon, nous ajoutons la clé avec une valeur vide
69
				String valeur = "";
70
				if (personnel.get(cle).isString() != null) {
71
					valeur = personnel.get(cle).isString().stringValue();
72
				}
73
 
74
				if (cleObjet.equals("truk_telephone")) {
75
					this.set("telephone", getInfoDenormaliseParType(valeur, "FIX"));
76
				} else if (cleObjet.equals("truk_fax")) {
77
					this.set("fax", getInfoDenormaliseParPosition(valeur, 1));
78
				} else if (cleObjet.equals("truk_courriel")) {
79
					this.set("courriel", getInfoDenormaliseParPosition(valeur, 1));
80
				} else if (cleObjet.equals("ce_truk_specialite")) {
81
					this.set("specialite", getInfoDenormaliseParPosition(valeur, 1));
82
				} else {
83
					this.set(cleObjet, valeur);
84
				}
85
			}
86
		}
87
	}
88
 
89
	/**
90
	 * Constructeur avec la fonction à passer en paramètre
91
	 *
231 jp_milcent 92
	 * @param fonction fonction de la personne dans la structure.
93
	 * @param role identifiant du rôle de la personne vis à vis de la structure.
208 jp_milcent 94
	 */
231 jp_milcent 95
	public StructureAPersonne(String fonction, String roleId) {
208 jp_milcent 96
		setFonction(fonction);
231 jp_milcent 97
		setIdRole(roleId);
98
 
208 jp_milcent 99
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
100
		this.set("contact", false);
295 jp_milcent 101
		this.set("fonction", fonction);
214 jp_milcent 102
		this.set("statut", "");
231 jp_milcent 103
		this.set("travail", 0);
208 jp_milcent 104
	}
105
 
295 jp_milcent 106
	/**
107
	 * Constructeur avec la fonction à passer en paramètre
108
	 *
109
	 * @param fonction fonction de la personne dans la structure.
110
	 * @param role identifiant du rôle de la personne vis à vis de la structure.
111
	 */
112
	public StructureAPersonne(String fonction, String roleId, String codeEtat) {
113
		setFonction(fonction);
114
		setIdRole(roleId);
115
 
116
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
117
		this.set("contact", false);
118
		this.set("fonction", fonction);
119
		this.set("statut", "");
120
		this.set("travail", 0);
121
		this.set("etat", codeEtat);
122
	}
123
 
208 jp_milcent 124
	// ID
125
	/** Génère un identifiant de StructureAPersonne.
126
	 *
127
	 * C'est une concaténation des clés primaires de la table coel_structure_a_personne séparées par un tiret "-".
128
	 *
129
	 * @return identifiant unique d'une relation "structure à personne".
130
	 */
131
	public String getId() {
231 jp_milcent 132
		String idStructure = renvoyerValeurCorrecte("id_structure");
133
		String idPersonne = renvoyerValeurCorrecte("id_personne");
134
		String idRole = renvoyerValeurCorrecte("id_role");
135
		if (idStructure.equals("") && idPersonne.equals("") && idRole.equals("")) {
136
			return null;
137
		} else {
138
			return (idStructure+"-"+idPersonne+"-"+idRole);
139
		}
208 jp_milcent 140
	}
141
 
142
	//+---------------------------------------------------------------------------------------------------------------+
143
	// CHAMPS PROVENANT de la TABLE COEL_STRUCTURE_A_PERSONNE
144
 
145
	// ID STRUCTURE
146
	public String getIdStructure() {
147
		return renvoyerValeurCorrecte("id_structure");
148
	}
149
	public void setIdStructure(String is) {
150
		this.set("id_structure", is);
151
	}
152
 
153
	// ID PERSONNE
154
	public String getIdPersonne() {
155
		return renvoyerValeurCorrecte("id_personne");
156
	}
157
	public void setIdPersonne(String ip) {
158
		this.set("id_personne", ip);
159
	}
160
 
161
	// ID RôLE
162
	public String getIdRole() {
163
		return renvoyerValeurCorrecte("id_role");
164
	}
165
	public void setIdRole(String ir) {
166
		this.set("id_role", ir);
167
	}
168
 
169
	// FONCTION
170
	public String getFonction() {
212 jp_milcent 171
		return renvoyerValeurCorrecte("ce_truk_fonction");
208 jp_milcent 172
	}
173
	public void setFonction(String ctf) {
174
		this.set("ce_truk_fonction", ctf);
175
	}
176
	public void setFonction(String type, Object valeur) {
231 jp_milcent 177
		setChaineDenormaliseUnique("ce_truk_fonction", type, valeur);
208 jp_milcent 178
	}
179
 
180
 
181
	// SERVICE
182
	public String getService() {
183
		return renvoyerValeurCorrecte("service");
184
	}
185
	public void setService(String s) {
186
		this.set("service", s);
187
	}
188
 
189
	// STATUT
190
	public String getStatut() {
191
		return renvoyerValeurCorrecte("ce_truk_statut");
192
	}
193
	public void setStatut(String cts) {
194
		this.set("ce_truk_statut", cts);
195
	}
231 jp_milcent 196
	public void setStatut(String type, Object valeur) {
197
		setChaineDenormaliseUnique("ce_truk_statut", type, valeur);
208 jp_milcent 198
	}
199
 
200
	// CONTACT
201
	public String getContact() {
202
		return renvoyerValeurCorrecte("mark_contact");
203
	}
204
	public void setContact(String c) {
231 jp_milcent 205
		//this.set("contact", (c.equals("1") ? true : false));
208 jp_milcent 206
		this.set("mark_contact", c);
207
	}
208
	public void setContact(Boolean c) {
209
		setContact((c.equals(Boolean.TRUE) ? "1" : "0"));
210
	}
211
 
212
	// BOTA TRAVAIL HEBDO TPS
213
	public String getBotaTravailHebdoTps() {
214
		return renvoyerValeurCorrecte("bota_travail_hebdo_tps");
215
	}
216
	public void setBotaTravailHebdoTps(String btht) {
217
		this.set("bota_travail_hebdo_tps", btht);
218
	}
219
 
220
	//+---------------------------------------------------------------------------------------------------------------+
221
	// CHAMPS PROVENANT de la TABLE COEL_PERSONNE
222
 
223
	// PRÉNOM
224
	public String getPrenom() {
225
		return renvoyerValeurCorrecte("prenom");
226
	}
227
	public void setPrenom(String p) {
228
		this.set("prenom", p);
229
	}
230
 
231
	// NOM
232
	public String getNom() {
233
		return renvoyerValeurCorrecte("nom");
234
	}
235
	public void setNom(String n) {
236
		this.set("nom", n);
237
	}
238
 
239
	// TÉLÉPHONE
240
	public String getTelephone() {
241
		return renvoyerValeurCorrecte("telephone");
242
	}
243
	public void setTelephone(String t) {
231 jp_milcent 244
		// Nous remplaçons le premier numéro de Téléphone FIX de la personne
242 jp_milcent 245
		this.modifierChaineDenormaliseParType("telephone", "FIX", t);
208 jp_milcent 246
	}
295 jp_milcent 247
	public String selectionnerTelephone(String type) {
248
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), type);
249
	}
208 jp_milcent 250
 
251
	// FAX
252
	public String getFax() {
253
		return renvoyerValeurCorrecte("fax");
254
	}
255
	public void setFax(String f) {
231 jp_milcent 256
		// Nous remplaçons le numéro de Fax en position 1 (principal)
242 jp_milcent 257
		this.modifierChaineDenormaliseParPosition("fax", 1, f);
208 jp_milcent 258
	}
295 jp_milcent 259
	public String selectionnerFax(int position) {
260
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("fax"), position);
261
	}
208 jp_milcent 262
 
263
	// COURRIEL
264
	public String getCourriel() {
265
		return renvoyerValeurCorrecte("courriel");
266
	}
267
	public void setCourriel(String c) {
231 jp_milcent 268
		// Nous remplaçons le courriel en position 1 (principal)
242 jp_milcent 269
		this.modifierChaineDenormaliseParPosition("courriel", 1, c);
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
	}
279
	public void setSpecialite(String s) {
231 jp_milcent 280
		// Nous remplaçons le premier numéro de Téléphone FIX de la personne
281
		this.setChaineDenormaliseUnique("specialite", "AUTRE", s);
208 jp_milcent 282
	}
295 jp_milcent 283
	public String afficherSpecialite() {
284
		return getChaineDenormaliseUnique("specialite");
285
	}
208 jp_milcent 286
}