¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
| | | } |