From 90763f2a442c07ff0230668b66109d6d2937aafe Mon Sep 17 00:00:00 2001 From: lijh Date: Wed, 17 Apr 2024 16:01:19 +0800 Subject: [PATCH] =?UTF-8?q?bom=E4=BC=98=E5=8C=96bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StandardBOM/DYStandardBOMController.java | 41 +++++++----- .../sap2/StandardBOM/DYStandardBOMDialog.java | 1 + .../sap2/StandardBOM/DYStandardBomBean.java | 17 ++--- .../sap2/operation/SpecStatementDialog2.java | 22 +++++-- .../sap2/operation/StructExportDialog.java | 66 ++++++++++++------- 5 files changed, 94 insertions(+), 53 deletions(-) diff --git a/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBOMController.java b/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBOMController.java index ddf605b..77da03f 100644 --- a/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBOMController.java +++ b/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBOMController.java @@ -631,10 +631,10 @@ public class DYStandardBOMController { // if (KUtil.isTCM(rev)) { // topBean.setIsTCM("已发布"); // } - - //20240401优化速度 用sql查询id - - +// +// //20240401优化速度 用sql查询id +// +// // factoryNos = rev.getRelatedComponents("ZT2_FactoryNumber"); // if (factoryNos != null && factoryNos.length > 0) { // for (int j = 0, len2 = factoryNos.length; j < len2; j++) { @@ -642,6 +642,7 @@ public class DYStandardBOMController { // } // } + String uid = rev.getUid(); @@ -678,23 +679,23 @@ public class DYStandardBOMController { // if(release != null && !release.isEmpty()) { // topBean.setIsTCM("已发布"); // } -// - topBean.setIsTCM(release == null ? "":release); + + topBean.setIsTCM(release == null ? "":"已发布"); topBean.setStatus_BOM(webNo == null ? "":webNo); topBean.addFactoryID(itemId == null ? "":itemId); } - - if(rs != null) { - rs.close(); - rs = null; - System.out.println("111111111111111111111111111111111111111111111111111111111111111111111"); - } - if(state != null) { - state.close(); - } - - +// +// if(rs != null) { +// rs.close(); +// rs = null; +// System.out.println("111111111111111111111111111111111111111111111111111111111111111111111"); +// } +// if(state != null) { +// state.close(); +// } +// + topBean.getFactoryNo(); topTreeNode = new DefaultMutableTreeNode(topBean); if (topLine.hasChildren()) { @@ -1531,6 +1532,7 @@ public class DYStandardBOMController { public void revSaveAs(DefaultMutableTreeNode topnode, ProgressBar pb, List beans) throws Exception { + KUtil.setByPass(true); pb.startProgress(); pb.setText("正在修订......"); KUtil.stopTableEditing(dialog.t_part); @@ -1545,10 +1547,12 @@ public class DYStandardBOMController { dyBean.setRev(newRev); doClickTree(topnode, beans); dialog.isUpdate = false; + KUtil.setByPass(false); } public DefaultMutableTreeNode revSaveAs2(DefaultMutableTreeNode topnode, ProgressBar pb, List beans) throws Exception { + KUtil.setByPass(true); pb.startProgress(); pb.setText("正在修订......"); KUtil.stopTableEditing(dialog.t_part); @@ -1565,6 +1569,7 @@ public class DYStandardBOMController { topnode.setUserObject(dyBean); doClickTree(topnode, beans); dialog.isUpdate = true; + KUtil.setByPass(false); return topnode; } @@ -1656,6 +1661,7 @@ public class DYStandardBOMController { if (!dialog.isUpdate) { return; } + KUtil.setByPass(true); TCComponentItemRevision rev; TCComponentBOMLine childLine; StandardBOMBean bean; @@ -1775,6 +1781,7 @@ public class DYStandardBOMController { } pb.disposeDialog(); dialog.isUpdate = false; + KUtil.setByPass(false); } // List beans diff --git a/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBOMDialog.java b/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBOMDialog.java index 236fc83..3c9c771 100644 --- a/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBOMDialog.java +++ b/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBOMDialog.java @@ -377,6 +377,7 @@ public class DYStandardBOMDialog extends AbstractAIFDialog { pb.disposeDialog(); rev_Is_TCM = false; } else { + controller.save2(pb, select_node, beans); controller.refushTable(beans); } diff --git a/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBomBean.java b/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBomBean.java index 3279643..7771a67 100644 --- a/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBomBean.java +++ b/com.connor.chint.sap2/src/com/connor/chint/sap2/StandardBOM/DYStandardBomBean.java @@ -54,14 +54,6 @@ public class DYStandardBomBean { } - public String getStatus_BOM() { - return status_BOM; - } - - public void setStatus_BOM(String status_BOM) { - this.status_BOM = status_BOM; - } - public void getFactoryNo() { if (factoryIDs.size() > 0) { factoryID = ZYFactoryUtil.getFactory(factoryIDs, 4); @@ -142,4 +134,13 @@ public class DYStandardBomBean { } } + public String getStatus_BOM() { + return status_BOM; + } + + public void setStatus_BOM(String status_BOM) { + this.status_BOM = status_BOM; + } + + } diff --git a/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/SpecStatementDialog2.java b/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/SpecStatementDialog2.java index 0223495..0a2c304 100644 --- a/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/SpecStatementDialog2.java +++ b/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/SpecStatementDialog2.java @@ -8,11 +8,18 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; +import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.LinkedList; +import java.util.Properties; import javax.swing.JButton; import javax.swing.JFileChooser; @@ -50,7 +57,7 @@ public class SpecStatementDialog2 extends AbstractAIFDialog { private JButton b_path; // 文件保存路径 protected JTextField jtf_path; // 文件路径 private String name;//报表类型 - private String nameEnglish;//报表类型 + private String nameEnglish = "";//报表类型 public static final String[] HEADER = new String[] { "", "序号", "方案名称", "物料编码" }; public static final int[] HEADERWIDTH = new int[] { 50, 60, 180, 180 }; @@ -71,6 +78,7 @@ public class SpecStatementDialog2 extends AbstractAIFDialog { public void run() { try { initUI(); + System.out.println("initUI()=============================================="); conntroller.readSpecs(actionInfo); addListeners(); showDialog(); @@ -83,28 +91,32 @@ public class SpecStatementDialog2 extends AbstractAIFDialog { } } - private void initUI() { + private void initUI() throws IOException { this.setPreferredSize(new Dimension(700, 400)); this.setMinimumSize(new Dimension(650, 400)); this.setLayout(new BorderLayout()); this.add(BorderLayout.SOUTH, getBtnPanel()); this.add(BorderLayout.CENTER, getTablePanel()); - this.add(BorderLayout.NORTH, getPathPanel()); + switch (actionInfo) { case "000": this.setTitle("项目规范书报表导出"); // 中压 name = "中压项目规范书报表"; + nameEnglish = "c"; + System.out.println("nameEnglish1======="+nameEnglish); break; case "001": this.setTitle("一次规范书汇总报表导出"); // 中压 name = "中压一次规范书汇总报表"; nameEnglish = "a"; + System.out.println("nameEnglish2======="+nameEnglish); break; case "002": this.setTitle("二次规范书汇总报表导出"); // 中压 name = "中压二次规范书汇总报表"; nameEnglish = "b"; + System.out.println("nameEnglish3======="+nameEnglish); break; case "003": @@ -117,7 +129,7 @@ public class SpecStatementDialog2 extends AbstractAIFDialog { break; } - + this.add(BorderLayout.NORTH, getPathPanel()); } private void setCompEnabled(boolean b) { @@ -224,7 +236,7 @@ public class SpecStatementDialog2 extends AbstractAIFDialog { return panel; } - private JPanel getPathPanel() { + private JPanel getPathPanel() throws IOException { JPanel panel = new JPanel(new PropertyLayout()); jtf_path = new JTextField(30); //2022/11/14新增记录保存路径 diff --git a/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/StructExportDialog.java b/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/StructExportDialog.java index b0400b7..ce88dd5 100644 --- a/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/StructExportDialog.java +++ b/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/StructExportDialog.java @@ -8,11 +8,18 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; +import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.LinkedList; +import java.util.Properties; import javax.swing.JButton; import javax.swing.JFileChooser; @@ -52,7 +59,7 @@ public class StructExportDialog extends AbstractAIFDialog { private JTextField jtf_path; // 路径textField private JButton b_path; // 选择路径 private String name; //报名类型 - + private String nameEnglish;//报表类型 public StructExportDialog(AbstractAIFApplication app, String actionInfo, ProgressBar pb_start) { // TODO Auto-generated constructor stub super(false); @@ -63,9 +70,11 @@ public class StructExportDialog extends AbstractAIFDialog { switch (actionInfo) { case "M008_Project": name = "项目报表"; + nameEnglish = "d"; break; case "M008_Part": name = "方案报表"; + nameEnglish = "e"; break; default: @@ -87,7 +96,7 @@ public class StructExportDialog extends AbstractAIFDialog { } } - private void initUI() { + private void initUI() throws IOException { this.setTitle("结构报表导出"); this.setPreferredSize(new Dimension(500, 400)); @@ -196,24 +205,35 @@ public class StructExportDialog extends AbstractAIFDialog { return panel; } - private JPanel getPathPanel() { + private JPanel getPathPanel() throws IOException { JPanel panel = new JPanel(new PropertyLayout()); // JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 15, 5)); jtf_path = new JTextField(30); //2022/11/14新增记录保存路径 - String tempPath = System.getProperty("java.io.tmpdir"); - String tempFilePath = tempPath + File.separator + name + "功能导出路径.txt"; - File exportFileTxt = new File(tempFilePath); - if(exportFileTxt.exists()) { - String[] openTextFile = openTextFile(tempFilePath); - System.out.println("上次保存路径:"+openTextFile[0]); - jtf_path.setText(openTextFile[0]); + System.out.println("System.getenv(\"Temp\")==========="+System.getenv("Temp")); + Path configFilePath = Paths.get(System.getenv("Temp")+"//export_dir.config"); + // 检查文件是否存在,不存在则创建 + if (!Files.exists(configFilePath)) { + Files.createFile(configFilePath); + } + + Properties properties = new Properties(); + try (InputStream in = new FileInputStream(System.getenv("Temp")+"//export_dir.config")) { + properties.load(in); + } + System.out.println("properties==="+properties.toString()); + System.out.println("size==="+properties.size()); + System.out.println("nameEnglish======="+nameEnglish); + String property = properties.getProperty(nameEnglish); + if(property != null && !property.isEmpty()) { + jtf_path.setText(property); }else { File desktopDir = FileSystemView.getFileSystemView().getHomeDirectory(); String desktopPath = desktopDir.getAbsolutePath(); jtf_path.setText(desktopPath); } + b_path = new JButton("浏览"); panel.add("1.1.left.top", new JLabel("报表保存路径: ")); @@ -230,16 +250,13 @@ public class StructExportDialog extends AbstractAIFDialog { JFileChooser jfc = new JFileChooser(); FileSystemView fsv = FileSystemView.getFileSystemView(); //2022/11/14新增记录保存路径 - String tempPath = System.getProperty("java.io.tmpdir"); - String tempFilePath = tempPath + File.separator + name + "功能导出路径.txt"; - File exportFileTxt = new File(tempFilePath); - if(exportFileTxt.exists()) { - String[] openTextFile = openTextFile(tempFilePath); - System.out.println("上次保存路径:"+openTextFile[0]); - jfc.setCurrentDirectory(new File(openTextFile[0])); + String property = properties.getProperty(nameEnglish); + if(property != null && !property.isEmpty()) { + jfc.setCurrentDirectory(new File(property)); }else { jfc.setCurrentDirectory(fsv.getHomeDirectory()); } + System.out.println("111111111111111111111111111111111111111111111111"); jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); jfc.showOpenDialog(StructExportDialog.this); @@ -248,12 +265,15 @@ public class StructExportDialog extends AbstractAIFDialog { System.out.println("->" + f.getAbsolutePath()); jtf_path.setText(f.getAbsolutePath()); //2022/11/14新增记录保存路径 - try { - writeFile(tempFilePath,f.getAbsolutePath()); - } catch (IOException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } + properties.setProperty(nameEnglish, f.getAbsolutePath()); + System.out.println("f.getAbsolutePath()=========="+f.getAbsolutePath()); + } + // 保存修改后的配置 + try (OutputStream out = Files.newOutputStream(configFilePath)) { + properties.store(out, null); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); } } });