Trabajando con proyectos
Modos de cálculo del proyecto
Aspose.Tasks for Java API proporciona tres modos de cálculo del proyecto que definen cómo se calculan los valores de las propiedades dependientes cuando se establece el valor de una propiedad.
Estos modos de cálculo son:
Ninguno: establece solo las propiedades necesarias y no realiza ningún cálculo
Manual: establece solo propiedades de objeto dependientes sin recalculación de ningún otro dato
Automático: recalcula las fechas, las propiedades de trabajo y costos automáticamente
Estos ejemplos a continuación muestran el uso de cada uno de estos con la ayuda de muestras de código.
Modo de cálculo del proyecto - Ninguno
1// crear un proyecto vacío y establecer el modo de cálculo en ninguno
2
3Proyecto Project = New Project ();
4
5Project.SetCalCatulaciónMode (CalculationMode.None);
6
7
8
9// Agregar una nueva tarea
10
11Tarea tarea = proyecto.getroottask (). GetChildren (). Add ("tarea");
12
13
14
15Fecha mental = new Gregoriancalendar (1, calendario. January, 1) .gettime ();
16
17
18
19// Tenga en cuenta que incluso las ID no se calcularon
20
21System.out.println ("ID de tarea es igual a 0:" + task.get (tsk.id) .equals (0));
22
23System.out.println ("El inicio de la tarea es igual a 01/01/0001:" + task.get (tsk.start) .equals (Mindate));
24
25System.out.println ("El final de la tarea es igual a 01/01/0001:" + task.get (tsk.finish) .equals (Mindate));
26
27System.out.println ("La duración de la tarea es igual a 0 mins:" + task.get (tsk.duration) .ToString (). Equals ("0 mins"));
28
29
30
31// establecer propiedad de duración
32
33task.set (tsk.duration, proyect.getDuration (2, timeUnittype.day));
34
35System.out.println ("La duración de la tarea es igual a 2 días:" + task.get (tsk.duration) .ToString (). Equals ("2 días"));
36
37System.out.println ("El inicio de la tarea es igual a 01/01/0001:" + task.get (tsk.start) .equals (Mindate));
38
39System.out.println ("El final de la tarea es igual a 01/01/0001:" + task.get (tsk.finish) .equals (Mindate));
Modo de cálculo del proyecto - Manual
1// Crear proyecto vacío y establecer el modo de cálculo en manual
2
3Proyecto Project = New Project ();
4
5Project.SetCalCatulaciónMode (cálculoMode.Manual);
6
7
8
9// Establecer la fecha de inicio del proyecto y agregar nuevas tareas
10
11Project.set (prj.start_date, new Gregoriancalendar (2015, calendar.april, 15) .gettime ());
12
13Tarea tarea1 = proyecto.getroottask (). GetChildren (). Add ("tarea 1");
14
15Tarea tarea2 = proyecto.getroottask (). GetChildren (). Add ("tarea 2");
16
17
18
19// Las propiedades necesarias se establecen en modo manual
20
21Fecha de inicio = nuevo Gregoriancalendar (2015, calendario.april, 15, 8, 0, 0) .gettime ();
22
23Fecha de fecha = nuevo Gregoriancalendar (2015, calendario.april, 15, 17, 0, 0) .gettime ();
24
25System.out.println ("Task1 ID es igual a 1:" + tarea1.get (tsk.id) .equals (1));
26
27System.out.println ("Tarea1 Start es igual a 15/04/2015 08:00 AM:" + Tarea1.get (tsk.Start) .equals (inicio));
28
29System.out.println ("Task1 Finalización es igual a 15/04/2015 05:00 PM:" + Tarea1.get (tsk.finish) .equals (final));
30
31System.out.println ("Tarea1 Duración es igual a 1 día:" + tarea1.get (tsk.duration) .ToString (). Equals ("1 día"));
32
33System.out.println ("Task2 Start es igual a 15/04/2015 08:00 AM:" + Task2.get (tsk.Start) .equals (inicio));
34
35System.out.println ("Task2 Finish Ecalas 15/04/2015 05:00 PM:" + Task2.get (tsk.finish) .equals (final));
36
37System.out.println ("Tarea2 Duración es igual a 1 día:" + tarea 2.get (tsk.duration) .ToString (). Equals ("1 día"));
38
39
40
41// Cuando vinculamos dos tareas juntas, sus fechas no se vuelven a calcular en modo manual
42
43TaskLink Link = Project.GetTaskLinks (). ADD (Tarea1, Task2, TaskLinkType.FinishTostart);
44
45
46
47// El inicio de la tarea 2 no se ha cambiado
48
49System.out.println ("Task1 inicio es igual a tarea2 inicio:" + task1.get (tsk.start) .equals (tarea2.get (tsk.start)));
50System.out.println ("Task1 Finish Equals Task2 Finish:" + Task1.get (tsk.finish) .equals (task2.get (tsk.finish)));
Modo de cálculo del proyecto - Automático
1// Crear proyecto vacío y establecer el modo de cálculo en automático
2
3Proyecto Project = New Project ();
4
5Project.SetCalculationMode (cálculosMode.automatic);
6
7
8
9// Establecer la fecha de inicio del proyecto y agregar nuevas tareas
10
11Project.set (prj.start_date, new Gregoriancalendar (2015, calendar.april, 15) .gettime ());
12
13Tarea tarea1 = proyecto.getroottask (). GetChildren (). Add ("tarea 1");
14
15Tarea tarea2 = proyecto.getroottask (). GetChildren (). Add ("tarea 2");
16
17
18
19// Tareas de enlace
20
21TaskLink Link = Project.GetTaskLinks (). ADD (Tarea1, Task2, TaskLinkType.FinishTostart);
22
23
24
25// verificar las fechas se han recalculado
26
27Calendario cal = calendario.getInstance ();
28
29Cal.setTime (tarea1.get (tsk.start));
30
31cal.add (calendario.date, 1);
32
33Fecha tarea1startplusoneday = cal.gettime ();
34
35System.out.println ("Tarea1 Start + 1 es igual a tarea2 inicio:" + task1Startplusoneday.equals (tarea2.get (tsk.start)));
36
37
38
39Cal.setTime (tarea1.get (tsk.finish));
40
41cal.add (calendario.date, 1);
42
43Tarea de fecha1finishPlusoneday = cal.gettime ();
44
45System.out.println ("Tarea1 Finalizar + 1 es igual a Task2 Finish:" + Tark1FinishPlusoneday.equals (tarea2.get (tsk.finish)));
46
47
48
49System.out.println ("El final de Roottask es igual a Task2 Finish:" + Project.getroottask (). Get (tsk.finish) .equals (task2.get (tsk.finish)));
50
51System.out.println ("Fecha de finalización del proyecto es igual a Tarea2 Finalización:" + Project.get (prj.finish_date) .equals (tarea2.get (tsk.finish)));