知识积累
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
知识积累
常用类记录
wt.access.AccessControlHelper.manager.hasAccess(Object obj, AccessPermission access);
判断是当前用户对指定对象是否有指定操作的权限,可以通过策略管理器配置权限。wt.content.contentHelper
doc = (WTDocument)ContentHelper.service.getContents(doc);
List items = ContentHelper.getContentListAll(doc);
wt.content.ContentItem
wt.lifycycle.State
State[] state = State.getStateSet();//返回系统中所有存在的state
wt.query.QuerySpec
QuerySpecc qs = new QuerySpec(WTDocument.class);
●qs.setAdvancedQueryEnabled(true);//
●ClassAttribute ca = new ClassAttribute(WTDocument.class, WTDocument.PERSIST_INFO+"."
+PersistInfo.CREATE_STAMP);
OrderBy orderBy = new OrderBy(ca,true);
qs.appendOrderBy(orderBy,new int[]{0})//设置查询结果的排序列
●qs.setQueryLimit(size);//设置查询结果的限制数量
wt.query.SearchCondition
new SearchCondition(WTDocument.class,WTDocument.CREATE_TIMESTAMP, SearchCondition.GREATER_THAN_OR_EQUAL,timestamp)
注:参数分别是:类、关键字、条件、内容,示例中意思是构建一个查询条件:查询WTDocument,
且WTDocument的创建时间大于等于指定的timestamp。
wt.session.SessionContext
WTPrincipal admin = SessionHelper.manager.getAdministrator();//获取管理员用户WTPrincipal current = SessionContext.setEffectivePrincipal(admin);//设置环境为管理员用户,且
返回当前用户。SessionContext.setEffectivePrincipal(current);//目标管理员用户处理完任务后,切换回原来的
用户。
wt.type.ClientTypedUtility
TypeDefinitionReference tdr1 =
ClientTypedUtility.getTypeDefinitionReference(WTUtil.qualifyTypeId(CmQuestionConstants.QUES TIONITEM_SOFTTYPE));
注:根据类型id获取“类型定义引用”。其中WTUtil.qualifyTypeld用于修正id。
public static final String QUESTIONITEM_SOFTTYPE="wt.doc.WTDocument|QuestionItem"; 配置
配置BackgroundMethodServer监听队列处理信息
1.向site.conf中添加行:
2.windchill shell中执行xconfmanager -p 更新
代码实例
关于查询
public static Vector
try {
Vector
QuerySpec qs = new QuerySpec(WTDocument.class);
qs.setAdvancedQueryEnabled(true);
TypeDefinitionReference tdr1 =
ClientTypedUtility.getTypeDefinitionReference(WTUtil.qualifyTypeId(CmQuestionConstants. QUESTIONITEM_SOFTTYPE));
long branchId1 = tdr1.getKey().getBranchId();
qs.appendWhere(new SearchCondition(WTDocument.class, WTDocument.TYPE_DEFINITION_REFERENCE + "." + TypeDefinitionReference.KEY + "." + TypeDefinitionForeignKey.BRANCH_ID,
SearchCondition.EQUAL, branchId1), new int[]{0});
qs = new LatestConfigSpec().appendSearchCriteria(qs);
qs.appendAnd();
qs.appendWhere(new SearchCondition(WTDocument.class, WTDocument.CREATE_TIMESTAMP, SearchCondition.GREATER_THAN_OR_EQUAL, CmDateUtil.getCurrentDayZeroOracleTime()), new int[]{0});
ClassAttribute ca = new ClassAttribute(WTDocument.class, WTDocument.PERSIST_INFO + "." + PersistInfo.CREATE_STAMP);
OrderBy orderBy = new OrderBy(ca, true);
qs.appendOrderBy(orderBy, new int[]{0});
if (size != -1) {
qs.setQueryLimit(size);
}
Debug.P("getLatestKnows sql :" + qs.toString());
QueryResult qr = null;
try {
qr = PersistenceHelper.manager.find((StatementSpec) qs);
} catch (PartialResultException pe) {
qr = pe.getQueryResult();
}
CmQuestionItemInfo info = null;
WTDocument doc = null;
CmUserInfo userInfo = null;
HashMap
while (qr.hasMoreElements()) {
doc = (WTDocument) qr.nextElement();
info = new CmQuestionItemInfo();
ibaMap = new HashMap
CmIBAHelper.getIBAValuesLite(doc, ibaMap);
userInfo = CmQuestionUtil.getCmUserInfo(doc.getCreator().getPrincipal());
addIBAValueToCmQuestionItemInfo(info, ibaMap);
info.setOid(CmReferenceFactoryUtil.getOID(doc));
info.setQuestionTitle(doc.getName());
info.setQuestionContent(doc.getDescription());
info.setUserInfo(userInfo);
info.setQuestionState(doc.getLifeCycleState().getFullDisplay());
info.setCreateTime(doc.getCreateTimestamp());
info.setModifyTime(doc.getModifyTimestamp());