diff --git a/src/com/connor/dfl/plm/dfl028/Dfl028AIFDialog.java b/src/com/connor/dfl/plm/dfl028/Dfl028AIFDialog.java index 9834d82..0f4366f 100644 --- a/src/com/connor/dfl/plm/dfl028/Dfl028AIFDialog.java +++ b/src/com/connor/dfl/plm/dfl028/Dfl028AIFDialog.java @@ -51,9 +51,6 @@ public class Dfl028AIFDialog extends AbstractAIFDialog { private FileInputStream fis; private FileOutputStream fos; private JPanel btnPanel1; - private JPanel btnPanel2; - private JPanel btnPanel3; - private String hzm; public Dfl028AIFDialog(AbstractAIFApplication arg0){ this.app = arg0; @@ -84,7 +81,7 @@ public class Dfl028AIFDialog extends AbstractAIFDialog { continue; } //获取后缀名 - hzm = file[i].getTCProperty("file_ext").getStringValue(); + String hzm = file[i].getTCProperty("file_ext").getStringValue(); //获取文件名(带后缀) String name = file[i].getTCProperty("original_file_name").getStringValue(); if(name.contains(".")){ @@ -105,33 +102,6 @@ public class Dfl028AIFDialog extends AbstractAIFDialog { } } - //获取文件后缀名 - private void gethzm(TCComponentDataset dataset) { - try { - //获取文件数组 - TCComponentTcFile[] file = dataset.getTcFiles(); - //判断数据集有没有命名引用的文件 - if(file == null || file.length ==0){ - MessageBox.post("数据集没有命名引用的文件,请检查!", - "WARNING",MessageBox.WARNING); - return; - }else{ - //遍历循环文件数组 - for(int i=0;i list = new ArrayList(); Component[] jcbs = btnPanel1.getComponents();//将勾选的内容存入数组 @@ -292,149 +224,77 @@ public class Dfl028AIFDialog extends AbstractAIFDialog { if(jcb.isSelected()) { list.add(jcb.getText()); if("DWG".equals(jcb.getText())) { - list.add("DWG"); - list.add("dwg"); + list.add("T2_DWG"); }else if ("STP".equals(jcb.getText())) { - list.add("stp"); - }else if("PDF".equals(jcb.getText())) { - list.add("pdf"); - }else if("idw".equals(jcb.getText())) { - list.add("idw"); - }else if ("ipt".equals(jcb.getText())) { - list.add("ipt"); - }else if ("iam".equals(jcb.getText())) { - list.add("iam"); - }else if ("STEP".equals(jcb.getText())) { - list.add("STEP"); + list.add("TAI2_TCAI115_AISTEP"); } } } - //判断list的大小,大小小于等于0则全部加上 if(list.size() <= 0) { - list.add("DWG"); - list.add("dwg"); - list.add("pdf"); - list.add("stp"); - list.add("idw"); - list.add("iam"); - list.add("STEP"); + list.add("T2_DWG"); + list.add("PDF"); + list.add("TAI2_TCAI115_AISTEP"); } try { for (int i = 0; i < targets.length; i++) { if(targets[i] instanceof TCComponentBOMLine){ - List itemlist = new ArrayList(); - //执行获取零件类型的方法 - itemlist = getitemType(); - //定义bom行 TCComponentBOMLine line = (TCComponentBOMLine) targets[i]; TCComponentItemRevision rev = line.getItemRevision(); - String revtype = rev.getStringProperty("object_type"); TCComponent[] datasets = rev.getReferenceListProperty("IMAN_specification"); TCComponent[] datasets2 = rev.getReferenceListProperty("IMAN_Rendering"); for (int j = 0; j < datasets.length; j++) { - //获取数据集数组 - TCComponentDataset dataset01 = (TCComponentDataset) datasets[j]; - //执行获取后缀名的方法 - gethzm(dataset01); - System.out.println("9.07test后缀名"+hzm); - //执行获取零件类型的方法 - itemlist = getitemType(); - - //判断list包含hzm字符串的值 且 itemlist包含revtype的值 - if(itemlist.contains(revtype)) { - if(list.contains(hzm)) { - //获取数据集数据 - TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; - //执行getload方法 - getload(dataset02); - } + String type = datasets[j].getType(); + if(list.contains(type)) { + TCComponentDataset dataset = (TCComponentDataset) datasets[j]; + getload(dataset); } } for (int j = 0; j < datasets2.length; j++) { - //获取数据集数组 - TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; - //执行获取后缀名的方法 - gethzm(dataset02); - String type2 = datasets2[j].getType(); - //判断是否为所需要的零件类型 - if(itemlist.contains(revtype)) { - if(list.contains(hzm)) { - TCComponentDataset dataset = (TCComponentDataset) datasets2[j]; - getload(dataset); - } + String type = datasets2[j].getType(); + if(list.contains(type)) { + TCComponentDataset dataset = (TCComponentDataset) datasets2[j]; + getload(dataset); } } - } - else if(targets[i] instanceof TCComponentItemRevision){ - List itemlist = new ArrayList(); - //执行获取零件类型的方法 - itemlist = getitemType(); + }else if(targets[i] instanceof TCComponentItemRevision){ TCComponentItemRevision rev = (TCComponentItemRevision) targets[i]; - String revtype = rev.getStringProperty("object_type"); TCComponent[] datasets = rev.getReferenceListProperty("IMAN_specification"); TCComponent[] datasets2 = rev.getReferenceListProperty("IMAN_Rendering"); for (int j = 0; j < datasets.length; j++) { - - //获取数据集数组 - TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; - //执行获取后缀名的方法 - gethzm(dataset02); - //判断零件类型 - if(itemlist.contains(revtype)) { - if(list.contains(hzm)) { - TCComponentDataset dataset = (TCComponentDataset) datasets[j]; - System.out.println("下载文件"); - getload(dataset); - } + String type = datasets[j].getType(); + if(list.contains(type)) { + TCComponentDataset dataset = (TCComponentDataset) datasets[j]; + System.out.println("下载文件"); + getload(dataset); } } for (int j = 0; j < datasets2.length; j++) { - //获取数据集数组 - TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; - //执行获取后缀名的方法 - gethzm(dataset02); - //判断零件类型 - if (itemlist.contains(revtype)) { - if(list.contains(hzm)) { - TCComponentDataset dataset = (TCComponentDataset) datasets2[j]; - getload(dataset); - } + String type = datasets2[j].getType(); + if(list.contains(type)) { + TCComponentDataset dataset = (TCComponentDataset) datasets2[j]; + getload(dataset); } } }else if(targets[i] instanceof TCComponentDataset) { TCComponentDataset dataset = (TCComponentDataset) targets[i]; getload(dataset); }else if(targets[i] instanceof TCComponentItem){ - List itemlist = new ArrayList(); - //执行获取零件类型的方法 - itemlist = getitemType(); TCComponentItem item = (TCComponentItem) targets[i]; TCComponentItemRevision rev = item.getLatestItemRevision(); - String revtype = rev.getStringProperty("object_type"); TCComponent[] datasets = rev.getReferenceListProperty("IMAN_specification"); TCComponent[] datasets2 = rev.getReferenceListProperty("IMAN_Rendering"); for (int j = 0; j < datasets.length; j++) { - //获取数据集数组 - TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; - //执行获取后缀名的方法 - gethzm(dataset02); - if(itemlist.contains(revtype)) { - if(list.contains(hzm)) { - TCComponentDataset dataset = (TCComponentDataset) datasets[j]; - getload(dataset); - } + String type = datasets[j].getType(); + if(list.contains(type)) { + TCComponentDataset dataset = (TCComponentDataset) datasets[j]; + getload(dataset); } } for (int j = 0; j < datasets2.length; j++) { - //获取数据集数组 - TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; - //执行获取后缀名的方法 - gethzm(dataset02); - if(itemlist.contains(revtype)) { - if(list.contains(hzm)) { - TCComponentDataset dataset = (TCComponentDataset) datasets2[j]; - getload(dataset); - } + String type = datasets2[j].getType(); + if(list.contains(type)) { + TCComponentDataset dataset = (TCComponentDataset) datasets2[j]; + getload(dataset); } } }else { @@ -446,31 +306,5 @@ public class Dfl028AIFDialog extends AbstractAIFDialog { // TODO: handle exception } } - //获取零件类型 - public List getitemType() { - List itemlist = new ArrayList(); - Component[] jcbs = btnPanel2.getComponents();//将勾选的内容存入数组 - //遍历勾选的内容 - for(Component component : jcbs) { - JCheckBox jcb = (JCheckBox) component; - //判断元素是否被选中 - if(jcb.isSelected()) { - itemlist.add(jcb.getText()); - itemlist.add(jcb.getText()); - if("全部".equals(jcb.getText())) { - itemlist.add("T2_VirtualRevision"); - itemlist.add("T2_OutBuyPartRevision"); - itemlist.add("T2_outsourceRevision"); - }else if ("外协件".equals(jcb.getText())) { - itemlist.add("T2_outsourceRevision"); - }else if ("外购件".equals(jcb.getText())) { - itemlist.add("T2_OutBuyPartRevision"); - }else if ("虚拟件".equals(jcb.getText())) { - itemlist.add("T2_VirtualRevision"); - } - } - } - return itemlist; - } } diff --git a/src/com/connor/dfl/plm/dfl028/test028.java b/src/com/connor/dfl/plm/dfl028/test028.java new file mode 100644 index 0000000..3bf4ba7 --- /dev/null +++ b/src/com/connor/dfl/plm/dfl028/test028.java @@ -0,0 +1,476 @@ +package com.connor.dfl.plm.dfl028; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JFileChooser; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.filechooser.FileSystemView; + +import com.teamcenter.rac.aif.AbstractAIFApplication; +import com.teamcenter.rac.aif.AbstractAIFDialog; +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.TCComponentDataset; +import com.teamcenter.rac.kernel.TCComponentItem; +import com.teamcenter.rac.kernel.TCComponentItemRevision; +import com.teamcenter.rac.kernel.TCComponentTcFile; +import com.teamcenter.rac.kernel.TCComponentUser; +import com.teamcenter.rac.kernel.TCException; +import com.teamcenter.rac.kernel.TCSession; +import com.teamcenter.rac.util.MessageBox; +import com.teamcenter.rac.util.PropertyLayout; + +public class test028 extends AbstractAIFDialog { + private AbstractAIFApplication app; + private TCSession session; + private InterfaceAIFComponent[] targets; + private JLabel jLabel; + private JTextField jtf = new JTextField(20); + private JButton jButton; + private JFileChooser jFileChooser; + private JButton okBut = new JButton("下载"); + private JButton celBut = new JButton("取消"); + private List fmsFilelist = new ArrayList<>(); + private List hzmlist = new ArrayList<>(); + private List namelist = new ArrayList<>(); + private FileInputStream fis; + private FileOutputStream fos; + private JPanel btnPanel1; + private JPanel btnPanel2; + private JPanel btnPanel3; + private String hzm; + + public test028(AbstractAIFApplication arg0){ + this.app = arg0; + this.session = (TCSession)app.getSession(); + this.targets = app.getTargetComponents(); + + } + @Override + public void run() { + //显示窗口 + init(); + + + //启用查询按钮 +// qryBtn.setEnabled(true); + } + //获取下载文件列表 + private void getload(TCComponentDataset dataset){ + try { + TCComponentTcFile[] file = dataset.getTcFiles(); + if(file == null || file.length ==0){ + MessageBox.post("数据集没有命名引用的文件,请检查!", + "WARNING",MessageBox.WARNING); + return; + }else{ + for(int i=0;i list = new ArrayList(); + Component[] jcbs = btnPanel1.getComponents();//将勾选的内容存入数组 + for(Component component : jcbs) { + JCheckBox jcb = (JCheckBox) component; + if(jcb.isSelected()) { + list.add(jcb.getText()); + if("DWG".equals(jcb.getText())) { + list.add("DWG"); + list.add("dwg"); + }else if ("STP".equals(jcb.getText())) { + list.add("stp"); + }else if("PDF".equals(jcb.getText())) { + list.add("pdf"); + }else if("idw".equals(jcb.getText())) { + list.add("idw"); + }else if ("ipt".equals(jcb.getText())) { + list.add("ipt"); + }else if ("iam".equals(jcb.getText())) { + list.add("iam"); + }else if ("STEP".equals(jcb.getText())) { + list.add("STEP"); + } + } + } + //判断list的大小,大小小于等于0则全部加上 + if(list.size() <= 0) { + list.add("DWG"); + list.add("dwg"); + list.add("pdf"); + list.add("stp"); + list.add("idw"); + list.add("iam"); + list.add("STEP"); + } + try { + for (int i = 0; i < targets.length; i++) { + if(targets[i] instanceof TCComponentBOMLine){ + List itemlist = new ArrayList(); + //执行获取零件类型的方法 + itemlist = getitemType(); + //定义bom行 + TCComponentBOMLine line = (TCComponentBOMLine) targets[i]; + TCComponentItemRevision rev = line.getItemRevision(); + String revtype = rev.getStringProperty("object_type"); + TCComponent[] datasets = rev.getReferenceListProperty("IMAN_specification"); + TCComponent[] datasets2 = rev.getReferenceListProperty("IMAN_Rendering"); + for (int j = 0; j < datasets.length; j++) { + //获取数据集数组 + TCComponentDataset dataset01 = (TCComponentDataset) datasets[j]; + //执行获取后缀名的方法 + gethzm(dataset01); + System.out.println("9.07test后缀名"+hzm); + //执行获取零件类型的方法 + itemlist = getitemType(); + + //判断list包含hzm字符串的值 且 itemlist包含revtype的值 + if(itemlist.contains(revtype)) { + if(list.contains(hzm)) { + //获取数据集数据 + TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; + //执行getload方法 + getload(dataset02); + } + } + } + for (int j = 0; j < datasets2.length; j++) { + //获取数据集数组 + TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; + //执行获取后缀名的方法 + gethzm(dataset02); + String type2 = datasets2[j].getType(); + //判断是否为所需要的零件类型 + if(itemlist.contains(revtype)) { + if(list.contains(hzm)) { + TCComponentDataset dataset = (TCComponentDataset) datasets2[j]; + getload(dataset); + } + } + } + } + else if(targets[i] instanceof TCComponentItemRevision){ + List itemlist = new ArrayList(); + //执行获取零件类型的方法 + itemlist = getitemType(); + TCComponentItemRevision rev = (TCComponentItemRevision) targets[i]; + String revtype = rev.getStringProperty("object_type"); + TCComponent[] datasets = rev.getReferenceListProperty("IMAN_specification"); + TCComponent[] datasets2 = rev.getReferenceListProperty("IMAN_Rendering"); + for (int j = 0; j < datasets.length; j++) { + + //获取数据集数组 + TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; + //执行获取后缀名的方法 + gethzm(dataset02); + //判断零件类型 + if(itemlist.contains(revtype)) { + if(list.contains(hzm)) { + TCComponentDataset dataset = (TCComponentDataset) datasets[j]; + System.out.println("下载文件"); + getload(dataset); + } + } + } + for (int j = 0; j < datasets2.length; j++) { + //获取数据集数组 + TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; + //执行获取后缀名的方法 + gethzm(dataset02); + //判断零件类型 + if (itemlist.contains(revtype)) { + if(list.contains(hzm)) { + TCComponentDataset dataset = (TCComponentDataset) datasets2[j]; + getload(dataset); + } + } + } + }else if(targets[i] instanceof TCComponentDataset) { + TCComponentDataset dataset = (TCComponentDataset) targets[i]; + getload(dataset); + }else if(targets[i] instanceof TCComponentItem){ + List itemlist = new ArrayList(); + //执行获取零件类型的方法 + itemlist = getitemType(); + TCComponentItem item = (TCComponentItem) targets[i]; + TCComponentItemRevision rev = item.getLatestItemRevision(); + String revtype = rev.getStringProperty("object_type"); + TCComponent[] datasets = rev.getReferenceListProperty("IMAN_specification"); + TCComponent[] datasets2 = rev.getReferenceListProperty("IMAN_Rendering"); + for (int j = 0; j < datasets.length; j++) { + //获取数据集数组 + TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; + //执行获取后缀名的方法 + gethzm(dataset02); + if(itemlist.contains(revtype)) { + if(list.contains(hzm)) { + TCComponentDataset dataset = (TCComponentDataset) datasets[j]; + getload(dataset); + } + } + } + for (int j = 0; j < datasets2.length; j++) { + //获取数据集数组 + TCComponentDataset dataset02 = (TCComponentDataset) datasets[j]; + //执行获取后缀名的方法 + gethzm(dataset02); + if(itemlist.contains(revtype)) { + if(list.contains(hzm)) { + TCComponentDataset dataset = (TCComponentDataset) datasets2[j]; + getload(dataset); + } + } + } + }else { + MessageBox.post("选中的不是版本对象或者BOM行对象或者数据集对象","error",MessageBox.ERROR); + return; + } + } + } catch (Exception e) { + // TODO: handle exception + } + } + //获取零件类型 + public List getitemType() { + List itemlist = new ArrayList(); + Component[] jcbs = btnPanel2.getComponents();//将勾选的内容存入数组 + //遍历勾选的内容 + for(Component component : jcbs) { + JCheckBox jcb = (JCheckBox) component; + //判断元素是否被选中 + if(jcb.isSelected()) { + itemlist.add(jcb.getText()); + itemlist.add(jcb.getText()); + if("全部".equals(jcb.getText())) { + itemlist.add("T2_VirtualRevision"); + itemlist.add("T2_OutBuyPartRevision"); + itemlist.add("T2_outsourceRevision"); + }else if ("外协件".equals(jcb.getText())) { + itemlist.add("T2_outsourceRevision"); + }else if ("外购件".equals(jcb.getText())) { + itemlist.add("T2_OutBuyPartRevision"); + }else if ("虚拟件".equals(jcb.getText())) { + itemlist.add("T2_VirtualRevision"); + } + } + } + return itemlist; + } + +} diff --git a/src/com/connor/dfl/plm/forms/QuickChangeForm.java b/src/com/connor/dfl/plm/forms/QuickChangeForm.java index a6407ea..eedb5bc 100644 --- a/src/com/connor/dfl/plm/forms/QuickChangeForm.java +++ b/src/com/connor/dfl/plm/forms/QuickChangeForm.java @@ -493,9 +493,6 @@ public class QuickChangeForm extends AbstractRendering { duty = rev.getStringProperty("t2_duty"); type = rev.getStringProperty("t2_type"); projectState =rev.getStringProperty("t2_ProjectPhase"); - - - } }