From c778f5c7393809ee3280bd4152654340d9a76c18 Mon Sep 17 00:00:00 2001 From: liujl Date: Thu, 2 Jan 2020 14:20:08 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=A1=B9=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=BB=B4=E6=8A=A4=E8=8B=A5=E5=B9=B2bug=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- com.connor.jd.plm/META-INF/MANIFEST.MF | 3 +- .../connor/jd/plm/dialogs/CSXWHDialog.java | 126 +++++++++++++++++- 2 files changed, 124 insertions(+), 5 deletions(-) diff --git a/com.connor.jd.plm/META-INF/MANIFEST.MF b/com.connor.jd.plm/META-INF/MANIFEST.MF index a24cdf4..a880e52 100644 --- a/com.connor.jd.plm/META-INF/MANIFEST.MF +++ b/com.connor.jd.plm/META-INF/MANIFEST.MF @@ -12,8 +12,7 @@ Require-Bundle: org.eclipse.ui;bundle-version="3.108.0", com.teamcenter.rac.kernel;bundle-version="12000.1.0", com.teamcenter.rac.ui.views;bundle-version="12000.1.0", org.eclipse.core.runtime;bundle-version="3.12.0", - org.eclipse.ui.forms;bundle-version="3.7.0", - org.eclipse.swt + org.eclipse.ui.forms;bundle-version="3.7.0" Automatic-Module-Name: JDProject Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: com.connor.jd.plm.action, diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/dialogs/CSXWHDialog.java b/com.connor.jd.plm/src/com/connor/jd/plm/dialogs/CSXWHDialog.java index a334a53..86e6055 100644 --- a/com.connor.jd.plm/src/com/connor/jd/plm/dialogs/CSXWHDialog.java +++ b/com.connor.jd.plm/src/com/connor/jd/plm/dialogs/CSXWHDialog.java @@ -269,7 +269,7 @@ public class CSXWHDialog extends Application { if (delCompList.get(i) == findList.get(j).getCompId()) { String sql = "delete from JD2_Component where test_id=?"; update(sql, findList.get(j).getCompId()); - // System.out.println("移除了原本数据库就有的"); + System.out.println("移除了原本数据库就有的"); findList.remove(j); } Iterator compIt = componentData.iterator(); @@ -277,7 +277,7 @@ public class CSXWHDialog extends Application { int compid = compIt.next().getCompId(); if (delCompList.get(i) == compid) { compIt.remove(); - // System.out.println("初始结果集移除了一条"); + System.out.println("初始结果集移除了一条"); } } } @@ -300,14 +300,17 @@ public class CSXWHDialog extends Application { } if (flag) { for (ComponentBean com : findList) { - System.out.println("状态" + com.getStage()); + // System.out.println("状态" + com.getStage()); if (com.getStage() == 1) { insert(com); com.setStage(0); + selectId(com); + System.out.println("com的Id" + com.getCompId()); } if (com.getStage() == 2) { update(com); com.setStage(0); + } } tableView0.refresh(); @@ -519,6 +522,7 @@ public class CSXWHDialog extends Application { if (mac.getStage() == 1) { insertMac(mac); mac.setStage(0); + selectMacId(mac); } if (mac.getStage() == 2) { updateMac(mac); @@ -576,6 +580,66 @@ public class CSXWHDialog extends Application { return results; } + private void selectId(ComponentBean com) { + String sql = "select component_id_seq.nextval from dual"; + con = DBConnectionUtil.dbConn("infodba", "infodba"); + try { + ps = con.prepareStatement(sql); + rs = ps.executeQuery(); + while (rs.next()) { + int id = rs.getInt(1) - 1; + System.out.println("id" + id); + com.setCompId(id); + } + } catch (Exception e) { + System.out.println("查找失败"); + } finally { + if (ps != null) { + try { + ps.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + } + + private void selectMacId(MachineBean com) { + String sql = "select machine_id_seq.nextval from dual"; + con = DBConnectionUtil.dbConn("infodba", "infodba"); + try { + ps = con.prepareStatement(sql); + rs = ps.executeQuery(); + while (rs.next()) { + int id = rs.getInt(1); + com.setMacId(id); + } + } catch (Exception e) { + } finally { + if (ps != null) { + try { + ps.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + } + private void insert(ComponentBean com) { String sql = "insert into JD2_Component(test_type,test_project,test_time,test_num,test_cost) values(?,?,?,?,?)"; con = DBConnectionUtil.dbConn("infodba", "infodba"); @@ -602,6 +666,20 @@ public class CSXWHDialog extends Application { } catch (Exception e) { System.out.println("添加失败"); } finally { + if (ps != null) { + try { + ps.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } } } @@ -627,6 +705,20 @@ public class CSXWHDialog extends Application { } catch (Exception e) { System.out.println("添加失败"); } finally { + if (ps != null) { + try { + ps.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } } } @@ -656,6 +748,20 @@ public class CSXWHDialog extends Application { } catch (Exception e) { } finally { + if (ps != null) { + try { + ps.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } } } @@ -709,6 +815,20 @@ public class CSXWHDialog extends Application { } catch (Exception e) { } finally { + if (ps != null) { + try { + ps.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + if (con != null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } } } } \ No newline at end of file From 4f796fa5e222aec08e390851a87ae2064d9bea9b Mon Sep 17 00:00:00 2001 From: liujl Date: Fri, 3 Jan 2020 13:13:03 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- com.connor.jd.plm/META-INF/MANIFEST.MF | 8 +- .../src/com/connor/jd/plm/form/CSJHForm.java | 464 ++++++++++++++++++ .../teamcenter/rac/form/form_user.properties | 1 - .../rac/stylesheet/stylesheet_user.properties | 3 + 4 files changed, 473 insertions(+), 3 deletions(-) create mode 100644 com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java delete mode 100644 com.connor.jd.plm/src/com/teamcenter/rac/form/form_user.properties create mode 100644 com.connor.jd.plm/src/com/teamcenter/rac/stylesheet/stylesheet_user.properties diff --git a/com.connor.jd.plm/META-INF/MANIFEST.MF b/com.connor.jd.plm/META-INF/MANIFEST.MF index a880e52..e5a65fe 100644 --- a/com.connor.jd.plm/META-INF/MANIFEST.MF +++ b/com.connor.jd.plm/META-INF/MANIFEST.MF @@ -15,13 +15,17 @@ Require-Bundle: org.eclipse.ui;bundle-version="3.108.0", org.eclipse.ui.forms;bundle-version="3.7.0" Automatic-Module-Name: JDProject Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Export-Package: com.connor.jd.plm.action, +Export-Package: com.connor.jd.operations, + com.connor.jd.plm.action, + com.connor.jd.plm.beans, com.connor.jd.plm.dialog, + com.connor.jd.plm.dialogs, com.connor.jd.plm.form, com.connor.jd.plm.handlers, com.connor.jd.plm.table, com.connor.jd.plm.util, - com.teamcenter.rac.form + com.connor.jd.plm.utils, + com.teamcenter.rac.stylesheet Import-Package: com.teamcenter.services, com.teamcenter.services.rac, com.teamcenter.services.rac.core, diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java b/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java new file mode 100644 index 0000000..69bb877 --- /dev/null +++ b/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java @@ -0,0 +1,464 @@ +package com.connor.jd.plm.form; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Insets; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.io.File; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.swing.DefaultCellEditor; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JFileChooser; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.filechooser.FileFilter; +import javax.swing.filechooser.FileNameExtensionFilter; +import javax.swing.table.DefaultTableModel; + +import com.connor.jd.plm.beans.ComponentBean; +import com.teamcenter.rac.aif.kernel.AIFComponentContext; +import com.teamcenter.rac.aifrcp.AIFUtility; +import com.teamcenter.rac.kernel.TCComponent; +import com.teamcenter.rac.kernel.TCComponentDataset; +import com.teamcenter.rac.kernel.TCComponentDatasetType; +import com.teamcenter.rac.kernel.TCComponentItem; +import com.teamcenter.rac.kernel.TCComponentItemRevision; +import com.teamcenter.rac.kernel.TCComponentItemType; +import com.teamcenter.rac.kernel.TCException; +import com.teamcenter.rac.kernel.TCSession; +import com.teamcenter.rac.stylesheet.AbstractRendering; +import com.teamcenter.services.rac.core.DataManagementService; +import com.teamcenter.services.rac.core._2008_06.DataManagement.CreateIn; +import com.teamcenter.services.rac.core._2008_06.DataManagement.CreateResponse; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; + +public class CSJHForm extends AbstractRendering { + + TCComponent form; + DefaultTableModel model; + TCSession session; + TCComponentItemRevision itemR; + private static Connection con = null; + private static PreparedStatement ps = null; + private static ResultSet rs = null; + private ObservableList componentData = FXCollections.observableArrayList(); + String[] propNames = new String[] { "jd2_syxh", "jd2_symd", "jd2_wtry", "jd2_syxm", "jd2_syts", "jd2_syzq", + "jd2_syfy", "jd2_jhrc", "jd2_sjrc", "jd2_syzt", "jd2_syjg", "jd2_sycs", "jd2_syry", "jd2_csbg", "jd2_bz" }; + + public CSJHForm(TCComponent form) throws Exception { + super(); + this.form = form; + session = (TCSession) AIFUtility.getCurrentApplication().getSession(); + System.out.println("加载"); + loadRendering(); + } + + int index = 1; + + @Override + public void loadRendering() throws TCException { +// try { +// con = DBConnectionUtil.dbConn("infodba", "infodba"); +// String sqlString = "select * from JD2_Component"; +// if (con == null) { +// Alert alert = new Alert(AlertType.ERROR, "连接失败"); +// alert.show(); +// } else { +// ps = con.prepareStatement(sqlString); +// rs = ps.executeQuery(); +// while (rs.next()) { +// ComponentBean comBean = new ComponentBean(); +// // System.out.println("第一列内容:" + rs.getString(1)); +// comBean.setType(rs.getString(1)); +// comBean.setProject(rs.getString(2)); +// comBean.setTime(rs.getString(3)); +// comBean.setNumber(String.valueOf(rs.getInt(4))); +// comBean.setCost(String.valueOf(rs.getDouble(5))); +// comBean.setCompId(rs.getInt(6)); +// comBean.setAddId(0); +// comBean.setStage(0);// 刚从数据库取出 +// componentData.add(comBean); +// } +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// if (rs != null) { +// try { +// rs.close(); +// } catch (SQLException e1) { +// e1.printStackTrace(); +// } +// } +// if (ps != null) { +// try { +// ps.close(); +// } catch (SQLException e1) { +// e1.printStackTrace(); +// } +// } +// if (con != null) { +// try { +// con.close(); +// } catch (SQLException e1) { +// e1.printStackTrace(); +// } +// } +// } + this.setPreferredSize(new Dimension(1000, 250)); + TCComponent[] tables = form.getTCProperty("jd2_csjh").getReferenceValueArray(); + AIFComponentContext[] contexts = form.whereReferenced(); + for (int i = 0; i < contexts.length; i++) { + if (contexts[i].getComponent() instanceof TCComponentItemRevision) { + try { + itemR = (TCComponentItemRevision) contexts[i].getComponent(); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + String[] info = new String[] { "NO", "实验型号", "实验目的", "委托人员", "实验项目", "实验台数", "实验周期", "试验费用", "计划日期", "实际日期", + "实验状态", "实验结果", "第_次实验", "实验人员", "测试报告", "备注" }; + model = new DefaultTableModel(info, 0); + JComboBox testStage = new JComboBox(); + JComboBox testResult = new JComboBox(); + String[] stageInfo = { "待测", "进行中", "完成" }; + for (int i = 0; i < stageInfo.length; i++) { + testStage.addItem(stageInfo[i]); + } + testResult.addItem("不合格"); + testResult.addItem("合格"); + for (int i = 0; i < tables.length; i++) { + String[] temp = new String[16]; + temp[0] = Integer.toString(index++); + String[] props = tables[i].getProperties(propNames); + for (int j = 0; j < props.length; j++) { + temp[j + 1] = props[j]; + } + model.addRow(temp); + } +// for (int i = 0; i < componentData.size(); i++) { +// // for (int j = 0; j < tables.length; j++) { +// String project = componentData.get(i).getProject(); +// String number = componentData.get(i).getNumber(); +// String time = componentData.get(i).getTime(); +// String cost = componentData.get(i).getCost(); +//// if (!project.equals(tables[j].getProperty("jd2_syxm")) +//// && !number.equals(tables[j].getProperty("jd2_syts")) +//// && !time.equals(tables[j].getProperty("jd2_syzq")) +//// && !cost.equals(tables[j].getProperty("jd2_syfy"))) { +// String[] temp = new String[16]; +// temp[0] = Integer.toString(index++); +// temp[4] = componentData.get(i).getProject(); +// temp[5] = componentData.get(i).getNumber(); +// temp[6] = componentData.get(i).getTime(); +// temp[7] = componentData.get(i).getCost(); +// model.addRow(temp); +//// } +//// } + // } + + final JTable table = new JTable(model) { + @Override + public boolean isCellEditable(int row, int column) { + if (column == 4 || column == 5 || column == 6 || column == 7 || column == 15) + return false; + else + return true; + } + }; + + table.addPropertyChangeListener(e -> { + if (e.getPropertyName().equals("tableCellEditor")) { + // System.out.println("change"); + } + }); + for (int i = 0; i < 16; i++) { + table.getColumn(table.getColumnName(i)).setMinWidth(60); + } + table.getColumn(table.getColumnName(10)).setCellEditor(new DefaultCellEditor(testStage)); + table.getColumn(table.getColumnName(11)).setCellEditor(new DefaultCellEditor(testResult)); + JPanel panelLable = new JPanel(); + JLabel label = new JLabel("试验费用总计:"); + JLabel label2 = new JLabel(); + Double allcost = 0.0; + for (int i = 0; i < model.getRowCount(); i++) { + String value = (String) model.getValueAt(i, 7); + if (value.equals("")) + value = "0"; + allcost += Double.valueOf(value); + } + label2.setText(allcost + "元"); + panelLable.add(label); + panelLable.add(label2); + JPanel panel = new JPanel(); + JScrollPane pane = new JScrollPane(table); + GridBagLayout gbl = new GridBagLayout(); + JPanel bottom = new JPanel(gbl); + GridBagConstraints gbs = new GridBagConstraints(); + gbs.anchor = GridBagConstraints.SOUTHEAST; + gbs.fill = GridBagConstraints.HORIZONTAL; + gbs.insets = new Insets(10, 20, 5, 10); + gbs.weighty = 0.2; + gbs.gridheight = 1; + gbs.gridwidth = GridBagConstraints.REMAINDER; + gbs.weightx = 1; + JButton testButton = new JButton("测试报告上传"); + gbl.setConstraints(testButton, gbs); + JButton huizongButton = new JButton("汇总结论上传"); + gbl.setConstraints(huizongButton, gbs); + JButton againButton = new JButton("再次试验"); + gbl.setConstraints(againButton, gbs); + bottom.add(testButton); + bottom.add(huizongButton); + bottom.add(againButton); + + setLayout(new BorderLayout()); + panel.add(pane, BorderLayout.CENTER); + add(bottom, BorderLayout.EAST); + add(panelLable, BorderLayout.SOUTH); + add(pane, BorderLayout.CENTER); + testButton.addActionListener(e -> { + JFileChooser chooser = new JFileChooser(); + chooser.setDialogTitle("选择上传的测试报告"); + FileFilter filter = new FileNameExtensionFilter("Excel工作簿(.xlsx)", "xlsx");// 设置文件过滤器,只列出JPG或GIF格式的图片 + chooser.setFileFilter(filter); + chooser.showOpenDialog(null); + File file = chooser.getSelectedFile(); + if (file != null) { + String filePath = file.getPath(); + String fileName = file.getName(); + String[] filename = fileName.split("."); + System.out.println(filePath); + System.out.println(fileName); + int row = table.getSelectedRow(); + String value = (String) model.getValueAt(row, 13); + if (value.equals("")) { + try { + TCComponentItemType itemtype = (TCComponentItemType) session.getTypeComponent("JD2_GTCSBG"); + String itemId = itemtype.getNewID(); + String itemRev = itemtype.getNewRev(null); + TCComponentItem item = itemtype.create(itemId, itemRev, "JD2_GTCSBG", fileName, "描述", null); + itemR.add("JD2_CSBG", item); + TCComponentDatasetType datasetType = (TCComponentDatasetType) session + .getTypeComponent("Dataset"); + String msType = ""; + if (filePath.endsWith(".xls")) { + msType = "MSExcel"; + } else if (filePath.endsWith(".xlsx") || filePath.endsWith(".xlsm")) { + msType = "MSExcelX"; + } + TCComponentDataset datasetMSExcelX = datasetType.create(filename[0], "", msType); + datasetMSExcelX.setFiles(new String[] { filePath }, new String[] { "excel" });// 两参:文件路径,命名应用(text) + item.getLatestItemRevision().add("IMAN_specification", datasetMSExcelX); + model.setValueAt(item.getProperty("current_id"), row, 13); + } catch (TCException e1) { + e1.printStackTrace(); + } + } else { + // 添加到数据集 + try { + TCComponent[] tcc = itemR.getTCProperty("JD2_CSBG").getReferenceValueArray(); + for (int i = 0; i < tcc.length; i++) { + if (value.equals(tcc[i].getProperty("current_id"))) { + TCComponentItem item = (TCComponentItem) tcc[i]; + TCComponent[] tccitem = item.getLatestItemRevision().getTCProperty("IMAN_specification") + .getReferenceValueArray(); + TCComponentDataset dataset = (TCComponentDataset) tccitem[0]; + dataset.setFiles(new String[] { file.getPath() }, new String[] { "excel" }); + } + } + } catch (TCException e1) { + e1.printStackTrace(); + } + } + + } + + }); + huizongButton.addActionListener(e -> { + int row = table.getSelectedRow(); + String value = (String) model.getValueAt(row, 13); + JFileChooser chooser = new JFileChooser(); + chooser.setDialogTitle("选择上传的汇总结论"); + FileFilter filter = new FileNameExtensionFilter("Excel工作簿(.xlsx)", "xlsx");// 设置文件过滤器,只列出JPG或GIF格式的图片 + chooser.setFileFilter(filter); + chooser.showOpenDialog(null); + File file = chooser.getSelectedFile(); + if (file != null) { + String filePath = file.getPath(); + String fileName = file.getName(); + String[] filename = fileName.split("."); + System.out.println(filePath); + System.out.println(fileName); + if (value.equals("")) { + try { + TCComponentItemType itemtype = (TCComponentItemType) session.getTypeComponent("JD2_GTCSBG"); + String itemId = itemtype.getNewID(); + String itemRev = itemtype.getNewRev(null); + TCComponentItem item = itemtype.create(itemId, itemRev, "JD2_GTCSBG", fileName, "描述", null); + itemR.add("JD2_CSBGHZ", item); + TCComponentDatasetType datasetType = (TCComponentDatasetType) session + .getTypeComponent("Dataset"); + String msType = ""; + if (filePath.endsWith(".xls")) { + msType = "MSExcel"; + } else if (filePath.endsWith(".xlsx") || filePath.endsWith(".xlsm")) { + msType = "MSExcelX"; + } + TCComponentDataset datasetMSExcelX = datasetType.create(filename[0], "", msType); + datasetMSExcelX.setFiles(new String[] { filePath }, new String[] { "excel" });// 两参:文件路径,命名应用(text) + item.getLatestItemRevision().add("IMAN_specification", datasetMSExcelX); + model.setValueAt(item.getProperty("current_id"), row, 13); + } catch (TCException e1) { + e1.printStackTrace(); + } + } else { + // 添加到数据集 + try { + TCComponent[] tcc = itemR.getTCProperty("JD2_CSBGHZ").getReferenceValueArray(); + for (int i = 0; i < tcc.length; i++) { + if (value.equals(tcc[i].getProperty("current_id"))) { + TCComponentItem item = (TCComponentItem) tcc[i]; + TCComponent[] tccitem = item.getLatestItemRevision().getTCProperty("IMAN_specification") + .getReferenceValueArray(); + TCComponentDataset dataset = (TCComponentDataset) tccitem[0]; + dataset.setFiles(new String[] { file.getPath() }, new String[] { "excel" }); + + } + } + } catch (TCException e1) { + e1.printStackTrace(); + } + + } + } + }); + + againButton.addActionListener(e -> { + String[] temp = new String[16]; + int num = Integer.valueOf((String) model.getValueAt(table.getSelectedRow(), 0)) + 1; + // temp[0] = String.valueOf(num); + temp[1] = (String) model.getValueAt(table.getSelectedRow(), 1); + temp[2] = (String) model.getValueAt(table.getSelectedRow(), 2); + temp[3] = (String) model.getValueAt(table.getSelectedRow(), 3); + temp[4] = (String) model.getValueAt(table.getSelectedRow(), 4); + temp[5] = (String) model.getValueAt(table.getSelectedRow(), 5); + temp[6] = (String) model.getValueAt(table.getSelectedRow(), 6); + temp[7] = (String) model.getValueAt(table.getSelectedRow(), 7); + String chishu = (String) model.getValueAt(table.getSelectedRow(), 12); + if ("".equals(chishu)) { + chishu = "0"; + System.out.println(chishu); + } + if (chishu == null) { + chishu = "0"; + } + temp[12] = String.valueOf(Integer.valueOf(chishu) + 1); + temp[14] = (String) model.getValueAt(table.getSelectedRow(), 14); + temp[15] = (String) model.getValueAt(table.getSelectedRow(), 15); + model.insertRow(table.getSelectedRow() + 1, temp); + for (int i = table.getSelectedRow() + 1; i < model.getRowCount(); i++) { + + model.setValueAt(String.valueOf(num++), i, 0); + } + Double allcost2 = 0.0; + for (int i = 0; i < model.getRowCount(); i++) { + String value = (String) model.getValueAt(i, 7); + if (value.equals("")) + value = "0"; + allcost2 += Double.valueOf(value); + } + label2.setText(allcost2 + "元"); + }); + + table.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + if (e.getClickCount() == 2) { + System.out.println("双击了"); + int selectedRow = table.getSelectedRow(); // 获得选中行索引 + String value = (String) model.getValueAt(selectedRow, 15); + if (value == null) + value = ""; + if (!value.equals("")) { + try { + TCComponent[] result = session.search("ItemID", new String[] { "Item ID" }, + new String[] { value }); + TCComponentItem item = (TCComponentItem) result[0]; + TCComponent[] tccitem = item.getLatestItemRevision().getTCProperty("IMAN_specification") + .getReferenceValueArray(); + TCComponentDataset dataset = (TCComponentDataset) tccitem[0]; + dataset.open(); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + } + }); + + } + + @Override + public void saveRendering() { + try { + List c = new ArrayList(); + +// TCComponent[] com = form.getTCProperty("sf6_EplanBOMLineTable").getReferenceValueArray(); +// for (int j = 0; j < com.length; j++) { +// c.add(com[j]); +// } + DataManagementService service = DataManagementService + .getService((TCSession) AIFUtility.getCurrentApplication().getSession()); + CreateIn[] newIn = new CreateIn[model.getRowCount()]; + for (int i = 0; i < model.getRowCount(); i++) { + CreateIn in = new CreateIn(); + Map propMap = new HashMap(); + for (int j = 0; j < propNames.length; j++) { + propMap.put(propNames[j], + model.getValueAt(i, j + 1) == null ? "" : model.getValueAt(i, j + 1).toString()); + } + // System.out.println("prop:" + propMap); + in.data.boName = "JD2_CSJHTABLE"; + in.data.stringProps = propMap; + newIn[i] = in; + } + try { + CreateResponse response = service.createObjects(newIn); + System.out.println(response.serviceData.sizeOfCreatedObjects()); + if (response.serviceData.sizeOfCreatedObjects() > 0) { + // System.out.println("创建CreateResponse"); + int length = response.serviceData.sizeOfCreatedObjects(); + for (int i = 0; i < length; i++) { + c.add(response.output[i].objects[0]); + } + + } + } catch (Exception e) { + e.printStackTrace(); + } + + form.getTCProperty("jd2_csjh").setReferenceValueArray(c.toArray(new TCComponent[c.size()])); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + +} diff --git a/com.connor.jd.plm/src/com/teamcenter/rac/form/form_user.properties b/com.connor.jd.plm/src/com/teamcenter/rac/form/form_user.properties deleted file mode 100644 index 6fb45b8..0000000 --- a/com.connor.jd.plm/src/com/teamcenter/rac/form/form_user.properties +++ /dev/null @@ -1 +0,0 @@ -JD2_GTYPQRDRevisionMaster.FORMJAVARENDERING=com.connor.jd.plm.form.SampleConfirmationForm \ No newline at end of file diff --git a/com.connor.jd.plm/src/com/teamcenter/rac/stylesheet/stylesheet_user.properties b/com.connor.jd.plm/src/com/teamcenter/rac/stylesheet/stylesheet_user.properties new file mode 100644 index 0000000..74af7b6 --- /dev/null +++ b/com.connor.jd.plm/src/com/teamcenter/rac/stylesheet/stylesheet_user.properties @@ -0,0 +1,3 @@ +JD2_GTYPQRDRevisionMaster.FORMJAVARENDERING=com.connor.jd.plm.form.SampleConfirmationForm +SF6_ElecElementRevisionMaster.FORMJAVARENDERING=com.connor.jd.plm.form.CSJHForm +JD2_GTCSJHRevisionMaster.FORMJAVARENDERING=com.connor.jd.plm.form.CSJHForm \ No newline at end of file From 9c080c16a5c090dac20bcef9afd24a8ba2ffbb82 Mon Sep 17 00:00:00 2001 From: liujl Date: Fri, 3 Jan 2020 13:15:58 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/connor/jd/plm/dialogs/CheckBoxTreeCellRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/dialogs/CheckBoxTreeCellRenderer.java b/com.connor.jd.plm/src/com/connor/jd/plm/dialogs/CheckBoxTreeCellRenderer.java index 1013e62..bc4a752 100644 --- a/com.connor.jd.plm/src/com/connor/jd/plm/dialogs/CheckBoxTreeCellRenderer.java +++ b/com.connor.jd.plm/src/com/connor/jd/plm/dialogs/CheckBoxTreeCellRenderer.java @@ -13,9 +13,9 @@ import javax.swing.UIManager; import javax.swing.plaf.ColorUIResource; import javax.swing.tree.TreeCellRenderer; +import com.connor.jd.plm.beans.TransformBomBean; import com.teamcenter.rac.kernel.TCException; - public class CheckBoxTreeCellRenderer extends JPanel implements TreeCellRenderer { protected JCheckBox check; protected CheckBoxTreeLabel label; From d1bde738ea7e426bf68e26f8cf9d2b916231379b Mon Sep 17 00:00:00 2001 From: liujl Date: Fri, 3 Jan 2020 13:23:50 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java b/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java index 69bb877..81f0a03 100644 --- a/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java +++ b/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java @@ -398,7 +398,7 @@ public class CSJHForm extends AbstractRendering { value = ""; if (!value.equals("")) { try { - TCComponent[] result = session.search("ItemID", new String[] { "Item ID" }, + TCComponent[] result = session.search("零组件 ID", new String[] { "零组件 ID" }, new String[] { value }); TCComponentItem item = (TCComponentItem) result[0]; TCComponent[] tccitem = item.getLatestItemRevision().getTCProperty("IMAN_specification") From 29783932c267a47df0de751294dd182d72b5a152 Mon Sep 17 00:00:00 2001 From: liujl Date: Fri, 3 Jan 2020 13:35:40 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=8C=E5=87=BB?= =?UTF-8?q?=E6=89=93=E5=BC=80=E6=96=87=E4=BB=B6=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/connor/jd/plm/form/CSJHForm.java | 37 ++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java b/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java index 81f0a03..31bdb3d 100644 --- a/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java +++ b/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java @@ -390,26 +390,29 @@ public class CSJHForm extends AbstractRendering { table.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - if (e.getClickCount() == 2) { - System.out.println("双击了"); - int selectedRow = table.getSelectedRow(); // 获得选中行索引 - String value = (String) model.getValueAt(selectedRow, 15); - if (value == null) - value = ""; - if (!value.equals("")) { - try { - TCComponent[] result = session.search("零组件 ID", new String[] { "零组件 ID" }, - new String[] { value }); - TCComponentItem item = (TCComponentItem) result[0]; - TCComponent[] tccitem = item.getLatestItemRevision().getTCProperty("IMAN_specification") - .getReferenceValueArray(); - TCComponentDataset dataset = (TCComponentDataset) tccitem[0]; - dataset.open(); - } catch (Exception e1) { - e1.printStackTrace(); + if (table.getSelectedColumn() == 15) { + if (e.getClickCount() == 2) { + System.out.println("双击了"); + int selectedRow = table.getSelectedRow(); // 获得选中行索引 + String value = (String) model.getValueAt(selectedRow, 15); + if (value == null) + value = ""; + if (!value.equals("")) { + try { + TCComponent[] result = session.search("零组件 ID", new String[] { "零组件 ID" }, + new String[] { value }); + TCComponentItem item = (TCComponentItem) result[0]; + TCComponent[] tccitem = item.getLatestItemRevision().getTCProperty("IMAN_specification") + .getReferenceValueArray(); + TCComponentDataset dataset = (TCComponentDataset) tccitem[0]; + dataset.open(); + } catch (Exception e1) { + e1.printStackTrace(); + } } } } + } }); From 99962fb538f3b1e124045a45b99900739a641420 Mon Sep 17 00:00:00 2001 From: liujl Date: Fri, 3 Jan 2020 14:27:55 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=97=E4=B8=8D?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/connor/jd/plm/form/CSJHForm.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java b/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java index 31bdb3d..d3389b4 100644 --- a/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java +++ b/com.connor.jd.plm/src/com/connor/jd/plm/form/CSJHForm.java @@ -171,12 +171,12 @@ public class CSJHForm extends AbstractRendering { // model.addRow(temp); //// } //// } - // } +// } final JTable table = new JTable(model) { @Override public boolean isCellEditable(int row, int column) { - if (column == 4 || column == 5 || column == 6 || column == 7 || column == 15) + if (column == 3 || column == 4 || column == 5 || column == 6 || column == 7 || column == 14) return false; else return true; @@ -247,7 +247,7 @@ public class CSJHForm extends AbstractRendering { System.out.println(filePath); System.out.println(fileName); int row = table.getSelectedRow(); - String value = (String) model.getValueAt(row, 13); + String value = (String) model.getValueAt(row, 14); if (value.equals("")) { try { TCComponentItemType itemtype = (TCComponentItemType) session.getTypeComponent("JD2_GTCSBG"); @@ -266,7 +266,7 @@ public class CSJHForm extends AbstractRendering { TCComponentDataset datasetMSExcelX = datasetType.create(filename[0], "", msType); datasetMSExcelX.setFiles(new String[] { filePath }, new String[] { "excel" });// 两参:文件路径,命名应用(text) item.getLatestItemRevision().add("IMAN_specification", datasetMSExcelX); - model.setValueAt(item.getProperty("current_id"), row, 13); + model.setValueAt(item.getProperty("current_id"), row, 14); } catch (TCException e1) { e1.printStackTrace(); } @@ -293,7 +293,7 @@ public class CSJHForm extends AbstractRendering { }); huizongButton.addActionListener(e -> { int row = table.getSelectedRow(); - String value = (String) model.getValueAt(row, 13); + String value = (String) model.getValueAt(row, 14); JFileChooser chooser = new JFileChooser(); chooser.setDialogTitle("选择上传的汇总结论"); FileFilter filter = new FileNameExtensionFilter("Excel工作簿(.xlsx)", "xlsx");// 设置文件过滤器,只列出JPG或GIF格式的图片 @@ -324,7 +324,7 @@ public class CSJHForm extends AbstractRendering { TCComponentDataset datasetMSExcelX = datasetType.create(filename[0], "", msType); datasetMSExcelX.setFiles(new String[] { filePath }, new String[] { "excel" });// 两参:文件路径,命名应用(text) item.getLatestItemRevision().add("IMAN_specification", datasetMSExcelX); - model.setValueAt(item.getProperty("current_id"), row, 13); + model.setValueAt(item.getProperty("current_id"), row, 14); } catch (TCException e1) { e1.printStackTrace(); } @@ -390,11 +390,11 @@ public class CSJHForm extends AbstractRendering { table.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - if (table.getSelectedColumn() == 15) { + if (table.getSelectedColumn() == 14) { if (e.getClickCount() == 2) { System.out.println("双击了"); int selectedRow = table.getSelectedRow(); // 获得选中行索引 - String value = (String) model.getValueAt(selectedRow, 15); + String value = (String) model.getValueAt(selectedRow, 14); if (value == null) value = ""; if (!value.equals("")) { From 4587ce2bb982c8d1e8653143898b9b9808a4293f Mon Sep 17 00:00:00 2001 From: liujl Date: Tue, 7 Jan 2020 13:07:19 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E8=BF=9E=E6=8E=A5=E7=9A=84ip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/connor/jd/plm/utils/DBConnectionUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/utils/DBConnectionUtil.java b/com.connor.jd.plm/src/com/connor/jd/plm/utils/DBConnectionUtil.java index bcef275..11c279b 100644 --- a/com.connor.jd.plm/src/com/connor/jd/plm/utils/DBConnectionUtil.java +++ b/com.connor.jd.plm/src/com/connor/jd/plm/utils/DBConnectionUtil.java @@ -15,7 +15,7 @@ public class DBConnectionUtil { e.printStackTrace(); } try { - c = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:TC12", name, pass); + c = DriverManager.getConnection("jdbc:oracle:thin:@10.20.4.75:1521:TC12", name, pass); // 连接数据的方法有四种, 这个属于最简单的,一般用网页程序 TC是你的数据库实例名称,在下载的文件test.sql中可以执行语句查看 // "jdbc:oracle:thin:@计算机名称:监听端口:系统实例名", username, password, // 计算机名称,要是自己不知道可以在计算机属性查知.