如何确定PSI中的资源工作可用性

本文关键字:资源 工作 可用性 何确定 PSI | 更新日期: 2023-09-27 18:07:25

我通过Microsoft.SharePoint.Client上下文使用MS Project Server 2013的PSI接口。

我需要在特定日期获得特定资源的可用数量或小时数。

例如,Resource1的当前最大单位为100%。我设置了8小时工作日,这意味着Resource1每天都有8小时工作日。我把Resource1计划安排到今天2小时。所以我需要得到今天的最大可用时间:8小时- 2小时= 6小时。

//open project context
ProjectContext projContext;
projContext = new ProjectContext(pwaPath);
//load enterprise resource
projContext.Load(projContext.EnterpriseResources);
projContext.ExecuteQuery();
//get first resource
EnterpriseResource resource = projContext.EnterpriseResources[0];
//what should I do next?

是否存在不需要人工计算就能得到这个估计的方法?

如何确定PSI中的资源工作可用性

        DateTime dtStart = DateTime.Parse("09.04.2015");
        DateTime dtEnd = DateTime.Parse("12.28.2016");
        var plan = checkoutProj.GetResourcePlan(dtStart, dtEnd, TimeScale.Days);
        projContext.Load(plan.Assignments);
        projContext.ExecuteQuery();
        DateTime dttest = DateTime.Parse("8.28.2016");
        var assgn = plan.Assignments[0].Intervals.GetByStart(dttest);
        projContext.Load(plan.Assignments[0].Intervals);
        projContext.Load(plan.Assignments[1].Intervals);
        projContext.Load(assgn);
        projContext.ExecuteQuery();

assgn。Duration给出特定一天的工作量。