From 04aff3093f6cca41a9be5bbd1a52ee15a88fb318 Mon Sep 17 00:00:00 2001 From: lijh Date: Wed, 15 Jan 2025 11:14:01 +0800 Subject: [PATCH] 20250115 --- src/com/langtech/plm/mpart/MpartDialog.java | 42 ++++++++++++++++----- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/src/com/langtech/plm/mpart/MpartDialog.java b/src/com/langtech/plm/mpart/MpartDialog.java index 2feaee1..6955c71 100644 --- a/src/com/langtech/plm/mpart/MpartDialog.java +++ b/src/com/langtech/plm/mpart/MpartDialog.java @@ -28,6 +28,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map.Entry; @@ -501,9 +502,10 @@ public class MpartDialog extends JFrame implements ActionListener { } else { AIFComponentContext[] children = topLine.getChildren(); - ArrayList addList = new ArrayList();// mbom的子 + //ArrayList addList = new ArrayList();// mbom的子 + LinkedHashMap addList = new LinkedHashMap(); ArrayList childrenList = new ArrayList();// 下拉框选中的值 - HashMap revMap = new HashMap();// object_String + HashMap> revMap = new HashMap>();// object_String StringBuilder errMsg = new StringBuilder(); for (int j = 0; j < children.length; j++) { @@ -551,6 +553,11 @@ public class MpartDialog extends JFrame implements ActionListener { for (int j = 0; j < children.length; j++) { TCComponentBOMLine eLine = (TCComponentBOMLine) children[j].getComponent(); + + //获取数量 + String sl = eLine.getProperty("bl_quantity"); + + // 判断是否自制 TCComponentItemRevision eRev = eLine.getItemRevision(); String tcProperty = eRev.getTCProperty("ly6_homemadeStatus").toString(); @@ -577,7 +584,7 @@ public class MpartDialog extends JFrame implements ActionListener { // } else if (tempMrevList.size() == 1) { // 把M放bom下 - addList.add(tempMrevList.get(0)); + addList.put(tempMrevList.get(0),sl); } else if (tempMrevList.size() > 1) { // 让用户选一个M放bom下 @@ -585,7 +592,10 @@ public class MpartDialog extends JFrame implements ActionListener { for (int k = 0; k < tempMrevList.size(); k++) { String stringProperty = tempMrevList.get(k) .getStringProperty("object_string"); - revMap.put(stringProperty, tempMrevList.get(k)); + ArrayList tempList = new ArrayList(); + tempList.add(tempMrevList.get(k)); + tempList.add(sl); + revMap.put(stringProperty, tempList); jComboBox.addItem(stringProperty); } @@ -605,7 +615,7 @@ public class MpartDialog extends JFrame implements ActionListener { } else { // 不为自制则直接将EPart搭建进入MBOM中 - addList.add(eRev); + addList.put(eRev,sl); } } @@ -760,16 +770,30 @@ public class MpartDialog extends JFrame implements ActionListener { System.out.println("childrenList.size()=======" + childrenList.size()); for (int j = 0; j < childrenList.size(); j++) { - addList.add(revMap.get(childrenList.get(j))); + ArrayList temp = revMap.get(childrenList.get(j)); + TCComponentItemRevision object = (TCComponentItemRevision)temp.get(0); + String tempSl = (String)temp.get(1); + addList.put(object,tempSl); } System.out.println("addList.size()============" + addList.size()); - for (int j = 0; j < addList.size(); j++) { - mTopLine.add(addList.get(j).getItem(), addList.get(j), null, false, ""); - + + for (Entry tempAddList : addList.entrySet()) { + TCComponentItemRevision key = tempAddList.getKey(); + String value = tempAddList.getValue(); + if(value != null && value.equals("1")) { + mTopLine.add(key.getItem(), key, null, false, ""); + }else { + TCComponentBOMLine add = mTopLine.add(key.getItem(), key, null, false, ""); + System.out.println("add=================="+add.getUid()); + add.setProperty("bl_quantity", value); + } + } + + mTopLine.save(); view.save(); view.close();