Subversion Repositories eFlore/Applications.coel

Rev

Rev 1150 | 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;
1208 cyprien 8
import org.tela_botanica.client.util.UtilString;
935 jpm 9
 
208 jp_milcent 10
import com.google.gwt.json.client.JSONObject;
11
 
12
public class StructureAPersonne extends aDonnee {
748 jpm 13
 
14
	private static final long serialVersionUID = -7265602594281982891L;
15
 
16
	public static final String PREFIXE = "csap";
17
 
264 jp_milcent 18
	public static final String FONCTION_DIRECTEUR = "2028";
19
	public static final String FONCTION_CONSERVATEUR = "2029";
20
	public static final String FONCTION_TECHNICIEN = "2030";
208 jp_milcent 21
	public static final String ROLE_ADMIN = "2026";
22
	public static final String ROLE_EQUIPE = "2027";
295 jp_milcent 23
	public static final String ETAT_AJOUTE = "A";
1150 gduche 24
	public static String[] champsObligatoires = {"csap_id_personne", "csap_id_structure", "csap_id_role", "cp_id_personne"};
208 jp_milcent 25
 
26
	public StructureAPersonne() {
27
		// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet
602 jp_milcent 28
		set("contact", false);
29
		set("fonction", "");
30
		set("statut", "");
31
		set("travail", 0);
208 jp_milcent 32
	}
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
 
748 jpm 122
	@Override
123
	protected String getPrefixe() {
124
		return PREFIXE;
125
	}
126
 
1150 gduche 127
	protected String[] getChampsObligatoires()	{
128
		return champsObligatoires;
129
	}
130
 
131
 
208 jp_milcent 132
	// ID
133
	/** Génère un identifiant de StructureAPersonne.
134
	 *
135
	 * C'est une concaténation des clés primaires de la table coel_structure_a_personne séparées par un tiret "-".
136
	 *
137
	 * @return identifiant unique d'une relation "structure à personne".
138
	 */
139
	public String getId() {
231 jp_milcent 140
		String idStructure = renvoyerValeurCorrecte("id_structure");
141
		String idPersonne = renvoyerValeurCorrecte("id_personne");
142
		String idRole = renvoyerValeurCorrecte("id_role");
143
		if (idStructure.equals("") && idPersonne.equals("") && idRole.equals("")) {
144
			return null;
145
		} else {
146
			return (idStructure+"-"+idPersonne+"-"+idRole);
147
		}
208 jp_milcent 148
	}
149
 
150
	//+---------------------------------------------------------------------------------------------------------------+
151
	// CHAMPS PROVENANT de la TABLE COEL_STRUCTURE_A_PERSONNE
152
 
153
	// ID STRUCTURE
154
	public String getIdStructure() {
155
		return renvoyerValeurCorrecte("id_structure");
156
	}
157
	public void setIdStructure(String is) {
602 jp_milcent 158
		set("id_structure", is);
208 jp_milcent 159
	}
160
 
161
	// ID PERSONNE
162
	public String getIdPersonne() {
163
		return renvoyerValeurCorrecte("id_personne");
164
	}
165
	public void setIdPersonne(String ip) {
602 jp_milcent 166
		set("id_personne", ip);
208 jp_milcent 167
	}
168
 
169
	// ID RôLE
170
	public String getIdRole() {
171
		return renvoyerValeurCorrecte("id_role");
172
	}
173
	public void setIdRole(String ir) {
602 jp_milcent 174
		set("id_role", ir);
208 jp_milcent 175
	}
176
 
177
	// FONCTION
178
	public String getFonction() {
212 jp_milcent 179
		return renvoyerValeurCorrecte("ce_truk_fonction");
208 jp_milcent 180
	}
181
	public void setFonction(String ctf) {
602 jp_milcent 182
		set("ce_truk_fonction", ctf);
208 jp_milcent 183
	}
794 jpm 184
	public void setFonction(String type, String valeur) {
231 jp_milcent 185
		setChaineDenormaliseUnique("ce_truk_fonction", type, valeur);
208 jp_milcent 186
	}
187
 
188
	// SERVICE
189
	public String getService() {
190
		return renvoyerValeurCorrecte("service");
191
	}
192
	public void setService(String s) {
602 jp_milcent 193
		set("service", s);
208 jp_milcent 194
	}
195
 
196
	// STATUT
197
	public String getStatut() {
198
		return renvoyerValeurCorrecte("ce_truk_statut");
199
	}
200
	public void setStatut(String cts) {
602 jp_milcent 201
		set("ce_truk_statut", cts);
208 jp_milcent 202
	}
794 jpm 203
	public void setStatut(String type, String valeur) {
231 jp_milcent 204
		setChaineDenormaliseUnique("ce_truk_statut", type, valeur);
208 jp_milcent 205
	}
206
 
207
	// CONTACT
208
	public String getContact() {
209
		return renvoyerValeurCorrecte("mark_contact");
210
	}
211
	public void setContact(String c) {
602 jp_milcent 212
		//set("contact", (c.equals("1") ? true : false));
213
		set("mark_contact", c);
208 jp_milcent 214
	}
215
	public void setContact(Boolean c) {
216
		setContact((c.equals(Boolean.TRUE) ? "1" : "0"));
217
	}
218
 
219
	// BOTA TRAVAIL HEBDO TPS
220
	public String getBotaTravailHebdoTps() {
221
		return renvoyerValeurCorrecte("bota_travail_hebdo_tps");
222
	}
223
	public void setBotaTravailHebdoTps(String btht) {
602 jp_milcent 224
		set("bota_travail_hebdo_tps", btht);
208 jp_milcent 225
	}
226
 
227
	//+---------------------------------------------------------------------------------------------------------------+
228
	// CHAMPS PROVENANT de la TABLE COEL_PERSONNE
229
 
609 jp_milcent 230
	// ID PROJET PERSONNE
231
	public String getIdProjetPersonne() {
232
		return renvoyerValeurCorrecte("ce_projet");
233
	}
234
	public void setIdProjetPersonne(String ipp) {
235
		set("ce_projet", ipp);
236
	}
237
 
208 jp_milcent 238
	// PRÉNOM
239
	public String getPrenom() {
240
		return renvoyerValeurCorrecte("prenom");
241
	}
602 jp_milcent 242
	public void setPrenom(String prenom) {
243
		set("prenom", prenom);
208 jp_milcent 244
	}
245
 
246
	// NOM
247
	public String getNom() {
248
		return renvoyerValeurCorrecte("nom");
249
	}
602 jp_milcent 250
	public void setNom(String nom) {
251
		set("nom", nom);
208 jp_milcent 252
	}
253
 
1208 cyprien 254
	// NOM COMPLET
255
	public String getNomComplet() {
256
		return renvoyerValeurCorrecte("fmt_nom_complet");
257
	}
258
	public void setNomComplet(String nomComplet) {
259
		set("fmt_nom_complet", nomComplet);
260
	}
261
 
208 jp_milcent 262
	// TÉLÉPHONE
263
	public String getTelephone() {
264
		return renvoyerValeurCorrecte("telephone");
265
	}
602 jp_milcent 266
	public void setTelephone(String tel) {
267
		set("telephone", tel);
268
	}
269
 
270
	// TÉLÉPHONE FIXE
271
	public String getTelephoneFixe() {
272
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FIXE);
273
	}
