master
郭宇航 4 years ago
parent 14239c9627
commit 6beb6591ee

@ -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<file.length;i++){
//判断文件类型不是"ImanFile"
if(!file[i].getType().equals("ImanFile")){
continue;
}
//获取后缀名
hzm = file[i].getTCProperty("file_ext").getStringValue();
}
}
}catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
MessageBox.post("发生错误:"+e.getMessage(),"错误",MessageBox.ERROR);
}
}
//文件下载到指定路径
private void downloadfile(String fpath){
@ -183,48 +153,16 @@ public class Dfl028AIFDialog extends AbstractAIFDialog {
//界面初始化
private void init(){
this.setLayout(new PropertyLayout());
this.setPreferredSize(new Dimension(650, 260));
this.setPreferredSize(new Dimension(550, 150));
FileSystemView fsv = FileSystemView.getFileSystemView();
String deskPath = fsv.getHomeDirectory().getPath();
//第一行:图纸类型
btnPanel1 = new JPanel();
JLabel drawingtype = new JLabel("图纸类型:");
JCheckBox checkBox1 = new JCheckBox("DWG");
JCheckBox checkBox2 = new JCheckBox("idw");//new
JCheckBox checkBox3 = new JCheckBox("PDF");
JCheckBox checkBox4 = new JCheckBox("ipt");//new
JCheckBox checkBox5 = new JCheckBox("iam");//new
JCheckBox checkBox6 = new JCheckBox("STP");
JCheckBox checkBox7 = new JCheckBox("STEP");//new
//btnPanel1.add(drawingtype);
JCheckBox checkBox2 = new JCheckBox("PDF");
JCheckBox checkBox3 = new JCheckBox("STP");
btnPanel1.add(checkBox1);
btnPanel1.add(checkBox2);
btnPanel1.add(checkBox3);
btnPanel1.add(checkBox4);
btnPanel1.add(checkBox5);
btnPanel1.add(checkBox6);
btnPanel1.add(checkBox7);
//第二行:零件类型
btnPanel2 = new JPanel();
JLabel itemtype = new JLabel("零件类型:");
JCheckBox checkBox11 = new JCheckBox("全部");
JCheckBox checkBox12 = new JCheckBox("外购件");
JCheckBox checkBox13 = new JCheckBox("外协件");
JCheckBox checkBox14 = new JCheckBox("虚拟件");
//btnPanel2.add(itemtype);
btnPanel2.add(checkBox11);
btnPanel2.add(checkBox12);
btnPanel2.add(checkBox13);
btnPanel2.add(checkBox14);
//第三行附加条件
btnPanel3 = new JPanel();
JLabel additional = new JLabel("附加筛选:");
JCheckBox checkBox21 = new JCheckBox("外协件/外购件打包下载");
JCheckBox checkBox22 = new JCheckBox("仅下载已发布图纸");
//btnPanel3.add(additional);
btnPanel3.add(checkBox21);
btnPanel3.add(checkBox22);
//第四行下载选项
jLabel = new JLabel("下载路径:");
jtf.setText(deskPath);
jButton = new JButton("...");
@ -237,14 +175,8 @@ public class Dfl028AIFDialog extends AbstractAIFDialog {
panel.add("1.3.left.top",jButton);
panel.add("2.1.left.top",okBut);
panel.add("2.2.left.top",celBut);
this.add("1.1.left.top",drawingtype);
this.add("1.2.left.top",btnPanel1);
this.add("2.1.left.top",itemtype);
this.add("2.2.left.top",btnPanel2);
this.add("3.1.left.top",additional);
this.add("3.2.left.top",btnPanel3);
this.add("4.1.left.top",panel);
this.add("1.1.left.top",btnPanel1);
this.add("2.1.left.top",panel);
this.setResizable(false);
this.setBounds(5, 5, 5, 5);
this.centerToScreen();
@ -283,7 +215,7 @@ public class Dfl028AIFDialog extends AbstractAIFDialog {
this.centerToScreen();
this.showDialog();
}
//获取图纸类型
public void getTypes() {
List<String> list = new ArrayList<String>();
Component[] jcbs = btnPanel1.getComponents();//将勾选的内容存入数组
@ -292,151 +224,79 @@ 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<String> itemlist = new ArrayList<String>();
//执行获取零件类型的方法
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)) {
String type = datasets2[j].getType();
if(list.contains(type)) {
TCComponentDataset dataset = (TCComponentDataset) datasets2[j];
getload(dataset);
}
}
}
}
else if(targets[i] instanceof TCComponentItemRevision){
List<String> itemlist = new ArrayList<String>();
//执行获取零件类型的方法
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)) {
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)) {
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<String> itemlist = new ArrayList<String>();
//执行获取零件类型的方法
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)) {
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)) {
String type = datasets2[j].getType();
if(list.contains(type)) {
TCComponentDataset dataset = (TCComponentDataset) datasets2[j];
getload(dataset);
}
}
}
}else {
MessageBox.post("选中的不是版本对象或者BOM行对象或者数据集对象","error",MessageBox.ERROR);
return;
@ -446,31 +306,5 @@ public class Dfl028AIFDialog extends AbstractAIFDialog {
// TODO: handle exception
}
}
//获取零件类型
public List<String> getitemType() {
List<String> itemlist = new ArrayList<String>();
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;
}
}

