样品确认单功能更改

main
zouxk 5 years ago
parent be41f6e1b8
commit 4120884e8b

@ -1,11 +1,7 @@
package com.connor.jd.plm.dialogs;
import java.awt.BorderLayout;
import java.awt.Checkbox;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.HeadlessException;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.AdjustmentEvent;
@ -16,44 +12,32 @@ import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.swing.BorderFactory;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.ScrollPaneConstants;
import javax.swing.event.MenuKeyEvent;
import javax.swing.event.MenuKeyListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import com.connor.jd.plm.beans.TransformBomBean;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aif.AbstractAIFDialog;
import com.teamcenter.rac.aif.AbstractAIFUIApplication;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentBOMLine;
@ -68,8 +52,6 @@ import com.teamcenter.rac.kernel.TCTypeService;
import com.teamcenter.rac.util.ButtonLayout;
import com.teamcenter.rac.util.MessageBox;
import com.teamcenter.rac.util.PropertyLayout;
import com.teamcenter.soaictstubs.transientTicketInfo_s;
public class TransformDesignToPartDialog extends AbstractAIFDialog implements ActionListener {
private AbstractAIFApplication app;
@ -87,18 +69,20 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
private int index = 1;
private String[] types;
TCComponentBOMWindow win;
public TransformDesignToPartDialog(AbstractAIFApplication app, TCComponentBOMLine topBomline,String[] types) {
public TransformDesignToPartDialog(AbstractAIFApplication app, TCComponentBOMLine topBomline, String[] types) {
// TODO Auto-generated constructor stub
System.out.println("step:-3------------------");
comboxList = new ArrayList<>();
this.app = app;
this.session = (TCSession) app.getSession();
this.topBomline = topBomline;
this.types=types;
this.types = types;
createWindow();
initUI();
}
private void createWindow() {
try {
TCTypeService service = session.getTypeService();
@ -207,8 +191,7 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
}
/**
* @param line
* BOM
* @param line BOM
* @param node
* @throws TCException
*/
@ -264,7 +247,7 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
if (e.getSource().equals(okButton)) {
try {
System.out.println("进行转换");
if(win==null)
if (win == null)
createWindow();
createMaterialBom(topTree);
MessageBox.post("转换bom成功", "提示", MessageBox.INFORMATION);
@ -272,13 +255,13 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
} catch (TCException e1) {
// TODO Auto-generated catch block
MessageBox.post(e1.getMessage(),"转换bom失败" , MessageBox.INFORMATION);
MessageBox.post(e1.getMessage(), "转换bom失败", MessageBox.INFORMATION);
e1.printStackTrace();
}finally {
} finally {
try {
win.close();
win=null;
win = null;
} catch (TCException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
@ -296,17 +279,15 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
*
* @param wl
*//*
* private void checkSelected(String wl) { for (TransformBomBean bean :
* bomlist) { if (bean.map.containsKey(wl)) { bean.selectCount++; if
* (bean.selectCount > 1) { MessageBox.post("只能为当前图纸选择一个物料进行设计BOM的转换",
* "警告", MessageBox.WARNING); return; }
* System.out.println(bean.displayName + "选中显示名");
* System.out.println(checkBoxTreeNodelMap.containsKey(bean.displayName)
* ); checkBoxTreeNodelMap.get(bean.displayName).setSelected(true);
* findInTree(bean.displayName); TransformBomBean bean1 =
* (TransformBomBean)
* checkBoxTreeNodelMap.get(bean.displayName).getUserObject();
* bean1.selectRev = (TCComponentItemRevision) bean.map.get(wl); } } }
* private void checkSelected(String wl) { for (TransformBomBean bean : bomlist)
* { if (bean.map.containsKey(wl)) { bean.selectCount++; if (bean.selectCount >
* 1) { MessageBox.post("只能为当前图纸选择一个物料进行设计BOM的转换", "警告", MessageBox.WARNING);
* return; } System.out.println(bean.displayName + "选中显示名");
* System.out.println(checkBoxTreeNodelMap.containsKey(bean.displayName) );
* checkBoxTreeNodelMap.get(bean.displayName).setSelected(true);
* findInTree(bean.displayName); TransformBomBean bean1 = (TransformBomBean)
* checkBoxTreeNodelMap.get(bean.displayName).getUserObject(); bean1.selectRev =
* (TCComponentItemRevision) bean.map.get(wl); } } }
*/
/**
@ -314,8 +295,8 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
*
* @param wl
*//*
* private void checkDisSelected(String wl) { for (TransformBomBean bean
* : bomlist) { if (bean.map.containsKey(wl)) { bean.selectCount--;
* private void checkDisSelected(String wl) { for (TransformBomBean bean :
* bomlist) { if (bean.map.containsKey(wl)) { bean.selectCount--;
* checkBoxTreeNodelMap.get(bean.displayName).setSelected(false); } } }
*/
@ -331,8 +312,8 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
TCComponentItemRevision materialRev = bean.selectRev;
// 存在已经发布的物料的bom
/*
* if (WXMethodUtil.isRevBomReleased(materialRev)) {
* System.out.println("发布"); return; }
* if (WXMethodUtil.isRevBomReleased(materialRev)) { System.out.println("发布");
* return; }
*/
if (isLoopBom(node)) {
@ -361,7 +342,9 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
}
}
}
createBom(materialRev, childrenList, null, quantityList);
}
private TreePath findInPath(TreePath treePath, String str) {
@ -409,8 +392,8 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
if (line == null) {
return null;
}
AIFComponentContext[] aifContext = line.getItemRevision().whereReferencedByTypeRelation(
types, new String[] { "TC_Is_Represented_By" });
AIFComponentContext[] aifContext = line.getItemRevision().whereReferencedByTypeRelation(types,
new String[] { "TC_Is_Represented_By" });
if (aifContext == null || aifContext.length == 0) {
return new String[] { "" };
} else {
@ -457,7 +440,9 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
childbox.setSelectedIndex(-1);
childbox.setEditable(true);
if (childbox.getItemCount() <= 2 && !childbox.getItemAt(1).equals("")) {
System.out.println("bomRef====>" + Arrays.toString(bomRef));
if (childbox.getItemCount() <= 2 && !(childbox.getItemAt(1) == null || "".equals(childbox.getItemAt(1)))) {
childbox.setSelectedIndex(1);
childbox.setEditable(false);
childNode.setSelected(true);
@ -551,6 +536,7 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
System.out.println("执行判断" + rev.getProperty("object_name"));
if (rev != null && isRevBomReleased(rev)) {
setUnable(childNode);
System.out.println(rev.getProperty("object_name") + "已发布");
return true;
} else {
restoreSelect(childNode);
@ -645,6 +631,7 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
/**
*
*
* @param node
* @return
*/
@ -662,6 +649,7 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
/**
* ,
*
* @param node
* @param loopSet
* @return
@ -683,10 +671,7 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
}
}
public void getAllBomItemByBomline(TCComponentBOMLine line, List<TCComponentItem> itemList)
throws TCException {
public void getAllBomItemByBomline(TCComponentBOMLine line, List<TCComponentItem> itemList) throws TCException {
if (line == null) {
return;
}
@ -698,10 +683,6 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
}
}
/**
* bom
*
@ -733,8 +714,12 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
}
for (int i = 0; i < childRevList.size(); i++) {
TCComponentItemRevision rev = childRevList.get(i);
System.out.println("object_string====>" + rev.getProperty("object_string"));
line.lock();
System.out.println("line object_string=====>" + line.getItemRevision().getProperty("object_string"));
session.getUserService().call("bs_bypass", new Object[] { true });
TCComponentBOMLine childBomLine = line.add(rev.getItem(), rev, null, false, "");
session.getUserService().call("bs_bypass", new Object[] { false });
line.save();
line.unlock();
@ -745,31 +730,27 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
childBomLine.unlock();
}
}
try {
win.save();
}catch(Exception e) {
TCComponent[] comps=parentRev.getTCProperty("structure_revisions").getReferenceValueArray();
if(comps.length>0) {
} catch (Exception e) {
TCComponent[] comps = parentRev.getTCProperty("structure_revisions").getReferenceValueArray();
if (comps.length > 0) {
parentRev.remove("structure_revisions", comps[0]);
comps[0].lock();
comps[0].delete();;
comps[0].delete();
;
}
e.printStackTrace();
throw e;
}finally {
} finally {
win.unlock();
win.close();
}
}
/**
*
*
@ -823,7 +804,7 @@ public class TransformDesignToPartDialog extends AbstractAIFDialog implements Ac
// if(line.getChildren().length!=0){
// isReleased = true;
// }
if ( isRevHadBom(rev)) {
if (isRevHadBom(rev)) {
TCComponentBOMViewRevision bvr = win.askBvr();
if (bvr != null) {
TCComponent[] status = bvr.getReferenceListProperty("release_status_list");

@ -6,13 +6,13 @@ import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Image;
import java.awt.ScrollPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@ -21,7 +21,6 @@ import java.util.Map;
import java.util.Map.Entry;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
@ -43,6 +42,7 @@ import com.connor.jd.plm.table.JRadioPanel;
import com.connor.jd.plm.table.MyCellEditor;
import com.connor.jd.plm.table.MyCellEditor1;
import com.connor.jd.plm.table.MyCellEditor2;
import com.connor.jd.plm.table.MyComboBoxRenderer;
import com.connor.jd.plm.table.TCTableUtil;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
@ -51,9 +51,11 @@ import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentDataset;
import com.teamcenter.rac.kernel.TCComponentDatasetType;
import com.teamcenter.rac.kernel.TCComponentForm;
import com.teamcenter.rac.kernel.TCComponentICO;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.kernel.ics.ICSProperty;
import com.teamcenter.rac.stylesheet.AbstractRendering;
public class SampleConfirmationForm extends AbstractRendering {
@ -109,7 +111,10 @@ public class SampleConfirmationForm extends AbstractRendering {
private JMenuItem addR2;
private JMenuItem insertR2;
private JMenuItem delR2;
private JMenuItem addF;
private JMenuItem delF;
private TCComponentItemRevision rev;
private String[][] dataStore = new String[8][13];
public SampleConfirmationForm(TCComponent arg0) throws Exception {
super(arg0);
@ -290,6 +295,59 @@ public class SampleConfirmationForm extends AbstractRendering {
}
table3.addMouseListener(rightClick3());
// 属性映射
prop = form.getProperties();
AIFComponentContext[] parents = rev.whereReferenced();
TCComponentItemRevision parentRev = null;
for (AIFComponentContext aif : parents) {
try {
System.out.println(aif.getComponent().getProperty("object_string"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (aif.getComponent() instanceof TCComponentItemRevision) {
parentRev = (TCComponentItemRevision) aif.getComponent();
}
}
if (parentRev != null) {
String partName = parentRev.getProperty("object_name");
System.out.println(partName);
if (prop.containsKey("jd2_ljm")) {
form.setProperty("jd2_ljm", partName);
}
String materialCode = parentRev.getProperty("item_id");
System.out.println(materialCode);
if (prop.containsKey("jd2_wlbm")) {
form.setProperty("jd2_wlbm", materialCode);
}
TCComponent[] drawings = parentRev.getReferenceListProperty("TC_Is_Represented_By");
if (drawings != null && drawings.length > 0) {
TCComponentItemRevision drawingRev = (TCComponentItemRevision) drawings[0];
String drawingId = drawingRev.getProperty("item_id");
System.out.println(drawingId);
if (prop.containsKey("jd2_th")) {
form.setProperty("jd2_th", drawingId);
}
}
if (parentRev.getClassificationObjects() != null && parentRev.getClassificationObjects().length > 0) {
TCComponentICO ico = parentRev.getClassificationObjects()[0];
ICSProperty[] parentICSProps = ico.getICSProperties(true);
for (int i = 0; i < parentICSProps.length; i++) {
if (parentICSProps[i].getId() == 1050) {
if (prop.containsKey("jd2_ljywm")) {
form.setProperty("jd2_ljywm", parentICSProps[i].getValue());
}
}
if (parentICSProps[i].getId() == 1058) {
if (prop.containsKey("jd2_gg")) {
form.setProperty("jd2_gg", parentICSProps[i].getValue());
}
}
}
}
}
// 填写数据
prop = form.getProperties();
for (Entry<String, int[]> entry : general.entrySet()) {
@ -300,6 +358,7 @@ public class SampleConfirmationForm extends AbstractRendering {
System.out.println("属性‘" + entry.getKey() + "’未找到");
}
}
for (Entry<String, int[]> entry : general3.entrySet()) {
if (prop.containsKey(entry.getKey())) {
model3.setValueAt(prop.get(entry.getKey()), entry.getValue()[0], entry.getValue()[1]);
@ -325,8 +384,8 @@ public class SampleConfirmationForm extends AbstractRendering {
if (prop.containsKey(entry.getKey())) {
TCComponent comp = null;
try {
if (!"".equals(prop.get(entry.getKey()))) {
comp = session.stringToComponent(prop.get(entry.getKey()));
if (comp != null) {
TCComponentDataset dataset = (TCComponentDataset) comp;
String temp = System.getenv("temp");
System.out.println(temp);
@ -336,21 +395,27 @@ public class SampleConfirmationForm extends AbstractRendering {
File img = dataset.getFiles(types[0], temp)[0];
System.out.println(img.getPath());
ImageIcon icon = new ImageIcon(img.getPath());
// ImageIcon icon = new ImageIcon(img.getPath());
int[] arr = model3.getSpan(row, col);
int width = 0;
for (int i = 0; i < arr[1]; i++) {
// int width = 0;
// for (int i = 0; i < arr[1]; i++) {
// width+=table3.getColumnModel().getColumn()
}
// }
System.out.println("row:" + arr[0] + ",col:" + arr[1]);
icon.setImage(icon.getImage().getScaledInstance(
table3.getColumnModel().getColumn(col).getPreferredWidth() * arr[1],
table3.getRowHeight() * arr[0], Image.SCALE_SMOOTH));
// icon.setImage(icon.getImage().getScaledInstance(
// table3.getColumnModel().getColumn(col).getPreferredWidth() * arr[1],
// table3.getRowHeight() * arr[0], Image.SCALE_SMOOTH));
JLabel label = new JLabel();
label.setLayout(new FlowLayout(FlowLayout.CENTER));
label.setIcon(icon);
// label.setIcon(icon);
label.setForeground(new Color(0xff0078D7));
label.setText(img.getName());
if ("jd2_icqjyzds".equals(entry.getKey())) {
label.addMouseListener(showFile(dataset));
} else {
label.addMouseListener(showImg(img.getPath()));
}
label.setToolTipText(dataset.getUid());
model3.setValueAt(label, row, col);
} else {
@ -382,6 +447,7 @@ public class SampleConfirmationForm extends AbstractRendering {
}
if (ii == tableRows[0].length - 1) {
JComboBox<String> jgComBox = new JComboBox<String>();
jgComBox.setRenderer(new MyComboBoxRenderer());
for (Entry<String, String> entry : jgItems.entrySet()) {
jgComBox.addItem(entry.getKey());
}
@ -578,6 +644,14 @@ public class SampleConfirmationForm extends AbstractRendering {
delP.setEnabled(false);
menu3.add(delP);
delP.addActionListener(delPic());
addF = new JMenuItem("上传文件");
addF.setEnabled(false);
menu3.add(addF);
addF.addActionListener(addFile());
delF = new JMenuItem("删除文件");
delF.setEnabled(false);
menu3.add(delF);
delF.addActionListener(delFile());
// 检验单右键菜单
menu2.setVisible(false);
@ -651,13 +725,17 @@ public class SampleConfirmationForm extends AbstractRendering {
model.setValueAt("分类", 6, 14);
disableEdit.add("6,14");
fl = new JComboBox<String>();
fl.setRenderer(new MyComboBoxRenderer());
try {
if (form.getTCProperty("jd2_fl") != null) {
String[] items = form.getTCProperty("jd2_fl").getLOV().getListOfValues().getLOVDisplayValues();
for (String s : items) {
fl.addItem(s);
}
fl.setSelectedItem(form.getProperty("jd2_fl"));
model.setValueAt(fl, 6, 17);
}
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@ -672,13 +750,17 @@ public class SampleConfirmationForm extends AbstractRendering {
model.setValueAt("状态", 7, 14);
disableEdit.add("7,14");
zt = new JComboBox<String>();
zt.setRenderer(new MyComboBoxRenderer());
try {
if (form.getTCProperty("jd2_zt") != null) {
String[] items = form.getTCProperty("jd2_zt").getLOV().getListOfValues().getLOVDisplayValues();
for (String s : items) {
zt.addItem(s);
}
zt.setSelectedItem(form.getProperty("jd2_zt"));
model.setValueAt(zt, 7, 17);
}
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@ -686,13 +768,17 @@ public class SampleConfirmationForm extends AbstractRendering {
model.setValueAt("部品等级", 8, 0);
disableEdit.add("8,0");
bpdj = new JComboBox<String>();
bpdj.setRenderer(new MyComboBoxRenderer());
try {
if (form.getTCProperty("jd2_bpdj") != null) {
String[] items = form.getTCProperty("jd2_bpdj").getLOV().getListOfValues().getLOVDisplayValues();
for (String s : items) {
bpdj.addItem(s);
}
bpdj.setSelectedItem(form.getProperty("jd2_bpdj"));
model.setValueAt(bpdj, 8, 2);
}
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@ -728,7 +814,8 @@ public class SampleConfirmationForm extends AbstractRendering {
disableEdit.add(top + ",19");
model.setValueAt("规格", top + 1, 1);
disableEdit.add(top + 1 + ",1");
model.setValueAt("¹«²î", top + 1, 5);
model.setValueAt("上公差", top + 1, 5);
model.setValueAt("下公差", top + 1, 6);
disableEdit.add(top + 1 + ",5");
for (int i = 1; i < 11; i++) {
model.setValueAt("#" + i, top + 1, i + 6);
@ -744,6 +831,7 @@ public class SampleConfirmationForm extends AbstractRendering {
disableEdit.add(i + ",0");
model.combine(new int[] { i }, new int[] { 2, 3, 4 });
JComboBox<String> jgComBox = new JComboBox<String>();
jgComBox.setRenderer(new MyComboBoxRenderer());
for (Entry<String, String> entry : jgItems.entrySet()) {
jgComBox.addItem(entry.getKey());
}
@ -798,8 +886,6 @@ public class SampleConfirmationForm extends AbstractRendering {
model.combine(new int[] { top }, new int[] { 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 });
model.combine(new int[] { top, top + 1 }, new int[] { 19 });
model.combine(new int[] { top + 1 }, new int[] { 1, 2, 3, 4 });
model.combine(new int[] { top + 1 }, new int[] { 5, 6 });
}
private void initModel3() {
@ -834,6 +920,7 @@ public class SampleConfirmationForm extends AbstractRendering {
general3.put("jd2_lq", new int[] { 2, 7 });
general3.put("jd2_baoz", new int[] { 2, 8 });
pic.put("jd2_gfzjbg", new int[] { 2, 9 });
// pic.put("user_data_2", new int[] { 2, 9 });
pic.put("jd2_gfzyzds", new int[] { 2, 12 });
pic.put("jd2_gfqcgct", new int[] { 2, 15 });
pic.put("jd2_wlbzjbq", new int[] { 2, 18 });
@ -868,16 +955,21 @@ public class SampleConfirmationForm extends AbstractRendering {
model3.setValueAt("IQC作业指导书", 9, 4);
disableEdit3.add(9 + ",4");
pic.put("jd2_icqjyzds", new int[] { 10, 4 });
// pic.put("user_data_1", new int[] { 10, 4 });
model3.setValueAt("决定", 11, 12);
disableEdit3.add(11 + ",12");
jued = new JComboBox<String>();
jued.setRenderer(new MyComboBoxRenderer());
try {
if (form.getTCProperty("jd2_jued") != null) {
String[] items = form.getTCProperty("jd2_jued").getLOV().getListOfValues().getLOVDisplayValues();
for (String s : items) {
jued.addItem(s);
}
jued.setSelectedItem(form.getProperty("jd2_jued"));
model3.setValueAt(jued, 11, 15);
}
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@ -1120,6 +1212,19 @@ public class SampleConfirmationForm extends AbstractRendering {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("confirm");
for (int i = 2; i < 10; i++) {
for (int ii = 1; ii < 14; ii++) {
String temp = table2.getValueAt(ii, i) == null ? "" : table2.getValueAt(ii, i).toString();
table.setValueAt(temp, top + i, ii + 1 > 2 ? ii + 3 : ii + 1);
}
}
for (int i = 2; i < 10; i++) {
table.getColumnModel().getColumn(10).getCellEditor().getTableCellEditorComponent(table,
table.getValueAt(top + i, 10), true, top + i, 10);
table.getColumnModel().getColumn(10).getCellEditor().stopCellEditing();
}
table.revalidate();
table.repaint();
cl.show(center, "confirm");
}
};
@ -1133,6 +1238,26 @@ public class SampleConfirmationForm extends AbstractRendering {
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println("examine");
for (int i = 1; i < 9; i++) {
for (int ii = 2; ii < 15; ii++) {
String temp = table.getValueAt(top + 1 + i, ii > 2 ? ii + 2 : ii) == null ? ""
: table.getValueAt(top + 1 + i, ii > 2 ? ii + 2 : ii).toString();
table2.setValueAt(temp, ii - 1, i + 1);
}
}
for (int i = 2; i < 10; i++) {
table2.getColumnModel().getColumn(i).getCellEditor().getTableCellEditorComponent(table2,
table2.getValueAt(2, i), true, 2, i);
table2.getColumnModel().getColumn(i).getCellEditor().stopCellEditing();
table2.getColumnModel().getColumn(i).getCellEditor().getTableCellEditorComponent(table2,
table2.getValueAt(3, i), true, 3, i);
table2.getColumnModel().getColumn(i).getCellEditor().stopCellEditing();
table2.getColumnModel().getColumn(i).getCellEditor().getTableCellEditorComponent(table2,
table2.getValueAt(4, i), true, 4, i);
table2.getColumnModel().getColumn(i).getCellEditor().stopCellEditing();
}
table2.revalidate();
table2.repaint();
cl.show(center, "examine");
}
};
@ -1189,6 +1314,14 @@ public class SampleConfirmationForm extends AbstractRendering {
}
addP.setEnabled(flag);
delP.setEnabled(flag);
addF.setEnabled(false);
delF.setEnabled(false);
if (pic.get("jd2_icqjyzds")[0] == row && pic.get("jd2_icqjyzds")[1] == col) {
addF.setEnabled(true);
delF.setEnabled(true);
addP.setEnabled(false);
delP.setEnabled(false);
}
menu3.show(e.getComponent(), e.getX(), e.getY());
}
@ -1236,7 +1369,7 @@ public class SampleConfirmationForm extends AbstractRendering {
rev.add("IMAN_specification", dataset);
String uid = dataset.getUid();
System.out.println("uid:" + uid);
ImageIcon icon = new ImageIcon(file.getPath());
// ImageIcon icon = new ImageIcon(file.getPath());
int row = table3.getSelectedRow();
int col = table3.getSelectedColumn();
String str = ((JLabel) model3.getValueAt(row, col)).getToolTipText();
@ -1252,12 +1385,14 @@ public class SampleConfirmationForm extends AbstractRendering {
}
int[] arr = model3.getSpan(row, col);
System.out.println("row:" + arr[0] + ",col:" + arr[1]);
icon.setImage(icon.getImage().getScaledInstance(
table3.getColumnModel().getColumn(col).getPreferredWidth() * arr[1],
table3.getRowHeight() * arr[0], Image.SCALE_SMOOTH));
// icon.setImage(icon.getImage().getScaledInstance(
// table3.getColumnModel().getColumn(col).getPreferredWidth() * arr[1],
// table3.getRowHeight() * arr[0], Image.SCALE_SMOOTH));
JLabel label = new JLabel();
label.setLayout(new FlowLayout(FlowLayout.CENTER));
label.setIcon(icon);
// label.setIcon(icon);
label.setText(file.getName());
label.setForeground(new Color(0xff0078D7));
label.addMouseListener(showImg(file.getPath()));
label.setToolTipText(uid);
model3.setValueAt(label, table3.getSelectedRow(), table3.getSelectedColumn());
@ -1293,7 +1428,7 @@ public class SampleConfirmationForm extends AbstractRendering {
e1.printStackTrace();
}
}
model3.setValueAt(new JLabel(""), row, col);
((JLabel) model3.getValueAt(row, col)).setText("");
table3.revalidate();
table3.repaint();
}
@ -1447,4 +1582,119 @@ public class SampleConfirmationForm extends AbstractRendering {
};
return adapter;
}
private MouseAdapter showFile(TCComponentDataset dataset) {
MouseAdapter adapter = new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
try {
dataset.open();
} catch (TCException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
};
return adapter;
}
private ActionListener addFile() {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileChooser.setMultiSelectionEnabled(false);
fileChooser.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
// TODO Auto-generated method stub
return "(文档,表格)*.doc;*.docx;*.xls;*.xlsx;";
}
@Override
public boolean accept(File var1) {
// TODO Auto-generated method stub
return var1.getName().endsWith(".doc") || var1.getName().endsWith(".docx")
|| var1.getName().endsWith(".xls") || var1.getName().endsWith(".xlsx");
}
});
fileChooser.showOpenDialog(menu3);// 参数表示定位
File file = fileChooser.getSelectedFile();
if (file != null) {
System.out.println("fileName:" + file.getName());
String as1[] = { file.getPath() };// 文件的物理路径
String as2[] = new String[1];
String type = "";
if (file.getName().endsWith(".doc")) {
as2[0] = "word";
type = "MSWord";
} else if (file.getName().endsWith(".docx")) {
as2[0] = "word";
type = "MSWordX";
} else if (file.getName().endsWith(".xls")) {
as2[0] = "excel";
type = "MSExcel";
} else if (file.getName().endsWith(".xlsx")) {
as2[0] = "excel";
type = "MSExcelX";
}
TCComponentDatasetType datasetType;
try {
datasetType = (TCComponentDatasetType) session.getTypeComponent("Dataset");
TCComponentDataset dataset = datasetType.create(file.getName(), "", type);
dataset.setFiles(as1, as2);
TCComponent[] comps = form.getRelatedComponents();
rev.add("IMAN_specification", dataset);
String uid = dataset.getUid();
System.out.println("uid:" + uid);
// ImageIcon icon = new ImageIcon(file.getPath());
int row = table3.getSelectedRow();
int col = table3.getSelectedColumn();
String str = ((JLabel) model3.getValueAt(row, col)).getToolTipText();
if (str != null && !"".equals(str)) {
try {
TCComponentDataset oldDataset = (TCComponentDataset) session.stringToComponent(str);
rev.cutOperation("IMAN_specification", new TCComponent[] { oldDataset });
oldDataset.delete();
} catch (TCException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
int[] arr = model3.getSpan(row, col);
System.out.println("row:" + arr[0] + ",col:" + arr[1]);
// icon.setImage(icon.getImage().getScaledInstance(
// table3.getColumnModel().getColumn(col).getPreferredWidth() * arr[1],
// table3.getRowHeight() * arr[0], Image.SCALE_SMOOTH));
JLabel label = new JLabel();
label.setLayout(new FlowLayout(FlowLayout.CENTER));
// label.setIcon(icon);
label.setText(file.getName());
label.setForeground(new Color(0xff0078D7));
label.addMouseListener(showFile(dataset));
label.setToolTipText(uid);
model3.setValueAt(label, table3.getSelectedRow(), table3.getSelectedColumn());
table3.revalidate();
table3.repaint();
} catch (TCException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
};
}
private ActionListener delFile() {
return delPic();
}
}

@ -22,6 +22,8 @@ public class MyCellEditor1 extends DefaultCellEditor {
private double low = 0.0;
private double up = 0.0;
private int cnt = 0;
private int lowCnt = 0;
private int upCnt = 0;
public MyCellEditor1(JTextField paramJTextField) {
super(paramJTextField);
@ -95,21 +97,24 @@ public class MyCellEditor1 extends DefaultCellEditor {
if (row == 2) {
if (now != null && !"".equals(now.toString().trim())) {
low = Double.parseDouble(now.toString().trim());
cnt++;
lowCnt = 1;
} else {
low = 0.0;
cnt--;
lowCnt = 0;
}
}
if (row == 3) {
if (now != null && !"".equals(now.toString().trim())) {
up = Double.parseDouble(now.toString().trim());
cnt++;
upCnt = 1;
} else {
up = 0.0;
cnt--;
upCnt = 0;
}
}
cnt = lowCnt + upCnt;
System.out.println("lowCnt===>" + lowCnt);
System.out.println("upCnt====>" + upCnt);
for (int i = top; i < row && i <= bottom; i++) {
obj = table.getModel().getValueAt(i, col);
if (obj != null && !"".equals(obj.toString().trim())) {
@ -119,12 +124,22 @@ public class MyCellEditor1 extends DefaultCellEditor {
if (row >= top && row <= bottom && now != null && !"".equals(now.toString().trim())) {
data.add(Double.parseDouble(now.toString().trim()));
}
if (row + 1 >= top) {
for (int i = row + 1; i <= bottom; i++) {
obj = table.getModel().getValueAt(i, col);
if (obj != null && !"".equals(obj.toString().trim())) {
data.add(Double.parseDouble(obj.toString().trim()));
}
}
} else {
for (int i = top; i <= bottom; i++) {
obj = table.getModel().getValueAt(i, col);
if (obj != null && !"".equals(obj.toString().trim())) {
data.add(Double.parseDouble(obj.toString().trim()));
}
}
}
System.out.println(Arrays.toString(data.toArray()));
double sum = 0;

@ -0,0 +1,24 @@
package com.connor.jd.plm.table;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
import javax.swing.SwingConstants;
public class MyComboBoxRenderer extends JLabel implements ListCellRenderer {
public MyComboBoxRenderer() {
setOpaque(true);
}
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
boolean cellHasFocus) {
setBackground(isSelected ? new Color(0xff0078D7) : Color.WHITE);
setHorizontalAlignment(SwingConstants.CENTER);
setText(value.toString());
return this;
}
}
Loading…
Cancel
Save