From a2f038d0913144b3575b98bebb3c9436f5848b5f Mon Sep 17 00:00:00 2001 From: xiongcz Date: Tue, 13 May 2025 19:46:55 +0800 Subject: [PATCH] =?UTF-8?q?feat(create-temp-drawings):=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=8A=A8=E6=80=81=20LOV=20=E7=B1=BB=E5=9E=8B=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增动态 LOV值获取方法 - 扩展 LovProperty 类,支持动态 LOV 类型 - 修改创建对话框逻辑,支持动态 LOV组件渲染 - 优化 JTreeComboBox 组件,支持动态 LOV 选择 --- .../dialogs/CreateTempDrawingDialog.class | Bin 33100 -> 36114 bytes .../dialogs/CreateTempDrawingDialog.java | 145 +++++++++++++----- .../createTempDrawings/pojo/LovProperty.java | 37 +++++ .../utils/JTreeComboBox.java | 22 ++- 4 files changed, 163 insertions(+), 41 deletions(-) diff --git a/bin/cn/net/connor/createTempDrawings/dialogs/CreateTempDrawingDialog.class b/bin/cn/net/connor/createTempDrawings/dialogs/CreateTempDrawingDialog.class index 1087ebfa1dea01a112770e378938e1fa905917b5..c87d6e4f0e5e4901fb3c4a96dbfa92dd60b846c3 100644 GIT binary patch delta 13149 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 delta 10710 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 diff --git a/src/cn/net/connor/createTempDrawings/dialogs/CreateTempDrawingDialog.java b/src/cn/net/connor/createTempDrawings/dialogs/CreateTempDrawingDialog.java index c964781..9da893c 100644 --- a/src/cn/net/connor/createTempDrawings/dialogs/CreateTempDrawingDialog.java +++ b/src/cn/net/connor/createTempDrawings/dialogs/CreateTempDrawingDialog.java @@ -43,10 +43,15 @@ import com.teamcenter.rac.util.PropertyLayout; import com.teamcenter.rac.util.UIUtilities; import com.teamcenter.schemas.soa._2006_03.exceptions.ServiceException; import com.teamcenter.services.rac.core.DataManagementService; +import com.teamcenter.services.rac.core.LOVService; import com.teamcenter.services.rac.core._2008_06.DataManagement.CreateIn; import com.teamcenter.services.rac.core._2008_06.DataManagement.CreateInput; import com.teamcenter.services.rac.core._2008_06.DataManagement.CreateOut; import com.teamcenter.services.rac.core._2008_06.DataManagement.CreateResponse; +import com.teamcenter.services.rac.core._2013_05.LOV.InitialLovData; +import com.teamcenter.services.rac.core._2013_05.LOV.LOVSearchResults; +import com.teamcenter.services.rac.core._2013_05.LOV.LOVValueRow; +import com.teamcenter.services.rac.core._2013_05.LOV.LovFilterData; import com.teamcenter.soaictstubs.BooleanHolder; import com.teamcenter.soaictstubs.ICCTItem; import com.teamcenter.soaictstubs.StringHolder; @@ -361,6 +366,7 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{ itemDef.data.dateProps.put(trueName, calendar); }else if (typeString.split(":")[0].equals("lov")) { String trueValue = getLovTrueValue(trueName,value,this.lovPropertyList); + System.out.println("ԣ"+propName+"ոֵ"+trueValue); itemDef.data.stringProps.put(trueName, trueValue); } }else if (location.equals("Rev")) { @@ -374,6 +380,7 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{ itemRevisionDef.dateProps.put(trueName, calendar); }else if (typeString.split(":")[0].equals("lov")) { String trueValue = getLovTrueValue(trueName,value,this.lovPropertyList); + System.out.println("ԣ"+propName+"ոֵ"+trueValue); itemRevisionDef.stringProps.put(trueName, trueValue); } }else if (location.equals("Form")) { @@ -747,23 +754,25 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{ System.out.println("JTextField"); return ((JTextField) component).getText(); } else if (component instanceof JComboBox) { - String returnValue = null; +// String returnValue = null; + String chooseDisplay= null; if (component instanceof JTreeComboBox){ System.out.println("JTreeComboBox"); JTreeComboBox treeComboBox = (JTreeComboBox) component; DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) treeComboBox.getSelectedItem(); + if (selectedNode != null) { Object userObject = selectedNode.getUserObject(); - returnValue = userObject.toString(); + chooseDisplay = userObject.toString(); }else { System.out.println("ѡнڵselectedNode = null"); } } else { System.out.println("JComboBox"); JComboBox comboBox = (JComboBox) component; - returnValue = (String)comboBox.getSelectedItem(); + chooseDisplay = (String)comboBox.getSelectedItem(); } - return returnValue; + return chooseDisplay; }else if (component instanceof DateButton) { System.out.println("DateButton"); DateButton dateButton = (DateButton) component; @@ -784,9 +793,9 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{ /** * ƶ͵ĴԻ * @return - * @throws TCException + * @throws Exception */ - public JFrame buildDrawingObjTypeFrame() throws TCException{ + public JFrame buildDrawingObjTypeFrame() throws Exception{ System.out.println("ͼֽ棡"); this.propComponentMap.clear(); this.lovPropertyList.clear(); @@ -943,47 +952,73 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{ System.out.println("δȡ["+name+"]õlovƣ!"); return null; } + LovProperty lovProperty = new LovProperty();//Զlov͵ࣺlov͵Ϣ + TCComponentListOfValues unitLov = TCLOVUtil.findLOVByName(tcSession, lovName); + String lovType = null; + if(unitLov != null){ + lovType = unitLov.getType(); + if (lovType != null && lovType.equals("ListOfValuesString")) {//ͳlovkey-value + rMap.clear(); + Map lovMap = getLOVDisplay_value(tcSession, lovName); + lovProperty.setLovMap(lovMap); + lovProperty.setLovType("LOV"); + } else if (lovType != null && lovType.equals("Fnd0ListOfValuesDynamic")) {//̬lov + String[] dynamicLOV = getDynamicLOV(unitLov); + lovProperty.setLovType("DLOV"); + List dlovList = new ArrayList<>(); + for (int i = 0; i < dynamicLOV.length; i++) { + dlovList.add(dynamicLOV[i]); + } + lovProperty.setDlovList(dlovList); + } + }else { + continue; + } - rMap.clear(); - Map lovMap = getLOVDisplay_value(tcSession, lovName); -// System.out.println("ʼӡһlov"); -// for (String displayValue : lovMap.keySet()){ -// System.out.println(" lovMap:"+displayValue+"--"+lovMap.get(displayValue)); -// } -// printRMap(); - -// String[] displayLovName = lovMap.keySet().toArray(new String[0]);//lovʾֵ - LovProperty lovProperty = new LovProperty();//Զlov͵ lovProperty.setPropName(name); lovProperty.setPropTrueName(trueName); lovProperty.setLov(true); - lovProperty.setLovMap(lovMap); + this.lovPropertyList.add(lovProperty); -// JComboBox propComboBox = new JComboBox(displayLovName); - DefaultMutableTreeNode root = generateLovTreeNode(lovMap,rMap); - JTreeComboBox propComboBox = null; - if(root != null) { - propComboBox = new JTreeComboBox(root); + //lovͣȾͬlov + if (lovType.equals("ListOfValuesString")) { + DefaultMutableTreeNode root = generateLovTreeNode(lovProperty.getLovMap(),rMap); + JTreeComboBox propComboBox = null; + if(root != null) { + propComboBox = new JTreeComboBox(root); + GridBagConstraints gbcPropCombo = new GridBagConstraints(); + gbcPropCombo.gridx = 1; + gbcPropCombo.gridy = propIndex; + gbcPropCombo.anchor = GridBagConstraints.WEST; + + // Զ + Dimension propValueSize = new Dimension(200, propComboBox.getPreferredSize().height); // 200ΪĿ + propComboBox.setPreferredSize(propValueSize); + + centerPanel1.add(propComboBox, gbcPropCombo); + propComponentMap.put(validPropName, propComboBox); + }else { + System.out.println("ƶlovʧܣ"); + continue; + } }else { - System.out.println("ƶlovʧܣ"); - return null; + String[] dlov = (String[]) lovProperty.getDlovList().toArray(); + JComboBox jComboBox = new JComboBox(dlov); + + GridBagConstraints gbcPropCombo = new GridBagConstraints(); + gbcPropCombo.gridx = 1; + gbcPropCombo.gridy = propIndex; + gbcPropCombo.anchor = GridBagConstraints.WEST; + + // Զ + Dimension propValueSize = new Dimension(200, jComboBox.getPreferredSize().height); // 200ΪĿ + jComboBox.setPreferredSize(propValueSize); + + centerPanel1.add(jComboBox, gbcPropCombo); + propComponentMap.put(validPropName, jComboBox); } - - - GridBagConstraints gbcPropCombo = new GridBagConstraints(); - gbcPropCombo.gridx = 1; - gbcPropCombo.gridy = propIndex; - gbcPropCombo.anchor = GridBagConstraints.WEST; - - // Զ - Dimension propValueSize = new Dimension(200, propComboBox.getPreferredSize().height); // 200ΪĿ - propComboBox.setPreferredSize(propValueSize); - - centerPanel1.add(propComboBox, gbcPropCombo); - propComponentMap.put(validPropName, propComboBox); - } }else { System.out.println("ѡõ["+name+"]ϢУδȷͣ"); @@ -1068,6 +1103,39 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{ return node; } + + /** + * ȡ̬LOVֵ + * @param lov LOV + * @return LOVѡ + */ + public String[] getDynamicLOV(TCComponentListOfValues lov) throws Exception { + Vector lovDisplayValueList = new Vector<>(); +// lovDisplayValueList.add(""); +// Vector lovValueList = new Vector<>(); + com.teamcenter.services.rac.core.LOVService lovService = LOVService.getService(tcSession); + InitialLovData input = new InitialLovData(); + LovFilterData filter = new LovFilterData(); + filter.sortPropertyName = "object_name"; + filter.order = 1; + filter.numberToReturn = 100; + filter.maxResults = 100; + + input.lov = lov; + input.filterData = filter; + LOVSearchResults result = lovService.getInitialLOVValues(input); + for (LOVValueRow row : result.lovValues) { + Map map = row.propDisplayValues; +// Map realmap = row.propInternalValues; + for (String key : map.keySet()) { + lovDisplayValueList.add(map.get(key)[0]); +// lovValueList.add(realmap.get(key)[0]); + } + } + return lovDisplayValueList.toArray(new String[lovDisplayValueList.size()]); + } + + /** * ѡж(ҵ߼)ȡIDеĬֵ @@ -1117,7 +1185,6 @@ public class CreateTempDrawingDialog extends JFrame implements ActionListener{ */ public static Map getLOVDisplay_value(TCSession seesion,String lovProp) throws TCException { -// System.out.println("getLOVDisplay_valueΣlov="+lovProp); Map Display_values = new HashMap(); TCComponentListOfValues unitLov = TCLOVUtil.findLOVByName(seesion, lovProp); diff --git a/src/cn/net/connor/createTempDrawings/pojo/LovProperty.java b/src/cn/net/connor/createTempDrawings/pojo/LovProperty.java index 6b1b5b9..032d50f 100644 --- a/src/cn/net/connor/createTempDrawings/pojo/LovProperty.java +++ b/src/cn/net/connor/createTempDrawings/pojo/LovProperty.java @@ -1,5 +1,6 @@ package cn.net.connor.createTempDrawings.pojo; +import java.util.List; import java.util.Map; /** * LOVԶ @@ -13,10 +14,46 @@ public class LovProperty { //ֵ private String propValue; private boolean isLov; + + /** + * DLOV̬lov + * LOVͳlov key-value + */ + private String lovType; + /** + * @return lovType + */ + public String getLovType() { + return lovType; + } + + /** + * @param lovType Ҫõ lovType + */ + public void setLovType(String lovType) { + this.lovType = lovType; + } + /** * lovԵġʾֵ-ʵֵ */ private Map lovMap; + + /** + * @return dlovList + */ + public List getDlovList() { + return dlovList; + } + + /** + * @param dlovList Ҫõ dlovList + */ + public void setDlovList(List dlovList) { + this.dlovList = dlovList; + } + + private List dlovList; public String getPropName() { return propName; diff --git a/src/cn/net/connor/createTempDrawings/utils/JTreeComboBox.java b/src/cn/net/connor/createTempDrawings/utils/JTreeComboBox.java index 426130d..a425cbf 100644 --- a/src/cn/net/connor/createTempDrawings/utils/JTreeComboBox.java +++ b/src/cn/net/connor/createTempDrawings/utils/JTreeComboBox.java @@ -44,9 +44,17 @@ public class JTreeComboBox extends JComboBox { System.out.println("ѡ"); DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); if (selectedNode != null) { + System.out.println("ѡеĽڵ㣺" + selectedNode.getUserObject()); setSelectedItem(selectedNode); hidePopup(); } + DefaultMutableTreeNode ss1 = (DefaultMutableTreeNode)getSelectedItem(); + if (ss1 == null) { + System.out.println("ss1 = null"); + }else { + System.out.println("ss1 != null"); + } + } } }); @@ -111,6 +119,16 @@ public class JTreeComboBox extends JComboBox { } + @Override + public Object getSelectedItem() { +// Object selected = super.getSelectedItem(); + DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); +// System.out.println("дgetSelectedItemֵ: " + selected); + return selectedNode; + } + + + @Override public void setSelectedItem(Object anObject) { System.out.println("ѡ: " + anObject); @@ -176,8 +194,8 @@ public class JTreeComboBox extends JComboBox { // õС Dimension preferredSize = tree.getPreferredSize(); - preferredSize.width = Math.max(preferredSize.width, comboBox.getWidth()); - preferredSize.height = Math.min(preferredSize.height, 200); + preferredSize.width = Math.max(preferredSize.width, 200); + preferredSize.height = Math.min(preferredSize.height, 800); setPreferredSize(preferredSize); }