我有以下代码..
WorkPackage spack=(WorkPackage)primaryBusinessObject;
WTSet res;
WTPart spart=null;
String state=null;
res=wt.facade.persistedcollection.PersistedCollectionHelper.service.getAllMembers(spack);
System.out.println("the values are "+res);
java.util.Iterator iter=res.persistableIterator();
while(iter.hasNext())
{
spart=(wt.part.WTPart) iter.next();
wt.lifecycle.LifeCycleState st=spart.getState();
String state=st.toString(); //Lifecycle state of part object
}
if(state.contains("APPROVED"))
result="Proceed";
在上面的代码中,我传递了一个 Windchill 包,它可能有多个 WTPart 对象。每个部分可能有不同的生命周期状态。我想要的是,如果每个部分状态都是“已批准”,则意味着它应该在我的工作流程中继续进行。
例如。
生命周期状态
Part1=IN WORK
Part2=IN REVIEW
Part3=APPROVED
Part4=APPROVED
Part5=CANCELED
我想比较我包中的所有对象,APPROVED
我可以将它们存储在向量或数组列表中,但我不知道如何比较其中的所有对象。如果任何一个对象状态为 APPROVED,我的上述代码将通过。知道这个问题与 Windchill 无关。有人帮我解决这个问题