返回顶部

收藏

java 读取 ms project by MPXJ

更多
ProjectReader reader = new MPPReader();
  ProjectFile project = reader.read(Test.class.getResource("/bss4.mpp").getPath());
  t.listHierarchy(project);

public void listHierarchy(ProjectFile file){
    for (Task task : file.getChildTasks()){
    System.out.println("WBS: " + task.getWBS());
       System.out.println("任务名称: " + task.getName());
       System.out.println("工期: " + task.getDuration().toString());
       System.out.println("计划开始时间: " + (task.getStart() == null ? "NA" : new SimpleDateFormat("yyyy-MM-dd").format(task.getStart())));
       System.out.println("计划完成时间: " + (task.getFinish() == null ? "NA" : new SimpleDateFormat("yyyy-MM-dd").format(task.getFinish())));
       System.out.println("实际开始时间: " + (task.getActualStart() == null ? "NA" : new SimpleDateFormat("yyyy-MM-dd").format(task.getActualStart())));
       System.out.println("实际完成时间: " + (task.getActualFinish() == null ? "NA" : new SimpleDateFormat("yyyy-MM-dd").format(task.getActualFinish())));
       StringBuilder resourceName = new StringBuilder();
       for (ResourceAssignment assignment : task.getResourceAssignments()){
          Resource resource = assignment.getResource();
          if (resource != null){
           resourceName.append(resource.getName()+" - " + resource.getPeakUnits() + ",");
          }
       }
       System.out.println("资源名称: " + resourceName.toString());
       listHierarchy(task, " ");
    }
    System.out.println();
}
private void listHierarchy(Task tasks, String indent){
    for (Task task : tasks.getChildTasks()){
    System.out.println("WBS: " + task.getWBS());
       System.out.println("任务名称: " + task.getName());
       System.out.println("工期: " + task.getDuration().toString());
       System.out.println("计划开始时间: " + (task.getStart() == null ? "NA" : new SimpleDateFormat("yyyy-MM-dd").format(task.getStart())));
       System.out.println("计划完成时间: " + (task.getFinish() == null ? "NA" : new SimpleDateFormat("yyyy-MM-dd").format(task.getFinish())));
       System.out.println("实际开始时间: " + (task.getActualStart() == null ? "NA" : new SimpleDateFormat("yyyy-MM-dd").format(task.getActualStart())));
       System.out.println("实际完成时间: " + (task.getActualFinish() == null ? "NA" : new SimpleDateFormat("yyyy-MM-dd").format(task.getActualFinish())));
       StringBuilder resourceName = new StringBuilder();
       for (ResourceAssignment assignment : task.getResourceAssignments()){
          Resource resource = assignment.getResource();
          if (resource != null){
           resourceName.append(resource.getName()+" - " + assignment.getUnits()  + ",");//assignment.getUnits()获得单位百分比
          }
       }
       System.out.println("资源名称: " + resourceName.toString());
       listHierarchy(task, indent + " ");
    }
}
//该片段来自于http://outofmemory.cn

标签:java,基础

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 博主 发表 2013-08-26 02:35:24 JAVA操作Hbase基础例子
  2. Terry Zhang 发表 2014-04-27 08:18:40 [集合框架] Java 集合框架简介
  3. Terry Zhang 发表 2014-05-02 08:58:00 [集合框架] Set 接口
  4. 郑 旭东 发表 2014-01-16 16:46:51 JAVA多线程和并发基础面试问答
  5. Terry Zhang 发表 2014-04-17 15:27:06 [正则] 字符类型
  6. Terry Zhang 发表 2014-04-27 10:43:29 [集合框架] 接口
  7. 逍遥冲 发表 2013-12-05 05:53:28 [引]Java NIO —- IO复用
  8. 糖果 发表 2015-08-03 21:33:22 逆向基础(十三) JAVA (四)
  9. Terry Zhang 发表 2014-04-18 05:08:52 [NIO.2] 编写一个文件拷贝应用
  10. Terry Zhang 发表 2014-04-24 08:14:18 [正则] 边界匹配器
  11. Terry Zhang 发表 2014-05-03 06:33:32 [集合框架] List 接口
  12. Terry Zhang 发表 2014-05-13 06:05:01 [集合框架] SortedSet 接口

发表评论