Windchill API 培训

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
} //添加查询条件
qs.appendWhere(where, new int[]{index}); //** 以下是联合查询的API范例。LINK关系//ROLEA
、ROLEB的INDEX被使用到。 int linkIndex = qs.appendClassList(XXLink.class, false);
PersistenceHelper.manager.find(qs); //过滤出最新小版本 LatestConfigSpec lcs = new LatestConfigSpec(); qr = lcs.process(qr);
习题1
• 1、查询部件 输入:部件编码 输出:各小版本对象的集合
• 2、接上题,添加条件:只得到最新小版本 • 3、查询部件的参考文档
• 3、验证用户是否属于某角色
输入:表示用户的字符串,表示角色的字符串 输出:若属于则返回true其它返回false
• 4、将用户添加到组和角色 输入:表示用户、组、角色的字符串 输出:若发生异常则抛出异常
4、流程参数
• 进程类型:WfProcess • 活动类型:WfAssignedActivity • 进程上下文:ProcessData • 进程变量:WfVariable
//获取活动
WfAssignedActivity activity = (WfAssignedActivity) workItem.getSource().getObject();
//获取进程
WfProcess process = activity.getParentProcess();
//获取进程上下文
输入:部件编码 输出:部件的最新小版本
3、用户、组、角色的查与改
• WC中承担者的类型结构 • 核心API:OrganizationServicesHelper
• 承担者的类型结构 WTPrincipal
WTGroup WTOrgnazition
WTUser
• 查用户
OrganizationServicesHelper.manager.getAu
thenticatedUser(String);
• 其它常用的方法。在 OrganizationServicesHelper的设计中,提 供了许多有关用户、群组、团队的“服务
”。Windchill中大量使用“Helper-服务模 式” 。有关“Windchill的3大模式”,请 详见《Windchill 客制化手册》倒数第2章
,本文略。
• 其它常用方法: getGroup(); getOrganization(); isMember(); members(); rename(); …
习题3
• 1、查找用户
输入:表示名称的字符串 输出:用户对象。若无此用户则返回null。
• 2、验证用户是否属于组
输入:表示用户的字符串,表示组的字符串 输出:若属于则返回true其它返回false
//准备SQL语句 PreparedStatement query = conn.
prepareStatement(SQL); //执行查询 ResultSet rs = query.executeQuery(); //关闭数据库连接。 conn.close();
习题2
• 1、查询部件的最新小版本
qs.appendJoin(linkIndex, xxLink.RoleA, index_A);
qs.appendJoin(linkIndex, xxLink.RoleB, index_B);
//添加“生命周期”查询条件 LifeCycleConfigSpec lcsp = new
LifeCycleConfigSpec(); lcsp.setLifeCycleState(State.toState(state)); qs = lcsp.appendSearchCriteria(qs); //执行查询 QueryResult qr =
ProcessData pPdata = wfProcess.getContext();
//获取变量 WfVariable xx = pData.getVariable(“xx”);
WhereExpression where = new SearchCondition(WTPart.class, WTPart.xx, “=”, xx);//泛型在WC API中的使 用
//获取查询条件数目
If(qs.getConditionCount()>0 && qs.getWhere().endsWith(“)”)){ qs.appendAnd();
输入:部件对象 输出:此部件的所有参考文档
2、基本查询
• 建立数据库连接 • 准备SQL语句 • 执行查询 • 遍历查询结果 • 关闭数据库连接
//建立数据库连接 PDSIfc pds =
DataServicesRegistry.getDefault().getPdsF or(“Default”); Connection conn = null; if(pds!=null){ conn = pds.getDataSource().getConnection(); }
1、高级查询
• 添加查询类型 • 添加查询条件 • 联合查询 • 添加生命周期条件 • 执行查询 • 过滤出最新小版本
QuerySpec qs = new QuerySpec();//构造
Int index = qs.appendClassList(WTPart.class,true);// 添加查询类型,获取类型索引,第2个参数 表示“要查询的类型、表”
Windchill API 培训
张玉
概述
• 只有掌握Windchill API,才能实施好方案. • 本文介绍方案实施中最常使用的API • WC API有框架,学习本文的基础,其它可举
一反三. • 养成Fra Baidu bibliotek验证、总结”的好习惯
目录
1. 高级查询 2. 基本查询 3. 用户、组、角色的查与改 4. 流程参数 5. IBA操作 6. 设置生命周期状态 7. 设置动态权限 8. 部件与文档之间 9. 持续化操作 10. Windchill设计模式
相关文档
最新文档