xiejun
2023-08-01 87e43c42f5bccbbad9a922ee448834a70088d083
PDM集成swing界面相关功能开发
已修改9个文件
已添加11个文件
1952 ■■■■■ 文件已修改
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410MainPanel.java 160 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410TreePanel.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanel.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelActionListener.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialog.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/TestIntegrateFrame.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/attarSearchPanel.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/enums/CodeReferConfigTypeEnum.java 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/CodeClassifyValue.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/CodeFixedValue.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/CoderefersecSearchVO.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/ReferTreObject.java 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/UIFormRefer.java 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/UIFormRefers.java 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/resources/properties/conf.properties 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410MainPanel.java
@@ -5,10 +5,7 @@
import com.vci.base.ui.swing.VCIOptionPane;
import com.vci.base.ui.swing.components.*;
import com.vci.base.ui.tree.VCIBaseTreeNode;
import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.codeapply.object.*;
import com.vci.ubcs.codeapply.swing.IntegerTextField;
import com.vci.ubcs.codeapply.swing.RealTextField;
@@ -16,6 +13,8 @@
import com.vci.ubcs.codeapply.utils.ConfigUtils;
import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.ubcs.starter.web.pagemodel.KeyValue;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.system.user.entity.User;
import net.bytebuddy.implementation.bytecode.Throw;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
@@ -25,8 +24,11 @@
import javax.swing.text.JTextComponent;
import javax.swing.tree.TreeNode;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.List;
import java.util.regex.Pattern;
@@ -34,7 +36,7 @@
public class CodeApplyFor410MainPanel  extends VCIJPanel {
    private String url=ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController");
    //410新需求
    private final String SPECIAL_RULE_NAME="Special.rule.name";
    private final String SPECIAL_SECTION_NAME = "Special.section.name";
@@ -141,11 +143,11 @@
        this.loadTextAreaEnableEnv(); //add by liujw
        //this.loadSpecialRuleConfig();
        CodeClassify rmType = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj();
        String url= ConfigUtils.getConfigValue("410.PDM.rule.url","http://127.0.0.1:36014/codeApplySwingController/getCodeRuleByClassifyFullInfo");
        //String url= ConfigUtils.getConfigValue("410.PDM.rule.url","http://127.0.0.1:36014/codeApplySwingController/getCodeRuleByClassifyFullInfo");
        /**系统只加载代码项  å¦‚æžœlibName不为空,直接获取对应的代码项**/
        Map<String,String> condtionMap=new HashMap<>();
        condtionMap.put("codeClassId", rmType.getOid());
        R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>());
        R r=HttpUtil.sendGet(url+"/getCodeRuleByClassifyFullInfo",condtionMap,new HashMap<>());
        CodeRuleVO codeRuleVO=new CodeRuleVO();
        if(r.isSuccess()){
            Object object= r.getData();
@@ -545,6 +547,7 @@
        VCIJComboxBox hisCombo = null;
        try {
            final Map<String, String> secValMap = getSpecialValMap(specialSecVals);
            Map<String,List<String>> secIdTOListValueOidMap=new HashMap<>();
            for(int k = 0;k < secObjs.length; k++) {
                final CodeBasicSecVO secObj = secObjs[k];
                final VCIJComboxBox secCombo = secCombos[k];
@@ -552,27 +555,56 @@
                    return;
                }
                if (secObj.getSecType().equals("codeclassifysec")) {// æ˜¯åˆ†ç±»ç 
                        continue;
                } else
                    // æ˜¯å›ºå®šç 
                    if (secObj.getSecType() .equals("codefixedsec")) {
                /*    SectionValueClientDelegate codeValDel = new SectionValueClientDelegate(userObj);
                    FixCodeValObject[] codeValObjs = codeValDel.fetchFixCodeValBySecId(secObj.getId());// èŽ·å–è¯¥ç æ®µä¸‹çš„æ‰€æœ‰ç æ®µç å€¼å¯¹è±¡
                    //如果只有一个值,则系统默认选择,不加空值
                    if(codeValObjs.length > 1 ) {
                        secCombo.addItem(new FixCodeValObject());
                    String  secOid=secObj.getOid();
                    String parentClassifySecOid= secObj.getParentClassifySecOid();
                    String parentClassifyValueOid="";
                    if(secIdTOListValueOidMap.containsKey(parentClassifySecOid)){
                        List<String> parentClassifyValueList= secIdTOListValueOidMap.get(parentClassifySecOid);
                        parentClassifyValueOid= VciBaseUtil.array2String(parentClassifyValueList.toArray(new String[]{}));
                    }
                    for (int i = 0; i < codeValObjs.length; i++) {
                        secCombo.addItem(codeValObjs[i]);
                    Map<String,String> condtionMap=new HashMap<>();
                    condtionMap.put("secOid", secOid);
                    condtionMap.put("parentClassifyValueOid", parentClassifyValueOid);
                    R r=HttpUtil.sendGet(url+"/listCodeClassifyValueBySecOid",condtionMap,new HashMap<>());
                    List<CodeClassifyValue> codeClassifyValueList=new ArrayList<>();
                    if(r.isSuccess()){
                        Object object= r.getData();
                        if(object!=null) {
                            ObjectMapper objectMapper = new ObjectMapper();
                            try {
                                codeClassifyValueList = objectMapper.readValue(object.toString(), new com.fasterxml.jackson.core.type.TypeReference<List<CodeClassifyValue>>() {});
                            } catch (JsonProcessingException e) {
                                e.printStackTrace();
                            }
                        }
                    }else{
                        VCIOptionPane.showMessage(this,r.getMsg());
                    }
                    *//**当系统选择的是指定码段值时,组别代号的码段系统不显示 Begin**//*
                    FixCodeValObject selObj = (FixCodeValObject) secCombo.getSelectedItem();
                    if(isSpecialRuleFlag && (secObj.getName().equals(specialControlSecName) && secValMap.containsKey(selObj.getValue())) || secValMap.containsKey(getControlSecSelectValue())) {
                        setComponentStatus(false);
                    }else {
                        setComponentStatus(true);
                    List<String>valueOidList=new ArrayList<>();
                    if(!CollectionUtils.isEmpty(codeClassifyValueList)) {
                        if(codeClassifyValueList.size()>1) {
                            secCombo.addItem(new CodeClassifyValue());
                        }
                        codeClassifyValueList.stream().forEach(codeClassifyValue -> {
                            secCombo.addItem(codeClassifyValue);
                            valueOidList.add(codeClassifyValue.getOid());
                        });
                    }
                    if (secCombo.getItemCount() > 10){
                    secIdTOListValueOidMap.put(secObj.getOid(),valueOidList);
                    /**代码项下拉事件**/
                    secCombo.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
                            if(secCombo.getSelectedIndex() == -1) {
                                return;
                            }
                            if(secIdToClsfIdMap.containsKey(secObj.getId())){
                                VCIJTextField secDescVcijTextField=(VCIJTextField)secIdToClsfIdMap.get(secObj.getId());
                                CodeClassifyValue codeClassifyValue= (CodeClassifyValue) secCombo.getSelectedItem();
                                secDescVcijTextField.setText(codeClassifyValue.getName());
                            }
                        }
                    });
                    /*if (secCombo.getItemCount() > 10){
                        if (!secCombo.isFlag()){
                            secCombo.setFlag(true);
                            secCombo.getSearchBtn().setVisible(true);
@@ -587,19 +619,51 @@
                        secCombo.setFlag(false);
                        secCombo.getSearchBtn().setVisible(false);
                    }*/
                } else
                    // æ˜¯å›ºå®šç 
                    if (secObj.getSecType() .equals("codefixedsec")) {
                        List<CodeFixedValueVO> fixedValueVOList=secObj.getFixedValueVOList();
                    //如果只有一个值,则系统默认选择,不加空值
                    if(fixedValueVOList.size() >1) {
                        secCombo.addItem(new CodeFixedValue());
                    }
                    fixedValueVOList.stream().forEach(codeFixedValueVO -> {
                        CodeFixedValue codeFixedValue=new CodeFixedValue();
                        BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueVO,codeFixedValue);
                        secCombo.addItem(codeFixedValue);
                    });
                    /**当系统选择的是指定码段值时,组别代号的码段系统不显示 Begin**/
                    /*FixCodeValObject selObj = (FixCodeValObject) secCombo.getSelectedItem();
                    if(isSpecialRuleFlag && (secObj.getName().equals(specialControlSecName) && secValMap.containsKey(selObj.getValue())) || secValMap.containsKey(getControlSecSelectValue())) {
                        setComponentStatus(false);
                    }else {
                        setComponentStatus(true);
                    }*/
                    /*if (secCombo.getItemCount() > 10){
                        if (!secCombo.isFlag()){
                            secCombo.setFlag(true);
                            secCombo.getSearchBtn().setVisible(true);
                            secCombo.getSearchBtn().addActionListener(new ActionListener() {
                                @Override
                                public void actionPerformed(ActionEvent e) {
                                    doSearch(secCombo);
                                }
                            });
                        }
                    }else {
                        secCombo.setFlag(false);
                        secCombo.getSearchBtn().setVisible(false);
                    }*/
                }  else
                        // æ˜¯æ—¥æœŸç æ®µ
                    if (secObj.getSecType().equals("codedatesec")) {
                    /*SectionClientDelegate secDel = new SectionClientDelegate(userObj);
                    DateSecObject dateObj = secDel.fetchDateSecById(secObj.getId());
                    String df = dateObj.getFormat();
                    SimpleDateFormat dateFormate = new SimpleDateFormat(df);
                    String curDate = dateFormate.format(Calendar.getInstance().getTime());
                    secCombo.addItem(curDate);
                    if(dateObj.getIsModify().equals("Y")){//可以修改
                        secCombo.setEditable(true);
                    }*/
                        String df =secObj.getCodeDateFormatStr();
                        SimpleDateFormat dateFormate = new SimpleDateFormat(df);
                        String curDate = dateFormate.format(Calendar.getInstance().getTime());
                        secCombo.addItem(curDate);
                        /*if(dateObj.getIsModify().equals("Y")){//可以修改
                            secCombo.setEditable(true);
                        }*/
                } else
                        //是引用码段
                    if (secObj.getSecType().equals("coderefersec")) {
@@ -630,13 +694,13 @@
                    }
                */} else
                        //层级码段码值显示的是选择的代码项的名称
                    //层级码段码值显示的是选择的代码项的名称
                    if(secObj.getSecType().equals("coderefersec")) {
                    /*RMTypeObject rmObj = (RMTypeObject) this.transTreeObject.getCurrentTreeNode().getObj();
                    secCombo.addItem(rmObj);*/
                } else {
                    secCombo.setEditable(true);
                }
                        CodeClassify rmObj = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj();
                        secCombo.addItem(rmObj);
                    } else {
                        secCombo.setEditable(true);
                    }
            }
        }catch (Exception e) {
            e.printStackTrace();
@@ -1003,11 +1067,11 @@
     */
    private KeyValue[] getAttrRangeObjects(String attrId){
        KeyValue[] res = new KeyValue[0];
        String url= ConfigUtils.getConfigValue("410.PDM.attrKeyValue.url","http://127.0.0.1:36014/codeApplySwingController/listComboboxItems");
        //String url= ConfigUtils.getConfigValue("410.PDM.attrKeyValue.url","http://127.0.0.1:36014/codeApplySwingController/listComboboxItems");
        /**系统只加载代码项  å¦‚æžœlibName不为空,直接获取对应的代码项**/
        Map<String,String> condtionMap=new HashMap<>();
        condtionMap.put("oid", attrId);
        R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>());
        R r=HttpUtil.sendGet(url+"/listComboboxItems",condtionMap,new HashMap<>());
        List<KeyValue> keyValueList=new ArrayList<>();
        if(r.isSuccess()){
            Object object= r.getData();
@@ -1143,13 +1207,13 @@
        // æµç¨‹ä»»åŠ¡å¼•ç”¨
        // ä¸€èˆ¬çš„æ•°æ®å½•入、修改
        // ä¸åŒçš„æ¥æºï¼Œéœ€è¦ç»´æŠ¤å¥½Owner父
        VCIJDialog ownerDialog = realDialogInstance;
        /*VCIJDialog ownerDialog = realDialogInstance;
        if(ownerDialog == null){
            ownerDialog = new VCIJDialog();
            ownerDialog.setSize(880, 500);
        }
        }*/
        final String referTempId = tempPropObj.getReferBtmId();
        final RMDataReferTempDialog dialog = new RMDataReferTempDialog(ownerDialog, referTempId);
        final RMDataReferTempDialog dialog = new RMDataReferTempDialog(this,tempPropObj);
        dialog.setDialogCallback(new Runnable() {
            @Override
            public void run() {
@@ -1185,9 +1249,9 @@
        //dialog.initDialogSize(ownerDialog.getWidth(), ownerDialog.getHeight());
        Dimension dime = Toolkit.getDefaultToolkit().getScreenSize();
        int x = dime.width/2 - 400;
        int y = dime.height/2 -400;
        int y = dime.height/2 -300;
        dialog.setLocation(x, y);
        dialog.setSize(new Dimension(900, 800));
        dialog.setSize(new Dimension(900, 600));
        dialog.setModal(true);
        dialog.setVisible(true);
    }
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyFor410TreePanel.java
@@ -35,6 +35,7 @@
    private TransmitTreeObject transmitTreeObject = new TransmitTreeObject();
    private User userObj = null;
    private VCIBaseTreeNode selNode = null;
    private String url=ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController");
    /**
     * å­˜å‚¨åˆ†ç±»çš„Map,key:分类名称,value:分类值
     */
@@ -172,13 +173,13 @@
     */
    private CodeClassify[] getRMTypeByDescAndLib() {
        CodeClassify[] objs = new CodeClassify[]{};
        String url= ConfigUtils.getConfigValue("410.PDM.leftdescLibNode.url","http://127.0.0.1:36014/codeApplySwingController/getRMTypeByDescAndLib");
    //    String url= ConfigUtils.getConfigValue("410.PDM.leftdescLibNode.url","http://127.0.0.1:36014/codeApplySwingController/getRMTypeByDescAndLib");
        /**系统只加载代码项  å¦‚æžœlibName不为空,直接获取对应的代码项**/
        Map<String,String> condtionMap=new HashMap<>();
        condtionMap.put("desc", this.clsfName);
        condtionMap.put("codeLibName",rootNode.toString());
        R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>());
        R r=HttpUtil.sendGet(url+"/getRMTypeByDescAndLib",condtionMap,new HashMap<>());
        List<CodeClassify> codeClassifyList = new ArrayList<>();
        if(r.isSuccess()){
            Object object= r.getData();
@@ -207,11 +208,11 @@
     * @return
     */
    private CodeClassify[] getChildRMTypeObjects(String parentId){
        String url= ConfigUtils.getConfigValue("410.PDM.leftClsfNode.url","http://127.0.0.1:36014/codeApplySwingController/selectCodeClassifyVOByParentId");
    //    String url= ConfigUtils.getConfigValue("410.PDM.leftClsfNode.url","http://127.0.0.1:36014/codeApplySwingController/selectCodeClassifyVOByParentId");
        /**系统只加载代码项  å¦‚æžœlibName不为空,直接获取对应的代码项**/
        Map<String,String> condtionMap=new HashMap<>();
        condtionMap.put("parentId", parentId );
        R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>());
        R r=HttpUtil.sendGet(url+"/selectCodeClassifyVOByParentId",condtionMap,new HashMap<>());
        List<CodeClassify> codeClassifyList = new ArrayList<>();
        if(r.isSuccess()){
            Object object= r.getData();
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410.java
@@ -66,6 +66,10 @@
    //左侧树
    private CodeApplyFor410TreePanel typeTreePanel = null;
    private TransmitTreeObject transmitTreeObject = new TransmitTreeObject();
    private String url=ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController");
    /***
     *
     * @param userObj
@@ -160,13 +164,12 @@
        CodeClassifyVO [] codeClassifyVOS = new CodeClassifyVO[0];
        Map<String,String> condtionMap=new HashMap<>();
        //condtionMap.put("parentOid",);
        String url=ConfigUtils.getConfigValue("410.PDM.item.url","http://127.0.0.1:36014/codeApplySwingController/getRMLibByName");
        //String url=ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController");
        /**系统只加载代码项  å¦‚æžœlibName不为空,直接获取对应的代码项**/
        if(libName.length>0) {
            condtionMap.put("libName", StringUtils.join(libName,",") );
        }
        R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>());
        R r=HttpUtil.sendGet(url+"/getRMLibByName",condtionMap,new HashMap<>());
        List<CodeClassify> codeClassifyList = new ArrayList<>();
        if(r.isSuccess()){
            Object object= r.getData();
@@ -257,11 +260,11 @@
                CodeClassify codeClassify=(CodeClassify)node;
                classOid = codeClassify.getOid();
                String url = ConfigUtils.getConfigValue("410.PDM.clsfTemplate.url", "http://127.0.0.1:36014/codeApplySwingController/getUsedTemplateByClassifyOid");
                //String url = ConfigUtils.getConfigValue("410.PDM.clsfTemplate.url", "http://127.0.0.1:36014/codeApplySwingController/getUsedTemplateByClassifyOid");
                /**系统只加载代码项  å¦‚æžœlibName不为空,直接获取对应的代码项**/
                Map<String, String> condtionMap = new HashMap<>();
                condtionMap.put("codeClassifyOid", classOid);
                R r = HttpUtil.sendGet(url, condtionMap, new HashMap<>());
                R r = HttpUtil.sendGet(url+"/getUsedTemplateByClassifyOid", condtionMap, new HashMap<>());
                boolean res = false;
                if (r.isSuccess()) {
                    //List<CodeClassifyTemplateVO> codeClassifyTemplateVOList=new ArrayList<>();
@@ -279,9 +282,9 @@
                            e.printStackTrace();
                        }
                    }
                }else{
                }/*else{
                    VCIOptionPane.showMessage(this,r.getMsg());
                }
                }*/
                initBtnStatus(res);
            }
        }
@@ -302,11 +305,11 @@
        boolean res=false;
        if(obj instanceof CodeClassify) {
            CodeClassify curentCodeClassify=(CodeClassify)obj;
            String url=ConfigUtils.getConfigValue("410.PDM.clsfTemplate.url","http://127.0.0.1:36014/codeApplySwingController/getUsedTemplateByClassifyOid");
            //String url=ConfigUtils.getConfigValue("410.PDM.clsfTemplate.url","http://127.0.0.1:36014/codeApplySwingController/getUsedTemplateByClassifyOid");
            /**系统只加载代码项  å¦‚æžœlibName不为空,直接获取对应的代码项**/
            Map<String,String> condtionMap=new HashMap<>();
            condtionMap.put("codeClassifyOid",curentCodeClassify.getOid());
            R r=HttpUtil.sendGet(url,condtionMap,new HashMap<>() );
            R r=HttpUtil.sendGet(url+"/getUsedTemplateByClassifyOid",condtionMap,new HashMap<>() );
            if(r.isSuccess()) {
                CodeClassifyTemplateVO codeClassifyTemplateVO=new CodeClassifyTemplateVO();
                Object object= r.getData();
@@ -322,9 +325,9 @@
                        e1.printStackTrace();
                    }
                }
            }else{
            }/*else{
                VCIOptionPane.showMessage(this.owner,r.getMsg());
            }
            }*/
        }
        initBtnStatus(res);
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanel.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,127 @@
package com.vci.ubcs.codeapply;
import com.vci.base.ui.swing.VCISwingUtil;
import com.vci.base.ui.swing.components.VCIJButton;
import com.vci.base.ui.swing.components.VCIJPanel;
import com.vci.base.ui.swing.components.table.AbstractVCIJTableDataProvider;
import com.vci.base.ui.swing.components.table.VCIJTablePanel;
import com.vci.ubcs.codeapply.object.UIFormRefer;
import org.apache.poi.ss.formula.functions.T;
import java.awt.*;
public class CodeDataMainPanel extends VCIJPanel {
    /**
     * è‡ªå®šä¹‰é¡¶éƒ¨æŽ§ä»¶åŒºåŸŸ
     */
    private VCIJPanel customTopPanel = null;
    private UIFormRefer uiFormRefer;
    private CodeDataMainPanelActionListener actionListener = new CodeDataMainPanelActionListener(this);
    private VCIJButton btnSearch = VCISwingUtil.createVCIJButton("search", "查询", "查询", "search.png", actionListener);
    private VCIJButton btnClear = VCISwingUtil.createVCIJButton("clear_search", "清空查询条件", "清空查询条件", "clear.gif", actionListener);
    public CodeDataMainPanel(UIFormRefer uiFormRefer) {
        this.uiFormRefer=uiFormRefer;
    }
    public void buildPanel(){
        this.init();
    }
    private void init(){
        initComponents();
    }
    private void initComponents(){
        setLayout(new BorderLayout());
        add(createNorthBaseAttrsPanel(), BorderLayout.NORTH);
        add(createCenterDataTablePanel(), BorderLayout.CENTER);
    }
    /**
     * æ ¹æ®ç±»åž‹æ˜¾ç¤ºtable
     */
    private VCIJTablePanel<T> tablePanel = null;
    private AbstractVCIJTableDataProvider<T> dataProvider = null;
    private VCIJPanel createCenterDataTablePanel() {
        tablePanel = new VCIJTablePanel<T>(dataProvider);
        //tablePanel.setCustomButtons(getCombinedButtons());
        tablePanel.setShowExport(true);
        tablePanel.setShowPaging(true);
        tablePanel.setPageButtonFlowAlign(FlowLayout.CENTER);
        tablePanel.setCustomButtonFlowAlign(FlowLayout.CENTER);
        tablePanel.buildTablePanel();
        int columnCount = tablePanel.getTable().getColumnCount();
        //tablePanel.getTable().getColumnModel().getColumn(columnCount - 2).setPreferredWidth(150);
        //tablePanel.getTable().getColumnModel().getColumn(columnCount - 4).setPreferredWidth(150);
        /**
         * ç¦æ­¢table表头拖动,防止第一列的复选框和第二列的序号拖动出问题:
         * ç‚¹å‡»æŸè¡Œï¼Œè¡¨æ ¼ä¸­çš„复选框看不到,且选中表头上的复选框系统会报错;数据信息显示不正确。
         * 2012-12-4 wangxl
         */
        tablePanel.getTable().getTableHeader().setReorderingAllowed(false);
        tablePanel.refreshTableData();
        return tablePanel;
    }
    private VCIJPanel createNorthBaseAttrsPanel(){
        VCIJPanel palRes = new VCIJPanel(new BorderLayout());
        if(getCustomTopPanel() != null){
            VCIJPanel pal = new VCIJPanel();
            pal.setLayout(new GridBagLayout());
            GridBagConstraints c = new GridBagConstraints();
            int x = 0;
            int y = 0;
            c.gridx = x++;
            c.gridy = y++;
            c.gridheight = 1;
            c.gridwidth = 1;
            c.weightx = 0;
            c.weighty = 0;
            c.fill = GridBagConstraints.NONE;
            c.anchor = GridBagConstraints.EAST;
            c.insets = new Insets(1, 1, 1, 1);
            c.ipadx = 1;
            c.ipady = 1;
            pal.add(btnSearch, c);
            c.gridx = x++;
            pal.add(btnClear, c);
            palRes.add(pal, BorderLayout.SOUTH);
            palRes.add(getCustomTopPanel(), BorderLayout.CENTER);
        }
        return palRes;
    }
    public VCIJPanel getCustomTopPanel() {
        return customTopPanel;
    }
    public void setCustomTopPanel(VCIJPanel customTopPanel) {
        this.customTopPanel = customTopPanel;
    }
    public VCIJTablePanel<T> getTablePanel() {
        return tablePanel;
    }
    public void setTablePanel(VCIJTablePanel<T> tablePanel) {
        this.tablePanel = tablePanel;
    }
    public UIFormRefer getUiFormRefer() {
        return uiFormRefer;
    }
    public void setUiFormRefer(UIFormRefer uiFormRefer) {
        this.uiFormRefer = uiFormRefer;
    }
    public AbstractVCIJTableDataProvider<T> getDataProvider() {
        return dataProvider;
    }
    public void setDataProvider(AbstractVCIJTableDataProvider<T> dataProvider) {
        this.dataProvider = dataProvider;
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelActionListener.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.vci.ubcs.codeapply;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.LinkedHashMap;
public class CodeDataMainPanelActionListener implements ActionListener {
    private CodeDataMainPanel owner = null;
    private LinkedHashMap<String, Runnable> actionMaps = new LinkedHashMap<String, Runnable>();
    public CodeDataMainPanelActionListener(CodeDataMainPanel owner) {
        this.owner = owner;
        this.initActionMap();
    }
    private void initActionMap(){
        actionMaps.put("search", new Runnable() { public void run() {
            search();
        }});
    }
    @Override
    public void actionPerformed(ActionEvent e) {
    }
    private void search() {
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java
@@ -2,17 +2,42 @@
import com.vci.base.ui.swing.components.table.AbstractVCIJTableDataProvider;
import com.vci.base.ui.swing.components.table.VCIJTableNode;
import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeShowFieldConfigVO;
import com.vci.ubcs.codeapply.object.UIFormRefer;
import com.vci.ubcs.codeapply.object.UIFormRefers;
import com.vci.ubcs.starter.web.pagemodel.UITableFieldVO;
import org.apache.poi.ss.formula.functions.T;
import java.util.LinkedList;
import java.util.List;
public class CodeDataMainPanelDataProvider extends AbstractVCIJTableDataProvider<T> {
    private CodeDataMainPanel ownerPanel;
    private String[] specialColumns = {};
    public CodeDataMainPanelDataProvider(CodeDataMainPanel ownerPanel) {
        this.ownerPanel=ownerPanel;
    }
    @Override
    public String[] getSpecialColumns() {
        return new String[0];
        LinkedList<String> nameList = new LinkedList<>();
        LinkedList<String> fieldList = new LinkedList<>();
        List<CodeShowFieldConfigVO> colsList=ownerPanel.getUiFormRefer().getCodeShowFieldConfigVOS();
        colsList.stream().forEach(columns->{
            String  title= columns.getTitle();
            String field=columns.getField();
            nameList.add(title);
            fieldList.add(field);
        });
        specialColumns = nameList.toArray(new String[]{});
        return specialColumns;
    }
    @Override
    public int getTotal() {
        return 0;
        return total;
    }
    @Override
@@ -21,7 +46,8 @@
    }
    @Override
    public T[] getDatas(int i, int i1) {
    public T[] getDatas(int pageIndex, int pageSize) {
        return new T[0];
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeReferTreePanel.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,202 @@
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.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", "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;
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialog.java
@@ -3,31 +3,40 @@
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JPanel;
import com.vci.base.ui.exception.VCIException;
import javax.swing.event.TreeSelectionEvent;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.vci.base.ui.swing.VCISwingUtil;
import com.vci.base.ui.swing.components.VCIJButton;
import com.vci.base.ui.swing.components.VCIJDialog;
import com.vci.base.ui.swing.components.VCIJPanel;
import com.vci.base.ui.swing.components.VCIJTable;
import com.vci.base.ui.swing.components.*;
import com.vci.base.ui.swing.components.table.VCIJTablePanel;
import com.vci.base.ui.tree.VCIBaseTree;
import com.vci.base.ui.tree.VCIBaseTreeModel;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.codeapply.enums.CodeReferConfigTypeEnum;
import com.vci.ubcs.codeapply.object.UIFormRefer;
import com.vci.ubcs.codeapply.object.UIFormRefers;
import org.apache.poi.ss.formula.functions.T;
public class RMDataReferTempDialog extends VCIJDialog {
    private VCIJDialog rmDataAddDialog;
    private String templateId = "";
    private CodeApplyFor410MainPanel owner;
    private CodeClassifyTemplateAttrVO codeClassifyTemplateAttr;
    private RMDataReferTempDialogActionListener actionListener = new RMDataReferTempDialogActionListener(this);
    private VCIJButton btnOk = VCISwingUtil.createVCIJButton("ok", "确定", "确定", "accept.png", actionListener);
    private VCIJButton btnCancel = VCISwingUtil.createVCIJButton("cancel", "取消", "取消", "cancel.png", actionListener);
    private static final long serialVersionUID = 1L;
    public RMDataReferTempDialog(VCIJDialog rmDataAddDialog,String templateId) {
    private VCIJScrollPane scrollLeftTreePane = new VCIJScrollPane();
    CodeReferTreePanel typeTreePanel;
    private VCIBaseTree leftTree = null;
    private VCIBaseTreeModel leftTreeModel = null;
    public RMDataReferTempDialog(CodeApplyFor410MainPanel owner, CodeClassifyTemplateAttrVO codeClassifyTemplateAttr) {
        //super(true);
        this.rmDataAddDialog = rmDataAddDialog;
        this.templateId = templateId;
        this.owner = owner;
        this.codeClassifyTemplateAttr = codeClassifyTemplateAttr;
        init();
        setTitle("引用模板-属性选择");
        //initDialogSize(rmDataAddDialog.getWidth(), rmDataAddDialog.getHeight());
@@ -38,10 +47,8 @@
        JPanel panel = new JPanel(new FlowLayout());
        panel.add(btnOk);
        panel.add(btnCancel);
        this.add(createRMDataMainPanel(), BorderLayout.CENTER);
        this.add(panel,BorderLayout.SOUTH);
        Dimension dime = Toolkit.getDefaultToolkit().getScreenSize().getSize();
        int x = dime.width/6;
        int y = dime.height/6 + 50;
@@ -56,37 +63,37 @@
    public void setFromTableDoubleClick(boolean fromTableDoubleClick) {
        this.fromTableDoubleClick = fromTableDoubleClick;
    }
    private UIFormRefer uiFormRefer;
    private VCIJPanel createRMDataMainPanel(){
        VCIJPanel rmDataTablePanel = new VCIJPanel();
        if(!templateId.equals("")){
            //rmDataTablePanel = getRMDataMainPanel("", "", templateId);
        VCIJPanel rmDataTablePanel = new VCIJPanel(new BorderLayout());
        uiFormRefer=new UIFormRefer();
        if(StringUtils.isNotBlank(codeClassifyTemplateAttr.getReferConfig())){
            uiFormRefer = JSONObject.toJavaObject(JSONObject.parseObject(codeClassifyTemplateAttr.getReferConfig().toString()), UIFormRefer.class);
        }
        rmDataTablePanel.setPreferredSize(new Dimension(880,300));
        if(uiFormRefer !=null&&(uiFormRefer.getType().equals(CodeReferConfigTypeEnum.TREE.getValue())
                ||uiFormRefer.getType().equals(CodeReferConfigTypeEnum.ORGDEPARTMENTREFER.getValue()))){
            rmDataTablePanel.add(createTreePanel(),BorderLayout.CENTER);
        }else if(uiFormRefer !=null&&(uiFormRefer.getType().equals(CodeReferConfigTypeEnum.GRID.getValue()))){
        //树表
        }else{
            rmDataTablePanel.add(getRMDataMainPanel(),BorderLayout.CENTER);
        }
        //rmDataTablePanel.setPreferredSize(new Dimension(880,300));
        return rmDataTablePanel;
    }
    private VCIJTablePanel<T> tablePanel = null;
    /**
     * æ ¹æ®ç±»åž‹æ˜¾ç¤ºtable
     */
    private CodeDataMainPanel codeDataMainPanel = null;
    private CodeDataMainPanelDataProvider dataProvider;
    public VCIJTablePanel getRMDataMainPanel(String libId, String classifyId, String templateId) {
        dataProvider = new CodeDataMainPanelDataProvider();
        tablePanel = new VCIJTablePanel<T>(dataProvider);
        //tablePanel.setCustomButtons(getCombinedButtons());
        tablePanel.setShowExport(true);
        tablePanel.setShowPaging(true);
        tablePanel.setPageButtonFlowAlign(FlowLayout.CENTER);
        tablePanel.setCustomButtonFlowAlign(FlowLayout.CENTER);
        tablePanel.buildTablePanel();
        int columnCount = tablePanel.getTable().getColumnCount();
        tablePanel.getTable().getColumnModel().getColumn(columnCount - 2).setPreferredWidth(150);
        tablePanel.getTable().getColumnModel().getColumn(columnCount - 4).setPreferredWidth(150);
        /**
         * ç¦æ­¢table表头拖动,防止第一列的复选框和第二列的序号拖动出问题:
         * ç‚¹å‡»æŸè¡Œï¼Œè¡¨æ ¼ä¸­çš„复选框看不到,且选中表头上的复选框系统会报错;数据信息显示不正确。
         * 2012-12-4 wangxl
         */
        tablePanel.getTable().getTableHeader().setReorderingAllowed(false);
        tablePanel.refreshTableData();
         VCIJTable table = tablePanel.getTable();
    public CodeDataMainPanel getRMDataMainPanel() {
        codeDataMainPanel=new CodeDataMainPanel(uiFormRefer);
        CodeDataMainPanelDataProvider dataProvider=new CodeDataMainPanelDataProvider(codeDataMainPanel);
        codeDataMainPanel.setDataProvider(dataProvider);
        codeDataMainPanel.setCustomTopPanel(new attarSearchPanel(uiFormRefer));
        codeDataMainPanel.buildPanel();
         VCIJTable table = codeDataMainPanel.getTablePanel().getTable();
        table.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
                if (e.getButton() == 1 && e.getClickCount() == 2) {
@@ -95,9 +102,37 @@
                }
            }
        });
        return tablePanel;
        return codeDataMainPanel;
    }
    /***
     * æ ¹æ®ç±»åž‹å±•示树
     * @return
     */
    private VCIJScrollPane createTreePanel(){
        final RMDataReferTempDialog self = this;
        typeTreePanel = new CodeReferTreePanel(uiFormRefer) {
            private static final long serialVersionUID = 8121108576137012228L;
            @Override
            public void tree_valueChanged(TreeSelectionEvent e) {
                self.leftTree_valueChanged(e);
            }
        };
        typeTreePanel.buildTreePanel();
        leftTree = typeTreePanel.getTree();
        leftTreeModel = typeTreePanel.getTreeModel();
        scrollLeftTreePane.setViewportView(leftTree);
        return scrollLeftTreePane;
    }
    /***
     * æ ‘切换事件
     * @param e
     */
    private void leftTree_valueChanged(TreeSelectionEvent e) {
    }
    /***获取资源数据的主面板**/
/*
    public RMDataMainPanel getRMDataMainPanel() {
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/TestIntegrateFrame.java
@@ -31,7 +31,7 @@
//                map.put("原材料部件", "1");
//                map.put("简易示波器", "");
                map.put("", "YCL");
                String clsfName = "锁";
                String clsfName = "";
                String deptName = "";
                CodeApplyFor410Dialog dialog = new CodeApplyFor410Dialog(j, clsfName,deptName);
                String code = dialog.getCodeValue();
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/attarSearchPanel.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
package com.vci.ubcs.codeapply;
import com.vci.base.ui.swing.VCISwingUtil;
import com.vci.base.ui.swing.components.VCIJButton;
import com.vci.base.ui.swing.components.VCIJLabel;
import com.vci.base.ui.swing.components.VCIJPanel;
import com.vci.base.ui.swing.components.VCIJTextField;
import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeShowFieldConfigVO;
import com.vci.ubcs.codeapply.object.UIFormRefer;
import org.apache.commons.collections4.CollectionUtils;
import java.awt.*;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Set;
public class attarSearchPanel extends VCIJPanel {
    private LinkedHashMap<String , VCIJTextField> attrInerNameValMap = new LinkedHashMap<String,VCIJTextField>();
    private UIFormRefer uiFormRefer;
    public attarSearchPanel(UIFormRefer uiFormRefer){
        this.uiFormRefer = uiFormRefer;
        init();
    }
    private void init(){
        initcomponam();
    }
    private void initcomponam(){
        this.setLayout(new GridBagLayout());
        setAttrSearch();
        this.setVisible(true);
    }
    /**
     *
     * <p>把基本属性信息初始化到组件上面。并保存属性到Map(属性内部名称--textField)中</p>
     *
     * @time 2013-3-17
     */
    private void setAttrSearch(){
        List<CodeShowFieldConfigVO> codeShowFieldConfigVOS=this.uiFormRefer.getCodeShowFieldConfigVOS();
        if(!CollectionUtils.isEmpty(codeShowFieldConfigVOS)){
            CodeShowFieldConfigVO[] objs=codeShowFieldConfigVOS.toArray(new CodeShowFieldConfigVO []{});
            GridBagConstraints cons = new GridBagConstraints(0, 0, 1, 1, 0.0, 1.0, GridBagConstraints.EAST , GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0);
            for(int i = 0 ;i<objs.length;i++){
                if(cons.gridx  == 1 ){
                    cons.gridwidth = GridBagConstraints.REMAINDER;
                    cons.anchor = GridBagConstraints.WEST;
                }else if(cons.gridx >1){
                    cons.gridx = 0;
                    cons.anchor = GridBagConstraints.EAST;
                    cons.gridy++;
                    cons.gridwidth = 1;
                }
                VCIJPanel oneSearch = new VCIJPanel();
                oneSearch.setLayout(new FlowLayout(FlowLayout.RIGHT));
                String attrName = objs[i].getTitle();
                VCIJLabel attarLabel = new VCIJLabel(attrName+":");
                VCIJTextField attrText = new VCIJTextField("");
                attrInerNameValMap.put(objs[i].getField(), attrText);
                attrText.setPreferredSize(new Dimension(300, 30));
                oneSearch.add(attarLabel);
                oneSearch.add(attrText);
                cons.gridx++;
                this.add(oneSearch,cons);
            }
        }
    }
    /**
     *
     * <p>返回各个属性经过拼接后的查询SQL语句</p>
     *
     * @time 2013-3-17
     * @return
     */
    public  String getAttrSearchFilterString(){
        String result = "";
        StringBuilder sql  = new StringBuilder();
        Set<String> keys = attrInerNameValMap.keySet();
        for (Iterator it = keys.iterator(); it.hasNext();) {
            String key = (String)it.next();
            VCIJTextField textField =     attrInerNameValMap.get(key);
            String message = textField.getText().replaceAll(" ", "").trim();
            if(message.equals("")) continue;
            String text = getTextQueryVal(message);
            sql.append(" "+key+" ");
            sql.append("  like ");
            sql.append("'"+text+"'");
            sql.append(" and");
        }
        if(sql.length() != 0){
            result =  sql.substring(0, sql.lastIndexOf("and"));
        }
        return result;
    }
    /**
     *
     * <p>根据文本框输入内容,构造查询条件。
     *     è¿‡è™‘结果: 1、当内容是 ä»¥*开头,如'*abc',则返回内容"%abc";
     *            2、当内容以*结束,如"abc*",则返回内容"abc%";
     *            3、当内容中间包含*,如"abc*def",则返回内容"abc%def";
     *            4、输入的内容如果是空,则返回"%"
     *            5、其他情况均返回内容本身
     * </p>
     * @time 2013-3-17
     * @param text
     * @return
     */
    private String getTextQueryVal(String text){
        if(text.equals("")){
            return "%";
        }
        StringBuilder result = new StringBuilder();
        // update by xchao 2013.05.21 begin
        // æ”¯æŒæ›´çµæ´»çš„æœç´¢
        // ä¸»æ€æƒ³æŽ§åˆ¶é€»è¾‘
        // 1、将输入的条件中的*替换为%,XXX*XXX-> XXX%XXX
        // 2、如果输入的条件不包含*,则在条件的前后都加上%,以完成全模糊,'%XXX%'
        // 3、前面不输入*、后面不输入*与之前一致
        //     å³ï¼šå‰é¢ä¸åŒ…含*,则表明查询的是‘以XXX开头’的数据,'XXX%'
        //         åŽé¢ä¸åŒ…含*,则表面查询的是‘以XXX结束’的数据,'%XXX'
        // 4、
        if(text.indexOf("*") >= 0){
//            result.append(text.replace("*", "%"));
            // ä¸‹å¥å¯ä»¥æ”¯æŒä¸­é—´*
            result.append("%").append(text.replace("*", "%")).append("%");
        } else {
            result.append("%").append(text).append("%");
        }
        // update by xchao 2013.05.21 end
//        int midel = text.lastIndexOf("*");
//        if(text.startsWith("*")){
//            result.append("%");
//            result.append(text.substring(1));
//        }else if(text.endsWith("*")){
//            result.append(text.substring(0, text.length()-1));
//            result.append("%");
//        }else if(midel > 0){
//            String before = text.substring(0, midel);
//            result.append(before);
//            result.append("%");
//            String after = text.substring(midel+1);
//            result.append(after);
//        }else{
//            result.append(text);
//        }
        return result.toString();
    }
    public void clear(){
        Set<String> keys = attrInerNameValMap.keySet();
        for (Iterator it = keys.iterator(); it.hasNext();) {
            String key = (String)it.next();
            VCIJTextField textField =     attrInerNameValMap.get(key);
            textField.setText("");
        }
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/enums/CodeReferConfigTypeEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,176 @@
package com.vci.ubcs.codeapply.enums;
import com.vci.ubcs.starter.web.enumpck.BaseEnum;
/**
 * å‚照配置中用到的——窗口类型
 * @author ludc
 * @date 2023/5/24 14:09
 */
public enum CodeReferConfigTypeEnum implements BaseEnum {
    /**
     * é»˜è®¤æ ·å¼
     */
    DEFAULT("default","默认样式"),
    /**
     * å¹³å°é…ç½®
     */
    STAND("stand","平台配置"),
    /**
     * æ ‘å½¢
     */
    TREE("tree","树形"),
    /**
     * æ ‘å½¢
     */
    GRID("grid","列表"),
    /**
     * éƒ¨é—¨æ ‘
     */
    ORGDEPARTMENTREFER("refer/OrgDepartmentRefer","部门树"),
    /**
     * éƒ¨é—¨åˆ—表
     */
    ORGDEPARTMENTGRIDREFERS("refer/OrgDepartmentGridRefers","部门列表"),
    /**
     * ç”¨æˆ·
     */
    SMUSERREFER("refer/SmUserRefer","用户"),
    /**
     * ç”¨æˆ·åˆ—表
     */
    SMUSERGRIDREFER("refer/SmUserGridRefer","用户列表"),
    /**
     * è§’色列表
     */
    SMROLEREFER("refer/SmRoleRefer","角色列表"),
    /**
     * èŒåŠ¡
     */
    ORGDUTYREFER("refer/OrgDutyRefer","职务"),
    /**
     * å·¥ç§
     */
    SMWORKTYPEREFER("refer/SmWorkTypeRefer","工种"),
    /**
     * æµç¨‹æ¨¡æ¿
     */
    WFPROCESSTEMPLATEREFER("refer/WfProcessTemplateRefer","流程模板");
    /**
     * æžšä¸¾çš„值
     */
    private String value;
    /**
     * æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * èŽ·å–æžšä¸¾å€¼
     *
     * @return æžšä¸¾å€¼
     */
    @Override
    public String getValue() {
        return value;
    }
    /**
     * è®¾ç½®æžšä¸¾å€¼
     *
     * @param value æžšä¸¾å€¼
     */
    public void setValue(String value) {
        this.value = value;
    }
    /**
     * èŽ·å–æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     *
     * @return æ˜¾ç¤ºæ–‡æœ¬
     */
    @Override
    public String getText() {
        return text;
    }
    /**
     * è®¾ç½®æ˜¾ç¤ºæ–‡æœ¬
     *
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    public void setText(String text) {
        this.text = text;
    }
    /**
     * æž„造函数
     *
     * @param value å€¼
     * @param text  æ˜¾ç¤ºæ–‡æœ¬
     */
    private CodeReferConfigTypeEnum(String value, String text) {
        this.value = value;
        this.text = text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     *
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text) {
        for (CodeReferConfigTypeEnum wenum : CodeReferConfigTypeEnum.values()) {
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value) {
        for (CodeReferConfigTypeEnum wenum : CodeReferConfigTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–æžšä¸¾å¯¹è±¡
     *
     * @param value æžšä¸¾å€¼
     * @return æžšä¸¾å¯¹è±¡ï¼Œä¸å­˜åœ¨æ—¶å€™è¿”回null
     */
    public static CodeReferConfigTypeEnum forValue(String value) {
        for (CodeReferConfigTypeEnum wenum : CodeReferConfigTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return null;
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/CodeClassifyValue.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.vci.ubcs.codeapply.object;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyValueVO;
public class CodeClassifyValue extends CodeClassifyValueVO {
    @Override
    public String toString() {
        return super.getName();
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/CodeFixedValue.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
package com.vci.ubcs.codeapply.object;
import com.vci.ubcs.code.vo.pagemodel.CodeFixedValueVO;
public class CodeFixedValue extends CodeFixedValueVO {
    @Override
    public String toString() {
        return super.getId();
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/CoderefersecSearchVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,68 @@
package com.vci.ubcs.codeapply.object;
import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeShowFieldConfigVO;
import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeSrchCondConfigVO;
import lombok.Data;
import java.util.List;
@Data
public class CoderefersecSearchVO {
    private List<CodeSrchCondConfigVO> codeSrchCondConfigVOS;
    private List<CodeShowFieldConfigVO> codeShowFieldConfigVOS;
    private String referTypeName;// wupin,
    private String referType;//wupin,
    private String textField;// name,
    private String valueField;//oid,
    private String type;// default,
    private String url;// http://localhost:38000/api/ubcs-code/codeSyncUniversalController/queryClassifyRule,
    private String backPath;// http://localhost:38000/api,
    private String method;// POST,
    private String height;// ,
    private String useFormKey;
    private String paramForFormKey;
    private boolean isMuti;// false,
    private String mapFields;// ,
    private boolean isOpenGlobal;// true,
    private boolean isPersistence;// false,
    private int limit;// 15,
    private String sortField;// ,
    private String sortType;//private String "
    private String parentFieldName;// private String PARENTCODECLASSIFYOIDprivate String ,
    private String parentUsedField;// private String oidprivate String ,
    private String parentValue;// private String \\IN(SELECT oid from PLATFORMBTM_CODECLASSIFY where id ='hesuanfenlei')private String ,
    private String loadType;// private String allprivate String ,
    private boolean onlyLeaf;// false,
    @Override
    public String toString() {
        return "CoderefersecSearchVO{" +
            "codeSrchCondConfigVOS=" + codeSrchCondConfigVOS +
            ", codeShowFieldConfigVOS=" + codeShowFieldConfigVOS +
            ", referTypeName='" + referTypeName + '\'' +
            ", referType='" + referType + '\'' +
            ", textField='" + textField + '\'' +
            ", valueField='" + valueField + '\'' +
            ", type='" + type + '\'' +
            ", url='" + url + '\'' +
            ", backPath='" + backPath + '\'' +
            ", method='" + method + '\'' +
            ", height='" + height + '\'' +
            ", useFormKey='" + useFormKey + '\'' +
            ", paramForFormKey='" + paramForFormKey + '\'' +
            ", isMuti=" + isMuti +
            ", mapFields='" + mapFields + '\'' +
            ", isOpenGlobal=" + isOpenGlobal +
            ", isPersistence=" + isPersistence +
            ", limit=" + limit +
            ", sortField='" + sortField + '\'' +
            ", sortType='" + sortType + '\'' +
            ", parentFieldName='" + parentFieldName + '\'' +
            ", parentUsedField='" + parentUsedField + '\'' +
            ", parentValue='" + parentValue + '\'' +
            ", loadType='" + loadType + '\'' +
            ", onlyLeaf=" + onlyLeaf +
            '}';
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/ReferTreObject.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,179 @@
package com.vci.ubcs.codeapply.object;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ReferTreObject implements Serializable {
    private static final long serialVersionUID = 6886695271635257882L;
    private String oid;
    private String text;
    private String name;
    private boolean leaf = false;
    private boolean showCheckbox = false;
    private boolean checked = false;
    private List<Tree> children = new ArrayList();
    private String icon;
    private String iconCls;
    private String parentId;
    private String parentName;
    private String parentBtmName;
    private boolean expanded = false;
    private String href;
    private String index;
    private Map<String, String> attributes = new HashMap();
    public String getOid() {
        return oid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public String getText() {
        return text;
    }
    public void setText(String text) {
        this.text = text;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public boolean isLeaf() {
        return leaf;
    }
    public void setLeaf(boolean leaf) {
        this.leaf = leaf;
    }
    public boolean isShowCheckbox() {
        return showCheckbox;
    }
    public void setShowCheckbox(boolean showCheckbox) {
        this.showCheckbox = showCheckbox;
    }
    public boolean isChecked() {
        return checked;
    }
    public void setChecked(boolean checked) {
        this.checked = checked;
    }
    public List<Tree> getChildren() {
        return children;
    }
    public void setChildren(List<Tree> children) {
        this.children = children;
    }
    public String getIcon() {
        return icon;
    }
    public void setIcon(String icon) {
        this.icon = icon;
    }
    public String getIconCls() {
        return iconCls;
    }
    public void setIconCls(String iconCls) {
        this.iconCls = iconCls;
    }
    public String getParentId() {
        return parentId;
    }
    public void setParentId(String parentId) {
        this.parentId = parentId;
    }
    public String getParentName() {
        return parentName;
    }
    public void setParentName(String parentName) {
        this.parentName = parentName;
    }
    public String getParentBtmName() {
        return parentBtmName;
    }
    public void setParentBtmName(String parentBtmName) {
        this.parentBtmName = parentBtmName;
    }
    public boolean isExpanded() {
        return expanded;
    }
    public void setExpanded(boolean expanded) {
        this.expanded = expanded;
    }
    public String getHref() {
        return href;
    }
    public void setHref(String href) {
        this.href = href;
    }
    public String getIndex() {
        return index;
    }
    public void setIndex(String index) {
        this.index = index;
    }
    public Map<String, String> getAttributes() {
        return attributes;
    }
    public void setAttributes(Map<String, String> attributes) {
        this.attributes = attributes;
    }
    @Override
    public String toString() {
        return "ReferDataObject{" +
            "oid='" + oid + '\'' +
            ", text='" + text + '\'' +
            ", name='" + name + '\'' +
            ", leaf=" + leaf +
            ", showCheckbox=" + showCheckbox +
            ", checked=" + checked +
            ", children=" + children +
            ", icon='" + icon + '\'' +
            ", iconCls='" + iconCls + '\'' +
            ", parentId='" + parentId + '\'' +
            ", parentName='" + parentName + '\'' +
            ", parentBtmName='" + parentBtmName + '\'' +
            ", expanded=" + expanded +
            ", href='" + href + '\'' +
            ", index='" + index + '\'' +
            ", attributes=" + attributes +
            '}';
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/UIFormRefer.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,270 @@
package com.vci.ubcs.codeapply.object;
import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeShowFieldConfigVO;
import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeSrchCondConfigVO;
import com.vci.ubcs.starter.web.pagemodel.UIFieldSortVO;
import com.vci.ubcs.starter.web.pagemodel.UITableCustomDefineVO;
import java.util.List;
import java.util.Map;
public class UIFormRefer {
    private List<CodeSrchCondConfigVO> codeSrchCondConfigVOS;
    private List<CodeShowFieldConfigVO> codeShowFieldConfigVOS;
    private String referTypeName;// wupin,
    private String referType;//wupin,
    private String textField;// name,
    private String valueField;//oid,
    private String type;// default,
    private String url;// http://localhost:38000/api/ubcs-code/codeSyncUniversalController/queryClassifyRule,
    private String backPath;// http://localhost:38000/api,
    private String method;// POST,
    private String height;// ,
    private String useFormKey;
    private String paramForFormKey;
    private boolean isMuti;// false,
    private String mapFields;// ,
    private boolean isOpenGlobal;// true,
    private boolean isPersistence;// false,
    private int limit;// 15,
    private String sortField;// ,
    private String sortType;//private String "
    private String parentFieldName;// private String PARENTCODECLASSIFYOIDprivate String ,
    private String parentUsedField;// private String oidprivate String ,
    private String parentValue;// private String \\IN(SELECT oid from PLATFORMBTM_CODECLASSIFY where id ='hesuanfenlei')private String ,
    private String loadType;// private String allprivate String ,
    private boolean onlyLeaf;// false,
    public List<CodeSrchCondConfigVO> getCodeSrchCondConfigVOS() {
        return codeSrchCondConfigVOS;
    }
    public void setCodeSrchCondConfigVOS(List<CodeSrchCondConfigVO> codeSrchCondConfigVOS) {
        this.codeSrchCondConfigVOS = codeSrchCondConfigVOS;
    }
    public List<CodeShowFieldConfigVO> getCodeShowFieldConfigVOS() {
        return codeShowFieldConfigVOS;
    }
    public void setCodeShowFieldConfigVOS(List<CodeShowFieldConfigVO> codeShowFieldConfigVOS) {
        this.codeShowFieldConfigVOS = codeShowFieldConfigVOS;
    }
    public String getReferTypeName() {
        return referTypeName;
    }
    public void setReferTypeName(String referTypeName) {
        this.referTypeName = referTypeName;
    }
    public String getReferType() {
        return referType;
    }
    public void setReferType(String referType) {
        this.referType = referType;
    }
    public String getTextField() {
        return textField;
    }
    public void setTextField(String textField) {
        this.textField = textField;
    }
    public String getValueField() {
        return valueField;
    }
    public void setValueField(String valueField) {
        this.valueField = valueField;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getBackPath() {
        return backPath;
    }
    public void setBackPath(String backPath) {
        this.backPath = backPath;
    }
    public String getMethod() {
        return method;
    }
    public void setMethod(String method) {
        this.method = method;
    }
    public String getHeight() {
        return height;
    }
    public void setHeight(String height) {
        this.height = height;
    }
    public String getUseFormKey() {
        return useFormKey;
    }
    public void setUseFormKey(String useFormKey) {
        this.useFormKey = useFormKey;
    }
    public String getParamForFormKey() {
        return paramForFormKey;
    }
    public void setParamForFormKey(String paramForFormKey) {
        this.paramForFormKey = paramForFormKey;
    }
    public boolean isMuti() {
        return isMuti;
    }
    public void setMuti(boolean muti) {
        isMuti = muti;
    }
    public String getMapFields() {
        return mapFields;
    }
    public void setMapFields(String mapFields) {
        this.mapFields = mapFields;
    }
    public boolean isOpenGlobal() {
        return isOpenGlobal;
    }
    public void setOpenGlobal(boolean openGlobal) {
        isOpenGlobal = openGlobal;
    }
    public boolean isPersistence() {
        return isPersistence;
    }
    public void setPersistence(boolean persistence) {
        isPersistence = persistence;
    }
    public int getLimit() {
        return limit;
    }
    public void setLimit(int limit) {
        this.limit = limit;
    }
    public String getSortField() {
        return sortField;
    }
    public void setSortField(String sortField) {
        this.sortField = sortField;
    }
    public String getSortType() {
        return sortType;
    }
    public void setSortType(String sortType) {
        this.sortType = sortType;
    }
    public String getParentFieldName() {
        return parentFieldName;
    }
    public void setParentFieldName(String parentFieldName) {
        this.parentFieldName = parentFieldName;
    }
    public String getParentUsedField() {
        return parentUsedField;
    }
    public void setParentUsedField(String parentUsedField) {
        this.parentUsedField = parentUsedField;
    }
    public String getParentValue() {
        return parentValue;
    }
    public void setParentValue(String parentValue) {
        this.parentValue = parentValue;
    }
    public String getLoadType() {
        return loadType;
    }
    public void setLoadType(String loadType) {
        this.loadType = loadType;
    }
    public boolean isOnlyLeaf() {
        return onlyLeaf;
    }
    public void setOnlyLeaf(boolean onlyLeaf) {
        this.onlyLeaf = onlyLeaf;
    }
    @Override
    public String toString() {
        return "CoderefersecSearchVO{" +
            "codeSrchCondConfigVOS=" + codeSrchCondConfigVOS +
            ", codeShowFieldConfigVOS=" + codeShowFieldConfigVOS +
            ", referTypeName='" + referTypeName + '\'' +
            ", referType='" + referType + '\'' +
            ", textField='" + textField + '\'' +
            ", valueField='" + valueField + '\'' +
            ", type='" + type + '\'' +
            ", url='" + url + '\'' +
            ", backPath='" + backPath + '\'' +
            ", method='" + method + '\'' +
            ", height='" + height + '\'' +
            ", useFormKey='" + useFormKey + '\'' +
            ", paramForFormKey='" + paramForFormKey + '\'' +
            ", isMuti=" + isMuti +
            ", mapFields='" + mapFields + '\'' +
            ", isOpenGlobal=" + isOpenGlobal +
            ", isPersistence=" + isPersistence +
            ", limit=" + limit +
            ", sortField='" + sortField + '\'' +
            ", sortType='" + sortType + '\'' +
            ", parentFieldName='" + parentFieldName + '\'' +
            ", parentUsedField='" + parentUsedField + '\'' +
            ", parentValue='" + parentValue + '\'' +
            ", loadType='" + loadType + '\'' +
            ", onlyLeaf=" + onlyLeaf +
            '}';
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/object/UIFormRefers.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,315 @@
package com.vci.ubcs.codeapply.object;
import com.vci.ubcs.starter.web.pagemodel.UIFieldSortVO;
import com.vci.ubcs.starter.web.pagemodel.UITableCustomDefineVO;
import java.util.Map;
public class UIFormRefers {
    /**
     * åºåˆ—化
     */
    private static final long serialVersionUID = 1459005348514757537L;
    /**
     * å‚照的窗口类型
     */
    private String type;
    /**
     * æ˜¾ç¤ºçš„字段属性
     */
    private String textField = "name";
    /**
     * å€¼çš„属性
     */
    private String valueField = "oid";
    /**
     * æ˜¯å¦å¤šé€‰
     */
    private boolean muti = false;
    /**
     * åŽå°åœ°å€
     */
    private String url;
    /**
     * æœåŠ¡çš„åœ°å€
     */
    private String backPath;
    /**
     * è¯·æ±‚后台的形式
     */
    private String method = "GET";
    /**
     * é«˜åº¦
     */
    private Integer height;
    //通用的参照
    /**
     * å‚照的业务类型
     */
    private String referType;
    /**
     * å‚ç…§çš„UI上下文
     */
    private String referContent;
    //树形的参照
    /**
     * ä¸Šçº§å­—段
     */
    private String parentFieldName;
    /**
     * ä¸Šçº§å­—段的内容对应的属性的值
     */
    private String parentUsedField;
    /**
     * ä¸Šçº§å­—段的值
     */
    private String parentValue;
    /**
     * åŠ è½½æ–¹å¼
     */
    private String loadType = "all";
    /**
     * æ˜¯å¦åªèƒ½é€‰æ‹©å¶å­èŠ‚ç‚¹
     */
    private boolean onlyLeaf = false;
    /**
     * è¿‡æ»¤(级联)属性
     */
    private String useFormKey;
    /**
     * è¿‡æ»¤å±žæ€§è¯·æ±‚参数
     */
    private String paramForFormKey;
    /**
     * æ˜ å°„其他属性
     */
    private String mapFields;
    //列表的参照
    /**
     * æ˜¾ç¤ºçš„列表
     */
    private String displayTable;
    /**
     * è¡¨æ ¼çš„自定义定义
     */
    private UITableCustomDefineVO tableConfig;
    /**
     * ç­›é€‰æ¡ä»¶
     */
    private Map<String,String> where;
    /**
     * åŽå°æŽ’序
     */
    private boolean remoteSort;
    /**
     * åˆå§‹åŒ–排序
     */
    private UIFieldSortVO initSort;
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getTextField() {
        return textField;
    }
    public void setTextField(String textField) {
        this.textField = textField;
    }
    public String getValueField() {
        return valueField;
    }
    public void setValueField(String valueField) {
        this.valueField = valueField;
    }
    public boolean isMuti() {
        return muti;
    }
    public void setMuti(boolean muti) {
        this.muti = muti;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getBackPath() {
        return backPath;
    }
    public void setBackPath(String backPath) {
        this.backPath = backPath;
    }
    public String getMethod() {
        return method;
    }
    public void setMethod(String method) {
        this.method = method;
    }
    public Integer getHeight() {
        return height;
    }
    public void setHeight(Integer height) {
        this.height = height;
    }
    public String getReferType() {
        return referType;
    }
    public void setReferType(String referType) {
        this.referType = referType;
    }
    public String getReferContent() {
        return referContent;
    }
    public void setReferContent(String referContent) {
        this.referContent = referContent;
    }
    public String getParentFieldName() {
        return parentFieldName;
    }
    public void setParentFieldName(String parentFieldName) {
        this.parentFieldName = parentFieldName;
    }
    public String getParentUsedField() {
        return parentUsedField;
    }
    public void setParentUsedField(String parentUsedField) {
        this.parentUsedField = parentUsedField;
    }
    public String getParentValue() {
        return parentValue;
    }
    public void setParentValue(String parentValue) {
        this.parentValue = parentValue;
    }
    public String getLoadType() {
        return loadType;
    }
    public void setLoadType(String loadType) {
        this.loadType = loadType;
    }
    public boolean isOnlyLeaf() {
        return onlyLeaf;
    }
    public void setOnlyLeaf(boolean onlyLeaf) {
        this.onlyLeaf = onlyLeaf;
    }
    public String getUseFormKey() {
        return useFormKey;
    }
    public void setUseFormKey(String useFormKey) {
        this.useFormKey = useFormKey;
    }
    public String getParamForFormKey() {
        return paramForFormKey;
    }
    public void setParamForFormKey(String paramForFormKey) {
        this.paramForFormKey = paramForFormKey;
    }
    public String getMapFields() {
        return mapFields;
    }
    public void setMapFields(String mapFields) {
        this.mapFields = mapFields;
    }
    public String getDisplayTable() {
        return displayTable;
    }
    public void setDisplayTable(String displayTable) {
        this.displayTable = displayTable;
    }
    public UITableCustomDefineVO getTableConfig() {
        return tableConfig;
    }
    public void setTableConfig(UITableCustomDefineVO tableConfig) {
        this.tableConfig = tableConfig;
    }
    public Map<String, String> getWhere() {
        return where;
    }
    public void setWhere(Map<String, String> where) {
        this.where = where;
    }
    public boolean isRemoteSort() {
        return remoteSort;
    }
    public void setRemoteSort(boolean remoteSort) {
        this.remoteSort = remoteSort;
    }
    public UIFieldSortVO getInitSort() {
        return initSort;
    }
    public void setInitSort(UIFieldSortVO initSort) {
        this.initSort = initSort;
    }
}
Source/UBCS/ubcs-codeApply/src/main/resources/properties/conf.properties
@@ -19,17 +19,7 @@
#PDM????????????????????????????????????????#??
410.PDM.LibCodeName=\u7269\u54c1\#\u9644\u5f55
#???????????
410.PDM.item.url=http://127.0.0.1:36014/codeApplySwingController/getRMLibByName
#???????????
410.PDM.clsfTemplate.url=http://127.0.0.1:36014/codeApplySwingController/getUsedTemplateByClassifyOid
#code ????
410.code.url=http://127.0.0.1:36014/codeApplySwingController
#???????????
410.PDM.leftClsfNode.url=http://127.0.0.1:36014/codeApplySwingController/selectCodeClassifyVOByParentId
#
410.PDM.leftdescLibNode.url=http://127.0.0.1:36014/codeApplySwingController/getRMTypeByDescAndLib
410.PDM.rule.url=http://127.0.0.1:36014/codeApplySwingController/getCodeRuleByClassifyFullInfo
410.PDM.attrKeyValue.url=http://127.0.0.1:36014/codeApplySwingController/listComboboxItems
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java
@@ -3,11 +3,16 @@
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.service.ICodeClassifyService;
import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService;
import com.vci.ubcs.code.service.ICodeClassifyValueService;
import com.vci.ubcs.code.service.MdmEngineService;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyValueVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.web.pagemodel.KeyValue;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.starter.web.pagemodel.UIFormReferVO;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.api.R;
@@ -40,6 +45,11 @@
     * æ¨¡æ¿å±žæ€§æœåŠ¡
     */
    private final ICodeClassifyTemplateAttrService  codeClstempattrService;
    /***
     * åˆ†ç±»ç æ®µæœåŠ¡
     */
    private final ICodeClassifyValueService codeClassifyValueService;
    /**
     * èŽ·å–åº“èŠ‚ç‚¹ä¿¡æ¯
     * @param libName åº“节点名称
@@ -110,4 +120,37 @@
        List<KeyValue> keyValueList=mdmEngineService.listComboboxItems(codeClstempattrService.getObjectByOid(oid));
        return R.data(keyValueList);
    }
    /**
     * åˆ†ç±»ç æ®µç å€¼èŽ·å–
     * @param secOid
     * @param parentClassifyValueOid
     * @return
     */
    @GetMapping("/listCodeClassifyValueBySecOid")
    public R<List<CodeClassifyValueVO>> listCodeClassifyValueBySecOid(String secOid,String parentClassifyValueOid){
        List<CodeClassifyValueVO> codeClassifyValueVOS=    codeClassifyValueService.listCodeClassifyValueBySecOid(secOid,parentClassifyValueOid);
        return R.data(codeClassifyValueVOS);
    }
    /**
     * ä¸»é¢˜åº“分类树
     * @param treeQueryObject æ ‘形查询对象
     * @return ä¸»é¢˜åº“分类显示树
     */
    @GetMapping("/treeCodeClassify")
    public R<List<Tree>> treeCodeClassify(TreeQueryObject treeQueryObject)  {
        List<Tree>  treeList=    codeClassifyService. treeCodeClassify(treeQueryObject);
        return R.data(treeList);
    }
    /**
     * é»˜è®¤çš„æ ‘形参照列表
     * @param referConfigVO å‚照的配置信息
     * @return æ‰§è¡Œçš„结果
     */
    @GetMapping("/defaultReferTree")
    public R<List<Tree>> defaultReferTree(UIFormReferVO referConfigVO, TreeQueryObject queryObject){
         List<Tree> defaultReferTree= mdmEngineService.referTree(referConfigVO,queryObject);
        return R.data(defaultReferTree);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -16,7 +16,6 @@
 */
package com.vci.ubcs.code.service.impl;
import com.alibaba.nacos.api.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -41,6 +40,7 @@
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
@@ -1100,9 +1100,13 @@
//                codeClassifyDaoI.selectByPrimaryKey(codeClassifyOid);
            if(Func.isEmpty(classifyDO)&&StringUtils.isBlank(classifyDO.getParentCodeClassifyOid())){
                //说明已经是顶了,也没找到的话,那就返回了
                return null;
                return new ArrayList<>();
            }
            return selectOnlyTemplateByClassifyOid(classifyDO.getParentCodeClassifyOid());
            if(StringUtils.isNotBlank(classifyDO.getParentCodeClassifyOid())) {
                return selectOnlyTemplateByClassifyOid(classifyDO.getParentCodeClassifyOid());
            }else{
                return new ArrayList<>();
            }
        }else{
            return templateDOS;
        }