diff --git a/com.connor.jd.plm/config/db.setting b/com.connor.jd.plm/config/db.setting
index 7780db4..b6edd27 100644
--- a/com.connor.jd.plm/config/db.setting
+++ b/com.connor.jd.plm/config/db.setting
@@ -1,7 +1,7 @@
## db.setting文件
# url = jdbc:oracle:thin:@localhost:1521:TC
-url = jdbc:oracle:thin:@localhost:1521:TC12
+url = jdbc:oracle:thin:@10.20.4.75:1521:TC12
user = infodba
pass = infodba
diff --git a/com.connor.jd.plm/plugin.xml b/com.connor.jd.plm/plugin.xml
index c92e6a3..8a569d5 100644
--- a/com.connor.jd.plm/plugin.xml
+++ b/com.connor.jd.plm/plugin.xml
@@ -242,8 +242,6 @@
-
-
@@ -286,8 +284,6 @@
-
-
diff --git a/com.connor.jd.plm/src/Test.java b/com.connor.jd.plm/src/Test.java
index 907eafb..46ec1b3 100644
--- a/com.connor.jd.plm/src/Test.java
+++ b/com.connor.jd.plm/src/Test.java
@@ -2,7 +2,9 @@
public class Test {
public static void main(String[] args) {
-
+ String fileName = "111.xlsx";
+ String[] filename = fileName.split("\\.");
+ System.out.println(fileName.lastIndexOf("."));
}
}
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 86e6055..632c52f 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
@@ -7,7 +7,6 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.math.NumberUtils;
@@ -553,6 +552,7 @@ public class CSXWHDialog extends Application {
primaryStage.setScene(scene);
primaryStage.setTitle("测试项维护");
primaryStage.show();
+ primaryStage.setAlwaysOnTop(true);
}
@@ -560,8 +560,15 @@ public class CSXWHDialog extends Application {
ObservableList results = FXCollections.observableArrayList();
Pattern pattern = Pattern.compile(name);
for (int i = 0; i < list.size(); i++) {
- Matcher matcher = pattern.matcher(((ComponentBean) list.get(i)).getType());
- if (matcher.find()) {
+// Matcher matcher = pattern.matcher(((ComponentBean) list.get(i)).getType());
+// if (matcher.find()) {
+// results.add(list.get(i));
+// }
+ if (((ComponentBean) list.get(i)).getType().contains(name)
+ || ((ComponentBean) list.get(i)).getProject().contains(name)
+ || ((ComponentBean) list.get(i)).getTime().contains(name)
+ || ((ComponentBean) list.get(i)).getNumber().contains(name)
+ || ((ComponentBean) list.get(i)).getCost().contains(name)) {
results.add(list.get(i));
}
}
@@ -572,8 +579,13 @@ public class CSXWHDialog extends Application {
ObservableList results = FXCollections.observableArrayList();
Pattern pattern = Pattern.compile(name);
for (int i = 0; i < list.size(); i++) {
- Matcher matcher = pattern.matcher(((MachineBean) list.get(i)).getType());
- if (matcher.find()) {
+// Matcher matcher = pattern.matcher(((MachineBean) list.get(i)).getType());
+// if (matcher.find()) {
+// results.add(list.get(i));
+// }
+ if (((MachineBean) list.get(i)).getType().contains(name)
+ || ((MachineBean) list.get(i)).getProject().contains(name)
+ || ((MachineBean) list.get(i)).getCost().contains(name)) {
results.add(list.get(i));
}
}
@@ -658,13 +670,20 @@ public class CSXWHDialog extends Application {
}
ps.setDouble(5, Double.valueOf(com.getCost()));
int rs = ps.executeUpdate();
- if (rs == 1)
+ if (rs == 1) {
System.out.println("添加成功");
- else
+ Alert alert = new Alert(AlertType.INFORMATION, "添加成功");
+ alert.show();
+ } else {
System.out.println("添加失败");
+ Alert alert = new Alert(AlertType.INFORMATION, "添加失败");
+ alert.show();
+ }
} catch (Exception e) {
System.out.println("添加失败");
+ Alert alert = new Alert(AlertType.INFORMATION, "添加失败");
+ alert.show();
} finally {
if (ps != null) {
try {
@@ -697,10 +716,15 @@ public class CSXWHDialog extends Application {
ps.setDouble(3, Double.valueOf(mac.getCost()));
int rs = ps.executeUpdate();
System.out.println(rs);
- if (rs == 1)
+ if (rs == 1) {
System.out.println("添加成功");
- else
+ Alert alert = new Alert(AlertType.INFORMATION, "添加成功");
+ alert.show();
+ } else {
System.out.println("添加失败");
+ Alert alert = new Alert(AlertType.INFORMATION, "添加失败");
+ alert.show();
+ }
} catch (Exception e) {
System.out.println("添加失败");
@@ -741,10 +765,15 @@ public class CSXWHDialog extends Application {
ps.setDouble(5, Double.valueOf(com.getCost()));
ps.setInt(6, com.getCompId());
int rs = ps.executeUpdate();
- if (rs == 1)
+ if (rs == 1) {
System.out.println("更新成功");
- else
+ Alert alert = new Alert(AlertType.INFORMATION, "更新成功");
+ alert.show();
+ } else {
System.out.println("更新失败");
+ Alert alert = new Alert(AlertType.INFORMATION, "更新失败");
+ alert.show();
+ }
} catch (Exception e) {
} finally {
@@ -771,10 +800,16 @@ public class CSXWHDialog extends Application {
ps = con.prepareStatement(sql);
ps.setInt(1, id);
int rs = ps.executeUpdate();
- if (rs > 0)
+ if (rs > 0) {
System.out.println("成功");
- else
+ Alert alert = new Alert(AlertType.INFORMATION, "成功");
+ alert.show();
+ } else {
System.out.println("失败");
+ Alert alert = new Alert(AlertType.INFORMATION, "失败");
+ alert.show();
+ }
+
} catch (Exception e) {
} finally {
if (ps != null) {
@@ -808,10 +843,15 @@ public class CSXWHDialog extends Application {
ps.setDouble(3, Double.valueOf(mac.getCost()));
ps.setInt(4, mac.getMacId());
int rs = ps.executeUpdate();
- if (rs == 1)
+ if (rs == 1) {
System.out.println("更新成功");
- else
+ Alert alert = new Alert(AlertType.INFORMATION, "更新成功");
+ alert.show();
+ } else {
System.out.println("更新失败");
+ Alert alert = new Alert(AlertType.ERROR, "更新失败");
+ alert.show();
+ }
} catch (Exception e) {
} finally {
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 d3389b4..3667fca 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
@@ -1,6 +1,7 @@
package com.connor.jd.plm.form;
import java.awt.BorderLayout;
+import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
@@ -15,6 +16,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Objects;
import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
@@ -59,6 +62,10 @@ public class CSJHForm extends AbstractRendering {
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" };
+ private JLabel label3;
+ private List editable = new ArrayList();
+ private Map res;
+ private Map rowNo;
public CSJHForm(TCComponent form) throws Exception {
super();
@@ -176,7 +183,8 @@ public class CSJHForm extends AbstractRendering {
final JTable table = new JTable(model) {
@Override
public boolean isCellEditable(int row, int column) {
- if (column == 3 || column == 4 || column == 5 || column == 6 || column == 7 || column == 14)
+ if (column == 3 || column == 4 || column == 5 || column == 6 || column == 7 || column == 14
+ || column == 12 || editable.contains(row))
return false;
else
return true;
@@ -191,8 +199,88 @@ public class CSJHForm extends AbstractRendering {
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));
+
+ DefaultCellEditor dce1 = new DefaultCellEditor(testStage) {
+
+ int row;
+
+ @Override
+ public Component getTableCellEditorComponent(JTable paramJTable, Object paramObject, boolean paramBoolean,
+ int paramInt1, int paramInt2) {
+ // TODO Auto-generated method stub
+
+ row = paramInt1;
+ return super.getTableCellEditorComponent(paramJTable, paramObject, paramBoolean, paramInt1, paramInt2);
+ }
+
+ @Override
+ public Object getCellEditorValue() {
+
+ Object obj = super.getCellEditorValue();
+ if ("完成".equals(obj.toString())) {
+ editable.add(row);
+ } else {
+ if (editable.contains(row)) {
+ editable.remove(row);
+ }
+ }
+ return obj;
+ }
+ };
+
+ DefaultCellEditor dce2 = new DefaultCellEditor(testResult) {
+ JTable t;
+ int row;
+ int num;
+
+ @Override
+ public Component getTableCellEditorComponent(JTable paramJTable, Object paramObject, boolean paramBoolean,
+ int paramInt1, int paramInt2) {
+ // TODO Auto-generated method stub
+ t = paramJTable;
+ row = paramInt1;
+ String str = t.getValueAt(row, 12) == null ? "" : t.getValueAt(row, 12).toString();
+ num = Objects.equals(str, "") ? 0 : Integer.parseInt(str);
+ return super.getTableCellEditorComponent(paramJTable, paramObject, paramBoolean, paramInt1, paramInt2);
+ }
+
+ @Override
+ public Object getCellEditorValue() {
+ // TODO Auto-generated method stub
+
+ Object obj = super.getCellEditorValue();
+
+ if (res.containsKey(rowNo.get(row))) {
+ if (num >= res.get(rowNo.get(row)).getTimes()) {
+ res.put(rowNo.get(row), new JG(row, num, obj.toString()));
+ }
+ } else {
+ res.put(rowNo.get(row), new JG(row, num, obj.toString()));
+ }
+
+ boolean flag = false;
+ for (Entry entry : res.entrySet()) {
+ if ("不合格".equals(entry.getValue().getJg())) {
+ flag = true;
+ break;
+ }
+ }
+ if (flag) {
+ label3.setText("结论:不合格");
+ } else {
+ label3.setText("结论:合格");
+ }
+ return obj;
+ }
+ };
+
+ table.getColumn(table.getColumnName(10)).setCellEditor(dce1);
+ table.getColumn(table.getColumnName(11)).setCellEditor(dce2);
+ if (form.isCheckedOut()) {
+ table.setEnabled(true);
+ } else {
+ table.setEnabled(false);
+ }
JPanel panelLable = new JPanel();
JLabel label = new JLabel("试验费用总计:");
JLabel label2 = new JLabel();
@@ -204,8 +292,43 @@ public class CSJHForm extends AbstractRendering {
allcost += Double.valueOf(value);
}
label2.setText(allcost + "元");
+
+ label3 = new JLabel("结论:合格");
+ res = new HashMap();
+ rowNo = new HashMap();
+ String no;
+ String jg;
+ for (int i = 0; i < tables.length; i++) {
+ no = tables[i].getProperty("jd2_no");
+ rowNo.put(i, no);
+ jg = tables[i].getProperty("jd2_syjg");
+ int times = Integer.parseInt(
+ Objects.equals(tables[i].getProperty("jd2_sycs"), "") ? "0" : tables[i].getProperty("jd2_sycs"));
+ if ("完成".equals(tables[i].getProperty("jd2_syzt"))) {
+ editable.add(i);
+ }
+ if (res.containsKey(no)) {
+ if (times >= res.get(no).getTimes()) {
+ editable.add(res.get(no).getRow());
+ res.put(no, new JG(i, times, jg));
+ }
+ } else {
+ res.put(no, new JG(i, times, jg));
+ }
+ }
+
+ for (Entry entry : res.entrySet()) {
+ System.out.println(entry.getKey() + entry.getValue().getRow() + entry.getValue().getJg()
+ + entry.getValue().getTimes());
+ if ("不合格".equals(entry.getValue().getJg())) {
+ label3.setText("结论:不合格");
+ }
+ }
+
panelLable.add(label);
panelLable.add(label2);
+ panelLable.add(label3);
+
JPanel panel = new JPanel();
JScrollPane pane = new JScrollPane(table);
GridBagLayout gbl = new GridBagLayout();
@@ -243,11 +366,11 @@ public class CSJHForm extends AbstractRendering {
if (file != null) {
String filePath = file.getPath();
String fileName = file.getName();
- String[] filename = fileName.split(".");
+ String filename = fileName.substring(0, fileName.lastIndexOf("."));
System.out.println(filePath);
System.out.println(fileName);
int row = table.getSelectedRow();
- String value = (String) model.getValueAt(row, 14);
+ String value = model.getValueAt(row, 14) == null ? "" : model.getValueAt(row, 14).toString();
if (value.equals("")) {
try {
TCComponentItemType itemtype = (TCComponentItemType) session.getTypeComponent("JD2_GTCSBG");
@@ -263,7 +386,7 @@ public class CSJHForm extends AbstractRendering {
} else if (filePath.endsWith(".xlsx") || filePath.endsWith(".xlsm")) {
msType = "MSExcelX";
}
- TCComponentDataset datasetMSExcelX = datasetType.create(filename[0], "", msType);
+ TCComponentDataset datasetMSExcelX = datasetType.create(filename, "", msType);
datasetMSExcelX.setFiles(new String[] { filePath }, new String[] { "excel" });// 两参:文件路径,命名应用(text)
item.getLatestItemRevision().add("IMAN_specification", datasetMSExcelX);
model.setValueAt(item.getProperty("current_id"), row, 14);
@@ -272,15 +395,45 @@ public class CSJHForm extends AbstractRendering {
}
} else {
// 添加到数据集
+ boolean exist = false;
try {
TCComponent[] tcc = itemR.getTCProperty("JD2_CSBG").getReferenceValueArray();
for (int i = 0; i < tcc.length; i++) {
if (value.equals(tcc[i].getProperty("current_id"))) {
+ exist = true;
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" });
+ dataset.setProperty("object_name", filename);
+ item.setProperty("object_name", filename);
+ item.getLatestItemRevision().setProperty("object_name", filename);
+ }
+ }
+ if (!exist) {
+ 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, "", msType);
+ datasetMSExcelX.setFiles(new String[] { filePath }, new String[] { "excel" });// 两参:文件路径,命名应用(text)
+ item.getLatestItemRevision().add("IMAN_specification", datasetMSExcelX);
+ model.setValueAt(item.getProperty("current_id"), row, 14);
+ } catch (TCException e1) {
+ e1.printStackTrace();
}
}
} catch (TCException e1) {
@@ -303,7 +456,7 @@ public class CSJHForm extends AbstractRendering {
if (file != null) {
String filePath = file.getPath();
String fileName = file.getName();
- String[] filename = fileName.split(".");
+ String filename = fileName.substring(0, fileName.lastIndexOf("."));
System.out.println(filePath);
System.out.println(fileName);
if (value.equals("")) {
@@ -321,25 +474,52 @@ public class CSJHForm extends AbstractRendering {
} else if (filePath.endsWith(".xlsx") || filePath.endsWith(".xlsm")) {
msType = "MSExcelX";
}
- TCComponentDataset datasetMSExcelX = datasetType.create(filename[0], "", msType);
+ TCComponentDataset datasetMSExcelX = datasetType.create(filename, "", msType);
datasetMSExcelX.setFiles(new String[] { filePath }, new String[] { "excel" });// 两参:文件路径,命名应用(text)
item.getLatestItemRevision().add("IMAN_specification", datasetMSExcelX);
- model.setValueAt(item.getProperty("current_id"), row, 14);
} catch (TCException e1) {
e1.printStackTrace();
}
} else {
// 添加到数据集
+ boolean exist = false;
try {
TCComponent[] tcc = itemR.getTCProperty("JD2_CSBGHZ").getReferenceValueArray();
for (int i = 0; i < tcc.length; i++) {
if (value.equals(tcc[i].getProperty("current_id"))) {
+ exist = true;
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" });
-
+ dataset.setProperty("object_name", filename);
+ item.setProperty("object_name", filename);
+ item.getLatestItemRevision().setProperty("object_name", filename);
+ }
+ }
+ if (!exist) {
+ 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, "", msType);
+ datasetMSExcelX.setFiles(new String[] { filePath }, new String[] { "excel" });// 两参:文件路径,命名应用(text)
+ item.getLatestItemRevision().add("IMAN_specification", datasetMSExcelX);
+ } catch (TCException e1) {
+ e1.printStackTrace();
}
}
} catch (TCException e1) {
@@ -370,7 +550,7 @@ public class CSJHForm extends AbstractRendering {
chishu = "0";
}
temp[12] = String.valueOf(Integer.valueOf(chishu) + 1);
- temp[14] = (String) model.getValueAt(table.getSelectedRow(), 14);
+// 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++) {
@@ -385,6 +565,8 @@ public class CSJHForm extends AbstractRendering {
allcost2 += Double.valueOf(value);
}
label2.setText(allcost2 + "元");
+ editable.add(table.getSelectedRow());
+ rowNo.put(table.getSelectedRow() + 1, rowNo.get(table.getSelectedRow()));
});
table.addMouseListener(new MouseAdapter() {
@@ -433,6 +615,7 @@ public class CSJHForm extends AbstractRendering {
for (int i = 0; i < model.getRowCount(); i++) {
CreateIn in = new CreateIn();
Map propMap = new HashMap();
+ propMap.put("jd2_no", rowNo.get(i));
for (int j = 0; j < propNames.length; j++) {
propMap.put(propNames[j],
model.getValueAt(i, j + 1) == null ? "" : model.getValueAt(i, j + 1).toString());
@@ -464,4 +647,48 @@ public class CSJHForm extends AbstractRendering {
}
}
+ @Override
+ public boolean isRenderingModified() {
+ // TODO Auto-generated method stub
+ return form.isCheckedOut();
+ }
+
+ private class JG {
+ int row;
+ int times;
+ String jg;
+
+ public JG(int row, int times, String jg) {
+ super();
+ this.row = row;
+ this.times = times;
+ this.jg = jg;
+ }
+
+ public int getTimes() {
+ return times;
+ }
+
+ public void setTimes(int times) {
+ this.times = times;
+ }
+
+ public String getJg() {
+ return jg;
+ }
+
+ public void setJg(String jg) {
+ this.jg = jg;
+ }
+
+ public int getRow() {
+ return row;
+ }
+
+ public void setRow(int row) {
+ this.row = row;
+ }
+
+ }
+
}
diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/form/ComponentTestFrame.java b/com.connor.jd.plm/src/com/connor/jd/plm/form/ComponentTestFrame.java
index cb9114a..526e788 100644
--- a/com.connor.jd.plm/src/com/connor/jd/plm/form/ComponentTestFrame.java
+++ b/com.connor.jd.plm/src/com/connor/jd/plm/form/ComponentTestFrame.java
@@ -57,6 +57,7 @@ public class ComponentTestFrame extends JFrame {
} else {
instance.bottom = 0;
instance.form = form;
+ instance.callBack = callBack;
instance.init();
}
return instance;
@@ -194,28 +195,28 @@ public class ComponentTestFrame extends JFrame {
TCComponentItemRevision rev = (TCComponentItemRevision) form.whereReferenced()[0].getComponent();
TCComponentItemType type = (TCComponentItemType) session.getTypeComponent("Item");
- String itemId = type.getNewID();
- String itemRev = type.getNewRev(null);
- TCComponentItem item = type.create(itemId, itemRev, "JD2_GTCSJH", rev.getProperty("item_id"), "",
- null);
+ TCComponentItem item = type.create(null, null, "JD2_GTCSJH", "测试计划", "", null);
rev.add("JD2_CSJH", item);
TCComponentItemRevision rev1 = item.getLatestItemRevision();
TCComponentForm form1 = (TCComponentForm) rev1.getRelatedComponents("IMAN_master_form_rev")[0];
- String[] colNames = new String[] { "jd2_wtry", "jd2_syxm", "jd2_syts", "jd2_syzq", "jd2_syfy" };
+ String[] colNames = new String[] { "jd2_no", "jd2_wtry", "jd2_syxm", "jd2_syts", "jd2_syzq",
+ "jd2_syfy", "jd2_sycs" };
List list = new ArrayList();
- String[] row = new String[5];
+ String[] row = new String[7];
for (int i = 1; i <= bottom; i++) {
JCheckBox jb = (JCheckBox) model.getValueAt(i, 6);
if (jb.isSelected()) {
for (int ii = 2; ii < 6; ii++) {
row[ii - 2] = model.getValueAt(i, ii) == null ? "" : model.getValueAt(i, ii).toString();
}
- list.add(new String[] { session.getUserName(), row[0], row[2], row[1], row[3] });
+// TCComponentPerson p = (TCComponentPerson) session.getUser().getUserInformation().get(0);
+ list.add(new String[] { i + "", form.getTCProperty("owning_user").getUIFValue(), row[0],
+ row[2], row[1], row[3], "1" });
}
}
- String[][] data = list.toArray(new String[list.size()][5]);
+ String[][] data = list.toArray(new String[list.size()][7]);
TCTableUtil.setTableRows(form1, "jd2_csjh", "JD2_CSJHTABLE", colNames, data);
- callBack.execute(itemId);
+ callBack.execute(item.getProperty("item_id"));
dispose();
} catch (TCException e1) {
// TODO Auto-generated catch block
diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/form/ExperimentalPowerOfAttorneyForm.java b/com.connor.jd.plm/src/com/connor/jd/plm/form/ExperimentalPowerOfAttorneyForm.java
index 1c7bba7..5c0edf0 100644
--- a/com.connor.jd.plm/src/com/connor/jd/plm/form/ExperimentalPowerOfAttorneyForm.java
+++ b/com.connor.jd.plm/src/com/connor/jd/plm/form/ExperimentalPowerOfAttorneyForm.java
@@ -279,7 +279,7 @@ public class ExperimentalPowerOfAttorneyForm extends AbstractRendering implement
model.setValueAt("生效期", 1, 8);
disableEdit.add("1,8");
general.put("jd2_bh", new int[] { 0, 9 });
- general.put("jd2_sxq", new int[] { 1, 9 });
+ general.put("jd2_sxr", new int[] { 1, 9 });
model.setValueAt("委托项目:", 3, 0);
disableEdit.add("3,0");
model.setValueAt("委托部门:", 4, 0);
@@ -403,7 +403,7 @@ public class ExperimentalPowerOfAttorneyForm extends AbstractRendering implement
}
for (Entry entry : general2.entrySet()) {
if (prop.containsKey(entry.getKey())) {
- String value = model.getValueAt(entry.getValue()[0], entry.getValue()[1]).toString();
+ String value = model2.getValueAt(entry.getValue()[0], entry.getValue()[1]).toString();
try {
if (form.getTCProperty(entry.getKey()).getLOV() != null && !"".equals(value)) {
value = (String) form.getTCProperty(entry.getKey()).getLOV().getListOfValues()
@@ -456,6 +456,12 @@ public class ExperimentalPowerOfAttorneyForm extends AbstractRendering implement
System.out.println(Arrays.deepToString(dataArr));
TCTableUtil.setTableRows(form, "jd2_sywts", "JD2_SYWTS", colNames, dataArr);
}
+ try {
+ form.refresh();
+ } catch (TCException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
private boolean isEditorDisable(List list, int row, int col) {
@@ -538,7 +544,15 @@ public class ExperimentalPowerOfAttorneyForm extends AbstractRendering implement
public void execute(String itemId) {
// TODO Auto-generated method stub
int row = table.getSelectedRow();
+ System.out.println(itemId + " " + row);
model.setValueAt(itemId, row, 9);
+ table.revalidate();
+ table.repaint();
+ }
+
+ @Override
+ public boolean isRenderingModified() {
+ return form.isCheckedOut();
}
}
diff --git a/com.connor.jd.plm/src/com/connor/jd/plm/form/NewProductTestForm.java b/com.connor.jd.plm/src/com/connor/jd/plm/form/NewProductTestForm.java
new file mode 100644
index 0000000..1a820b0
--- /dev/null
+++ b/com.connor.jd.plm/src/com/connor/jd/plm/form/NewProductTestForm.java
@@ -0,0 +1,162 @@
+package com.connor.jd.plm.form;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.util.List;
+import java.util.Map;
+
+import javax.swing.BorderFactory;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTable;
+import javax.swing.SwingConstants;
+import javax.swing.table.DefaultTableCellRenderer;
+
+import com.connor.jd.plm.table.CTMap;
+import com.connor.jd.plm.table.CTable;
+import com.teamcenter.rac.kernel.TCComponent;
+import com.teamcenter.rac.kernel.TCComponentForm;
+import com.teamcenter.rac.kernel.TCException;
+import com.teamcenter.rac.stylesheet.AbstractRendering;
+
+public class NewProductTestForm extends AbstractRendering {
+ private TCComponentForm form;
+ private CTMap model1;
+ private CTMap model2;
+ private CTable table1;
+ private CTable table2;
+ private Map prop;
+ private List disableEdit;
+ private List disableEdit2;
+ private Map general;
+ private Map general2;
+
+ public NewProductTestForm(TCComponent arg0) throws Exception {
+ super(arg0);
+ if (arg0 instanceof TCComponentForm) {
+ this.form = (TCComponentForm) arg0;
+ loadRendering();
+ }
+ }
+
+ @Override
+ public void loadRendering() throws TCException {
+ this.setLayout(new BorderLayout());
+ JPanel root = new JPanel(new BorderLayout());
+ root.setPreferredSize(new Dimension(800, 500));
+ JPanel inner = new JPanel(new BorderLayout());
+
+ JLabel title = new JLabel("新品项目测试单");
+ inner.add(title, BorderLayout.NORTH);
+
+ prop = form.getProperties();
+
+ // 初始化表格
+ model1 = new CTMap(6, 4);
+ model1.setValueAt("项目信息:", 0, 0);
+ disableEdit.add("0,0");
+ model1.setValueAt("项目信息:", 0, 2);
+ disableEdit.add("0,2");
+ model1.setValueAt("项目信息:", 1, 0);
+ disableEdit.add("1,0");
+ model1.setValueAt("项目信息:", 1, 2);
+ disableEdit.add("1,2");
+ model1.setValueAt("项目信息:", 2, 0);
+ disableEdit.add("2,0");
+ model1.setValueAt("项目信息:", 2, 2);
+ disableEdit.add("2,2");
+ model1.setValueAt("项目信息:", 3, 0);
+ disableEdit.add("3,0");
+ model1.setValueAt("项目信息:", 3, 2);
+ disableEdit.add("3,2");
+ model1.setValueAt("项目信息:", 4, 0);
+ disableEdit.add("4,0");
+ model1.setValueAt("项目信息:", 4, 2);
+ disableEdit.add("4,2");
+ model1.setValueAt("项目信息:", 5, 0);
+ disableEdit.add("5,0");
+ model1.setValueAt("项目信息:", 5, 2);
+ disableEdit.add("5,2");
+ general.put("jd2_xmxx", new int[] { 0, 1 });
+ general.put("jd2_lxsj", new int[] { 0, 3 });
+ general.put("jd2_jbxh", new int[] { 1, 1 });
+ general.put("jd2_csxh", new int[] { 1, 3 });
+ general.put("jd2_cpxh", new int[] { 2, 1 });
+ general.put("jd2_xmzl", new int[] { 2, 3 });
+ general.put("jd2_cpjl", new int[] { 3, 1 });
+ general.put("jd2_cpbgd", new int[] { 3, 3 });
+ general.put("jd2_pzjl", new int[] { 4, 1 });
+ general.put("jd2_kfrc", new int[] { 4, 3 });
+ general.put("jd2_kfdj", new int[] { 5, 1 });
+ general.put("jd2_kfjd", new int[] { 5, 3 });
+
+ table1 = new CTable(model1) {
+ @Override
+ public boolean isCellEditable(int row, int col) {
+ if (isEditorDisable(disableEdit, row, col)) {
+ return false;
+ }
+ return true;
+ }
+ };
+
+ table1.setRowHeight(25);
+ table1.setBorder(BorderFactory.createLineBorder(Color.black));
+ table1.getColumnModel().getColumn(0).setPreferredWidth(100);
+ table1.getColumnModel().getColumn(1).setPreferredWidth(100);
+ table1.getColumnModel().getColumn(2).setPreferredWidth(100);
+ table1.getColumnModel().getColumn(3).setPreferredWidth(200);
+
+ DefaultTableCellRenderer tcr1 = new DefaultTableCellRenderer() {
+ // 重写方法
+ @Override
+ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
+ boolean hasFocus, int row, int column) {
+ // TODO Auto-generated method stub
+
+ if (value instanceof JPanel) {
+ return (JPanel) value;
+ }
+
+ int maxPreferredHeight = 0;
+ for (int i = 0; i < table.getColumnCount(); i++) {
+ setText("" + table.getValueAt(row, i));
+ setSize(table.getColumnModel().getColumn(column).getWidth(), 0);
+ maxPreferredHeight = Math.max(maxPreferredHeight, getPreferredSize().height);
+ }
+ setBackground(Color.white);
+// if(points1.contains(new Point(row,column)))
+// setForeground(new Color(0,0,255));
+// else
+ setForeground(Color.black);
+ if (isSelected) {
+ setBackground(new Color(0, 120, 215));
+ setForeground(Color.white);
+ }
+ if (table.getRowHeight(row) != maxPreferredHeight) // 少了这行则处理器瞎忙
+ table.setRowHeight(row, maxPreferredHeight);
+
+ setText(value == null ? "" : value.toString());
+ return this;
+ }
+ };
+ tcr1.setHorizontalAlignment(SwingConstants.CENTER);
+ table1.setAutoResizeMode(CTable.AUTO_RESIZE_NEXT_COLUMN);
+ table1.setDefaultRenderer(Object.class, tcr1);
+ inner.add(table1, BorderLayout.CENTER);
+
+ model2 = new CTMap(131, 9);
+ }
+
+ @Override
+ public void saveRendering() {
+ // TODO Auto-generated method stub
+
+ }
+
+ private boolean isEditorDisable(List list, int row, int col) {
+ return list.contains(row + "," + col);
+ }
+}