Работа с задачами

С помощью Aspose.Tasks для Java можно обновить задачи, а затем написать обновленные данные обратно в файл MPRPOFT Project Project.

Обновление данных задачи Следующий фрагмент кода показывает, как обновить данные задачи проекта и написать их обратно в файл MPP. Шаг, связанный с этой деятельностью:

  1. Создайте экземпляр читателя проекта.
  2. Прочитайте исходный файл MPP.
  3. Создайте задачу и добавьте его в корневую задачу.
  4. Обновите параметры задачи, такие как крайний срок, Notestext и т. Д.
  5. Добавьте дополнительные задачи в корневую задачу.
  6. Сохраните проект.

Следующий код находит исходный и внешний идентификатор задачи через перекрестный проект.

 1// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Tasks-for-Java
 2// The path to the documents directory.
 3String dataDir = Utils.getDataDir(UpdatedTaskLinkDataToMpp.class);
 4
 5long OneSec = 10000000;// microsecond * 10
 6long OneMin = 60 * OneSec;
 7long OneHour = 60 * OneMin;
 8
 9Project project = new Project(dataDir + "Aspose\\SampleNewMSP.mpp");
10Task task1 = project.getRootTask().getChildren().add("First task");
11
12java.util.Calendar cal = java.util.Calendar.getInstance();
13cal.set(2013, 12, 10, 8, 0, 0);
14project.set(Prj.START_DATE, cal.getTime());
15task1.set(Tsk.START, cal.getTime());
16task1.set(Tsk.DURATION, project.getDuration(OneHour * 24, TimeUnitType.Hour));
17
18Task summary = project.getRootTask().getChildren().add("Summary task");
19summary.getChildren().add(task1);
20
21project.getRootTask().getChildren().add(summary);
22
23cal.setTime(task1.get(Tsk.START));
24cal.add(java.util.Calendar.DATE, 10);
25task1.set(Tsk.DEADLINE, cal.getTime());
26
27task1.set(Tsk.NOTES_TEXT, "The first task.");
28task1.set(Tsk.DURATION_FORMAT, TimeUnitType.DayEstimated);
29task1.set(Tsk.CONSTRAINT_TYPE, ConstraintType.FinishNoLaterThan);
30
31cal.setTime(task1.get(Tsk.DEADLINE));
32cal.add(java.util.Calendar.DATE, -1);
33task1.set(Tsk.CONSTRAINT_DATE, cal.getTime());
34
35// Create 10 new tasks
36for (int i = 0; i < 10; i++) {
37    String taskName = "Task " + (i + 2);
38    Task task = summary.getChildren().add(taskName);
39    task.set(Tsk.START, task1.get(Tsk.START));
40    long lDuration = (long) task1.get(Tsk.DURATION).toDouble();
41    lDuration = (long) (lDuration + (OneHour * 8 * (i + 1)));
42    task.set(Tsk.DURATION, project.getDuration(lDuration, TimeUnitType.Hour));
43    task1.set(Tsk.DURATION_FORMAT, TimeUnitType.Day);
44
45    cal.setTime(task1.get(Tsk.DEADLINE));
46    cal.add(java.util.Calendar.DATE, 1 + i);
47    task.set(Tsk.DEADLINE, cal.getTime());
48    task.set(Tsk.FINISH,
49            project.get(Prj.CALENDAR).getFinishDateByStartAndWork(task.get(Tsk.START), task.get(Tsk.DURATION)));
50    summary.getChildren().add(task);
51}
52
53// Save the Project
54project.save(dataDir + "Aspose\\WritingUpdatedTaskDataToMpp.mpp", SaveFileFormat.MPP);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.