Работа с проектами
Contents
[
Hide
Show
]Режимы расчета проекта
Aspose.Tasks Aspose.tasks для Java API предоставляет три режима расчета проекта, которые определяют, как значения зависимых свойств рассчитываются при установке значения свойства.
Эти режимы расчета:
Нет - устанавливает только необходимые свойства и не выполняет никаких расчетов
Руководство - Устанавливает только зависимые свойства объекта без пересчета каких -либо других данных
Автоматическое - пересчитывает даты, работы и свойства работы и стоимость
В этом примере ниже показано использование каждого из них с помощью образцов кода.
Режим расчета проекта - нет
1// Создать пустой проект и установить режим расчета ни на нет
2
3Project Project = новый проект ();
4
5Project.SetCalculationMode (gallulationmode.none);
6
7
8
9// Добавить новую задачу
10
11Задача задачи = project.getRotask (). GetChildren (). Add ("task");
12
13
14
15Дата MINTATE = новый GregorianCalendar (1, Calendar.january, 1) .getTime ();
16
17
18
19// Обратите внимание, что даже идентификаторы не были рассчитаны
20
21System.out.println ("Идентификатор задачи равна 0:" + task.get (tsk.id) .equals (0));
22
23System.out.println («Запуск задачи равна 01.01.01.0001:» + task.get (tsk.start) .equals (mindate));
24
25System.out.println ("Законная отделка равна 01.01.01.0001:" + task.get (tsk.finish). Equals (mindate));
26
27System.out.println («Продолжительность задачи равна 0 мин:« + task.get (tsk.duration) .toString (). Equals ("0 минут"));
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.01.0001:» + task.get (tsk.start) .equals (mindate));
38
39System.out.println ("Законная отделка равна 01.01.01.0001:" + task.get (tsk.finish). Equals (mindate));
Режим расчета проекта - Руководство
1// Создать пустой проект и установить режим расчета в ручном
2
3Project Project = новый проект ();
4
5Project.SetCalculationMode (gallulationmode.manual);
6
7
8
9// Установить дату начала проекта и добавить новые задачи
10
11Project.set (prj.start_date, New Gregoriancalendar (2015, Calendar.april, 15) .getTime ());
12
13Задача задачи1 = project.getRotask (). GetChildren (). Add ("Task 1");
14
15Задача задачи2 = project.getRotask (). GetChildren (). Add ("Task 2");
16
17
18
19// Необходимые свойства установлены в ручном режиме
20
21Дата начала = новый GregorianCalendar (2015, Calendar.April, 15, 8, 0, 0) .getTime ();
22
23Date Finish = 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 Equals 15/04/2015 08:00 утра:" + task1.get (tsk.start) .equals (start));
28
29System.out.println ("Task1 Finish Equals 15/04/2015 20:00:" + task1.get (tsk.finish) .equals (finish));
30
31System.out.println («Продолжительность задачи 1 равна 1 день:« + task1.get (tsk.duration) .toString (). Equals ("1 день"));
32
33System.out.println ("Task2 Start Equals 15/04/2015 08:00 утра:" + task2.get (tsk.start) .equals (start));
34
35System.out.println ("Task2 Finish Equals 15/04/2015 17:00:" + task2.get (tsk.finish) .equals (finish));
36
37System.out.println («Продолжительность задачи 2 равен 1 день:« + task2.get (tsk.duration) .toString (). Equals ("1 день"));
38
39
40
41// Когда мы связываем две задачи вместе, их даты не пересчитаны в ручном режиме
42
43TaskLink link = project.getTaskLinks (). Add (task1, task2, tasklinktype.finishtostart);
44
45
46
47// Запуск 2 -й задачи 2 не изменилось
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)));
Режим расчета проекта - автоматический
1// Создать пустой проект и установить режим расчета для автоматического
2
3Project Project = новый проект ();
4
5Project.SetCalculationMode (gallulationmode.automatic);
6
7
8
9// Установить дату начала проекта и добавить новые задачи
10
11Project.set (prj.start_date, New Gregoriancalendar (2015, Calendar.april, 15) .getTime ());
12
13Задача задачи1 = project.getRotask (). GetChildren (). Add ("Task 1");
14
15Задача задачи2 = project.getRotask (). GetChildren (). Add ("Task 2");
16
17
18
19// Ссылка задач
20
21TaskLink link = project.getTaskLinks (). Add (task1, task2, tasklinktype.finishtostart);
22
23
24
25// проверка даты были пересчитаны
26
27Календарь cal = calendar.getInstance ();
28
29cal.settime (task1.get (tsk.start));
30
31Cal.Add (Calendar.Date, 1);
32
33Date Task1startPlusOneDay = cal.getTime ();
34
35System.out.println ("task1 start + 1 равен task2 start:" + task1startplusoneday.equals (task2.get (tsk.start)));
36
37
38
39cal.settime (task1.get (tsk.finish));
40
41Cal.Add (Calendar.Date, 1);
42
43Date Task1finishplusOneDay = cal.getTime ();
44
45System.out.println ("Task1 Finish + 1 равняется task2 finish:" + task1finishplusoneday.equals (task2.get (tsk.finish)));
46
47
48
49System.out.println ("Roottask Finish Equals Task2 Finish:" + project.getRotask (). Get (tsk.finish). Equals (task2.get (tsk.finish)));
50
51System.out.println («Дата окончания проекта равна Task2 Finish:« + project.get (prj.finish_date) .equals (task2.get (tsk.finish)));