274
	public void setTelephoneFixe(String fixe) {
1208 cyprien 275
		// Nous remplaçons le premier numéro de Téléphone FIXE de la personne
602 jp_milcent 276
		modifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FIXE, fixe);
208 jp_milcent 277
	}
278
 
602 jp_milcent 279
	// TÉLÉPHONE FAX
208 jp_milcent 280
	public String getFax() {
602 jp_milcent 281
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("telephone"), Personne.TELEPHONE_FAX);
208 jp_milcent 282
	}
602 jp_milcent 283
	public void setFax(String fax) {
284
		// Nous remplaçons le premier numéro de FAX de la personne
285
		modifierChaineDenormaliseParType("telephone", Personne.TELEPHONE_FAX, fax);
208 jp_milcent 286
	}
287
 
288
	// COURRIEL
289
	public String getCourriel() {
290
		return renvoyerValeurCorrecte("courriel");
291
	}
602 jp_milcent 292
	public void setCourriel(String courriel) {
231 jp_milcent 293
		// Nous remplaçons le courriel en position 1 (principal)
602 jp_milcent 294
		this.modifierChaineDenormaliseParPosition("courriel", 1, courriel);
208 jp_milcent 295
	}
295 jp_milcent 296
	public String selectionnerCourriel(int position) {
297
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("courriel"), position);
298
	}
208 jp_milcent 299
 
300
	// SPÉCIALITÉ
301
	public String getSpecialite() {
302
		return renvoyerValeurCorrecte("specialite");
303
	}
602 jp_milcent 304
	public void setSpecialite(String specialite) {
305
		setChaineDenormaliseUnique("specialite", "AUTRE", specialite);
208 jp_milcent 306
	}
295 jp_milcent 307
	public String afficherSpecialite() {
308
		return getChaineDenormaliseUnique("specialite");
309
	}
208 jp_milcent 310
}