diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/ChooseUuidDialog.java b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/ChooseUuidDialog.java index 004720b..27368e6 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/ChooseUuidDialog.java +++ b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/ChooseUuidDialog.java @@ -18,7 +18,14 @@ import com.teamcenter.rac.aif.AbstractAIFDialog; import com.teamcenter.rac.util.MessageBox; import javafx.scene.control.TableView; - +/** + * 功能描述: UUID选择窗口 + * 创建日期:2024-09-06 + * @author 李冬阳 + * + * 修改日期 修改人 修改描述 + * 2024-09-06 李冬阳 新增 + */ public class ChooseUuidDialog extends AbstractAIFDialog { /** * diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java index b770c1c..aaa7061 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java +++ b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java @@ -235,8 +235,26 @@ public class CreateEcnController extends KFXPanelController { } if (target.getType().equals("ZT2_Change")) { TCComponentItem item = (TCComponentItem) target; - setItemProperty(item, changeName); - + try { + setItemProperty(item, changeName); + } catch (Exception e1) { + e1.printStackTrace(); + String err = Util.getStackTrace(e1); + err = err.substring(0, err.indexOf("\n\tat")).replace("输入字符串过长", "输入的内容过长,请缩减内容"); + if (err.contains("无法设置属性 更改前")) { + showAlertBox("更改单生成异常:" + err + "\n" + + " 【更改前】【更改后】字符总数不能超过256个字符\n (一个中文字=2个字符,1个标点或者英文=1个字符)", + "保存异常", AlertType.INFORMATION); + } else if (err.contains("无法设置属性 更改后")) { + showAlertBox("更改单生成异常:" + err + "\n" + + " 【更改前】【更改后】字符总数不能超过256个字符 \n (一个中文字=2个字符,1个标点或者英文=1个字符)", + "保存异常", AlertType.INFORMATION); + } else { + showAlertBox("更改单生成异常:" + err, "保存异常", AlertType.INFORMATION); + } +// item.delete(); + return; + } String type = item.getProperty("zt2_Template"); TCComponentDataset dataset = null; File file = null; @@ -273,21 +291,21 @@ public class CreateEcnController extends KFXPanelController { } catch (Exception e1) { e1.printStackTrace(); flag = false; - if (e1.getMessage().contains("无法设置属性 更改前")) { - MessageBox.post( - "更改单生成异常:" + e1.getMessage() + "\n" + String err = Util.getStackTrace(e1); + err = err.substring(0, err.indexOf("\n\tat")).replace("输入字符串过长", "输入的内容过长,请缩减内容"); + if (err.contains("无法设置属性 更改前")) { + showAlertBox("更改单生成异常:" + err + "\n" + " 【更改前】【更改后】字符总数不能超过256个字符\n (一个中文字=2个字符,1个标点或者英文=1个字符)", - "保存异常", MessageBox.INFORMATION); - } else if (e1.getMessage().contains("无法设置属性 更改后")) { - MessageBox.post( - "更改单生成异常:" + e1.getMessage() + "\n" + "保存异常", AlertType.INFORMATION); + } else if (err.contains("无法设置属性 更改后")) { + showAlertBox("更改单生成异常:" + err + "\n" + " 【更改前】【更改后】字符总数不能超过256个字符 \n (一个中文字=2个字符,1个标点或者英文=1个字符)", - "保存异常", MessageBox.INFORMATION); + "保存异常", AlertType.INFORMATION); } else { - MessageBox.post("更改单生成异常:" + e1.getMessage(), "保存异常", MessageBox.INFORMATION); + showAlertBox("更改单生成异常:" + err, "保存异常", AlertType.INFORMATION); } item.delete(); - + return; } if (flag) { TCComponent targetFolder = getTargetFolder(target); @@ -319,21 +337,23 @@ public class CreateEcnController extends KFXPanelController { } catch (Exception e1) { e1.printStackTrace(); flag = false; - if (e1.getMessage().contains("无法设置属性 更改前")) { - MessageBox.post( - "更改单生成异常:" + e1.getMessage() + "\n" + String err = Util.getStackTrace(e1); +// System.out.println("err:" + err); + err = err.substring(0, err.indexOf("\n\tat")).replace("输入字符串过长", "输入的内容过长,请缩减内容"); +// System.out.println("err:" + err); + if (err.contains("无法设置属性 更改前")) { + showAlertBox("更改单生成异常:" + err + "\n" + " 【更改前】【更改后】字符总数不能超过256个字符\n (一个中文字=2个字符,1个标点或者英文=1个字符)", - "保存异常", MessageBox.INFORMATION); - } else if (e1.getMessage().contains("无法设置属性 更改后")) { - MessageBox.post( - "更改单生成异常:" + e1.getMessage() + "\n" + "保存异常", AlertType.INFORMATION); + } else if (err.contains("无法设置属性 更改后")) { + showAlertBox("更改单生成异常:" + err + "\n" + " 【更改前】【更改后】字符总数不能超过256个字符 \n (一个中文字=2个字符,1个标点或者英文=1个字符)", - "保存异常", MessageBox.INFORMATION); + "保存异常", AlertType.INFORMATION); } else { - MessageBox.post("更改单生成异常:" + e1.getMessage(), "保存异常", MessageBox.INFORMATION); + showAlertBox("更改单生成异常:" + err, "保存异常", AlertType.INFORMATION); } item.delete(); - + return; } if (flag) { target.add("contents", new TCComponent[] { item }); @@ -1588,10 +1608,13 @@ public class CreateEcnController extends KFXPanelController { * @param type 类型 */ private void showAlertBox(String msg, String title, AlertType type) { + System.out.println("Alert:" + msg); Alert alert = new Alert(type); alert.setTitle(title); - alert.setHeaderText(msg); - //alert.setContentText("导入完成"); + if(msg.contains("\n")) + alert.setContentText(msg); + else + alert.setHeaderText(msg); alert.showAndWait(); } } diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/EditTextDialog.java b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/EditTextDialog.java new file mode 100644 index 0000000..f980ed9 --- /dev/null +++ b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/EditTextDialog.java @@ -0,0 +1,103 @@ +package com.chint.plm.createEcn; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.List; + +import javax.swing.JButton; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; + +import com.teamcenter.rac.aif.AbstractAIFDialog; + +import javafx.scene.control.TableView; +/** + * 功能描述: 长文本内容弹窗查看编辑 + * 创建日期:2024-12-02 + * @author 李冬阳 + * + * 修改日期 修改人 修改描述 + * 2024-12-02 李冬阳 新增 + */ +public class EditTextDialog extends AbstractAIFDialog { + /** + * + */ + private static final long serialVersionUID = 1L; + private JTextArea textArea; + private JButton okBtn; + private JButton cancelBtn; + private TableView refTable; + private List refTableBeans; + private int row; + private boolean before; + + public EditTextDialog(CreateEcnFrame parent, TableView refTable, int row, List refTableBeans, + boolean before, boolean edit) { + super(parent, true); + + this.refTable = refTable; + this.refTableBeans = refTableBeans; + this.row = row; + this.before = before; + + initUI(edit); + } + + private void initUI(boolean edit) { + + textArea = new JTextArea(); + textArea.setWrapStyleWord(true); + textArea.setEditable(edit); + + JPanel panel = new JPanel(new FlowLayout()); + okBtn = new JButton("确定"); + cancelBtn = new JButton("取消"); + panel.add(okBtn); + panel.add(cancelBtn); + + okBtn.setEnabled(edit); + + addActionListener(); + + this.setLayout(new BorderLayout()); + this.add(BorderLayout.CENTER, new JScrollPane(textArea)); + this.add(BorderLayout.SOUTH, panel); + this.setPreferredSize(new Dimension(1400, 400)); + Dimension screen = getToolkit().getScreenSize(); + setLocation((screen.width - getSize().width) / 2, (screen.height - getSize().height) / 2); + setAlwaysOnTop(true); + this.setAlwaysOnTop(true); + } + + public void run(){ + showDialog(); + } + + private void addActionListener() { + //final Shell dialog = shell; + okBtn.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent arg0) { + if(before) { + refTableBeans.get(EditTextDialog.this.row).getOverChange().setText(textArea.getText()); + }else { + refTableBeans.get(EditTextDialog.this.row).getAfterChange().setText(textArea.getText()); + } + refTable.refresh(); + dispose(); + } + }); + + cancelBtn.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent arg0) { + dispose(); + } + }); + } +} \ No newline at end of file diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/Util.java b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/Util.java index 3582461..96633c9 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/Util.java +++ b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/Util.java @@ -490,4 +490,17 @@ public class Util { * FileOutputStream(file.getAbsolutePath()); workBook.write(fos); fos.flush(); * fos.close(); fis.close(); } */ + /** + * 获取异常信息 + * + * @param e 异常 + * @return 异常详细信息 + */ + public static String getStackTrace(Exception e) { + StringBuilder rError = new StringBuilder("" + e.toString()); + for(StackTraceElement ste : e.getStackTrace()) { + rError.append("\n\tat " + ste.toString()); + } + return rError.toString(); + } }