From 8b34692ac1b7cf58a1e1ead92b930d9acb9f86f6 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 02 八月 2023 00:18:29 +0800
Subject: [PATCH] PDM集成swing界面相关功能开发

---
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java
index d7742c9..1395887 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java
@@ -3,8 +3,21 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
 import com.vci.base.ui.swing.VCIOptionPane;
 import com.vci.base.ui.swing.components.VCIJDialog.DialogResult;
+import com.vci.base.ui.tree.VCIBaseTreeNode;
+import com.vci.ubcs.codeapply.enums.CodeReferConfigTypeEnum;
+import com.vci.ubcs.codeapply.object.BaseModel;
+import com.vci.ubcs.codeapply.object.UIFormRefer;
+import com.vci.ubcs.starter.web.pagemodel.KeyValue;
+import com.vci.ubcs.starter.web.pagemodel.Tree;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+
+import javax.swing.tree.TreePath;
 
 public class RMDataReferTempDialogActionListener implements ActionListener {
 
@@ -33,8 +46,8 @@
 	}
 
 	private void ok(){
-		if(!owner.isFromTableDoubleClick()){
-			/*LinkedList<RMDataObject> list = this.owner.getRMDataMainPanel().getTablePanel().getSelectedRowObjects();
+		//if(!owner.isFromTableDoubleClick()){
+		/*	LinkedList<RMDataObject> list = this.owner.getRMDataMainPanel().getTablePanel().getSelectedRowObjects();
 			if(list.size() > 1) {
 				VCIOptionPane.showMessageDialog(this.owner, "涓嶅厑璁搁�夋嫨澶氭潯鏁版嵁杩涜鎿嶄綔!");
 				return;
@@ -42,7 +55,45 @@
 				VCIOptionPane.showMessageDialog(this.owner, "璇烽�夋嫨鏁版嵁杩涜鎿嶄綔!");
 				return;
 			}*/
-		}
+
+			UIFormRefer uiFormRefer=owner.getUiFormRefer();
+			String textField=uiFormRefer.getTextField();
+			String valueField=uiFormRefer.getValueField();
+			if(uiFormRefer !=null&&(uiFormRefer.getType().equals(CodeReferConfigTypeEnum.TREE.getValue())
+				||uiFormRefer.getType().equals(CodeReferConfigTypeEnum.ORGDEPARTMENTREFER.getValue()))){
+				TreePath treePath=this.owner.getTypeTreePanel().getTree().getSelectionPath();
+				VCIBaseTreeNode treeNode = (VCIBaseTreeNode)treePath.getLastPathComponent();
+				if(treeNode.getObj() instanceof Tree) {
+					Tree tree =(Tree)treeNode.getObj();
+					Map<String,String> attibuteMap=	tree.getAttributes();
+					String fieldValue=attibuteMap.getOrDefault(valueField,"");
+					String textValue=attibuteMap.getOrDefault(textField,"");
+					KeyValue keyValue=new KeyValue();
+					keyValue.setKey(fieldValue);
+					keyValue.setValue(textValue);
+					this.owner.setKeyValue(keyValue);
+				}
+
+			}else{
+				LinkedList<BaseModel> list =this.owner.getCodeDataMainPanel().getTablePanel().getSelectedRowObjects();
+				if(list.size() > 1) {
+					VCIOptionPane.showMessageDialog(this.owner, "涓嶅厑璁搁�夋嫨澶氭潯鏁版嵁杩涜鎿嶄綔!");
+					return;
+				} else if(list.size() <= 0) {
+					VCIOptionPane.showMessageDialog(this.owner, "璇烽�夋嫨鏁版嵁杩涜鎿嶄綔!");
+					return;
+				}
+				BaseModel baseModel=list.get(0);
+				Map<String, String> defaultDataMap= VciBaseUtil.objectToMapString(list.get(0));
+				defaultDataMap.putAll(baseModel.getData());
+				String fieldValue=defaultDataMap.getOrDefault(valueField,"");
+				String textValue=defaultDataMap.getOrDefault(textField,"");
+				KeyValue keyValue=new KeyValue();
+				keyValue.setKey(fieldValue);
+				keyValue.setValue(textValue);
+				this.owner.setKeyValue(keyValue);
+			}
+		//}
 		owner.setDialogResult(DialogResult.OK);
 		close();
 		owner.getDialogCallback().run();

--
Gitblit v1.9.3