2020/1/13 测试计划修改

main
zouxk 6 years ago
parent e98e0c67c2
commit eed466075e

@ -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

@ -242,8 +242,6 @@
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_BLXCJYWPXZL"></handler>
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_BLSHZL"></handler>
<handler class="com.connor.jd.plm.handlers.QTXJCHandler" commandId="JD2_BLQTXJC"></handler>
<handler class="com.connor.jd.plm.handlers.Wf001ScheduleHandler" commandId="Schedule"></handler>
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_PROBLEM"></handler>
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_BLECN"></handler>
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_BXNDGHDG"></handler>
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_BXCPLXSQB"></handler>
@ -286,8 +284,6 @@
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_BXSHZL"></handler>
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_BXCPSHB"></handler>
<handler class="com.connor.jd.plm.handlers.QTXJCHandler" commandId="JD2_BXQTXJC"></handler>
<handler class="com.connor.jd.plm.handlers.Wf001ScheduleHandler" commandId="Schedule"></handler>
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_PROBLEM"></handler>
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_BXECN"></handler>
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_BXSJPSBG"></handler>
<handler class="com.connor.jd.plm.handlers.CreateItemHandler" commandId="JD2_BLSJPSBG"></handler>

@ -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("."));
}
}

@ -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 {

@ -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<ComponentBean> 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<Integer> editable = new ArrayList<Integer>();
private Map<String, JG> res;
private Map<Integer, String> 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<String, JG> 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<String, JG>();
rowNo = new HashMap<Integer, String>();
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<String, JG> 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<String, String> propMap = new HashMap<String, String>();
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;
}
}
}

@ -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<String[]> list = new ArrayList<String[]>();
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

@ -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<String, int[]> 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<String> 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();
}
}

@ -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<String, String> prop;
private List<String> disableEdit;
private List<String> disableEdit2;
private Map<String, int[]> general;
private Map<String, int[]> 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<String> list, int row, int col) {
return list.contains(row + "," + col);
}
}
Loading…
Cancel
Save