类
以下是支持有效性发布的 Windchill ESI 类:
ESIEffectivityHandlerFactory
创建 ESIEffectivityHandler 的实例。该类提供以下方法:
newESIEffectivityHandler() : ESIEffectivityHandler
从 Windchill ESI 首选项获取要实例化的 ESIEffectivityHandler 实施类的名称。新建实例并将其返回给调用方。
ESIEffectivityHandler
此接口用于定义 Windchill ESI 有效性处理程序中必须提供的方法。该接口具有以下方法:
getLatestEffectivity(part : EffManagedVersion) : Eff
返回与对象 (类型为 EffManagedVersion) 关联的最新非产品特定日期有效性。
isReleased(assn : ESITargetAssociation) : boolean
假设 ESITargetAssociation 包含 Eff 和 ESITarget,如果 Eff 已发布到 ESITarget,则返回 true。
getLatestEffectivity(emv: EffManagedVersion, type: int) : Eff
返回与给定对象 (类型为 EffManagedVersion) 关联的最新给定类型有效性。
getLatestEffectivities(emv: EffManagedVersion) : Eff[]
提取与给定对象 (类型为 EffManagedVersion) 关联的最新日期、序列号和批号有效性,将其存储在 Eff 数组中,并将该数组返回给调用方。
isReleased(emv: EffManagedVersion, target: ESITarget, type: int) : boolean
如果与给定对象 (类型为 EffManagedVersion) 关联的最新传递类型有效性也是上次导出到给定分布目标的有效性 (类型相同),或者如果给定对象没有与之关联的任何给定类型的有效性,则返回 true。
getClassForEffectivityType(type: int) : Class
返回与传递给它的有效性类型相对应的类实例。
isCompEffReleased(part: WTPart, assn: ESITargetAssociation, root: WTPart, navCriteria: NavigationCriteria) : boolean
允许调用方获悉是否已发布与传递 BOM 中的任何组件关联的最新序列号或批有效性。此外,它还会验证分配给 BOM 中每个组件的序列号/批有效性 - 如果发现任一组件的有效性无效,则会抛出异常。
validateUnitEffOnChangeable(part: WTPart, changeables: Hashtable<WTPart, String>, contextIterations: Hashtable<WTPart, String>, navCriteria: NavigationCriteria) : int
允许调用方获悉与传递部件关联的最新单位有效性是否有效。如果在验证过程中出错,则将抛出异常。返回一个整数值,指示所传递部件的单位有效性是否有效。
initialize()
适当地初始化有效性处理程序实例,使其不包含先前存储 (和可能过期) 的数据。
getLatestEffectivities(emv: EffManagedVersion, type: string) : Eff[] List
提取与给定对象 (类型为 "EffManagedVersion") 关联的最新日期、序列号和批号有效性,将其存储在 Eff 列表中,并将该列表返回给调用方。
getLatestEffectivity (emv : EffManagedVersion, type: int, efType: String) : Eff List
返回与对象关联的给定类型的最新有效性列表。它首先从缓存中提取所需信息,并在失败时调用 "EffHelper.service.getEffs()"。已缓存提取的最新 Eff 实例,这样方便在后续调用期间从缓存中提取这些实例,无需访问数据库。
ESIEffectivityHandlerImpl
Windchill ESI 有效性处理程序接口的默认实施。该类具有以下可用方法:
getLatestEffectivity(part : EffManagedVersion) : Eff
返回与对象关联的最新非产品特定日期有效性。
isReleased(assn : ESITargetAssociation) : boolean
检查与给定对象 (类型为 EffManagedVersion) 关联的最新日期有效性是否也是上次导出至给定分布目标的
日期有效性,或是否已向给定对象分配任何日期有效性。
对象和分布目标通过传递的 ESITargetAssociation 实例确定。如果输入对象是工艺计划,则它还会执行上述序列号和批有效性检查。如果执行的所有检查成功,则该方法返回 true;否则返回 false。
getLastExportedEffectivity(part : WTPart, target : ESITarget) : Eff
这是一种受保护的方法,可返回与给定 WTPart 和给定 ESITarget 关联的上次已发布 Eff 对象。该方法将工作委派给 ESITransactionUtility.latestEffExport()。
getLatestEffectivity (emv : EffManagedVersion, type: int) : Eff
返回与对象关联的给定类型最新有效性。该方法会尝试先从缓存中提取所需信息,并在失败时调用 EffHelper.service.getEffs()。系统会查找与每个 Eff 实例关联的 PersistInfo,以确定 getEffs() 返回多个 (给定类型) Eff 实例中的最新实例。随后会缓存提取的最新 Eff 实例,以便在后续调用期间从缓存中提取该实例,而无需访问数据库。
getLatestEffectivities(emv: EffManagedVersion) : Eff[]
提取与给定对象 (类型为 EffManagedVersion) 关联的最新日期、序列号和批号有效性,将其存储在 Eff 实例数组中,并将该数组返回给调用方。输出数组中的某些元素可能为空,具体取决于给定对象是否具有与其关联的给定类型有效性。
isReleased(emv: EffManagedVersion, target: ESITarget, type: int) : boolean
如果与给定对象 (类型为 EffManagedVersion) 关联的最新传递类型有效性也是上次导出到给定分布目标的有效性 (类型相同),或者如果给定对象没有已分配的任何给定类型有效性,则返回 true。
getClassForEffectivityType(type: int) : Class
返回与传递给它的有效性类型相对应的类实例。
getLastExportedEffectivity(emv : EffManagedVersion, target : ESITarget, type: int) : Eff
返回上次导出到给定对象 (类型为 EffManagedVersion) 的给定分布目标的传递类型 Eff 实例。该方法会尝试先从缓存中提取所需信息,如果此操作失败,则会调用 ESITransactionUtility.latestEffExport(EffManagedVersion emv, ESITarget target, int type),这是一个采用附加自变量类型的无差别加载版本。
isCompEffReleased(part: WTPart, assn: ESITargetAssociation, root: WTPart, navCriteria: NavigationCriteria) : boolean
允许调用方获悉是否已发布与传递 BOM 中的任何组件关联的最新序列号或批有效性。此外,它还会验证分配给 BOM 中每个组件的序列号/批有效性 - 如果发现任一组件的有效性无效,则会抛出异常。
validateUnitEffOnChangeable(part: WTPart, changeables: Hashtable<WTPart, String>, contextIterations: Hashtable<WTPart, String>, navCriteria: NavigationCriteria) : int
允许调用方获悉与传递部件关联的最新单位有效性是否有效。如果在验证过程中出错,则将抛出异常。返回一个值,指示与传递的部件关联的单位有效性是否有效。
| 发生的验证一部分取决于 Windchill ESI 首选项 Validate Effectivity Context 的值。有关详细信息,请参阅 可配置选项。 |
initialize()
适当地初始化有效性处理程序实例,使其不包含先前存储 (和可能过期) 的数据。默认实施通过清除缓存有效性信息的某些集合的内容来实现此操作。
getLatestEffectivities(emv: EffManagedVersion, type: string) : Eff[] List
提取与给定对象 (类型为 "EffManagedVersion") 关联的最新日期、序列号和批号有效性,将其存储在 Eff 列表中,并将该列表返回给调用方。
getLatestEffectivity (emv : EffManagedVersion, type: int, efType: String) : Eff List
返回与对象关联的给定类型的最新有效性列表。该方法尝试先从缓存中提取所需信息,并在失败时调用 "EffHelper.service.getEffs()"。系统会查找与每个 Eff 实例关联的 PersistInfo,以确定 getEffs() 可能返回的多个 (给定类型) Eff 实例中的最新实例。随后会缓存提取的最新 Eff 实例,以便在后续调用期间从缓存中提取该实例,而无需访问数据库。
getLastExportedEffectivity(emv : EffManagedVersion, target : ESITarget, type: int, efType: String) : Eff List
返回上次导出到给定对象 (类型为 "EffManagedVersion") 的给定分布目标的传递类型 Eff 实例列表。该方法会尝试先从缓存中提取所需信息,如果此操作失败,则会调用 "ESITransactionUtility.latestEffExport"(EffManagedVersion emv, ESITarget target, int type),这是一个采用附加自变量类型的无差别加载版本。
validateUnitEffOnChangeable(lotEff: List<Eff>, part: WTPart, changeables: Map<Releasable, String>, contextIterations: Map<WTPart, String>, navCriteria: NavigationCriteria) : int
通知调用方与已传递部件关联的最新单位有效性是否有效。读取首选项“验证有效性上下文”,如果该首选项设置为 true,则会验证有效性上下文对象。如果在验证过程中出错,则将抛出异常。Ans 会返回一个值,指示与传递部件关联的单位有效性是否有效。