From 54f35ae7866dac5c497372b68d03309c7eae9424 Mon Sep 17 00:00:00 2001
From: dangsn <dangsn@chicecm.com>
Date: 星期三, 02 八月 2023 18:15:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java |  203 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 203 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java
new file mode 100644
index 0000000..7bed1b6
--- /dev/null
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java
@@ -0,0 +1,203 @@
+package com.vci.ubcs.codeapply;
+
+import com.alibaba.cloud.commons.lang.StringUtils;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.vci.base.ui.swing.VCIOptionPane;
+import com.vci.base.ui.swing.components.VCIJPanel;
+import com.vci.base.ui.tree.VCIBaseTree;
+import com.vci.base.ui.tree.VCIBaseTreeModel;
+import com.vci.base.ui.tree.VCIBaseTreeNode;
+import com.vci.ubcs.codeapply.object.*;
+import com.vci.ubcs.codeapply.utils.ConfigUtils;
+import com.vci.ubcs.codeapply.utils.HttpUtil;
+import com.vci.ubcs.starter.web.pagemodel.Tree;
+import org.apache.commons.collections4.CollectionUtils;
+
+import javax.swing.event.TreeExpansionEvent;
+import javax.swing.event.TreeExpansionListener;
+import javax.swing.event.TreeSelectionEvent;
+import javax.swing.event.TreeSelectionListener;
+import javax.swing.tree.TreePath;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public abstract class CodeReferTreePanel extends VCIJPanel {
+	private VCIBaseTree tree = null;
+	private VCIBaseTreeModel treeModel = null;
+	private VCIBaseTreeNode rootNode = null;
+	private ReferTreObject referTreObject;
+	private UIFormRefer uiFormRefer;
+	public CodeReferTreePanel(UIFormRefer uiFormRefer) {
+		this.uiFormRefer=uiFormRefer;
+	}
+
+	public void buildTreePanel(){
+		initComponents();
+	}
+	private String url= ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController");
+
+	private void initComponents(){
+		List<Tree> treeList=new ArrayList<>();
+		ObjectMapper objectMapper = new ObjectMapper();
+		if(uiFormRefer!=null){
+			try {
+				/**绯荤粺鍙姞杞戒唬鐮侀」  濡傛灉libName涓嶄负绌猴紝鐩存帴鑾峰彇瀵瑰簲鐨勪唬鐮侀」**/
+				Map<String,String> condtionMap=new HashMap<>();
+				condtionMap.put("referType",StringUtils.isBlank(uiFormRefer.getReferType())?"":uiFormRefer.getReferType());
+				condtionMap.put("parentUsedField",StringUtils.isBlank(uiFormRefer.getParentUsedField())?"":uiFormRefer.getParentUsedField());
+				condtionMap.put("valueField",StringUtils.isBlank(uiFormRefer.getValueField())?"":uiFormRefer.getValueField());
+				condtionMap.put("parentValue",StringUtils.isBlank(uiFormRefer.getParentValue())?"":uiFormRefer.getParentValue());
+				condtionMap.put("parentFieldName",StringUtils.isBlank(uiFormRefer.getParentFieldName())?"":uiFormRefer.getParentFieldName());
+				condtionMap.put("textField",StringUtils.isBlank(uiFormRefer.getTextField())?"":uiFormRefer.getTextField());
+				condtionMap.put("muti",uiFormRefer.isMuti()?"true":"false");
+				condtionMap.put("queryAllLevel", StringUtils.isBlank(uiFormRefer.getLoadType())?"false":"true");//queryAllLevel
+				//condtionMap.put("parentOid",null);
+				R r= HttpUtil.sendGet(url+"/defaultReferTree",condtionMap,new HashMap<>());
+				if(r.isSuccess()){
+					Object object= r.getData();
+					if(object!=null) {
+//						ObjectMapper objectMapper = new ObjectMapper();
+							treeList = objectMapper.readValue(object.toString(), new com.fasterxml.jackson.core.type.TypeReference<List<Tree>>() {});
+							treeList=treeList;
+					}
+				}else{
+					VCIOptionPane.showMessage(this,r.getMsg());
+				}
+			} catch (JsonProcessingException e) {
+				e.printStackTrace();
+			}
+		}
+
+		rootNode = new VCIBaseTreeNode("鍙傜収", "鍙傜収");
+		treeModel = new VCIBaseTreeModel(rootNode);
+		tree = new VCIBaseTree(treeModel, new CodeLibTreeCellRenderer());
+		addChildrenToParentTreeNode(rootNode,treeList);
+		inittreeActions();
+	}
+
+	private void initTreeData() {
+
+	}
+
+	/*private void loadTreeData(VCIBaseTreeNode rootNode){
+		CodeClassify currentObj = (CodeClassify) rootNode.getObj();
+		String parentId = currentObj.getOid();
+		CodeClassify[] libs = {};
+		libs = getChildRMTypeObjects(parentId);
+		for(CodeClassify obj : libs) {
+			VCIBaseTreeNode node = new VCIBaseTreeNode(obj.getName(), obj);
+			rootNode.add(node);
+			node.setLeaf(false);
+			node.setExpand(false);
+		}
+		rootNode.setLeaf(libs.length == 0);
+		rootNode.setExpand(true);
+		tree.setSelectionPath(new TreePath(selNode));
+		tree.updateUI();
+	}*/
+	/**
+	 * 灞曞紑鏍�
+	 * <p>Description: </p>
+	 *
+	 * @author ligang
+	 * @time 2013-5-8
+	 * @param parentNode
+	 */
+	private void addChildrenToParentTreeNode(VCIBaseTreeNode parentNode, List<Tree>children){
+		parentNode.setLeaf(children.size() == 0);
+		parentNode.setExpand(true);
+		for(Tree obj : children) {
+			VCIBaseTreeNode node = new VCIBaseTreeNode(obj.getName(), obj);
+			List<Tree>newChildren = obj.getChildren();
+			treeModel.insertNodeInto(node, parentNode, parentNode.getChildCount());
+			if(!CollectionUtils.isEmpty(newChildren)) {
+				node.setExpand(true);
+				node.setLeaf(false);
+				addChildrenToParentTreeNode(node, newChildren);
+			}else{
+				node.setExpand(true);
+				node.setLeaf(true);
+			}
+		}
+		if(tree != null){
+			//tree.expandPath(new TreePath(selNode.getPath()));
+			//tree.setSelectionPath(new TreePath(selNode.getPath()));
+			tree.updateUI();
+		}
+	}
+	private void inittreeActions(){
+		tree.addTreeSelectionListener(new TreeSelectionListener() {
+			@Override
+			public void valueChanged(TreeSelectionEvent e) {
+				if(!e.isAddedPath()) return;
+				leftTree_valueChanged(e);
+			}
+		});
+		tree.addTreeExpansionListener(new TreeExpansionListener() {
+			@Override
+			public void treeExpanded(TreeExpansionEvent e) {
+				tree_treeExpanded_local(e);
+			}
+
+			@Override
+			public void treeCollapsed(TreeExpansionEvent e) {
+			}
+		});
+	}
+	private void leftTree_valueChanged(TreeSelectionEvent e) {
+		tree_valueChanged(e);
+	}
+
+	/**
+	 * 閫夋嫨浜嗘爲鑺傜偣鐨勪簨浠跺鐞�
+	 * <p>Description: </p>
+	 *
+	 * @author xchao
+	 * @time 2012-5-26
+	 * @param e
+	 */
+	public abstract void tree_valueChanged(TreeSelectionEvent e);
+
+	/**
+	 * 灞曞紑浜嬩欢
+	 * @param e
+	 */
+	private void tree_treeExpanded_local(TreeExpansionEvent e) {
+		TreePath treePath = e.getPath();
+		VCIBaseTreeNode treeNode = (VCIBaseTreeNode)treePath.getLastPathComponent();
+		if(treeNode.isExpand()) return;
+		if(!(treeNode.getObj() instanceof Tree)) return;
+		Tree tree = (Tree)treeNode.getObj();
+		List<Tree> childs = new ArrayList<>();
+		//childs = getChildRMTypeObjects(rmTypeObject.getOid());
+		addRMTypeObjectsToParentTreeNode(childs, treeNode);
+		treeNode.setExpand(true);
+		treeNode.setLeaf(treeModel.getChildCount(treeNode) == 0);
+	}
+
+	private void addRMTypeObjectsToParentTreeNode(List<Tree> objs, VCIBaseTreeNode parentNode){
+		for(Tree obj : objs){
+			VCIBaseTreeNode node = new VCIBaseTreeNode(obj.getName(), obj);
+			treeModel.insertNodeInto(node, parentNode, treeModel.getChildCount(parentNode));
+		}
+	}
+
+	public VCIBaseTree getTree() {
+		return tree;
+	}
+
+	public void setTree(VCIBaseTree tree) {
+		this.tree = tree;
+	}
+
+	public VCIBaseTreeModel getTreeModel() {
+		return treeModel;
+	}
+
+	public void setTreeModel(VCIBaseTreeModel treeModel) {
+		this.treeModel = treeModel;
+	}
+}

--
Gitblit v1.9.3