把一个物料发送到结构管理器中(bom行很大 20000行),遍历bomline行,然后输出报表,但是最后报表也出来了。但tc的结构管理器卡死了,随之整个tc卡死了.解决办法
2018-05-21 16:32
639 查看
这个是客户的要求,现在已经解决了
public void getallChild(TCComponentItemRevision topItemRev) throws Exception
{
TCComponent BOMViewRev[] = topItemRev.getRelatedComponents("structure_revisions");
TCComponentBOMViewRevision bomViewRev =null;
for (int i = 0; i < BOMViewRev.length; i++)
{
TCComponent view = BOMViewRev[i].getReferenceProperty("bom_view");
String type = view.getReferenceProperty("view_type").toString();
System.out.println("view type----------------"+type);
if (type.toLowerCase().equals("view")||"组成".equalsIgnoreCase(type))
{
bomViewRev = (TCComponentBOMViewRevision) BOMViewRev[i];
}
}
TCComponentBOMWindow win = Common.GetBomWindows("Lastest Working");
TCComponentBOMLine topBomLine = win.setWindowTopLine(null, topItemRev, bomViewRev, null);
readline(topBomLine);
win.clearCache();
win.close();
}
/**
* 获得BOM窗口
* @param ruleStr bom版本规则
* @return
*/
public static TCComponentBOMWindow GetBomWindows(String ruleStr) {
TCSession session = (TCSession) AIFUtility.getDefaultSession();
TCComponentBOMWindow bomWindows = null;
try {
TCComponentRevisionRule rule = null;
TCComponentRevisionRule rrs[] = TCComponentRevisionRule.listAllRules(session);
for (int i = 0; i < rrs.length; i++) {
if (rrs[i].getProperty("object_name").equals(ruleStr)) {
rule = rrs[i];
break;
}
}
TCTypeService typeService = session.getTypeService();
TCComponentBOMWindowType winType = (TCComponentBOMWindowType) typeService.getTypeComponent("BOMWindow");
bomWindows = winType.create(rule);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return bomWindows;
}
通过以上代码把较大的bom先发送到结构管理其中,然后在清缓存,关闭掉,就不会有卡顿的情况了 阅读更多
public void getallChild(TCComponentItemRevision topItemRev) throws Exception
{
TCComponent BOMViewRev[] = topItemRev.getRelatedComponents("structure_revisions");
TCComponentBOMViewRevision bomViewRev =null;
for (int i = 0; i < BOMViewRev.length; i++)
{
TCComponent view = BOMViewRev[i].getReferenceProperty("bom_view");
String type = view.getReferenceProperty("view_type").toString();
System.out.println("view type----------------"+type);
if (type.toLowerCase().equals("view")||"组成".equalsIgnoreCase(type))
{
bomViewRev = (TCComponentBOMViewRevision) BOMViewRev[i];
}
}
TCComponentBOMWindow win = Common.GetBomWindows("Lastest Working");
TCComponentBOMLine topBomLine = win.setWindowTopLine(null, topItemRev, bomViewRev, null);
readline(topBomLine);
win.clearCache();
win.close();
}
/**
* 获得BOM窗口
* @param ruleStr bom版本规则
* @return
*/
public static TCComponentBOMWindow GetBomWindows(String ruleStr) {
TCSession session = (TCSession) AIFUtility.getDefaultSession();
TCComponentBOMWindow bomWindows = null;
try {
TCComponentRevisionRule rule = null;
TCComponentRevisionRule rrs[] = TCComponentRevisionRule.listAllRules(session);
for (int i = 0; i < rrs.length; i++) {
if (rrs[i].getProperty("object_name").equals(ruleStr)) {
rule = rrs[i];
break;
}
}
TCTypeService typeService = session.getTypeService();
TCComponentBOMWindowType winType = (TCComponentBOMWindowType) typeService.getTypeComponent("BOMWindow");
bomWindows = winType.create(rule);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return bomWindows;
}
通过以上代码把较大的bom先发送到结构管理其中,然后在清缓存,关闭掉,就不会有卡顿的情况了 阅读更多
相关文章推荐
- 一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问如何找到指定坐标的结构(除了遍历整个数组,是否有更好的办法)?
- 一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问要找到指定坐标的结构除了遍历整个数组还有更好的办法吗?
- 一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问如何找到指定坐标的结构(除了遍历整个数组,是否有更好的办法)?
- JavaWeb项目中没有错,但是项目上面显示一个红叉的解决办法
- 一个奇葩的oracle分页问题,已经知道解决办法,但是不晓得产生问题的原音~
- 声明一个字符型数组,数组初始值为{'a','3','#','X','c','e','4','$','H','1'}。编写一个find方法,用来遍历该数组,从中找出所有小写字母并打印出来,最后打印所有小
- 基本在每个项目中都会遇到发送邮件的需求,大家熟知的邮箱有新浪、雅虎、QQ、OUTLOOK等,想必大家也遇到过发送邮件总是被发送到垃圾邮箱中,下面是我找到的一个解决办法,仅供参考。
- 念整数,你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来
- 题目:剔除一个字符中重复的字符,然后按ASCII码值从小到大排列。 例如,输入:abbcccddeeeffgghh 输出:abcdefgh 注意:1、剔除是整个字符串中重复的字符,而不是连续的字符 2
- JavaWeb项目中没有错,但是项目上面显示一个红叉的解决办法
- Java编程:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。
- 数据返回正常,但是控制台输出参数为乱码解决办法
- 课堂提问(C语言):输入10个整数到一个数组,将奇数放在数组前面,偶数放在数组后面,然后输出整个数组。
- java项目程序中没有错,但是项目上面显示一个红叉的解决办法
- libmysqlcppconn-dev : 依赖: libboost-dev 但是它将不会被安装 一个解决办法
- java程序中没有错,但是项目上面显示一个红叉的解决办法
- EBS中RTF报表Excel格式输出字段长度不正确的解决办法
- 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。
- 执行 pack200弹出一个cmd窗口,然后自关闭解决办法。
- java程序中没有错,但是项目上面显示一个红叉的解决办法