package cn.net.connor.process.hourcalculation; import java.awt.image.RenderedImage; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import javax.imageio.ImageIO; import javax.mail.Flags.Flag; import javax.swing.JOptionPane; import javax.swing.JTextField; import javax.xml.crypto.Data; import com.sun.prism.impl.Disposer.Target; import com.teamcenter.rac.aif.AbstractAIFApplication; import com.teamcenter.rac.aif.AbstractAIFCommand; import com.teamcenter.rac.aif.kernel.AIFComponentContext; import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent; import com.teamcenter.rac.aifrcp.AIFUtility; import com.teamcenter.rac.kernel.TCComponent; import com.teamcenter.rac.kernel.TCComponentBOMLine; import com.teamcenter.rac.kernel.TCComponentDataset; import com.teamcenter.rac.kernel.TCComponentICO; import com.teamcenter.rac.kernel.TCComponentItem; import com.teamcenter.rac.kernel.TCComponentItemRevision; import com.teamcenter.rac.kernel.TCComponentItemType; import com.teamcenter.rac.kernel.TCComponentTcFile; import com.teamcenter.rac.kernel.TCException; import com.teamcenter.rac.kernel.TCPreferenceService; import com.teamcenter.rac.kernel.TCProperty; import com.teamcenter.rac.kernel.TCSession; import com.teamcenter.rac.kernel.ics.ICSProperty; import com.teamcenter.rac.kernel.ics.ICSPropertyDescription; import com.teamcenter.rac.kernel.tcservices.TcServicesService; import com.teamcenter.rac.util.MessageBox; import cn.net.connor.process.meopviewfx.bean.KTableRow; import cn.net.connor.process.meopviewfx.bean.PropConfig; import javafx.scene.control.TableView; public class selectionCommand extends AbstractAIFCommand { private TCComponentBOMLine comp; private TCSession session; private TableView table; private List propConfigs; private TCComponentBOMLine target; public JTextField Field1=new JTextField(); public JTextField Field2=new JTextField(); public JTextField Field3=new JTextField(); public JTextField Field4=new JTextField(); public JTextField Field5=new JTextField(); public selectionCommand(TCComponentBOMLine target,JTextField Field1,JTextField Field2,JTextField Field3,JTextField Field4,JTextField Field5) { this.Field1=Field1; this.Field2=Field2; this.Field3=Field3; this.Field4=Field4; this.Field5=Field5; this.target=target; // TODO Auto-generated constructor stub try { executeModal(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void executeModal() throws Exception { // TODO Auto-generated method stub System.out.println("select different dialog by selection"); AbstractAIFApplication app = AIFUtility.getCurrentApplication(); TCSession session = (TCSession) app.getSession(); //获得当前选择的对象类型及对象名称,与首选项进行比对 TCPreferenceService service = session.getPreferenceService(); String[] strs = service.getStringValues("AVIC_HoursCalculation_Class"); if(strs==null||strs.length==0) { MessageBox.post("您选择的工序类型没进行工时定额配置,请与管理员联系", "错误", MessageBox.ERROR); return; } String type=this.target.getItemRevision().getType(); String name=this.target.getItemRevision().getStringProperty("object_name"); System.out.println(type+":"+name); boolean isFind=true; for(String str:strs) {//先遍历查找名称不为空的 if(str.split("=").length==3) { if(str.split("=")[0].equals(type)&&!str.split("=")[1].equals("")&&name.indexOf(str.split("=")[1])>=0) { if(str.split("=")[2].equals("装配及钳工工时")) { new hourCCommand(session,target,Field1,Field2,Field3,Field4,Field5); return; }else if(str.split("=")[2].equals("机加工时")) { new FitterCommand(session,target,Field1,Field2,Field3,Field4); return; } } } } for(String str:strs) {//若名称不为空的没找到,再遍历为空的 if(str.split("=").length==3) { if(str.split("=")[0].equals(type)&&name.indexOf(str.split("=")[1])>=0) { if(str.split("=")[2].equals("装配及钳工工时")) { new hourCCommand(session,target,Field1,Field2,Field3,Field4,Field5); return; }else if(str.split("=")[2].equals("机加工时")) { new FitterCommand(session,target,Field1,Field2,Field3,Field4); return; } } } } for(String str:strs) { if(str.split("=").length==2) { if(str.split("=")[0].equals(type)) { if(str.split("=")[1].equals("装配及钳工工时")) { new hourCCommand(session,target,Field1,Field2,Field3,Field4,Field5); return; // new FitterCommand(session,target,Field1,Field2); // return; }else if(str.split("=")[1].equals("机加工时")) { new FitterCommand(session,target,Field1,Field2,Field3,Field4); return; } } } } MessageBox.post("您选择的工序类型没进行工时定额配置,请与管理员联系", "错误", MessageBox.ERROR); } }