diff --git a/bin/com/connor/kwc/createBom/CreateBOMHandler$1.class b/bin/com/connor/kwc/createBom/CreateBOMHandler$1.class
deleted file mode 100644
index 1719e6c..0000000
Binary files a/bin/com/connor/kwc/createBom/CreateBOMHandler$1.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createBom/CreateBOMHandler.class b/bin/com/connor/kwc/createBom/CreateBOMHandler.class
index cced1b1..e0c3476 100644
Binary files a/bin/com/connor/kwc/createBom/CreateBOMHandler.class and b/bin/com/connor/kwc/createBom/CreateBOMHandler.class differ
diff --git a/bin/com/connor/kwc/createBom/CreateBOMOperation$1.class b/bin/com/connor/kwc/createBom/CreateBOMOperation$1.class
deleted file mode 100644
index d7890d1..0000000
Binary files a/bin/com/connor/kwc/createBom/CreateBOMOperation$1.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createBom/CreateBOMOperation.class b/bin/com/connor/kwc/createBom/CreateBOMOperation.class
index f078b3b..569d624 100644
Binary files a/bin/com/connor/kwc/createBom/CreateBOMOperation.class and b/bin/com/connor/kwc/createBom/CreateBOMOperation.class differ
diff --git a/bin/com/connor/kwc/createBom/NewJFrame1$1.class b/bin/com/connor/kwc/createBom/NewJFrame1$1.class
deleted file mode 100644
index 6a4bbc1..0000000
Binary files a/bin/com/connor/kwc/createBom/NewJFrame1$1.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createBom/NewJFrame1$2.class b/bin/com/connor/kwc/createBom/NewJFrame1$2.class
deleted file mode 100644
index a6005aa..0000000
Binary files a/bin/com/connor/kwc/createBom/NewJFrame1$2.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createBom/NewJFrame1$3.class b/bin/com/connor/kwc/createBom/NewJFrame1$3.class
deleted file mode 100644
index 2bf6226..0000000
Binary files a/bin/com/connor/kwc/createBom/NewJFrame1$3.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createBom/NewJFrame1.class b/bin/com/connor/kwc/createBom/NewJFrame1.class
index aeaaca2..2e7e6cb 100644
Binary files a/bin/com/connor/kwc/createBom/NewJFrame1.class and b/bin/com/connor/kwc/createBom/NewJFrame1.class differ
diff --git a/bin/com/connor/kwc/createBom/NewJFrame2$1.class b/bin/com/connor/kwc/createBom/NewJFrame2$1.class
deleted file mode 100644
index c484a41..0000000
Binary files a/bin/com/connor/kwc/createBom/NewJFrame2$1.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createBom/NewJFrame2$2.class b/bin/com/connor/kwc/createBom/NewJFrame2$2.class
deleted file mode 100644
index 4d85345..0000000
Binary files a/bin/com/connor/kwc/createBom/NewJFrame2$2.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createBom/NewJFrame2$3.class b/bin/com/connor/kwc/createBom/NewJFrame2$3.class
deleted file mode 100644
index 589d008..0000000
Binary files a/bin/com/connor/kwc/createBom/NewJFrame2$3.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createBom/NewJFrame2$4.class b/bin/com/connor/kwc/createBom/NewJFrame2$4.class
deleted file mode 100644
index 84c4eb3..0000000
Binary files a/bin/com/connor/kwc/createBom/NewJFrame2$4.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createBom/NewJFrame2.class b/bin/com/connor/kwc/createBom/NewJFrame2.class
index c66f1ab..53878ec 100644
Binary files a/bin/com/connor/kwc/createBom/NewJFrame2.class and b/bin/com/connor/kwc/createBom/NewJFrame2.class differ
diff --git a/bin/com/connor/kwc/createBom/Util.class b/bin/com/connor/kwc/createBom/Util.class
index 96d9785..a49f1e1 100644
Binary files a/bin/com/connor/kwc/createBom/Util.class and b/bin/com/connor/kwc/createBom/Util.class differ
diff --git a/bin/com/connor/kwc/createDWG/CreateDWGHandler$1.class b/bin/com/connor/kwc/createDWG/CreateDWGHandler$1.class
deleted file mode 100644
index ce764c5..0000000
Binary files a/bin/com/connor/kwc/createDWG/CreateDWGHandler$1.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createDWG/CreateDWGHandler.class b/bin/com/connor/kwc/createDWG/CreateDWGHandler.class
index 3382ae5..7db0255 100644
Binary files a/bin/com/connor/kwc/createDWG/CreateDWGHandler.class and b/bin/com/connor/kwc/createDWG/CreateDWGHandler.class differ
diff --git a/bin/com/connor/kwc/createTemplate/CreateTemplateDialg$1.class b/bin/com/connor/kwc/createTemplate/CreateTemplateDialg$1.class
deleted file mode 100644
index 6ea82c3..0000000
Binary files a/bin/com/connor/kwc/createTemplate/CreateTemplateDialg$1.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createTemplate/CreateTemplateDialg.class b/bin/com/connor/kwc/createTemplate/CreateTemplateDialg.class
index 967c87e..b2f3e45 100644
Binary files a/bin/com/connor/kwc/createTemplate/CreateTemplateDialg.class and b/bin/com/connor/kwc/createTemplate/CreateTemplateDialg.class differ
diff --git a/bin/com/connor/kwc/createTemplate/CreateTemplateHandler$1.class b/bin/com/connor/kwc/createTemplate/CreateTemplateHandler$1.class
deleted file mode 100644
index aedf72d..0000000
Binary files a/bin/com/connor/kwc/createTemplate/CreateTemplateHandler$1.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createTemplate/CreateTemplateHandler.class b/bin/com/connor/kwc/createTemplate/CreateTemplateHandler.class
index 2046a86..60470fc 100644
Binary files a/bin/com/connor/kwc/createTemplate/CreateTemplateHandler.class and b/bin/com/connor/kwc/createTemplate/CreateTemplateHandler.class differ
diff --git a/bin/com/connor/kwc/createTemplate/CreateTemplateOperation$1.class b/bin/com/connor/kwc/createTemplate/CreateTemplateOperation$1.class
deleted file mode 100644
index cfe404e..0000000
Binary files a/bin/com/connor/kwc/createTemplate/CreateTemplateOperation$1.class and /dev/null differ
diff --git a/bin/com/connor/kwc/createTemplate/CreateTemplateOperation.class b/bin/com/connor/kwc/createTemplate/CreateTemplateOperation.class
index 38a43fa..3c39802 100644
Binary files a/bin/com/connor/kwc/createTemplate/CreateTemplateOperation.class and b/bin/com/connor/kwc/createTemplate/CreateTemplateOperation.class differ
diff --git a/plugin.xml b/plugin.xml
index 895cb71..aaa93e8 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -6,6 +6,7 @@
point="org.eclipse.ui.commands">
+
@@ -19,11 +20,12 @@
point="org.eclipse.ui.handlers">
-
-
-
-
-
+
+
+
+
+
+
@@ -34,6 +36,9 @@
diff --git a/src/com/connor/kwc/createBom/CreateBOMOperation.java b/src/com/connor/kwc/createBom/CreateBOMOperation.java
index 891ff3d..a3bbb3a 100644
--- a/src/com/connor/kwc/createBom/CreateBOMOperation.java
+++ b/src/com/connor/kwc/createBom/CreateBOMOperation.java
@@ -15,6 +15,7 @@ import com.teamcenter.rac.aif.AbstractAIFOperation;
import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.kernel.TCComponentBOMLine;
import com.teamcenter.rac.kernel.TCComponentFolder;
+import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCSession;
/**
@@ -77,8 +78,8 @@ public class CreateBOMOperation extends AbstractAIFOperation {
NewJFrame2 newJFrame2 = new NewJFrame2(session, dataMap, (TCComponentFolder) target);
newJFrame2.setVisible(true);
} else if ("revision".equals(type)) {
-// NewJFrame1 newJFrame2 = new NewJFrame1(session,dataMap);
-// newJFrame2.setVisible(true);
+ NewJFrame1 newJFrame2 = new NewJFrame1(session,dataMap, (TCComponentItemRevision) target);
+ newJFrame2.setVisible(true);
}
}
diff --git a/src/com/connor/kwc/createBom/NewJFrame1.java b/src/com/connor/kwc/createBom/NewJFrame1.java
index fca60ba..8e5b817 100644
--- a/src/com/connor/kwc/createBom/NewJFrame1.java
+++ b/src/com/connor/kwc/createBom/NewJFrame1.java
@@ -6,6 +6,8 @@
*/
package com.connor.kwc.createBom;
+import java.awt.Dimension;
+import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
@@ -32,12 +34,16 @@ import javax.swing.LayoutStyle;
import javax.swing.WindowConstants;
import javax.swing.tree.DefaultTreeModel;
+import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentBOMLine;
+import com.teamcenter.rac.kernel.TCComponentBOMView;
import com.teamcenter.rac.kernel.TCComponentBOMWindow;
import com.teamcenter.rac.kernel.TCComponentBOMWindowType;
import com.teamcenter.rac.kernel.TCComponentFolder;
+import com.teamcenter.rac.kernel.TCComponentForm;
+import com.teamcenter.rac.kernel.TCComponentGDE;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
@@ -79,6 +85,7 @@ public class NewJFrame1 extends JFrame {
private String[] sxxdate;
private TCComponent component;
private List tempList;
+ private List tempIdList;
private Map itemMapIsSel = new HashMap<>();
private Map itemMapBoMap = new HashMap<>();
@@ -146,8 +153,11 @@ public class NewJFrame1 extends JFrame {
jLabel3.setText("ͣ");
- List typeList = (ArrayList) dataMap.get("typeList");
- String[] typeArray = (String[]) typeList.toArray();
+ ArrayList typeList = (ArrayList) dataMap.get("typeList");
+ for(String tyString : typeList) {
+ System.out.println("tyString:"+tyString);
+ }
+ String[] typeArray = typeList.stream().toArray(String[]::new);
jComboBox2.setModel(new DefaultComboBoxModel<>(typeArray));
jComboBox2.setSelectedIndex(0);
@@ -155,9 +165,11 @@ public class NewJFrame1 extends JFrame {
String template = templateMap.get(jComboBox2.getSelectedItem());
String[] split = template.split(";");
tempList = new ArrayList();
+ tempIdList = new ArrayList();
// UIDģϢ
for (String uid : split) {
try {
+ tempIdList.add(uid);
TCComponent component = session.stringToComponent(uid);
tempList.add(component.getStringProperty("object_name"));
} catch (TCException e1) {
@@ -166,13 +178,14 @@ public class NewJFrame1 extends JFrame {
}
}
- String[] array = (String[]) tempList.toArray();
+ String[] array = tempList.stream().toArray(String[]::new);
jComboBox3.setModel(new DefaultComboBoxModel<>(array));
jComboBox3.setSelectedIndex(0);
jLabel4.setText("ģ壺");
try {
// ģ崴ṹûѡ
- component = session.stringToComponent(tempList.get(0));
+ System.out.println("tempId:"+tempIdList.get(0));
+ component = session.stringToComponent(tempIdList.get(0));
TCComponentBOMWindowType winType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
TCComponentBOMWindow view = winType.create(null);
if (component instanceof TCComponentItemRevision) {
@@ -192,11 +205,8 @@ public class NewJFrame1 extends JFrame {
e1.printStackTrace();
}
- jComboBox2.setModel(new DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
- jComboBox3.setModel(new DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
- jLabel4.setText("ģ壺");
jLabel5.setText("רҵ");
@@ -324,7 +334,17 @@ public class NewJFrame1 extends JFrame {
GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
pack();
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // ȡĻߴ
+ int screenWidth = screenSize.width; // ȡĻ
+ int screenHeight = screenSize.height; // ȡĻ߶
+ int x = (screenWidth - this.getWidth()) / 2; // FrameϽx
+ int y = (screenHeight - this.getHeight()) / 2; // FrameϽy
+ this.setLocation(x, y); // Frameλ
+ this.setDefaultCloseOperation(2);
+
jTextField1.setText(target.getStringProperty("item_id"));
+// jTextField2.setText(target.getStringProperty("object_name"));
+// jTextField1.setEditable(false);
jTextField2.setEditable(false);
// ģ
jComboBox2.addItemListener(new ItemListener() {
@@ -334,10 +354,11 @@ public class NewJFrame1 extends JFrame {
Map templateMap = (HashMap) dataMap.get("templateMap");
String template = templateMap.get(jComboBox2.getSelectedItem());
String[] split = template.split(";");
- List tempList = new ArrayList();
+ tempList = new ArrayList();
// UIDģϢ
for (String uid : split) {
try {
+ tempIdList.add(uid);
TCComponent component = session.stringToComponent(uid);
tempList.add(component.getStringProperty("object_name"));
} catch (TCException e1) {
@@ -345,8 +366,8 @@ public class NewJFrame1 extends JFrame {
e1.printStackTrace();
}
}
-
- String[] array = (String[]) tempList.toArray();
+ String[] array = tempList.stream().toArray(String[]::new);
+ //String[] array = (String[]) tempList.toArray();
jComboBox3.setModel(new DefaultComboBoxModel<>(array));
}
});
@@ -357,7 +378,7 @@ public class NewJFrame1 extends JFrame {
public void itemStateChanged(ItemEvent e) {
try {
int selectedIndex = jComboBox3.getSelectedIndex();
- String uid = tempList.get(selectedIndex);
+ String uid = tempIdList.get(selectedIndex);
component = session.stringToComponent(uid);
TCComponentBOMWindowType winType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
@@ -387,28 +408,56 @@ public class NewJFrame1 extends JFrame {
public void actionPerformed(ActionEvent e) {
// ж
String field1 = jTextField1.getText();
- String field2 = jTextField2.getText();
- if (field1 == null || "".equals(field1.trim()) || field2 == null || "".equals(field2.trim())) {
- MessageBox.post("ƷźͲƷƱ", "ʾ", MessageBox.INFORMATION);
+ if (field1 == null || "".equals(field1.trim())) {
+ MessageBox.post("Ʒű", "ʾ", MessageBox.INFORMATION);
return;
}
// ʼƶ
TCComponentItemRevision revision = (TCComponentItemRevision) component;
try {
- if (itemMapIsSel.get(revision.getStringProperty("object_string")).isSelected) {
- TCComponentItem newItem = revision.saveAsItem(jTextField1.getText(), "A", jTextField2.getText(),
- "", true, null);
+ if (itemMapIsSel.get(revision.getStringProperty("object_name")).isSelected) {
+ TCComponentItem newItem = revision.saveAsItem(jTextField1.getText(), "A");
+// TCComponentItem newItem = revision.saveAsItem(jTextField1.getText(), "A", revision.getStringProperty("object_name"),"", true, null);
TCComponentItemRevision newRevision = newItem.getLatestItemRevision();
TCComponentBOMWindowType winType = (TCComponentBOMWindowType) session
.getTypeComponent("BOMWindow");
TCComponentBOMWindow view = winType.create(null);
- TCComponentBOMLine line = view.setWindowTopLine(revision.getItem(), revision, null, null);
+ TCComponentBOMLine line = view.setWindowTopLine(newItem, newRevision, null, null);
// ѡֵƶ
for (String attrStr : sxxdate) {
if (attrStr.startsWith(line.getItemRevision().getItem().getStringProperty("object_type"))) {
try {
- replaceAttribute(line, newRevision, attrStr);
- } catch (ParseException e1) {
+ String[] replaces = attrStr.split("=")[1].split(";");
+ for(String replace : replaces) {
+ String[] getValues = replace.split("\\.");
+ Object val = "";
+ if(getValues[0].equals("item")) {
+ val = Util.getTCPropertyValue(revision.getItem(), getValues[1]);
+ Util.setTCPropertyValue(newRevision.getItem(), getValues[1], val);
+ //val = item.getProperty(getValues[1]);
+ }else if(getValues[0].equals("rev")) {
+ val = Util.getTCPropertyValue(revision, getValues[1]);
+ Util.setTCPropertyValue(newRevision, getValues[1], val);
+ //val = rev.getProperty(getValues[1]);
+ }else if(getValues[0].equals("rm")) {
+ TCComponent[] oldreferenceListProperty = revision.getReferenceListProperty("IMAN_master_form_rev");
+ TCComponentForm oldform = (TCComponentForm) oldreferenceListProperty[0];
+ val = Util.getTCPropertyValue(oldform, getValues[1]);
+ TCComponent[] newreferenceListProperty = newRevision.getReferenceListProperty("IMAN_master_form_rev");
+ TCComponentForm newform = (TCComponentForm) newreferenceListProperty[0];
+ Util.setTCPropertyValue(newform, getValues[1], val);
+ //val = form.getProperty(getValues[1]);
+ }else if(getValues[0].equals("bom")) {
+ TCComponentBOMWindowType winType1 = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
+ TCComponentBOMWindow view1 = winType1.create(null);
+ TCComponentBOMLine line1 = view1.setWindowTopLine(revision.getItem(), revision, null, null);
+ val = Util.getTCPropertyValue(line1, getValues[1]);
+
+ Util.setTCPropertyValue(line, getValues[1], val);
+ }
+ }
+
+ } catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
@@ -416,10 +465,18 @@ public class NewJFrame1 extends JFrame {
}
}
// ݹBOMṹɾδѡеĶ
- collectAllBomLine(line, jTextField1.getText(), winType, view, false);
- TCComponentItemRevision itemRevision = line.getItemRevision();
- target.add("", itemRevision);
-
+ collectAllBomLine(line, jTextField1.getText(), winType, line.getBOMView(), true);
+ AIFComponentContext[] children = line.getChildren();
+ TCComponentBOMWindowType winType1 = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
+ TCComponentBOMWindow view1 = winType1.create(null);
+ TCComponentBOMLine revLine = view1.setWindowTopLine(target.getItem(), target, null, null);
+ for(AIFComponentContext line2 : children) {
+ TCComponentBOMLine bomLine = (TCComponentBOMLine)line2.getComponent();
+ revLine.add(bomLine.getItem(), bomLine.getItemRevision(), null, false, "");
+ view1.save();
+ }
+ MessageBox.post("ɹ", "ʾ", MessageBox.INFORMATION);
+ return;
} else {
return;
}
@@ -443,7 +500,7 @@ public class NewJFrame1 extends JFrame {
* @throws TCException
*/
public void collectAllBomLine(TCComponentBOMLine bomLine, String newId, TCComponentBOMWindowType winType,
- TCComponentBOMWindow newview, Boolean flag) throws TCException {
+ TCComponentBOMView newview, Boolean flag) throws TCException {
String objectName = bomLine.getItemRevision().getStringProperty("object_name");
boolean selected = itemMapIsSel.get(objectName).isSelected();
// жϽǷѡ
@@ -461,15 +518,48 @@ public class NewJFrame1 extends JFrame {
} else {
// ǵһεݹʱÿεݹһҪͬͬȥȻ滻µbomviewȥ
- TCComponentItem saveAsItem = bomLine.getItemRevision().saveAsItem(jTextField1.getText(), "A",
- bomLine.getItemRevision().getStringProperty("object_name"), "", true, null);
+ String itemId = bomLine.getItemRevision().getStringProperty("item_id");
+ System.out.println("itemID:"+itemId);
+ System.out.println(bomLine.getItemRevision().getStringProperty("object_string"));
+ String newItemId = itemId.replaceFirst(itemId.split("-")[0], jTextField1.getText());
+ System.out.println("newItemId:"+newItemId);
+ TCComponentItem saveAsItem = bomLine.getItemRevision().saveAsItem(newItemId, "A");
+ //TCComponentItem saveAsItem = bomLine.getItemRevision().saveAsItem(jTextField1.getText(), "A",bomLine.getItemRevision().getStringProperty("object_name"), "", true, null);
TCComponentItemRevision latestItemRevision = saveAsItem.getLatestItemRevision();
// 滻
for (String attrStr : sxxdate) {
if (attrStr.startsWith(bomLine.getItemRevision().getItem().getStringProperty("object_type"))) {
try {
- replaceAttribute(itemMapBoMap.get(objectName), latestItemRevision, attrStr);
- } catch (ParseException e1) {
+ //Util.replaceAttribute(itemMapBoMap.get(objectName), latestItemRevision, attrStr);
+ String[] replaces = attrStr.split("=")[1].split(";");
+ for(String replace : replaces) {
+ String[] getValues = replace.split("\\.");
+ Object val = "";
+ if(getValues[0].equals("item")) {
+ val = Util.getTCPropertyValue(itemMapBoMap.get(objectName).getItem(), getValues[1]);
+ Util.setTCPropertyValue(latestItemRevision.getItem(), getValues[1], val);
+ //val = item.getProperty(getValues[1]);
+ }else if(getValues[0].equals("rev")) {
+ val = Util.getTCPropertyValue(itemMapBoMap.get(objectName).getItemRevision(), getValues[1]);
+ Util.setTCPropertyValue(latestItemRevision, getValues[1], val);
+ //val = rev.getProperty(getValues[1]);
+ }else if(getValues[0].equals("rm")) {
+ TCComponent[] oldreferenceListProperty = itemMapBoMap.get(objectName).getItemRevision().getReferenceListProperty("IMAN_master_form_rev");
+ TCComponentForm oldform = (TCComponentForm) oldreferenceListProperty[0];
+ val = Util.getTCPropertyValue(oldform, getValues[1]);
+ TCComponent[] newreferenceListProperty = latestItemRevision.getReferenceListProperty("IMAN_master_form_rev");
+ TCComponentForm newform = (TCComponentForm) newreferenceListProperty[0];
+ Util.setTCPropertyValue(newform, getValues[1], val);
+ //val = form.getProperty(getValues[1]);
+ }else if(getValues[0].equals("bom")) {
+ val = Util.getTCPropertyValue(itemMapBoMap.get(objectName), getValues[1]);
+ TCComponentBOMWindowType winType1 = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
+ TCComponentBOMWindow view1 = winType1.create(null);
+ TCComponentBOMLine line1 = view1.setWindowTopLine(latestItemRevision.getItem(), latestItemRevision, null, null);
+ Util.setTCPropertyValue(line1, getValues[1], val);
+ }
+ }
+ } catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
@@ -477,9 +567,15 @@ public class NewJFrame1 extends JFrame {
}
}
// 滻
-
- // 滻bom
- bomLine.replace(saveAsItem, latestItemRevision, newview);
+
+ //
+ latestItemRevision.setStringProperty("kwc6_ProductID", jTextField1.getText());
+ // bom
+ String stringProperty = bomLine.getItemRevision().getStringProperty("object_string");
+ System.out.println("Ҫ滻У"+stringProperty);
+ String stringProperty2 = latestItemRevision.getStringProperty("object_string");
+ System.out.println("Ҫ滻У"+stringProperty2);
+ bomLine.replace(saveAsItem, latestItemRevision, null);
if (bomLine.hasChildren()) {
for (AIFComponentContext aifComponentContext : bomLine.getChildren()) {
TCComponentBOMLine line = (TCComponentBOMLine) aifComponentContext.getComponent();
@@ -489,6 +585,7 @@ public class NewJFrame1 extends JFrame {
}
} else {
// bomviewɾ
+ bomLine.cut();
return;
}
@@ -515,109 +612,6 @@ public class NewJFrame1 extends JFrame {
}
}
}
-
- private void replaceAttribute(TCComponentBOMLine oldLine, TCComponentItemRevision newLine, String attrStr)
- throws TCException, ParseException {
- String[] attrs = attrStr.split("=")[1].split(";");
- for (String attr : attrs) {
- String[] p1 = attr.split("\\.");
-
- if (p1[0].equals("item")) {
- // pitem.setStringProperty(p1[1], val);
- String val = oldLine.getItem().getStringProperty(p1[1]);
- TCComponentItem pitem = newLine.getItem();
- TCProperty property = (TCProperty) pitem.getTCProperty(p1[1]);
- switch (property.getPropertyType()) {
- case TCProperty.PROP_string:
- case TCProperty.PROP_long_string:
- pitem.setStringProperty(p1[1], val);
- break;
- case TCProperty.PROP_short:
- case TCProperty.PROP_int:
- pitem.setIntProperty(p1[1], Integer.parseInt(val));
- break;
- case TCProperty.PROP_double:
- case TCProperty.PROP_float:
- pitem.setDoubleProperty(p1[1], Double.parseDouble(val));
- break;
- case TCProperty.PROP_date:
- if (!val.equals("")) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
- Date date = sdf.parse(p1[1]);
- if (date != null) {
- pitem.setDateProperty(p1[1], date);
- }
- }
- break;
- default:
- pitem.setStringProperty(p1[1], val);
- break;
- }
- } else if (p1[0].equals("rev")) {
- String val = oldLine.getItemRevision().getStringProperty(p1[1]);
- TCComponentItemRevision prev = newLine;
- TCProperty property = (TCProperty) prev.getTCProperty(p1[1]);
- // prev.setStringProperty(p1[1], val);
- switch (property.getPropertyType()) {
- case TCProperty.PROP_string:
- case TCProperty.PROP_long_string:
- prev.setStringProperty(p1[1], val);
- break;
- case TCProperty.PROP_short:
- case TCProperty.PROP_int:
- prev.setIntProperty(p1[1], Integer.parseInt(val));
- break;
- case TCProperty.PROP_double:
- case TCProperty.PROP_float:
- prev.setDoubleProperty(p1[1], Double.parseDouble(val));
- break;
- case TCProperty.PROP_date:
- if (!val.equals("")) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
- Date date = sdf.parse(p1[1]);
- if (date != null) {
- prev.setDateProperty(p1[1], date);
- }
- }
- break;
- default:
- prev.setStringProperty(p1[1], val);
- break;
- }
- } else if (p1[0].equals("bom")) {
- String val = oldLine.getStringProperty(p1[1]);
- TCComponentBOMWindowType winType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
- TCComponentBOMWindow view = winType.create(null);
- TCComponentBOMLine line = view.setWindowTopLine(newLine.getItem(), newLine, null, null);
- TCProperty property = (TCProperty) line.getTCProperty(p1[1]);
- switch (property.getPropertyType()) {
- case TCProperty.PROP_string:
- case TCProperty.PROP_long_string:
- line.setStringProperty(p1[1], val);
- break;
- case TCProperty.PROP_short:
- case TCProperty.PROP_int:
- line.setIntProperty(p1[1], Integer.parseInt(val));
- break;
- case TCProperty.PROP_double:
- case TCProperty.PROP_float:
- line.setDoubleProperty(p1[1], Double.parseDouble(val));
- break;
- case TCProperty.PROP_date:
- if (!val.equals("")) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
- Date date = sdf.parse(p1[1]);
- if (date != null) {
- line.setDateProperty(p1[1], date);
- }
- }
- break;
- default:
- line.setStringProperty(p1[1], val);
- break;
- }
- }
- }
- }
+
}
diff --git a/src/com/connor/kwc/createBom/NewJFrame2.java b/src/com/connor/kwc/createBom/NewJFrame2.java
index 6ebebec..9d8e2aa 100644
--- a/src/com/connor/kwc/createBom/NewJFrame2.java
+++ b/src/com/connor/kwc/createBom/NewJFrame2.java
@@ -1,6 +1,8 @@
package com.connor.kwc.createBom;
+import java.awt.Dimension;
import java.awt.EventQueue;
+import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
@@ -35,6 +37,7 @@ import com.teamcenter.rac.kernel.TCComponentBOMWindow;
import com.teamcenter.rac.kernel.TCComponentBOMWindowType;
import com.teamcenter.rac.kernel.TCComponentBomChange;
import com.teamcenter.rac.kernel.TCComponentFolder;
+import com.teamcenter.rac.kernel.TCComponentForm;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
@@ -75,6 +78,7 @@ public class NewJFrame2 extends JFrame {
private Map dataMap;
private TCComponentFolder target;
private List tempList;
+ private List tempIdList;
private TCComponent component;
private Map itemMapIsSel = new HashMap<>();
private Map itemMapBoMap = new HashMap<>();
@@ -141,8 +145,9 @@ public class NewJFrame2 extends JFrame {
jLabel3.setText("ͣ");
- List typeList = (ArrayList) dataMap.get("typeList");
- String[] typeArray = (String[]) typeList.toArray();
+ ArrayList typeList = (ArrayList) dataMap.get("typeList");
+ //String[] typeArray = (String[]) typeList.toArray();
+ String[] typeArray = typeList.stream().toArray(String[]::new);
jComboBox2.setModel(new DefaultComboBoxModel<>(typeArray));
jComboBox2.setSelectedIndex(0);
@@ -150,9 +155,11 @@ public class NewJFrame2 extends JFrame {
String template = templateMap.get(jComboBox2.getSelectedItem());
String[] split = template.split(";");
tempList = new ArrayList();
+ tempIdList = new ArrayList();
// UIDģϢ
for (String uid : split) {
try {
+ tempIdList.add(uid);
TCComponent component = session.stringToComponent(uid);
tempList.add(component.getStringProperty("object_name"));
} catch (TCException e1) {
@@ -160,14 +167,14 @@ public class NewJFrame2 extends JFrame {
e1.printStackTrace();
}
}
-
- String[] array = (String[]) tempList.toArray();
+ String[] array = tempList.stream().toArray(String[]::new);
+ // String[] array = (String[]) tempList.toArray();
jComboBox3.setModel(new DefaultComboBoxModel<>(array));
jComboBox3.setSelectedIndex(0);
jLabel4.setText("ģ壺");
try {
// ģ崴ṹûѡ
- component = session.stringToComponent(tempList.get(0));
+ component = session.stringToComponent(tempIdList.get(0));
TCComponentBOMWindowType winType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
TCComponentBOMWindow view = winType.create(null);
if (component instanceof TCComponentItemRevision) {
@@ -305,6 +312,14 @@ public class NewJFrame2 extends JFrame {
GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
pack();
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // ȡĻߴ
+ int screenWidth = screenSize.width; // ȡĻ
+ int screenHeight = screenSize.height; // ȡĻ߶
+ int x = (screenWidth - this.getWidth()) / 2; // FrameϽx
+ int y = (screenHeight - this.getHeight()) / 2; // FrameϽy
+ this.setLocation(x, y); // Frameλ
+ this.setDefaultCloseOperation(2);
+
// ģ
jComboBox2.addItemListener(new ItemListener() {
@@ -313,10 +328,11 @@ public class NewJFrame2 extends JFrame {
Map templateMap = (HashMap) dataMap.get("templateMap");
String template = templateMap.get(jComboBox2.getSelectedItem());
String[] split = template.split(";");
- List tempList = new ArrayList();
+ tempList = new ArrayList();
// UIDģϢ
for (String uid : split) {
try {
+ tempIdList.add(uid);
TCComponent component = session.stringToComponent(uid);
tempList.add(component.getStringProperty("object_name"));
} catch (TCException e1) {
@@ -324,8 +340,8 @@ public class NewJFrame2 extends JFrame {
e1.printStackTrace();
}
}
-
- String[] array = (String[]) tempList.toArray();
+ String[] array = tempList.stream().toArray(String[]::new);
+ //String[] array = (String[]) tempList.toArray();
jComboBox3.setModel(new DefaultComboBoxModel<>(array));
}
});
@@ -336,7 +352,7 @@ public class NewJFrame2 extends JFrame {
public void itemStateChanged(ItemEvent e) {
try {
int selectedIndex = jComboBox3.getSelectedIndex();
- String uid = tempList.get(selectedIndex);
+ String uid = tempIdList.get(selectedIndex);
component = session.stringToComponent(uid);
TCComponentBOMWindowType winType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
@@ -375,8 +391,8 @@ public class NewJFrame2 extends JFrame {
TCComponentItemRevision revision = (TCComponentItemRevision) component;
try {
if (itemMapIsSel.get(revision.getStringProperty("object_string")).isSelected) {
- TCComponentItem newItem = revision.saveAsItem(jTextField1.getText(), "A", jTextField2.getText(),
- "", true, null);
+ TCComponentItem newItem = revision.saveAsItem(jTextField1.getText(), "A");
+ //TCComponentItem newItem = revision.saveAsItem(jTextField1.getText(), "A", jTextField2.getText(),"", true, null);
TCComponentItemRevision newRevision = newItem.getLatestItemRevision();
TCComponentBOMWindowType winType = (TCComponentBOMWindowType) session
.getTypeComponent("BOMWindow");
@@ -386,8 +402,36 @@ public class NewJFrame2 extends JFrame {
for (String attrStr : sxxdate) {
if (attrStr.startsWith(line.getItemRevision().getItem().getStringProperty("object_type"))) {
try {
- replaceAttribute(line, newRevision, attrStr);
- } catch (ParseException e1) {
+ //Util.replaceAttribute(line, newRevision, attrStr);
+ String[] replaces = attrStr.split("=")[1].split(";");
+ for(String replace : replaces) {
+ String[] getValues = replace.split("\\.");
+ Object val = "";
+ if(getValues[0].equals("item")) {
+ val = Util.getTCPropertyValue(line.getItem(), getValues[1]);
+ Util.setTCPropertyValue(newRevision.getItem(), getValues[1], val);
+ //val = item.getProperty(getValues[1]);
+ }else if(getValues[0].equals("rev")) {
+ val = Util.getTCPropertyValue(line.getItemRevision(), getValues[1]);
+ Util.setTCPropertyValue(newRevision, getValues[1], val);
+ //val = rev.getProperty(getValues[1]);
+ }else if(getValues[0].equals("rm")) {
+ TCComponent[] oldreferenceListProperty = line.getItemRevision().getReferenceListProperty("IMAN_master_form_rev");
+ TCComponentForm oldform = (TCComponentForm) oldreferenceListProperty[0];
+ val = Util.getTCPropertyValue(oldform, getValues[1]);
+ TCComponent[] newreferenceListProperty = newRevision.getReferenceListProperty("IMAN_master_form_rev");
+ TCComponentForm newform = (TCComponentForm) newreferenceListProperty[0];
+ Util.setTCPropertyValue(newform, getValues[1], val);
+ //val = form.getProperty(getValues[1]);
+ }else if(getValues[0].equals("bom")) {
+ val = Util.getTCPropertyValue(line, getValues[1]);
+ TCComponentBOMWindowType winType1 = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
+ TCComponentBOMWindow view1 = winType1.create(null);
+ TCComponentBOMLine line1 = view1.setWindowTopLine(newRevision.getItem(), newRevision, null, null);
+ Util.setTCPropertyValue(line1, getValues[1], val);
+ }
+ }
+ } catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
@@ -397,7 +441,9 @@ public class NewJFrame2 extends JFrame {
// ݹBOMṹɾδѡеĶ
collectAllBomLine(line, jTextField1.getText(), winType, view, false);
TCComponentItemRevision itemRevision = line.getItemRevision();
- target.add("", itemRevision);
+ target.add("contents", itemRevision);
+ MessageBox.post("ɹ", "ʾ", MessageBox.INFORMATION);
+ return;
} else {
return;
@@ -423,7 +469,7 @@ public class NewJFrame2 extends JFrame {
*/
public void collectAllBomLine(TCComponentBOMLine bomLine, String newId, TCComponentBOMWindowType winType,
TCComponentBOMWindow newview, Boolean flag) throws TCException {
- String objectName = bomLine.getItemRevision().getStringProperty("object_name");
+ String objectName = bomLine.getItemRevision().getStringProperty("object_string");
boolean selected = itemMapIsSel.get(objectName).isSelected();
// жϽǷѡ
if (selected) {
@@ -440,15 +486,46 @@ public class NewJFrame2 extends JFrame {
} else {
// ǵһεݹʱÿεݹһҪͬͬȥȻ滻µbomviewȥ
- TCComponentItem saveAsItem = bomLine.getItemRevision().saveAsItem(jTextField1.getText(), "A",
- bomLine.getItemRevision().getStringProperty("object_name"), "", true, null);
+ String itemId = bomLine.getItemRevision().getStringProperty("item_id");
+
+ String newItemId = itemId.replaceFirst(itemId.split("-")[0], jTextField1.getText());
+ TCComponentItem saveAsItem = bomLine.getItemRevision().saveAsItem(newItemId, "A");
+ //TCComponentItem saveAsItem = bomLine.getItemRevision().saveAsItem(jTextField1.getText(), "A", bomLine.getItemRevision().getStringProperty("object_name"), "", true, null);
TCComponentItemRevision latestItemRevision = saveAsItem.getLatestItemRevision();
// 滻
for (String attrStr : sxxdate) {
if (attrStr.startsWith(bomLine.getItemRevision().getItem().getStringProperty("object_type"))) {
try {
- replaceAttribute(itemMapBoMap.get(objectName), latestItemRevision, attrStr);
- } catch (ParseException e1) {
+ //Util.replaceAttribute(itemMapBoMap.get(objectName), latestItemRevision, attrStr);
+ String[] replaces = attrStr.split("=")[1].split(";");
+ for(String replace : replaces) {
+ String[] getValues = replace.split("\\.");
+ Object val = "";
+ if(getValues[0].equals("item")) {
+ val = Util.getTCPropertyValue(itemMapBoMap.get(objectName).getItem(), getValues[1]);
+ Util.setTCPropertyValue(latestItemRevision.getItem(), getValues[1], val);
+ //val = item.getProperty(getValues[1]);
+ }else if(getValues[0].equals("rev")) {
+ val = Util.getTCPropertyValue(itemMapBoMap.get(objectName).getItemRevision(), getValues[1]);
+ Util.setTCPropertyValue(latestItemRevision, getValues[1], val);
+ //val = rev.getProperty(getValues[1]);
+ }else if(getValues[0].equals("rm")) {
+ TCComponent[] oldreferenceListProperty = itemMapBoMap.get(objectName).getItemRevision().getReferenceListProperty("IMAN_master_form_rev");
+ TCComponentForm oldform = (TCComponentForm) oldreferenceListProperty[0];
+ val = Util.getTCPropertyValue(oldform, getValues[1]);
+ TCComponent[] newreferenceListProperty = latestItemRevision.getReferenceListProperty("IMAN_master_form_rev");
+ TCComponentForm newform = (TCComponentForm) newreferenceListProperty[0];
+ Util.setTCPropertyValue(newform, getValues[1], val);
+ //val = form.getProperty(getValues[1]);
+ }else if(getValues[0].equals("bom")) {
+ val = Util.getTCPropertyValue(itemMapBoMap.get(objectName), getValues[1]);
+ TCComponentBOMWindowType winType1 = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
+ TCComponentBOMWindow view1 = winType1.create(null);
+ TCComponentBOMLine line1 = view1.setWindowTopLine(latestItemRevision.getItem(), latestItemRevision, null, null);
+ Util.setTCPropertyValue(line1, getValues[1], val);
+ }
+ }
+ } catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
@@ -457,8 +534,10 @@ public class NewJFrame2 extends JFrame {
}
// 滻
+ //
+ latestItemRevision.setStringProperty("kwc6_ProductID", jTextField1.getText());
// 滻bom
- bomLine.replace(saveAsItem, latestItemRevision, newview);
+ bomLine.replace(saveAsItem, latestItemRevision, null);
if (bomLine.hasChildren()) {
for (AIFComponentContext aifComponentContext : bomLine.getChildren()) {
TCComponentBOMLine line = (TCComponentBOMLine) aifComponentContext.getComponent();
@@ -468,6 +547,7 @@ public class NewJFrame2 extends JFrame {
}
} else {
// bomviewɾ
+ bomLine.cut();
return;
}
@@ -481,8 +561,8 @@ public class NewJFrame2 extends JFrame {
* @throws TCException
*/
private void getTree(TCComponentBOMLine bomLine, CheckBoxTreeNode rootNode) throws TCException {
- itemMapIsSel.put(bomLine.getItemRevision().getStringProperty("object_name"), rootNode);
- itemMapBoMap.put(bomLine.getItemRevision().getStringProperty("object_name"), bomLine);
+ itemMapIsSel.put(bomLine.getItemRevision().getStringProperty("object_string"), rootNode);
+ itemMapBoMap.put(bomLine.getItemRevision().getStringProperty("object_string"), bomLine);
if (bomLine.hasChildren()) {
AIFComponentContext[] children = bomLine.getChildren();
for (AIFComponentContext aifComponentContext : children) {
@@ -495,107 +575,4 @@ public class NewJFrame2 extends JFrame {
}
}
- private void replaceAttribute(TCComponentBOMLine oldLine, TCComponentItemRevision newLine, String attrStr)
- throws TCException, ParseException {
- String[] attrs = attrStr.split("=")[1].split(";");
- for (String attr : attrs) {
- String[] p1 = attr.split("\\.");
-
- if (p1[0].equals("item")) {
- // pitem.setStringProperty(p1[1], val);
- String val = oldLine.getItem().getStringProperty(p1[1]);
- TCComponentItem pitem = newLine.getItem();
- TCProperty property = (TCProperty) pitem.getTCProperty(p1[1]);
- switch (property.getPropertyType()) {
- case TCProperty.PROP_string:
- case TCProperty.PROP_long_string:
- pitem.setStringProperty(p1[1], val);
- break;
- case TCProperty.PROP_short:
- case TCProperty.PROP_int:
- pitem.setIntProperty(p1[1], Integer.parseInt(val));
- break;
- case TCProperty.PROP_double:
- case TCProperty.PROP_float:
- pitem.setDoubleProperty(p1[1], Double.parseDouble(val));
- break;
- case TCProperty.PROP_date:
- if (!val.equals("")) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
- Date date = sdf.parse(p1[1]);
- if (date != null) {
- pitem.setDateProperty(p1[1], date);
- }
- }
- break;
- default:
- pitem.setStringProperty(p1[1], val);
- break;
- }
- } else if (p1[0].equals("rev")) {
- String val = oldLine.getItemRevision().getStringProperty(p1[1]);
- TCComponentItemRevision prev = newLine;
- TCProperty property = (TCProperty) prev.getTCProperty(p1[1]);
- // prev.setStringProperty(p1[1], val);
- switch (property.getPropertyType()) {
- case TCProperty.PROP_string:
- case TCProperty.PROP_long_string:
- prev.setStringProperty(p1[1], val);
- break;
- case TCProperty.PROP_short:
- case TCProperty.PROP_int:
- prev.setIntProperty(p1[1], Integer.parseInt(val));
- break;
- case TCProperty.PROP_double:
- case TCProperty.PROP_float:
- prev.setDoubleProperty(p1[1], Double.parseDouble(val));
- break;
- case TCProperty.PROP_date:
- if (!val.equals("")) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
- Date date = sdf.parse(p1[1]);
- if (date != null) {
- prev.setDateProperty(p1[1], date);
- }
- }
- break;
- default:
- prev.setStringProperty(p1[1], val);
- break;
- }
- } else if (p1[0].equals("bom")) {
- String val = oldLine.getStringProperty(p1[1]);
- TCComponentBOMWindowType winType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
- TCComponentBOMWindow view = winType.create(null);
- TCComponentBOMLine line = view.setWindowTopLine(newLine.getItem(), newLine, null, null);
- TCProperty property = (TCProperty) line.getTCProperty(p1[1]);
- switch (property.getPropertyType()) {
- case TCProperty.PROP_string:
- case TCProperty.PROP_long_string:
- line.setStringProperty(p1[1], val);
- break;
- case TCProperty.PROP_short:
- case TCProperty.PROP_int:
- line.setIntProperty(p1[1], Integer.parseInt(val));
- break;
- case TCProperty.PROP_double:
- case TCProperty.PROP_float:
- line.setDoubleProperty(p1[1], Double.parseDouble(val));
- break;
- case TCProperty.PROP_date:
- if (!val.equals("")) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
- Date date = sdf.parse(p1[1]);
- if (date != null) {
- line.setDateProperty(p1[1], date);
- }
- }
- break;
- default:
- line.setStringProperty(p1[1], val);
- break;
- }
- }
- }
- }
}
diff --git a/src/com/connor/kwc/createBom/Util.java b/src/com/connor/kwc/createBom/Util.java
index a1cebe9..c92bd6d 100644
--- a/src/com/connor/kwc/createBom/Util.java
+++ b/src/com/connor/kwc/createBom/Util.java
@@ -6,14 +6,22 @@
*/
package com.connor.kwc.createBom;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
-
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCAccessControlService;
import com.teamcenter.rac.kernel.TCComponent;
+import com.teamcenter.rac.kernel.TCComponentBOMLine;
+import com.teamcenter.rac.kernel.TCComponentBOMWindow;
+import com.teamcenter.rac.kernel.TCComponentBOMWindowType;
import com.teamcenter.rac.kernel.TCComponentFolder;
+import com.teamcenter.rac.kernel.TCComponentItem;
+import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
+import com.teamcenter.rac.kernel.TCProperty;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.kernel.TCTextService;
import com.teamcenter.rac.kernel.TCUserService;
@@ -40,6 +48,209 @@ public class Util {
session = (TCSession) AIFUtility.getCurrentApplication().getSession();
textService = session.getTextService();
}
+
+ public static Object getTCPropertyValue(TCComponent item,String propertyName)
+ {
+ Object result = "";
+
+ try {
+ TCProperty tcProperty = item.getTCProperty(propertyName);
+ if(tcProperty == null)
+ {
+ System.out.println("δȡԣ"+propertyName);
+ return result;
+ }
+ switch (tcProperty.getPropertyType()) {
+ case TCProperty.PROP_double:
+ result = tcProperty.getDoubleValue();
+ break;
+ case TCProperty.PROP_int:
+ result = tcProperty.getIntValue();
+ break;
+ case TCProperty.PROP_string:
+ result = tcProperty.getStringValue();
+ break;
+ case TCProperty.PROP_date:
+ result = tcProperty.getDateValue();
+ break;
+ default:
+ break;
+ }
+
+ } catch (TCException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ return result;
+ }
+ public static void setTCPropertyValue(TCComponent item,String propertyName,Object value)
+ {
+ try {
+ TCProperty tcProperty = item.getTCProperty(propertyName);
+ switch (tcProperty.getPropertyType()) {
+ case TCProperty.PROP_double:
+ if(value instanceof Double)
+ {
+ tcProperty.setDoubleValue((double) value);
+ }
+ else
+ {
+ tcProperty.setDoubleValue(Double.parseDouble(value.toString()));
+ }
+ break;
+ case TCProperty.PROP_int:
+ if(value instanceof Integer)
+ {
+ tcProperty.setDoubleValue((int) value);
+ }
+ else
+ {
+ tcProperty.setDoubleValue(Integer.parseInt(value.toString()));
+ }
+ break;
+ case TCProperty.PROP_string:
+ tcProperty.setStringValue(value.toString());
+ break;
+ case TCProperty.PROP_date:
+ if(value instanceof Date)
+ {
+ tcProperty.setDateValue((Date) value);
+ }
+ else
+ {
+ SimpleDateFormat sdf=new SimpleDateFormat("yyyy-M-dd HH:mm");
+ tcProperty.setDateValue(sdf.parse(value.toString()));
+ }
+ break;
+ default:
+ break;
+ }
+
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ *
+ * @Title: replaceAttribute
+ * @Description: ݹ̳{滻}
+ * @param @param oldLine
+ * @param @param newLine
+ * @param @param attrStr
+ * @param @throws TCException
+ * @param @throws ParseException
+ * @return void
+ * @throws
+ */
+ public static void replaceAttribute(TCComponentBOMLine oldLine, TCComponentItemRevision newLine, String attrStr)
+ throws TCException, ParseException {
+ String[] attrs = attrStr.split("=")[1].split(";");
+ for (String attr : attrs) {
+ String[] p1 = attr.split("\\.");
+
+ if (p1[0].equals("item")) {
+ // pitem.setStringProperty(p1[1], val);
+ String val = oldLine.getItem().getStringProperty(p1[1]);
+ TCComponentItem pitem = newLine.getItem();
+ TCProperty property = (TCProperty) pitem.getTCProperty(p1[1]);
+ switch (property.getPropertyType()) {
+ case TCProperty.PROP_string:
+ case TCProperty.PROP_long_string:
+ pitem.setStringProperty(p1[1], val);
+ break;
+ case TCProperty.PROP_short:
+ case TCProperty.PROP_int:
+ pitem.setIntProperty(p1[1], Integer.parseInt(val));
+ break;
+ case TCProperty.PROP_double:
+ case TCProperty.PROP_float:
+ pitem.setDoubleProperty(p1[1], Double.parseDouble(val));
+ break;
+ case TCProperty.PROP_date:
+ if (!val.equals("")) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
+ Date date = sdf.parse(p1[1]);
+ if (date != null) {
+ pitem.setDateProperty(p1[1], date);
+ }
+ }
+ break;
+ default:
+ pitem.setStringProperty(p1[1], val);
+ break;
+ }
+ } else if (p1[0].equals("rev")) {
+ String val = oldLine.getItemRevision().getStringProperty(p1[1]);
+ TCComponentItemRevision prev = newLine;
+ TCProperty property = (TCProperty) prev.getTCProperty(p1[1]);
+ // prev.setStringProperty(p1[1], val);
+ switch (property.getPropertyType()) {
+ case TCProperty.PROP_string:
+ case TCProperty.PROP_long_string:
+ prev.setStringProperty(p1[1], val);
+ break;
+ case TCProperty.PROP_short:
+ case TCProperty.PROP_int:
+ prev.setIntProperty(p1[1], Integer.parseInt(val));
+ break;
+ case TCProperty.PROP_double:
+ case TCProperty.PROP_float:
+ prev.setDoubleProperty(p1[1], Double.parseDouble(val));
+ break;
+ case TCProperty.PROP_date:
+ if (!val.equals("")) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
+ Date date = sdf.parse(p1[1]);
+ if (date != null) {
+ prev.setDateProperty(p1[1], date);
+ }
+ }
+ break;
+ default:
+ prev.setStringProperty(p1[1], val);
+ break;
+ }
+ } else if (p1[0].equals("bom")) {
+ String val = oldLine.getStringProperty(p1[1]);
+ TCComponentBOMWindowType winType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
+ TCComponentBOMWindow view = winType.create(null);
+ TCComponentBOMLine line = view.setWindowTopLine(newLine.getItem(), newLine, null, null);
+ TCProperty property = (TCProperty) line.getTCProperty(p1[1]);
+ switch (property.getPropertyType()) {
+ case TCProperty.PROP_string:
+ case TCProperty.PROP_long_string:
+ line.setStringProperty(p1[1], val);
+ break;
+ case TCProperty.PROP_short:
+ case TCProperty.PROP_int:
+ line.setIntProperty(p1[1], Integer.parseInt(val));
+ break;
+ case TCProperty.PROP_double:
+ case TCProperty.PROP_float:
+ line.setDoubleProperty(p1[1], Double.parseDouble(val));
+ break;
+ case TCProperty.PROP_date:
+ if (!val.equals("")) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
+ Date date = sdf.parse(p1[1]);
+ if (date != null) {
+ line.setDateProperty(p1[1], date);
+ }
+ }
+ break;
+ default:
+ line.setStringProperty(p1[1], val);
+ break;
+ }
+ }
+ }
+ }
+
+
/**
*
diff --git a/src/com/connor/kwc/createDWG/CreateDWGHandler.java b/src/com/connor/kwc/createDWG/CreateDWGHandler.java
index c0fbb6d..fb38f21 100644
--- a/src/com/connor/kwc/createDWG/CreateDWGHandler.java
+++ b/src/com/connor/kwc/createDWG/CreateDWGHandler.java
@@ -87,7 +87,17 @@ public class CreateDWGHandler extends AbstractHandler {
}
return null;
}
-
+ /**
+ *
+ * @Title: createdataSetForUID
+ * @Description: uidݼ
+ * @param @param revision
+ * @param @param templateMap
+ * @param @param key
+ * @param @throws TCException
+ * @return void
+ * @throws
+ */
public void createdataSetForUID(TCComponentItemRevision revision, Map templateMap, String key)
throws TCException {
if (templateMap.containsKey(key)) {
diff --git a/src/com/connor/kwc/createTemplate/CreateTemplateDialg.java b/src/com/connor/kwc/createTemplate/CreateTemplateDialg.java
index daced7b..ab1bf0b 100644
--- a/src/com/connor/kwc/createTemplate/CreateTemplateDialg.java
+++ b/src/com/connor/kwc/createTemplate/CreateTemplateDialg.java
@@ -1,7 +1,14 @@
package com.connor.kwc.createTemplate;
+import java.awt.Dimension;
+import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
import javax.swing.DefaultComboBoxModel;
import javax.swing.GroupLayout;
@@ -22,10 +29,19 @@ import com.connor.kwc.createBom.CheckBoxTreeNode;
import com.connor.kwc.createBom.CheckBoxTreeNodeSelectionListener;
import com.connor.kwc.createBom.Util;
import com.teamcenter.rac.aif.AIFPortal;
+import com.teamcenter.rac.aif.kernel.AIFComponentContext;
+import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.kernel.TCComponent;
+import com.teamcenter.rac.kernel.TCComponentBOMLine;
+import com.teamcenter.rac.kernel.TCComponentBOMWindow;
+import com.teamcenter.rac.kernel.TCComponentBOMWindowType;
import com.teamcenter.rac.kernel.TCComponentFolder;
import com.teamcenter.rac.kernel.TCComponentFolderType;
+import com.teamcenter.rac.kernel.TCComponentForm;
+import com.teamcenter.rac.kernel.TCComponentItem;
+import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
+import com.teamcenter.rac.kernel.TCProperty;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
@@ -39,238 +55,270 @@ import com.teamcenter.rac.util.MessageBox;
*/
public class CreateTemplateDialg extends JFrame {
- private TCSession session;
- private TCComponent target;
- private JButton jButton3;
- private JLabel jLabel3;
- private JPanel jPanel1;
- private JPanel jPanel2;
- private JPanel jPanel4;
- private JScrollPane jScrollPane1;
- private JTextField jTextField3;
- private JTree jTree1;
- private String[] sxxdate;
+ private TCSession session;
+ private TCComponent target;
+ private JButton jButton3;
+ private JLabel jLabel3;
+ private JPanel jPanel1;
+ private JPanel jPanel2;
+ private JPanel jPanel4;
+ private JScrollPane jScrollPane1;
+ private JTextField jTextField3;
+ private JTree jTree1;
+ private String[] sxxdate;
+ private String[] sxxAttrDate;
+ private Map isSelectMap = new HashMap();
+ private Map> isSelectByNodeMap = new HashMap>();
- /**
- * Creates new form NewJFrame2
- */
- public CreateTemplateDialg(TCSession session, TCComponent folder) {
- this.session = session;
- this.target = folder;
- getData();
- try {
- initComponents();
- } catch (TCException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
+ /**
+ * Creates new form NewJFrame2
+ */
+ public CreateTemplateDialg(TCSession session, TCComponent folder) {
+ this.session = session;
+ this.target = folder;
+ getData();
+ try {
+ initComponents();
+ } catch (TCException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
- private void getData() {
- // TODO Auto-generated method stub
- sxxdate = Util.getSXX(session, "KWC_CreateDOCtemplate");
+ private void getData() {
+ // TODO Auto-generated method stub
+ sxxdate = Util.getSXX(session, "KWC_CreateDOCtemplate");
+ sxxAttrDate = Util.getSXX(session, "KWC_CreateDOC_attribute");
- }
+ }
- @SuppressWarnings("unchecked")
- //
- private void initComponents() throws TCException {
- this.setTitle("ģ崴");
- jPanel1 = new JPanel();
- jPanel2 = new JPanel();
- jLabel3 = new JLabel();
- jScrollPane1 = new JScrollPane();
- jTree1 = new JTree();
- // ʼJtree
+ @SuppressWarnings("unchecked")
+ //
+ private void initComponents() throws TCException {
+ this.setTitle("ģ崴");
+ jPanel1 = new JPanel();
+ jPanel2 = new JPanel();
+ jLabel3 = new JLabel();
+ jScrollPane1 = new JScrollPane();
+ jTree1 = new JTree();
+ // ʼJtree
+ initTree(jTree1);
+ jTree1.setCellRenderer(new CheckBoxTreeCellRenderer());
+ jButton3 = new JButton();
+ jTextField3 = new JTextField();
+ jTextField3.setText(target.getStringProperty("item_id"));
+ jPanel4 = new JPanel();
- jTree1.setCellRenderer(new CheckBoxTreeCellRenderer());
- jButton3 = new JButton();
- jTextField3 = new JTextField();
- jTextField3.setText(target.getStringProperty("item_id"));
- jPanel4 = new JPanel();
+ setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+ setBackground(new java.awt.Color(240, 240, 240));
- setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- setBackground(new java.awt.Color(240, 240, 240));
+ jPanel1.setBackground(new java.awt.Color(240, 240, 240));
- jPanel1.setBackground(new java.awt.Color(240, 240, 240));
+ jPanel2.setBackground(new java.awt.Color(240, 240, 240));
- jPanel2.setBackground(new java.awt.Color(240, 240, 240));
+ jLabel3.setText("Ʒţ");
- jLabel3.setText("Ʒţ");
+ jScrollPane1.setViewportView(jTree1);
- jScrollPane1.setViewportView(jTree1);
+ jButton3.setText("ȷ");
- jButton3.setText("ȷ");
+ jTextField3.setText("");
- jTextField3.setText("");
+ GroupLayout jPanel2Layout = new GroupLayout(jPanel2);
+ jPanel2.setLayout(jPanel2Layout);
+ jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel2Layout.createSequentialGroup().addGap(53, 53, 53).addComponent(jLabel3)
+ .addGap(18, 18, 18)
+ .addComponent(jTextField3, GroupLayout.PREFERRED_SIZE, 213, GroupLayout.PREFERRED_SIZE)
+ .addGap(18, 18, 18).addComponent(jButton3)
+ .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap()
+ .addComponent(jScrollPane1, GroupLayout.DEFAULT_SIZE, 526, Short.MAX_VALUE).addContainerGap()));
+ jPanel2Layout
+ .setVerticalGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel2Layout.createSequentialGroup().addGap(13, 13, 13)
+ .addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
+ .addComponent(jButton3)
+ .addComponent(jTextField3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
+ GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabel3))
+ .addGap(18, 18, 18)
+ .addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 544, GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
- GroupLayout jPanel2Layout = new GroupLayout(jPanel2);
- jPanel2.setLayout(jPanel2Layout);
- jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
- .addGroup(jPanel2Layout.createSequentialGroup().addGap(53, 53, 53).addComponent(jLabel3)
- .addGap(18, 18, 18)
- .addComponent(jTextField3, GroupLayout.PREFERRED_SIZE, 213, GroupLayout.PREFERRED_SIZE)
- .addGap(18, 18, 18).addComponent(jButton3)
- .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap()
- .addComponent(jScrollPane1, GroupLayout.DEFAULT_SIZE, 526, Short.MAX_VALUE).addContainerGap()));
- jPanel2Layout
- .setVerticalGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
- .addGroup(jPanel2Layout.createSequentialGroup().addGap(13, 13, 13)
- .addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
- .addComponent(jButton3)
- .addComponent(jTextField3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
- GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel3))
- .addGap(18, 18, 18)
- .addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 544, GroupLayout.PREFERRED_SIZE)
- .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
+ jPanel4.setBackground(new java.awt.Color(255, 255, 255));
- jPanel4.setBackground(new java.awt.Color(255, 255, 255));
+ GroupLayout jPanel4Layout = new GroupLayout(jPanel4);
+ jPanel4.setLayout(jPanel4Layout);
+ jPanel4Layout.setHorizontalGroup(
+ jPanel4Layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGap(0, 538, Short.MAX_VALUE));
+ jPanel4Layout.setVerticalGroup(
+ jPanel4Layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGap(0, 0, Short.MAX_VALUE));
- GroupLayout jPanel4Layout = new GroupLayout(jPanel4);
- jPanel4.setLayout(jPanel4Layout);
- jPanel4Layout.setHorizontalGroup(
- jPanel4Layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGap(0, 538, Short.MAX_VALUE));
- jPanel4Layout.setVerticalGroup(
- jPanel4Layout.createParallelGroup(GroupLayout.Alignment.LEADING).addGap(0, 0, Short.MAX_VALUE));
+ GroupLayout jPanel1Layout = new GroupLayout(jPanel1);
+ jPanel1.setLayout(jPanel1Layout);
+ jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup().addContainerGap()
+ .addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addComponent(jPanel2, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,
+ Short.MAX_VALUE)
+ .addComponent(jPanel4, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,
+ Short.MAX_VALUE))
+ .addContainerGap()));
+ jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup().addContainerGap()
+ .addComponent(jPanel2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
+ GroupLayout.PREFERRED_SIZE)
+ .addGap(73, 73, 73)
+ .addComponent(jPanel4, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addContainerGap()));
- GroupLayout jPanel1Layout = new GroupLayout(jPanel1);
- jPanel1.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup().addContainerGap()
- .addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
- .addComponent(jPanel2, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,
- Short.MAX_VALUE)
- .addComponent(jPanel4, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE,
- Short.MAX_VALUE))
- .addContainerGap()));
- jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup().addContainerGap()
- .addComponent(jPanel2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
- GroupLayout.PREFERRED_SIZE)
- .addGap(73, 73, 73)
- .addComponent(jPanel4, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addContainerGap()));
+ GroupLayout layout = new GroupLayout(getContentPane());
+ getContentPane().setLayout(layout);
+ layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addContainerGap()
+ .addComponent(jPanel1, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addContainerGap()));
+ layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup().addContainerGap()
+ .addComponent(jPanel1, GroupLayout.PREFERRED_SIZE, 619, GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
- GroupLayout layout = new GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
- .addGroup(GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addContainerGap()
- .addComponent(jPanel1, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addContainerGap()));
- layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup().addContainerGap()
- .addComponent(jPanel1, GroupLayout.PREFERRED_SIZE, 619, GroupLayout.PREFERRED_SIZE)
- .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
+ pack();
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // ȡĻߴ
+ int screenWidth = screenSize.width; // ȡĻ
+ int screenHeight = screenSize.height; // ȡĻ߶
+ int x = (screenWidth - this.getWidth()) / 2; // FrameϽx
+ int y = (screenHeight - this.getHeight()) / 2; // FrameϽy
+ this.setLocation(x, y); // Frameλ
+ this.setDefaultCloseOperation(2);
- pack();
-
- this.jButton3.addActionListener(new ActionListener() {
-
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- String name = jTextField3.getText();
- if (name.isEmpty()) {
- MessageBox.post("ƷŲΪգ", "ʾ ", MessageBox.INFORMATION);
- } else {
- TCComponentFolderType folderType;
- try {
- Util.setByPass(true);
- folderType = (TCComponentFolderType) session.getTypeComponent("LD6_CusProdFolder");
- TCComponentFolder folder = Util.createFolderBySOA(folderType.getTypeName(), name);
- //TCComponentFolder folder = folderType.create(name, "", "LD6_CusProdFolder");
- target.add("contents", folder);
- CheckBoxTreeNode root = (CheckBoxTreeNode) jTree1.getModel().getRoot();
- createFolderStruct(root,folder,(TCComponentFolderType) session.getTypeComponent("LD6_ProjMaFolder"),true);
- Util.setByPass(false);
- dispose();
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
- }
- });
- }
+ this.jButton3.addActionListener(new ActionListener() {
- /**
- *
- * @param tree
- */
- private void initTree(JTree tree){
- String puids = sxxdate[0].split("=")[1];
- TCComponent component;
- try {
- CheckBoxTreeNode rootNode = new CheckBoxTreeNode("ģ");
- String[] puid = puids.split(";");
- for(String uid : puid) {
- component = session.stringToComponent(uid);
- if(component == null || !(component instanceof TCComponentFolder)) {
- MessageBox.post(puid + " puidTCвڶ߸puidӦIJǡļС", "쳣", MessageBox.ERROR);
- return;
- }else {
- buildTree(component,rootNode);
- }
- }
-
- DefaultTreeModel model = new DefaultTreeModel(rootNode);
- tree.addMouseListener(new CheckBoxTreeNodeSelectionListener());
- tree.setModel(model);
- tree.setCellRenderer(new CheckBoxTreeCellRenderer());
- //չнڵ㲢ѡ
- for (int i = 0; i < tree.getRowCount(); i++) {
- tree.expandRow(i);
- }
- rootNode.setSelected(true);
- } catch (TCException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * ݹ鴴ӽڵ
- * @param component
- * @param rootNode
- * @throws TCException
- */
- private void buildTree(TCComponent component, CheckBoxTreeNode rootNode) throws TCException {
- TCComponent[] relatedComponent = component.getRelatedComponents("contents");
- if(relatedComponent != null) {
- for (TCComponent child : relatedComponent) {
- CheckBoxTreeNode childNode = new CheckBoxTreeNode(child.getStringProperty("object_name"));
- rootNode.add(childNode);
- buildTree(child,childNode);
- }
- }
-
- }
-
- /**
- * ݹ½ļнṹ
- * @param root ڵ
- * @param folder ڵɵļ
- * @param folderType
- * @throws Exception
- */
- private void createFolderStruct(CheckBoxTreeNode root, TCComponentFolder parentFolder,
- TCComponentFolderType folderType,boolean ifTop) throws Exception {
- if(root.isSelected()) {
- if(ifTop) {
- for (int i = 0; i < root.getChildCount(); i++) {
- CheckBoxTreeNode child = (CheckBoxTreeNode) root.getChildAt(i);
- createFolderStruct(child,parentFolder,folderType,false);
- }
- }
- else {
- TCComponentFolder folder = Util.createFolderBySOA(folderType.getTypeName(), root.toString());
- parentFolder.add("contents", folder);
- for (int i = 0; i < root.getChildCount(); i++) {
- CheckBoxTreeNode child = (CheckBoxTreeNode) root.getChildAt(i);
- createFolderStruct(child,folder,folderType,false);
- }
- }
- }
-
- }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ // TODO Auto-generated method stub
+ String name = jTextField3.getText();
+ if (name.isEmpty()) {
+ MessageBox.post("ƷŲΪգ", "ʾ ", MessageBox.INFORMATION);
+ } else {
+ try {
+ Util.setByPass(true);
+
+ CheckBoxTreeNode root = (CheckBoxTreeNode) jTree1.getModel().getRoot();
+ //ݵǰļµĹϵƥڵѡ״̬
+ for(AIFComponentContext comp : target.getChildren()) {
+ TCComponent component = (TCComponent)comp.getComponent();
+ if(isSelectByNodeMap.containsKey(component.getStringProperty("object_name"))) {
+ Map map = isSelectByNodeMap.get(component.getStringProperty("object_name"));
+ for (Map.Entry entry : map.entrySet()) {
+ if(entry.getValue().isSelected()) {
+ //ļԹ
+ TCComponentItem item = (TCComponentItem)entry.getKey();
+ TCComponentItem saveAsItem = item.getLatestItemRevision().saveAsItem(jTextField3.getText(), "A", item.getStringProperty("object_name"), "", true, null);
+ // 滻
+ for (String attrStr : sxxAttrDate) {
+ if (attrStr.startsWith(saveAsItem.getStringProperty("object_type"))) {
+ try {
+ String[] replaces = attrStr.split("=")[1].split(";");
+ for(String replace : replaces) {
+ String[] getValues = replace.split("\\.");
+ Object val = "";
+ if(getValues[0].equals("item")) {
+ val = Util.getTCPropertyValue(item, getValues[1]);
+ Util.setTCPropertyValue(saveAsItem, getValues[1], val);
+ //val = item.getProperty(getValues[1]);
+ }else if(getValues[0].equals("rev")) {
+ val = Util.getTCPropertyValue(item.getLatestItemRevision(), getValues[1]);
+ Util.setTCPropertyValue(saveAsItem.getLatestItemRevision(), getValues[1], val);
+ //val = rev.getProperty(getValues[1]);
+ }else if(getValues[0].equals("rm")) {
+ TCComponent[] oldreferenceListProperty = item.getLatestItemRevision().getReferenceListProperty("IMAN_master_form_rev");
+ TCComponentForm oldform = (TCComponentForm) oldreferenceListProperty[0];
+ val = Util.getTCPropertyValue(oldform, getValues[1]);
+ TCComponent[] newreferenceListProperty = saveAsItem.getLatestItemRevision().getReferenceListProperty("IMAN_master_form_rev");
+ TCComponentForm newform = (TCComponentForm) newreferenceListProperty[0];
+ Util.setTCPropertyValue(newform, getValues[1], val);
+ //val = form.getProperty(getValues[1]);
+ }
+ }
+ } catch (Exception e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ break;
+ }
+ }
+ component.add("contents", saveAsItem);
+ }
+
+ }
+ }
+ }
+ Util.setByPass(false);
+ dispose();
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ }
+ }
+ });
+ }
+
+ /**
+ *
+ *
+ * @param tree
+ */
+ private void initTree(JTree tree) {
+ String puids = sxxdate[0].split("=")[1];
+ TCComponent component;
+ try {
+ CheckBoxTreeNode rootNode = new CheckBoxTreeNode("ģ");
+ String[] puid = puids.split(";");
+ for (String uid : puid) {
+ component = session.stringToComponent(uid);
+ if (component == null || !(component instanceof TCComponentFolder)) {
+ MessageBox.post(puid + " puidTCвڶ߸puidӦIJǡļС", "쳣", MessageBox.ERROR);
+ return;
+ } else {
+ buildTree(component, rootNode);
+ }
+ }
+
+ DefaultTreeModel model = new DefaultTreeModel(rootNode);
+ tree.addMouseListener(new CheckBoxTreeNodeSelectionListener());
+ tree.setModel(model);
+ tree.setCellRenderer(new CheckBoxTreeCellRenderer());
+ // չнڵ㲢ѡ
+ for (int i = 0; i < tree.getRowCount(); i++) {
+ tree.expandRow(i);
+ }
+ rootNode.setSelected(true);
+ } catch (TCException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * ѭӽڵ
+ *
+ * @param component
+ * @param rootNode
+ * @throws TCException
+ */
+ private void buildTree(TCComponent component, CheckBoxTreeNode rootNode) throws TCException {
+ CheckBoxTreeNode topNode = new CheckBoxTreeNode(component.getStringProperty("object_name"));
+ rootNode.add(topNode);
+ TCComponent[] relatedComponent = component.getRelatedComponents("contents");
+ if (relatedComponent != null) {
+ for (TCComponent child : relatedComponent) {
+ CheckBoxTreeNode childNode = new CheckBoxTreeNode(child.getStringProperty("object_name"));
+ isSelectMap.put(child, childNode);
+ topNode.add(childNode);
+ }
+ isSelectByNodeMap.put(component.getStringProperty("object_name"), isSelectMap);
+ }
+
+ }
}
diff --git a/src/com/connor/kwc/createTemplate/CreateTemplateHandler.java b/src/com/connor/kwc/createTemplate/CreateTemplateHandler.java
index 2ba2b50..43a1b84 100644
--- a/src/com/connor/kwc/createTemplate/CreateTemplateHandler.java
+++ b/src/com/connor/kwc/createTemplate/CreateTemplateHandler.java
@@ -4,10 +4,13 @@ import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import com.connor.kwc.createBom.CreateBOMOperation;
+import com.connor.kwc.createBom.Util;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCComponentFolder;
+import com.teamcenter.rac.kernel.TCComponentItem;
+import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
@@ -31,13 +34,20 @@ public class CreateTemplateHandler extends AbstractHandler {
@Override
public void run() {
- InterfaceAIFComponent folder = app.getTargetComponent();
- session = (TCSession) folder.getSession();
- if (folder instanceof TCComponentFolder) {
+ InterfaceAIFComponent item = app.getTargetComponent();
+ session = (TCSession) item.getSession();
+ if (item instanceof TCComponentItem) {
try {
- if ("XYProduct".equals(((TCComponentFolder) folder).getStringProperty("object_type"))) {
+ if ("XYProduct".equals(((TCComponentItem) item).getStringProperty("object_type"))) {
+ // жϵǰûǷȨǰ
+ Boolean userHasPowerForCompont = Util.userHasPowerForCompont(session,
+ (TCComponentItem) item);
+ if (!userHasPowerForCompont) {
+ MessageBox.post("ûûдȨ", "ʾ", MessageBox.INFORMATION);
+ return;
+ }
CreateTemplateOperation createTemplateOperation = new CreateTemplateOperation(session,
- folder);
+ item);
session.queueOperation(createTemplateOperation);
} else {
MessageBox.post("ѡ", "ʾ ", MessageBox.INFORMATION);