@ -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<File> fmsFilelist = new ArrayList<>();
private List<String> hzmlist = new ArrayList<>();
private List<String> 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<file.length;i++){
if(!file[i].getType().equals("ImanFile")){
continue;
}
//获取后缀名
hzm = file[i].getTCProperty("file_ext").getStringValue();
//获取文件名(带后缀)
String name = file[i].getTCProperty("original_file_name").getStringValue();
if(name.contains(".")){
//获取文件名(不带后缀)
name = name.substring(0, name.lastIndexOf("."));
}
//获取文件用户下载
File fmsFile = file[i].getFmsFile();
hzmlist.add(hzm);
namelist.add(name);
fmsFilelist.add(fmsFile);
}
}
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
MessageBox.post("发生错误:"+e.getMessage(),"错误",MessageBox.ERROR);
}
}
//获取文件后缀名
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<file.length;i++){
//判断文件类型不是"ImanFile"
if(!file[i].getType().equals("ImanFile")){
continue;
}
//获取后缀名
hzm = file[i].getTCProperty("file_ext").getStringValue();
}
}
}catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
MessageBox.post("发生错误:"+e.getMessage(),"错误",MessageBox.ERROR);
}
}
//文件下载到指定路径
private void downloadfile(String fpath){
try{
for(int i=0;i<hzmlist.size();i++){
//拼接输出文件名
String filename = namelist.get(i)+"."+hzmlist.get(i);
//拼接输出带路径全文件名
String path = fpath + File.separator + filename;
System.out.println("path=8.3"+path);
File fileout = new File(path);
fis = new FileInputStream(fmsFilelist.get(i));
fos = new FileOutputStream(fileout);
byte[] bs = new byte[1024];
int len = 0;
while((len=fis.read(bs))!=-1){
fos.write(bs, 0, len);
}
if(fos!=null) fos.close();
if(fis!=null) fis.close();
}
MessageBox.post("下载成功","成功",MessageBox.INFORMATION);
}catch(Exception e){
e.printStackTrace();
MessageBox.post("下载失败:"+e.getMessage(),"错误",MessageBox.ERROR);
}finally{
try {
fos.close();
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//弹出下载路径选择框
public void selectFileButtonEvent(){
int state = jFileChooser.showOpenDialog(null);
if(state == 1) {
return;
}else{
File f = jFileChooser.getSelectedFile();
jtf.setText(f.getAbsolutePath());
}
}
//界面初始化
private void init(){
this.setLayout(new PropertyLayout());
this.setPreferredSize(new Dimension(650, 260));
FileSystemView fsv = FileSystemView.getFileSystemView();
String deskPath = fsv.getHomeDirectory().getPath();
//第一行:图纸类型
btnPanel1 = new JPanel();
JLabel drawingtype = new JLabel("图纸类型:");
JCheckBox checkBox1 = new JCheckBox("DWG");
JCheckBox checkBox2 = new JCheckBox("idw");//new
JCheckBox checkBox3 = new JCheckBox("PDF");
JCheckBox checkBox4 = new JCheckBox("ipt");//new
JCheckBox checkBox5 = new JCheckBox("iam");//new
JCheckBox checkBox6 = new JCheckBox("STP");
JCheckBox checkBox7 = new JCheckBox("STEP");//new
//btnPanel1.add(drawingtype);
btnPanel1.add(checkBox1);
btnPanel1.add(checkBox2);
btnPanel1.add(checkBox3);
btnPanel1.add(checkBox4);
btnPanel1.add(checkBox5);
btnPanel1.add(checkBox6);
btnPanel1.add(checkBox7);
//第二行:零件类型
btnPanel2 = new JPanel();
JLabel itemtype = new JLabel("零件类型:");
JCheckBox checkBox11 = new JCheckBox("全部");
JCheckBox checkBox12 = new JCheckBox("外购件");
JCheckBox checkBox13 = new JCheckBox("外协件");
JCheckBox checkBox14 = new JCheckBox("虚拟件");
//btnPanel2.add(itemtype);
btnPanel2.add(checkBox11);
btnPanel2.add(checkBox12);
btnPanel2.add(checkBox13);
btnPanel2.add(checkBox14);
//第三行附加条件
btnPanel3 = new JPanel();
JLabel additional = new JLabel("附加筛选:");
JCheckBox checkBox21 = new JCheckBox("外协件/外购件打包下载");
JCheckBox checkBox22 = new JCheckBox("仅下载已发布图纸");
//btnPanel3.add(additional);
btnPanel3.add(checkBox21);
btnPanel3.add(checkBox22);
//第四行下载选项
jLabel = new JLabel("下载路径:");
jtf.setText(deskPath);
jButton = new JButton("...");
jFileChooser = new JFileChooser();
this.jFileChooser.setCurrentDirectory(new File(deskPath));
this.jFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
JPanel panel = new JPanel();
panel.add("1.1.left.top",jLabel);
panel.add("1.2.left.top",jtf);
panel.add("1.3.left.top",jButton);
panel.add("2.1.left.top",okBut);
panel.add("2.2.left.top",celBut);
this.add("1.1.left.top",drawingtype);
this.add("1.2.left.top",btnPanel1);
this.add("2.1.left.top",itemtype);
this.add("2.2.left.top",btnPanel2);
this.add("3.1.left.top",additional);
this.add("3.2.left.top",btnPanel3);
this.add("4.1.left.top",panel);
this.setResizable(false);
this.setBounds(5, 5, 5, 5);
this.centerToScreen();
this.showDialog();
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
selectFileButtonEvent();
}
});
okBut.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
getTypes();
System.out.print("开始下载");
String fpath = jtf.getText();
if(fpath != null && (!fpath.trim().equals(""))){
downloadfile(fpath);
setVisible(false);
}else{
MessageBox.post("文件路径不能为空!", "警告", MessageBox.INFORMATION);
}
}
});
celBut.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
setVisible(false);
}
});
this.pack();
this.setResizable(false);
this.centerToScreen();
this.showDialog();
}
//获取图纸类型
public void getTypes() {
List<String> list = new ArrayList<String>();
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<String> itemlist = new ArrayList<String>();
//执行获取零件类型的方法
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<String> itemlist = new ArrayList<String>();
//执行获取零件类型的方法
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<String> itemlist = new ArrayList<String>();
//执行获取零件类型的方法
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<String> getitemType() {
List<String> itemlist = new ArrayList<String>();
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;
}
}

@ -493,9 +493,6 @@ public class QuickChangeForm extends AbstractRendering {
duty = rev.getStringProperty("t2_duty");
type = rev.getStringProperty("t2_type");
projectState =rev.getStringProperty("t2_ProjectPhase");
}
}

Loading…
Cancel
Save