helpContext="TABLE_508_HELP_PAGE" showPagingLinks ="true"/>
<%@ include file="/netmarkets/jsp/util/"%>
pageLimit="20"
RightPanel:fru_
<%@ include file="/netmarkets/jsp/util/"%>
<%@ taglib prefix="fmt" uri="/windchill/taglib/fmt" %>
<%@ taglib uri="/windchill/taglib/components" prefix="jca" %>
serviceName="rk" methodName="getWTDocument">
<%@ include file="/netmarkets/jsp/util/"%>
效果图:
2、 workflow
2.1、工作流中的常用元素
:已分配活动。它表示被动的完成某一活动,例如拟制。
:专用活动。它表示可以给自己完成活动的同时还能给其他人指配一些活动。
:与连接器:它表示连接到它上面的两个或多个操作都满足条件时才会进行下一步操作,
里面可以写代码。
:或连接器。它表示连接到它上面的一个或多个操作只要满足条件都会进行下一步操作,
里面可以写代码。
:条件路由器。它表示在此处进行判断下一步的操作是什么,一般在此处都有代码判断前
一操作到此处之后下一步的操作是什么,例如通过或者驳回。
:阈值连接器。它表示当用户指定数量的操作满足条件后,它才会进行下一步操作。
:结束。它没有属性。
:接地。它没有属性。
:以电子邮件方式通知。它表示操作到这一步会使用系统的邮件系统发送邮件。
:方法自动机。它表示可以实现工作流关联对象的检入,检出,更改状态等操作(系统自动
执行,不写代码)
:定时器。它表示前一操作到达此处之后会停留多久或父进程执行多久以后才会进行下一
步的操作。
:启动应用程序。
:执行表达式。它表示在此处写代码执行某些业务操作。
:同步。就是只有满足条件的时候才会完成任务,否则会一直在停在同步那里(写代码)
:URL自动机。
还有一个块和进程元素,以为不常见就不在此说明了。
2.2、工作流进程中颜色代表的意思
● 白色:还没有通过
● 绿色:正在进行
● 灰色:已经运行过了
● 蓝色:暂停
● 红褐色:出错
● 黄色:流程中止
3、 怎么创建一个文档
①. .产品—文件夹—文件内容下面的“文件”单击下拉框—新建—选择“文档”。
②选择一个类型(这些类型是在类型和属性管理器里的文档里创建。)
③ 设置属性里面选择“无内容”
④设置附件,单击完成。
⑤创建完成之后,在工作总览里面可以看到。你创建的文档流程。点击进去,用不同“用户”
对其流程进行执行。
4、 API的用法
:
字段:
CONTRACT_NUMBER: 标签的属性;属性具体到Windchill A和D模块 Supported API: true
NAME: 标签的属性;部分的名称 - 名称的一部分,通常参照,如“piston”。
NUMBER: 属性的标签的数量属性,代表了这部分和其所有版本的数量。
PART_TYPE: 标签的属性。
方法:
getName():获取属性的值:名称。Return:String.
getPartType():获取关联发挥作用的对象:零件类型。
getSource():关联发挥的角色获取的对象:源。
newWTPart():构建一个新的WTPart(其WTPartMaster)。
setNumber(String a_Number):设置的属性值:NUMBER。
Master:
字段:
DEFAULT_UNIT: 标签的属性;默认分配的部分,当它在结构的测量单位。
EFF_PROPAGATION_STOP: 标签的属性;表示,如果有效性传播通过这部分应停止或继续。
END_ITEM:表示,如果部分应作为最终产品的处理属性的标签;
NAME: 标签的属性;部分的名称 - 名称的一部分,通常参照,如“piston”。
NUMBER: 属性的标签的数量属性,代表了这部分和其所有版本的数量。
方法:
getIdentity():返回的形式对部分主编号和名称“ - ”。
getDefaultTraceCode():获取关联,发挥作用的对象:DEFAULT_TRACE_CODE。
getIdentificationObject():构造并返回一个标识对象。
getOrganization():获取的属性值:组织。
ment:
字段:
DEPARTMENT:标签的属性。
DESCRIPTION:标签的属性;一些文字描述的文件或指出重要信息应保存有关文件。
DOC_TYPE:标签的属性。
NAME:标签的属性。
NUMBER:标签的属性。
TITLE:文件的正式名称标签的属性。
方法:
getDepartment():取得关联发挥作用的对象:部门。
getDescription():获取的属性值:描述。
getDocType():取得关联发挥作用的对象:DOC_TYPE。
getName():获取属性的值:名称。
getNumber():获取的属性值:NUMBER。
newWTDocument():供内部使用。
ument:
AUTHORING_APPLICATION: 标签的属性;表示,命名的应用程序编写的对象。
DEFAULT_UNIT: 标签的属性;措施的文件的默认单位。
INSTANCE: 标签属性;真如果EPMDocument是属性表格实例。
NAME:标签的属性;该文件的名称。
NUMBER:属性的标签的数量属性表示该文件和其所有版本的数量。
方法:
getAuthoringApplication():获取属性的值:AUTHORING_APPLICATION。
getCADName():获取属性的值:CADNAME。
getDefaultUnit():获取属性的值:DEFAULT_UNIT。
getDescription():获取的属性值:描述。
getDocSubType():获取属性的值:DOC_SUB_TYPE。
5、 一些常用的方法:
5.1、部件类
从BOM获取的信息条数
初始化类
由被使用量和使用量计算子part使用量
计算被使用量
获取父部件
获取包含产品结构信息的ArrayList对象
获取相关文档信息
获取part信息
判断子part和当前part是否同一个容器
判断子part和相关文档是否同一个容器
判断arrayList中的map元素是否已包含了当前part/文档信息
根据子part的类型,将子part的信息加入相应的list中
判断part是否为零件
判断part是否为小部件
判断part是否为部件
判断part是否为分组件
判断part是否为组件
判断part是否为机械件
判断part是否为外购件
计算某字符串在另一字符串中的出现次数
5.2、 geRequest2(为一抽象方法)
5.2.1、 根据变更名称或编号获取 ECR
5.2.2、 根据产品名称来查询ECR
5.2.2、 创建一个ECR
5.2.3、 获取所有的不是"完成"状态的ECN(通过状态获取ECN)
5.2.4、
通过一组生命周期状态查询ECR。生命周期 ArrayList 中存储字符串的生命周期状
态
5.2.5、 添加ECR 团队中的一些成员到 ECR 的“rolename”的角色中
5.2.6、此方法用于从给定的 ECR 获取相关 ECN
onlyName表示只返回姓名
5.3、
geIssue
根据变更名称或编号获取 WTChangeIssue
6. 通过变更请求查询变更通告
7. 通过产品模板来生成产品
参数为
产品名称,产品描述,产品模板
public static boolean createProductByTemplate(String productName,
String description, String defaultWTContainerTemplateName)
throws WTException {
boolean flag = false;
if (("") || productName == null
|| ("")
|| defaultWTContainerTemplateName == null) {
throw new WTException(CLASSNAME
+ ".createProductByTemplate() 传入参数有误!");
}
WTUser currentUser = null;
try {
currentUser = (WTUser) ncipal();
essEnforced(false);
ncipal(PRODUCTCREATER);
PDMLinkProduct pdmlinkproduct = null;
pdmlinkproduct = LinkProduct();
e(productName);
cription(description == null ? "NONE"
: description);
DefaultWTContainerTemplate defaultwtcontainertemplate = null;
defaultwtcontainertemplate =
getDefaultWTContainerTemplate(defaultWTContainerTemplateName);
if (defaultwtcontainertemplate == null) {
throw new WTException(CLASSNAME
+ ".createProductByTemplate() 未找到名称为"
+ defaultWTContainerTemplateName + "的产品模板,请先手工
创建该产品模板!");
}
tainerTemplate(defaultwtcontainertemplate);
nization wtorganization =
anizationByName("huawei");
WTContainerRef wtcontainerref = e
.getOrgContainerRef(wtorganization);
tainerReference(wtcontainerref);
pdmlinkproduct = (PDMLinkProduct) e
.create(pdmlinkproduct);
pdmlinkproduct = (PDMLinkProduct) r
.save(pdmlinkproduct);
// if (!addPrincipalToProduct(pdmlinkproduct)) {
// n("将角色添加到产品团队中失败:产品="
// + e());
// }
n(tainerTeamManagedInfo().getState()
);
flag = true;
} catch (WTPropertyVetoException e) {
tackTrace();
} finally {
essEnforced(true);
if (currentUser != null) {
ncipal(e());
}
}
return flag;
}
8. 通过容器名得到容器
public static WTContainer getContainer(String containerName) {
int[] index = { 0 };
try {
QuerySpec qs = new QuerySpec();
SearchCondition sc = new SearchCondition(,
, "=", containerName);
Where(sc, index);
QueryResult qr = ((StatementSpec)
qs);
while (eElements()) {
WTContainer container = (WTContainer) ement();
return container;
}
} catch (QueryException e) {
tackTrace();
} catch (WTException e) {
tackTrace();
}
return null;
}
发表评论