Subversion Repositories eFlore/Applications.coel

Rev

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