프로젝트 작업

프로젝트 계산 모드

Java API의 태스크는 속성 값이 설정 될 때 종속 특성의 값을 계산하는 방법을 정의하는 세 가지 프로젝트 계산 모드를 제공합니다.

이러한 계산 모드는 다음과 같습니다.

아래 의이 예는 코드 샘플의 도움으로 각각의 사용법을 보여줍니다.

프로젝트 계산 모드 - 없음

 1// 빈 프로젝트 생성 및 계산 모드 설정 없음
 2
 3프로젝트 프로젝트 = 새로운 프로젝트 ();
 4
 5project.setCalculationMode (CalculationMode.NONE);
 6
 7
 8
 9// 새 작업을 추가합니다
10
11task task = 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
 3프로젝트 프로젝트 = 새로운 프로젝트 ();
 4
 5project.setCalculationMode (CalculationMode.manual);
 6
 7
 8
 9// 프로젝트 시작 날짜를 설정하고 새 작업을 추가합니다
10
11project.set (prj.start_date, New GregorianCalendar (2015, calendar.april, 15) .gettime ());
12
13task task1 = project.getRootTask (). getChildren (). add ( "task 1");
14
15task task2 = project.getRootTask (). getChildren (). add ( "task 2");
16
17
18
19// 필요한 속성은 수동 모드로 설정됩니다
20
21날짜 시작 = New GregorianCalendar (2015, Calendar.april, 15, 8, 0, 0) .gettime ();
22
23날짜 마감 = New GregorianCalendar (2015, Calendar.april, 15, 17, 0, 0) .gettime ();
24
25system.out.println ( "task1 id는 1 :" + task1.get (tsk.id) .equals (1));
26
27System.out.println ( "task1 start 15/04/2015 08:00 AM :" + task1.get (tsk.start) .equals (start));
28
29System.out.println ( "Task1 Finish는 15/04/2015 05:00 PM과 같습니다." + task1.get (tsk.finish) .equals (finish (finish));
30
31System.out.println ( "task1 duration은 1 일과 같습니다.
32
33System.out.println ( "Task2 Start 15/04/2015 08:00 AM과 같습니다." + task2.get (tsk.start) .equals (start));
34
35System.out.println ( "Task2 Finish는 15/04/2015 05:00 PM과 같습니다." + task2.get (tsk.finish) .equals (finish));
36
37System.out.println ( "task2 duration은 1 일과 같습니다." + task2.get (tsk.duration) .toString ().
38
39
40
41// 두 작업을 함께 연결하면 날짜가 수동 모드에서 다시 계산되지 않습니다.
42
43taskLink link = project.getTaskLinks (). add (task1, task2, tasklinktype.finishtostart);
44
45
46
47// 작업 2 시작이 변경되지 않았습니다
48
49System.out.println ( "task1 start start earks task2 start :" + task1.get (tsk.start) .equals (task2.get (tsk.start)));
50system.out.println ( "task1 finish는 task2 minish :" + task1.get (tsk.finish) .equals (task2.get (tsk.finish)));

프로젝트 계산 모드 - 자동

 1// 빈 프로젝트 생성 및 계산 모드 설정 자동으로 설정
 2
 3프로젝트 프로젝트 = 새로운 프로젝트 ();
 4
 5project.setCalculationMode (CalculationMode.Automatic);
 6
 7
 8
 9// 프로젝트 시작 날짜를 설정하고 새 작업을 추가합니다
10
11project.set (prj.start_date, New GregorianCalendar (2015, calendar.april, 15) .gettime ());
12
13task task1 = project.getRootTask (). getChildren (). add ( "task 1");
14
15task task2 = project.getRootTask (). getChildren (). add ( "task 2");
16
17
18
19// 링크 작업
20
21taskLink link = project.getTaskLinks (). add (task1, task2, tasklinktype.finishtostart);
22
23
24
25// 날짜가 다시 계산되었는지 확인하십시오
26
27Calendar Cal = Calendar.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과 같은 task2 :" + task1finishplusoneday.equals (task2.get (tsk.finish)));
46
47
48
49System.out.println ( "Roottask finish는 task2 finish :" + project.getRootTask (). get (tsk.finish) .equals (task2.get (tsk.finish)));
50
51System.out.println ( "프로젝트 마감 날짜는 task2 :" + project.get (prj.finish_date) .equals (task2.get (tsk.finish)));
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.