Travailler avec des projets

Modes de calcul du projet

Aspose.Tasks Aspose.Tasks pour l’API Java fournit trois modes de calcul de projet qui définissent comment les valeurs des propriétés dépendantes sont calculées lorsque la valeur d’une propriété est définie.

Ces modes de calcul sont:

Ces exemples ci-dessous montrent l’utilisation de chacun d’eux à l’aide d’échantillons de code.

Mode de calcul du projet - Aucun

 1// Créer un projet vide et définir le mode de calcul sur aucun
 2
 3Project Project = nouveau projet ();
 4
 5project.setCalculeMode (calculMode.none);
 6
 7
 8
 9// ajoute une nouvelle tâche
10
11Tâche tâche = project.getroottask (). Getchildren (). Add ("tâche");
12
13
14
15Date MinDate = New GregorianCalendar (1, Calendar.January, 1) .getTime ();
16
17
18
19// noter que même les ID n'ont pas été calculés
20
21System.out.println ("L'ID de tâche est égal à 0:" + task.get (tsk.id) .equals (0));
22
23System.out.println ("Le démarrage de la tâche équivaut à 01/01/0001:" + task.get (tsk.start) .equals (MinDate));
24
25System.out.println ("La finition de la tâche équivaut à 01/01/0001:" + task.get (tsk.finish) .equals (MinDate));
26
27System.out.println ("La durée de la tâche équivaut à 0 min:" + task.get (tsk.Duration) .ToString (). Equals ("0 min"));
28
29
30
31// Définir la propriété de durée
32
33task.set (tsk.Duration, project.getDuration (2, timeunitType.Day));
34
35System.out.println ("La durée de la tâche équivaut à 2 jours:" + task.get (tsk.Duration) .ToString (). Equals ("2 jours"));
36
37System.out.println ("Le démarrage de la tâche équivaut à 01/01/0001:" + task.get (tsk.start) .equals (MinDate));
38
39System.out.println ("La finition de la tâche équivaut à 01/01/0001:" + task.get (tsk.finish) .equals (MinDate));

Mode de calcul du projet - Manuel

 1// Créer un projet vide et définir le mode de calcul sur manuel
 2
 3Project Project = nouveau projet ();
 4
 5project.setCalculeMode (calculMode.Manual);
 6
 7
 8
 9// définir la date de début du projet et ajouter de nouvelles tâches
10
11project.set (prj.start_date, new GregorianCalendar (2015, calendar.april, 15) .getTime ());
12
13Tâche tâche1 = project.getroottask (). GetChildren (). Add ("tâche 1");
14
15Tâche tâche2 = project.getroottask (). GetChildren (). Add ("tâche 2");
16
17
18
19// Les propriétés nécessaires sont définies en mode manuel
20
21DATE START = NOUVEAU GREGORANCALEENDAR (2015, Calendar.APril, 15, 8, 0, 0) .getTime ();
22
23Date de finition = New GregorianCalendar (2015, Calendar.Pril, 15, 17, 0, 0) .getTime ();
24
25System.out.println ("Task1 Id est égal à 1:" + tâche1.get (tsk.id) .equals (1));
26
27System.out.println ("Task1 Démarrage équivaut 15/04/2015 08:00 AM:" + Task1.get (tsk.start) .equals (start));
28
29System.out.println ("Task1 Finition est égal à 15/04/2015 05:00 PM:" + Task1.get (tsk.finish) .equals (finition));
30
31System.out.println ("Task1 Durée équivaut à 1 jour:" + task1.get (tsk.Duration) .ToString (). Equals ("1 jour"));
32
33System.out.println ("Task2 Start équivaut à 15/04/2015 08:00 AM:" + Task2.get (tsk.start) .equals (start));
34
35System.out.println ("Task2 Finition est égal à 15/04/2015 05:00 PM:" + Task2.get (tsk.finish) .equals (finition));
36
37System.out.println ("Task2 Durée équivaut à 1 jour:" + Task2.get (TSK.Duration) .ToString (). Equals ("1 Day"));
38
39
40
41// Lorsque nous lions deux tâches ensemble, leurs dates ne sont pas recalculées en mode manuel
42
43Taskink link = project.getTasklinks (). Add (tâche1, tâche2, taskinktype.finishTostart);
44
45
46
47// La tâche 2 Démarrage n'a pas été modifiée
48
49System.out.println ("Task1 Démarrage est égal à la tâche2 Démarrer:" + Task1.get (tsk.start) .equals (tâche2.get (tsk.start)));
50System.out.println ("Task1 Finition est égal à la tâche 2 Finition:" + Task1.get (tsk.finish) .equals (tâche2.get (tsk.finish)));

Mode de calcul du projet - Automatique

 1// Créer un projet vide et définir le mode de calcul sur automatique
 2
 3Project Project = nouveau projet ();
 4
 5project.setCalculeMode (calculMode.Automatic);
 6
 7
 8
 9// définir la date de début du projet et ajouter de nouvelles tâches
10
11project.set (prj.start_date, new GregorianCalendar (2015, calendar.april, 15) .getTime ());
12
13Tâche tâche1 = project.getroottask (). GetChildren (). Add ("tâche 1");
14
15Tâche tâche2 = project.getroottask (). GetChildren (). Add ("tâche 2");
16
17
18
19// Lien des tâches
20
21Taskink link = project.getTasklinks (). Add (tâche1, tâche2, taskinktype.finishTostart);
22
23
24
25// Vérifiez que les dates ont été recalculées
26
27Calendar cal = calendar.getInstance ();
28
29cal.settime (tâche1.get (tsk.start));
30
31cal.add (calendar.date, 1);
32
33Date task1StartPlusOneDay = cal.getTime ();
34
35System.out.println ("Task1 Démarrage + 1 est égal à la tâche2 Démarrage:" + Task1StartPlusOneDay.equals (Task2.get (tsk.start)));
36
37
38
39cal.settime (tâche1.get (tsk.finish));
40
41cal.add (calendar.date, 1);
42
43DATE TADS1FINISHPLUSONEDAY = CAL.GETTime ();
44
45System.out.println ("Task1 Finish + 1 est égal à la tâche2 Finition:" + Task1finishPlusOneDay.equals (tâche2.get (tsk.finish)));
46
47
48
49System.out.println ("Roottask Finition est égal à la tâche2 Finition:" + project.getRootTask (). Get (tsk.finish) .equals (task2.get (tsk.finish)));
50
51System.out.println ("La date de finition du projet est égale à la tâche2 Finition:" + project.get (prj.finish_date) .equals (task2.get (tsk.finish))));
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.