プロジェクトの操作
Contents
[
Hide
Show
]プロジェクト計算モード
Java APIのAspose.Tasksは、プロパティの値が設定されたときに従属プロパティの値が計算される方法を定義する3つのプロジェクト計算モードを提供します。
これらの計算モードは次のとおりです。
なし - 必要なプロパティのみを設定し、計算を実行しません
マニュアル - 他のデータを再計算せずに従属オブジェクトプロパティのみを設定します
自動 - 日付、作業、コストのプロパティを自動的に再計算します
以下のこの例は、コードサンプルの助けを借りて、これらのそれぞれの使用を示しています。
プロジェクト計算モード - なし
1//空のプロジェクトを作成し、計算モードをなしに設定します
2
3Project Project = new Project();
4
5project.setCalculationMode(calculationMode.none);
6
7
8
9//新しいタスクを追加します
10
11タスクタスク= project.getroottask()。getChildren()。add( "task");
12
13
14
15Date Mindate = New GregorianCalendar(1、Calendar.January、1).GetTime();
16
17
18
19// IDさえ計算されていないことに注意してください
20
21System.out.println( "タスクIDは0:" + task.get(tsk.id).equals(0));
22
23System.out.println( "タスク開始は01/01/0001に等しい:" + task.get(tsk.start).equals(mindate));
24
25System.out.println( "タスク仕上げは01/01/0001に等しい:" + task.get(tsk.finish).equals(mindate));
26
27system.out.println( "タスク持続時間は0分に等しい:" + task.get(tsk.duration).toString()。equals( "0 mins"));
28
29
30
31//持続時間プロパティを設定します
32
33task.set(tsk.duration、project.getDuration(2、timeUnittype.day));
34
35system.out.println( "タスク期間は2日間等しい:" + task.get(tsk.duration).toString()。equals( "2日"));
36
37System.out.println( "タスク開始は01/01/0001に等しい:" + task.get(tsk.start).equals(mindate));
38
39System.out.println( "タスク仕上げは01/01/0001に等しい:" + task.get(tsk.finish).equals(mindate));
プロジェクト計算モード - マニュアル
1//空のプロジェクトを作成し、計算モードをマニュアルに設定します
2
3Project Project = new Project();
4
5project.setCalculationMode(calculationMode.manual);
6
7
8
9//プロジェクトの開始日を設定し、新しいタスクを追加します
10
11project.set(prj.start_date、new GregorianCalendar(2015、Calendar.April、15).getTime());
12
13タスクタスク1 = project.getroottask()。getChildren()。追加( "タスク1");
14
15タスクタスク2 = project.getroottask()。getChildren()。追加( "タスク2");
16
17
18
19//必要なプロパティは手動モードで設定されます
20
21日付開始=新しいGregorianCalendar(2015、Calendar.April、15、8、0、0).GetTime();
22
23日付終了=新しいグレゴリアンカレンダー(2015、カレンダー、15、17、0、0).getTime();
24
25system.out.println( "task1 idは1:" + task1.get(tsk.id).equals(1));
26
27System.out.println( "task1 Startは2015年4月15日08:00 AM:" + task1.get(tsk.start).equals(start));
28
29System.out.Println( "Task1 Finishは2015年4月15日05:00 PM:" + task1.get(tsk.finish).equals(finish));
30
31System.out.println( "Task1持続時間は1日に等しくなります:" + task1.get(tsk.duration).toString()。equals( "1日"));
32
33System.out.println( "Task2 Startは2015年4月15日08:00 AM:" + task2.get(tsk.start).equals(start));
34
35System.out.println( "タスク2フィニッシュは2015年4月15日05:00 PM:" + task2.get(tsk.finish).equals(finish));
36
37system.out.println( "タスク2持続時間は1日等です:" + task2.get(tsk.duration).toString()。equals( "1日"));
38
39
40
41// 2つのタスクをリンクするとき、彼らの日付はマニュアルモードで再計算されません
42
43tasklink link = project.getTaskLinks()。add(task1、task2、tasklinktype.finishtostart);
44
45
46
47//タスク2開始は変更されていません
48
49system.out.println( "task1 start equals task2 start:" + task1.get(tsk.start).equals(task2.get(tsk.start)));
50system.out.println( "タスク1フィニッシュはタスク2フィニッシュに等しくなります:" + task1.get(tsk.finish).equals(task2.get(tsk.finish)));
プロジェクト計算モード - 自動
1//空のプロジェクトを作成し、計算モードを自動に設定します
2
3Project Project = new Project();
4
5project.setCalculationMode(calculationMode.Automatic);
6
7
8
9//プロジェクトの開始日を設定し、新しいタスクを追加します
10
11project.set(prj.start_date、new GregorianCalendar(2015、Calendar.April、15).getTime());
12
13タスクタスク1 = project.getroottask()。getChildren()。追加( "タスク1");
14
15タスクタスク2 = project.getroottask()。getChildren()。追加( "タスク2");
16
17
18
19//タスクをリンクします
20
21tasklink link = project.getTaskLinks()。add(task1、task2、tasklinktype.finishtostart);
22
23
24
25//日付が再計算されていることを確認します
26
27カレンダーcal = charend.getInstance();
28
29cal.settime(task1.get(tsk.start));
30
31Cal.Add(calendar.date、1);
32
33日付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(calendar.date、1);
42
43日付task1finishplusoneday = cal.gettime();
44
45system.out.println( "task1 finish + 1等しいタスク2フィニッシュ:" + task1finishplusoneday.equals(task2.get(tsk.finish)));
46
47
48
49System.out.println( "Roottask Finish等しいタスク2フィニッシュ:" + project.getRoottask()。get(tsk.finish).equals(task2.get(tsk.finish)));
50
51system.out.println( "プロジェクトの終了日等しいタスク2フィニッシュ:" + project.get(prj.finish_date).equals(task2.get(tsk.finish)));