작업 작업

Aspose.Tasks for java를 사용하면 작업을 업데이트 한 다음 업데이트 된 데이터를 Microsoft Project MPP 파일에 다시 작성할 수 있습니다.

작업 데이터 업데이트 다음 코드 스 니펫은 프로젝트의 작업 데이터를 업데이트하여 MPP 파일에 다시 작성하는 방법을 보여줍니다. 이 활동과 관련된 단계는 다음과 같습니다.

  1. 프로젝트 리더 인스턴스를 만듭니다.
  2. 소스 MPP 파일을 읽으십시오.
  3. 작업을 만들고 루트 작업에 추가하십시오.
  4. 마감일, Notestext 등과 같은 작업 매개 변수를 업데이트하십시오.
  5. 루트 작업에 추가 작업을 추가하십시오.
  6. 프로젝트를 저장하십시오.

다음 코드는 교차 프로젝트를 통해 작업의 원본 및 외부 ID를 찾습니다.

 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.