Arbeiten mit Projekten
Projektberechnungsmodi
Aspose.Tasks FÜR JAVA -API liefert drei Projektberechnungsmodi, die definieren, wie die Werte abhängiger Eigenschaften berechnet werden, wenn der Wert einer Eigenschaft festgelegt wird.
Diese Berechnungsmodi sind:
Keine - legt nur die erforderlichen Eigenschaften fest und führt keine Berechnungen durch
Handbuch - Legt nur abhängige Objekteigenschaften ohne Neuberechnung anderer Daten fest
Automatisch - berechnen sich automatisch Daten, Arbeits- und Kosteneigenschaften
Diese folgenden Beispiele zeigen die Verwendung von jeweils mit Hilfe von Code -Stichproben.
Projektberechnungsmodus - keine
1// Erstellen Sie leeres Projekt und setzen Sie den Berechnungsmodus auf keinen
2
3Projektprojekt = neues Projekt ();
4
5project.setCalculationMode (calculationMode.none);
6
7
8
9// eine neue Aufgabe hinzufügen
10
11Task Task = project.getroottask (). GetChildren (). Add ("task");
12
13
14
15Datum Mindate = New Gregoriancalendar (1, Calendar.Januar, 1) .getTime ();
16
17
18
19// Beachten Sie, dass selbst IDs nicht berechnet wurden
20
21System.out.println ("Task -ID gleich 0:" + task.get (tsk.id) .Equals (0));
22
23System.out.println ("Task -Start gleich 01/01/0001:" + task.get (tsk.start) .Equals (Mindate));
24
25System.out.println ("Task Finish Equals 01/01/0001:" + task.get (tsk.finish) .Equals (Mindate));
26
27System.out.println ("Task -Dauer gleich 0 Minuten:" + task.get (tsk.duration) .toString (). Equals ("0 mins");
28
29
30
31// Dauer Eigenschaft festlegen
32
33task.set (tsk.duration, project.getDuration (2, timeUnITType.day));
34
35System.out.println ("Task -Dauer gleich 2 Tage:" + task.get (tsk.duration) .toString (). Equals ("2 Tage");
36
37System.out.println ("Task -Start gleich 01/01/0001:" + task.get (tsk.start) .Equals (Mindate));
38
39System.out.println ("Task Finish Equals 01/01/0001:" + task.get (tsk.finish) .Equals (Mindate));
Projektberechnungsmodus - Handbuch
1// Erstellen Sie leeres Projekt und setzen Sie den Berechnungsmodus auf Handbuch
2
3Projektprojekt = neues Projekt ();
4
5project.setCalculationMode (calculationMode.manual);
6
7
8
9// Projektstartdatum festlegen und neue Aufgaben hinzufügen
10
11project.set (prj.start_date, neuer gregoriancalendar (2015, calendar.april, 15) .getTime ());
12
13Task Task1 = project.getroottask (). GetChildren (). Add ("Aufgabe 1");
14
15Task Task2 = project.getroottask (). GetChildren (). Add ("Aufgabe 2");
16
17
18
19// Die erforderlichen Eigenschaften sind im manuellen Modus festgelegt
20
21Datum Start = neuer Gregoriancalendar (2015, Calendar.April, 15, 8, 0, 0) .getTime ();
22
23Datum Finish = neuer Gregoriancalendar (2015, Calendar.April, 15, 17, 0, 0) .getTime ();
24
25System.out.println ("Task1 id gleich 1:" + task1.get (tsk.id) .equals (1));
26
27System.out.println ("Task1 -Start gleich 15/04/2015 08:00 Uhr:" + Task1.get (tsk.start) .Equals (Start));
28
29System.out.println ("Task1 Finish Equals 15/04/2015 05:00 Uhr:" + Task1.get (tsk.finish) .Equals (Finish));
30
31System.out.println ("Task1 -Dauer gleich 1 Tag:" + Task1.get (tsk.duration) .toString (). Equals ("1 Tag");
32
33System.out.println ("Task2 Start Equals 15/04/2015 08:00 Uhr:" + Task2.get (tsk.start) .Equals (Start));
34
35System.out.println ("Task2 Finish Equals 15/04/2015 05:00 Uhr:" + Task2.get (tsk.finish) .Equals (Finish));
36
37System.out.println ("Task2 Dauer gleich 1 Tag:" + task2.get (tsk.duration) .ToString (). Equals ("1 Tag");
38
39
40
41// Wenn wir zwei Aufgaben miteinander verknüpfen, werden ihre Daten im manuellen Modus nicht neu berechnet
42
43TaskLink link = project.gettaskLinks (). Add (Task1, Task2, TaskLinkType.finishtostart);
44
45
46
47// Aufgabe 2 Start wurde nicht geändert
48
49System.out.println ("Task1 start Equals Task2 Start:" + task1.get (tsk.start) .Equals (Task2.get (tsk.start)));
50System.out.println ("Task1 Finish Equals Task2 Finish:" + task1.get (tsk.finish) .Equals (Task2.get (tsk.finish)));
Projektberechnungsmodus - automatisch
1// Erstellen Sie leeres Projekt und setzen Sie den Berechnungsmodus auf automatisch
2
3Projektprojekt = neues Projekt ();
4
5project.setCalculationMode (calculationMode.automatic);
6
7
8
9// Projektstartdatum festlegen und neue Aufgaben hinzufügen
10
11project.set (prj.start_date, neuer gregoriancalendar (2015, calendar.april, 15) .getTime ());
12
13Task Task1 = project.getroottask (). GetChildren (). Add ("Aufgabe 1");
14
15Task Task2 = project.getroottask (). GetChildren (). Add ("Aufgabe 2");
16
17
18
19// Aufgaben Link
20
21TaskLink link = project.gettaskLinks (). Add (Task1, Task2, TaskLinkType.finishtostart);
22
23
24
25// Überprüfen Sie, ob die Daten neu berechnet wurden
26
27Kalender cal = calendar.getInstance ();
28
29Cal.Settime (Task1.get (tsk.start));
30
31Cal.Add (Kalender.Date, 1);
32
33Datum Task1StartPlusoneday = cal.getTime ();
34
35System.out.println ("Task1 start + 1 Equals Task2 Start:" + Task1StartPlusoneday.equals (Task2.get (tsk.start)));
36
37
38
39Cal.Settime (Task1.get (tsk.finish));
40
41Cal.Add (Kalender.Date, 1);
42
43Datum Task1Finishplusoneday = Cal.getTime ();
44
45System.out.println ("Task1 Finish + 1 Equals Task2 Finish:" + task1finishplusoneday.equals (Task2.get (tsk.finish)));
46
47
48
49System.out.println ("Roottask Finish Equals Task2 Finish:" + project.getroottask ().
50
51System.out.println ("Projekt Finish Equals Task2 Finish:" + project.get (prj.finish_date) .equals (Task2.get (tsk.finish)));