最后期限和状况计算的注册事件监听程序
以下事件被配置为监听 StandardEPPCustomEventHandlerService 类,并根据给定活动类型的处理程序来处理最后期限或状况。
如果给定活动类型的处理程序不可用,则会检索符合条件的父项类型 (将其“最后期限模式”“状况模式”设置为“自动计算”的类型) 的处理程序,并由各自的处理程序计算和统计最后期限或状况。
状态更改
说明
捕获活动和子计划状态的更改。
事件常数
ProjectManagementEvent.PLANACTIVITY_STATE_CHANGE
完工率
说明
捕获活动和子计划的完成工作百分比的更改。
事件常数
ProjectManagementEvent.EPP_PERCENT_CHANGE
计划活动估计完成时间
说明
捕获活动和子计划的“估计完成时间”日期的更改。
事件常数
ProjectManagementEvent.EPP_FINISH_CHANGE
计划活动最后期限更改
说明
捕获活动和子计划的“最后期限”日期的更改。
事件常数
ProjectManagementEvent.EPP_DEADLINE_CHANGE
计划活动状况更改
说明
捕获活动状况和子计划的更改。
事件常数
ProjectManagementEvent.EPP_STATUS_CHANGE
可交付结果更改的主题
说明
当可交付结果主题对象发生更改时,由自定义代码抛出。
* 
要根据可交付结果主题对象的某些更改调用自定义算法,可在导致更改的操作中抛出此事件。
事件常数
ProjectManagementEvent.EPP_DELIVERABLE_SUBJECT_CHANGE
由自定义最后期限处理程序更改的最后期限
说明
针对 ALAP 活动重新安排的计划。
* 
您需要 CustomDeadlineImplementation 类来抛出此事件。有关详细信息,请参阅为单独活动构建最后期限算法中提供的示例。
事件常数
ProjectManagementEvent.EPP_CUSTOM_DEADLINE_CHANGE
当前日期更改
说明
捕获每个传递日。
* 
此事件仅在进行其他配置后可用。请参见下面的一节。
事件常数
ProjectManagementEvent.EPP_DATE_CHANGE
当前日期更改
当前日期更改事件 (ProjectManagementEvent.EPP_DATE_CHANGE) 根据在以下特性中设置的时间来捕获每个传递日:
<Property default="24:00" name="com.ptc.projectmanagement.plan.dailyDeadlineAndHealthStatusUpdateTimeStamp"/>
默认情况下,不会设置此特性。必须将其添加到 wt.properties.xconf 中。
如果想要在每天特定的时间调用当前日期更改事件,则可以使用 H24:MM 格式添加此特性,并使用所需的时间戳。
* 
当前日期更改事件监听程序预设为不执行任何操作。您可以使用下面的详细信息来扩展此监听程序。
扩展事件监听程序
如果要扩展现有事件监听程序的功能或注册除上面所列事件以外的事件,那么可以按如下方式扩展 StandardEPPCustomEventHandlerService 和覆盖 performStartupProcess() API:
@Override
protected synchronized void performStartupProcess() throws ManagerException {
super.performStartupProcess();
getManagerService().addEventListener(new ServiceEventListenerAdapter(CLASSNAME) {
@Override
public void notifyVetoableMultiObjectEvent(Object event){
//Event handling code goes here
}
},
ProjectManagementEvent.generateEventKey(<EVENT_TO_BE_REGISTERED>));
}
* 
要保留现有的监听程序配置,最佳做法是考虑调用所覆盖 performStartupProcess() 内的 super.performStartupProcess()
如果要实现某种算法进行最后期限计算,请将自定义的条目添加到 projectmanagement.wt.properties.xconf 中的 com.ptc.projectmanagement.plan.EPPCustomEventHandlerService 下:

<Property default="com.ptc.projectmanagement.plan.EPPCustomEventHandlerService/com.ptc.projectmanagement.plan.StandardEPPCustomEventHandlerService" name="wt.services.service.3715" />
如果要实现某种算法进行最后期限计算,请将自定义的条目添加到 projectmanagement.wt.properties.xconf 中的 com.ptc.projectmanagement.plan.HealthStatusEventHandlerService 下:

<Property default="com.ptc.projectmanagement.plan.HealthStatusEventHandlerService/com.ptc.projectmanagement.plan.StandardEPPCustomEventHandlerService" name="wt.services.service.3715" />
* 
统计处理程序
当前,监听程序代码将接收汇总活动的集合,计算其状况或最后期限,并调用 StandardEPPCustomEventHandlerService 类中的统计 API。
统计 API 会在每个级别为子活动提取汇总,并自下而上统计状况或最后期限。这意味着,作为顶级活动的汇总活动将从其子活动统计得出。要统计每个汇总活动,需调用其相应类型的统计处理程序算法。
这对您有帮助吗?