Subversion Repositories eFlore/Applications.coel

Rev

Rev 1603 | Rev 1613 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1603 Rev 1604
Line 1396... Line 1396...
1396
			}
1396
			}
Line 1397... Line 1397...
1397
			
1397
			
1398
			if(typeDate.equals("décès")) {				
1398
			if(typeDate.equals("décès")) {				
1399
				String valeurDateDeces = hmIdentite.getTextField("tfDateDeces").getRawValue();
1399
				String valeurDateDeces = hmIdentite.getTextField("tfDateDeces").getRawValue();
1400
				String valeurDateNaissance = hmIdentite.getTextField("tfDateNaissance").getRawValue();
-
 
1401
				String[] composantsDateDeces = valeurDateDeces.split("/");
-
 
Line 1402... Line 1400...
1402
				String[] composantsDateNaissance = valeurDateNaissance.split("/");
1400
				String valeurDateNaissance = hmIdentite.getTextField("tfDateNaissance").getRawValue();
-
 
1401
				
-
 
1402
				Date dateNaissance = parserDate(valeurDateNaissance);
1403
				
1403
				Date dateDeces = parserDate(valeurDateDeces);
1404
				// Première vérification sur l'année (voir la raison sur le commentaire en dessous) 
1404
				
1405
				if(Integer.parseInt(composantsDateDeces[2]) > Integer.parseInt(composantsDateNaissance[2])) {
-
 
1406
					lstMessageErreur.add("La date de décès ne peut pas précéder la date de naissance");
-
 
1407
				} else {
-
 
1408
					
-
 
1409
					Date dateNaissance = new Date();
-
 
1410
					// La méthode setYear ne prend pas en compte les années sur 4 chiffres
-
 
1411
					// on met donc les deux dates à zéro
-
 
1412
					dateNaissance.setYear(0);
-
 
1413
					// Les méthodes utilisées sont dépréciées, mais GWT ne gère les dates
-
 
1414
					// que comme ça
-
 
1415
					dateNaissance.setMonth(Integer.parseInt(composantsDateNaissance[1]));
-
 
1416
					dateNaissance.setDate(Integer.parseInt(composantsDateNaissance[0]));
-
 
1417
					
-
 
1418
					Date dateDeces = new Date();
-
 
1419
					dateDeces.setYear(0);
-
 
1420
					dateDeces.setMonth(Integer.parseInt(composantsDateDeces[1]));
-
 
1421
					dateDeces.setDate(Integer.parseInt(composantsDateDeces[0]));
-
 
1422
					
-
 
1423
					if(dateDeces.compareTo(dateNaissance) <= 0) {
-
 
1424
						lstMessageErreur.add("La date de décès ne peut pas précéder la date de naissance");
-
 
1425
					} else {
-
 
1426
						Window.alert(dateNaissance.toString()+"   "+dateDeces.toString());
1405
				if(dateDeces.compareTo(dateNaissance) < 0) {
1427
					}
1406
					lstMessageErreur.add("La date de décès ne peut pas précéder la date de naissance");
1428
				}
-
 
1429
			}
1407
				}
1430
			
1408
			}
1431
		/** Date vide **/
1409
		/** Date vide **/
1432
		} else {
1410
		} else {
1433
			if (typeDate=="naissance") {
1411
			if (typeDate=="naissance") {
Line 1438... Line 1416...
1438
			}
1416
			}
1439
		}
1417
		}
Line 1440... Line 1418...
1440
		
1418
		
Line -... Line 1419...
-
 
1419
	}
-
 
1420
	
-
 
1421
	private Date parserDate(String valeurDate) {	
-
 
1422
		Date dateParsee = new Date();
-
 
1423
		String[] composantsDate = valeurDate.split("/");
-
 
1424
		// Attention : la fonction setYear ajoute 1900 à l'année
-
 
1425
		int annee = Integer.parseInt(composantsDate[(composantsDate.length-1)]) - 1900;
-
 
1426
		// Attention : les mois commencent à 0, donc janvier = 0, février = 1
-
 
1427
		int mois = (composantsDate.length > 1) ? Integer.parseInt(composantsDate[(composantsDate.length-2)]) - 1 : 0;
-
 
1428
		int jour = (composantsDate.length > 2) ? Integer.parseInt(composantsDate[0]) : 1;
-
 
1429
		
-
 
1430
		dateParsee.setYear(annee);	
-
 
1431
		dateParsee.setMonth(mois);	
-
 
1432
		dateParsee.setDate(jour);
-
 
1433
					
-
 
1434
		return dateParsee;
1441
	}
1435
	}
1442
	
1436
	
1443
	public Personne getPersonne() {
1437
	public Personne getPersonne() {
Line 1444... Line 1438...
1444
		return this.personne;
1438
		return this.personne;