xiejun
2025-01-23 9ac3bd680a350c1cc4baad082d92cd2c5f158f3e
410TC集成jar源代码
已修改13个文件
已添加1个文件
678 ■■■■ 文件已修改
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/AttarSearchPanel.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410Dialog.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410MainPanel.java 451 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeDataMainPanel.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/TestIntegrateFrame.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/data.json 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/CodeClassifyValue.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/vo/CodeBasicSecVO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/vo/CodeClassifyTemplateAttrVO.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/vo/CodeClassifyVO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/vo/CodeRuleVO.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/HttpUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/ListUtil.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/AttarSearchPanel.java
@@ -82,8 +82,8 @@
            VCIJTextField textField =     attrInerNameValMap.get(key);
            String message = textField.getText().replaceAll(" ", "").trim();
            if(message.equals("")) continue;
            String text = getTextQueryVal(message);
            customConditionMap.put(key,text);
            //String text = getTextQueryVal(message);
            customConditionMap.put(key+"_like",message);
        }
        return customConditionMap;
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410Dialog.java
@@ -140,7 +140,7 @@
        userObject.setScope("all");
        Object object = JSONObject.toJSON(userObject);*/
        parmarMap.put("username",userName);
        password=MD5PassWord(password);
        //password=MD5PassWord(password);
        parmarMap.put("password",password);
        parmarMap.put("scope","all");
        parmarMap.put("grant_type","password");
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410MainPanel.java
@@ -17,7 +17,6 @@
import com.vci.rmip.code.client.codeapply.Apply410.utils.ConfigUtils;
import com.vci.rmip.code.client.codeapply.Apply410.utils.HttpUtil;
import com.vci.rmip.code.client.codeapply.Apply410.utils.VciBaseUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.codehaus.jackson.JsonProcessingException;
@@ -47,6 +46,11 @@
    private final String SPECIAL_SECTION_NAME = "Special.section.name";
    private final String SPECIAL_CONTROL_SECTION_NAME = "Special.control.other.section.name";
    private final String SPECIAL_SECTION_VALUE = "Special.section.val";
    Map<String, CodeBasicSecVO> secMap = new LinkedHashMap<String, CodeBasicSecVO>();
    Map<String, VCIJComboxBox> comMap = new LinkedHashMap<String, VCIJComboxBox>();
    Map<String, Integer> secPositionMap = new LinkedHashMap<String, Integer>();
    private final String MAX_ATTR_IN_LINE_KEY = "RMData.MaxAttrInLine";
    private final String TEXTAREA_ENABLE_KEY = "RMData.TextArea.Enable";
@@ -171,13 +175,13 @@
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }else{
        /*    if(!r.getMsg().equals("当前主题库分类,以及它的所有的上级分类都没有设置编码规则")){
                VCIOptionPane.showMessage(this,r.getMsg());
                }*/
            }
        }
        /**加载规则对应的码段信息**/
        if(codeRuleVO!=null){
            List<CodeBasicSecVO> codeBasicSecVOList=codeRuleVO.getSecVOList();
@@ -559,10 +563,10 @@
     * @param secObjs
     */
    public void initCurrentRow(CodeBasicSecVO[] secObjs,VCIJComboxBox[] secCombos) {
        SectionObject lastSecObj = null;
        CodeBasicSecVO lastSecObj = null;
        VCIJComboxBox hisCombo = null;
        try {
            final Map<String, String> secValMap = getSpecialValMap(specialSecVals);
            final Map<String, String> sOecValMap = getSpecialValMap(specialSecVals);
            Map<String,List<String>> secIdTOListValueOidMap=new HashMap<>();
            for(int k = 0;k < secObjs.length; k++) {
                final CodeBasicSecVO secObj = secObjs[k];
@@ -573,6 +577,29 @@
                if (secObj.getSecType().equals("codeclassifysec")) {// æ˜¯åˆ†ç±»ç 
                    String  secOid=secObj.getOid();
                    String parentClassifySecOid= secObj.getParentClassifySecOid();
                    if(lastSecObj != null) {
                        lastSecObj = secMap.get(secObj.getParentClassifySecOid());
                        hisCombo = comMap.get(secObj.getParentClassifySecOid());
                    }
                    if(lastSecObj != null && lastSecObj.getSecType().equals("codeclassifysec")
                        && secObj.getParentClassifySecOid().equals(lastSecObj.getOid())) {
                        hisCombo.addActionListener(new NextComboAction(secPositionMap.get(secObj.getParentClassifySecOid()), comMap.get(secObj.getParentClassifySecOid()),secCombos));
                        initNextCombo(k,secCombo,(CodeClassifyValue)comMap.get(secObj.getParentClassifySecOid()).getSelectedItem(),secPositionMap.get(secObj.getParentClassifySecOid()),secCombos);
                        //多级分类码段码值加载错误的Bug修复
                        lastSecObj = secObj;
                        hisCombo = secCombo;
                        secMap.put(secObj.getOid(), secObj);
                        comMap.put(secObj.getOid(), secCombo);
                        secPositionMap.put(secObj.getOid(),k);
                        continue;
                    }
                    String parentClassifyValueOid="";
                    if(secIdTOListValueOidMap.containsKey(parentClassifySecOid)){
                        List<String> parentClassifyValueList= secIdTOListValueOidMap.get(parentClassifySecOid);
@@ -609,6 +636,12 @@
                        }
                    }
                    secIdTOListValueOidMap.put(secObj.getOid(),valueOidList);
                    lastSecObj = secObj;
                    hisCombo = secCombo;
                    secMap.put(secObj.getOid(), secObj);
                    comMap.put(secObj.getOid(), secCombo);
                    secPositionMap.put(secObj.getOid(),k);
                    /**代码项下拉事件**/
                    secCombo.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
@@ -641,17 +674,17 @@
                    // æ˜¯å›ºå®šç 
                    if (secObj.getSecType() .equals("codefixedsec")) {
                        List<CodeFixedValueVO> fixedValueVOList=secObj.getFixedValueVOList();
                    //如果只有一个值,则系统默认选择,不加空值
                    if(fixedValueVOList.size() >1) {
                        secCombo.addItem(new CodeFixedValue());
                    }
                    for (CodeFixedValueVO codeFixedValueVO : fixedValueVOList) {
                        CodeFixedValue codeFixedValue=new CodeFixedValue();
                        BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueVO,codeFixedValue);
                        secCombo.addItem(codeFixedValue);
                    }
                    /**当系统选择的是指定码段值时,组别代号的码段系统不显示 Begin**/
                        //如果只有一个值,则系统默认选择,不加空值
                        if(fixedValueVOList.size() >1) {
                            secCombo.addItem(new CodeFixedValue());
                        }
                        for (CodeFixedValueVO codeFixedValueVO : fixedValueVOList) {
                            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);
@@ -673,30 +706,30 @@
                        secCombo.setFlag(false);
                        secCombo.getSearchBtn().setVisible(false);
                    }*/
                }  else
                    }  else
                        // æ˜¯æ—¥æœŸç æ®µ
                    if (secObj.getSecType().equals("codedatesec")) {
                        String df =secObj.getCodeDateFormatStr();
                        SimpleDateFormat dateFormate = new SimpleDateFormat(df);
                        String curDate = dateFormate.format(Calendar.getInstance().getTime());
                        secCombo.addItem(curDate);
                        if (secObj.getSecType().equals("codedatesec")) {
                            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")) {
                        } else
                            //是引用码段
                            if (secObj.getSecType().equals("coderefersec")) {
                        if (!secCombo.isFlag()){
                            secCombo.setFlag(true);
                            secCombo.getSearchBtn().setVisible(true);
                            secCombo.getSearchBtn().addActionListener(new ActionListener() {
                                @Override
                                public void actionPerformed(ActionEvent e) {
                                    doSearch(secCombo,secObj);
                                if (!secCombo.isFlag()){
                                    secCombo.setFlag(true);
                                    secCombo.getSearchBtn().setVisible(true);
                                    secCombo.getSearchBtn().addActionListener(new ActionListener() {
                                        @Override
                                        public void actionPerformed(ActionEvent e) {
                                            doSearch(secCombo,secObj);
                                        }
                                    });
                                }
                            });
                        }
                    /*RefSecObject refObj = getRefSecObj(secObj.getId());
                    DefaultComboBoxModel aModel = getRefSecComboBox(refObj);
                    secCombo.setModel(aModel);
@@ -724,13 +757,13 @@
                    }
                */} else
                    //层级码段码值显示的是选择的代码项的名称
                    if(secObj.getSecType().equals("codelevelsec")) {
                        CodeClassify rmObj = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj();
                        secCombo.addItem(rmObj);
                    } else {
                        secCombo.setEditable(true);
                    }
                                //层级码段码值显示的是选择的代码项的名称
                                if(secObj.getSecType().equals("codelevelsec")) {
                                    CodeClassify rmObj = (CodeClassify) this.transTreeObject.getCurrentTreeNode().getObj();
                                    secCombo.addItem(rmObj);
                                } else {
                                    secCombo.setEditable(true);
                                }
            }
        }catch (Exception e) {
            e.printStackTrace();
@@ -828,7 +861,7 @@
                    lbl.setToolTipText("点击此处获取模板对应规则的值");
                    lbl.addMouseListener(new MouseAdapter() {
                        public void mouseClicked(MouseEvent e){
                        getComptAttrValue(attrObj,attrIdToCtrlMaps);
                            getComptAttrValue(attrObj,attrIdToCtrlMaps);
                        }
                    });
@@ -997,7 +1030,7 @@
            cbx.setModel(model);
            compt = cbx;
        } else { // ä¸å­˜åœ¨å–值范围则按类型生成不同的控件
             if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTBoolean.toString())) { // Boolean类型
            if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTBoolean.toString())) { // Boolean类型
                VCIJComboBox cbx = new VCIJComboBox();
                DefaultComboBoxModel model = new DefaultComboBoxModel();
                model.addElement("0");
@@ -1010,34 +1043,34 @@
                }
                compt = cbx;
            } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDate.toString())) { // æ—¥æœŸç±»åž‹
                 VCIJCalendarPanel aTrue = new VCIJCalendarPanel("yyyy-MM-dd",
                     attrObj.getRequireFlag().equals("true"), true, false);
                 if(displayValues.containsKey(attrObj.getId())){
                     aTrue.setDateString(displayValues.get(attrObj.getId()));
                     aTrue.setEnabled(false);
                     return aTrue;
                 }
                 compt = aTrue;
                VCIJCalendarPanel aTrue = new VCIJCalendarPanel("yyyy-MM-dd",
                    attrObj.getRequireFlag().equals("true"), true, false);
                if(displayValues.containsKey(attrObj.getId())){
                    aTrue.setDateString(displayValues.get(attrObj.getId()));
                    aTrue.setEnabled(false);
                    return aTrue;
                }
                compt = aTrue;
            } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDateTime.toString())) { // æ—¥æœŸç±»åž‹
                 VCIJCalendarPanel aTrue = new VCIJCalendarPanel("yyyy-MM-dd HH:mm:ss",
                     attrObj.getRequireFlag().equals("true"), true, false);
                 if(displayValues.containsKey(attrObj.getId())){
                     aTrue.setDateString(displayValues.get(attrObj.getId()));
                     aTrue.setEnabled(false);
                     return aTrue;
                 }
                 compt = aTrue;
             }else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTTime.toString())) { // æ—¥æœŸç±»åž‹
                 VCIJCalendarPanel aTrue = new VCIJCalendarPanel("HH:mm:ss",
                     attrObj.getRequireFlag().equals("true"), true, false);
                 if(displayValues.containsKey(attrObj.getId())){
                     aTrue.setDateString(displayValues.get(attrObj.getId()));
                     aTrue.setEnabled(false);
                     return aTrue;
                 }
                 compt = aTrue;
             }
             else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDouble.toString())||attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTLong.toString())) { // Real类型
                VCIJCalendarPanel aTrue = new VCIJCalendarPanel("yyyy-MM-dd HH:mm:ss",
                    attrObj.getRequireFlag().equals("true"), true, false);
                if(displayValues.containsKey(attrObj.getId())){
                    aTrue.setDateString(displayValues.get(attrObj.getId()));
                    aTrue.setEnabled(false);
                    return aTrue;
                }
                compt = aTrue;
            }else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTTime.toString())) { // æ—¥æœŸç±»åž‹
                VCIJCalendarPanel aTrue = new VCIJCalendarPanel("HH:mm:ss",
                    attrObj.getRequireFlag().equals("true"), true, false);
                if(displayValues.containsKey(attrObj.getId())){
                    aTrue.setDateString(displayValues.get(attrObj.getId()));
                    aTrue.setEnabled(false);
                    return aTrue;
                }
                compt = aTrue;
            }
            else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDouble.toString())||attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTLong.toString())) { // Real类型
                RealTextField txt = new RealTextField("");
                txt.setRequired(attrObj.getRequireFlag().equals("true"));
                if(displayValues.containsKey(attrObj.getId())){
@@ -1049,20 +1082,20 @@
                IntegerTextField txt = new IntegerTextField("");
                txt.setRequired(attrObj.getRequireFlag().equals("true"));
                if(displayValues.containsKey(attrObj.getId())){
                     txt.setText(displayValues.get(attrObj.getId()));
                     txt.setEditable(false);
                    txt.setText(displayValues.get(attrObj.getId()));
                    txt.setEditable(false);
                }
                compt = txt;
            }
             else{
                 VCIJTextField txt = new VCIJTextField(this,attrObj.getRequireFlag().equals("true"));
                 if(displayValues.containsKey(attrObj.getId())){
                     txt.setText(displayValues.get(attrObj.getId()));
                     txt.setEditable(false);
                 }
                 compt = txt;
                 textCompts.add(txt);
             }
            else{
                VCIJTextField txt = new VCIJTextField(this,attrObj.getRequireFlag().equals("true"));
                if(displayValues.containsKey(attrObj.getId())){
                    txt.setText(displayValues.get(attrObj.getId()));
                    txt.setEditable(false);
                }
                compt = txt;
                textCompts.add(txt);
            }
            boolean enabled = true;
            // é›†å›¢ä»£ç ã€é›†å›¢é™„加码不可以手工录入数据
@@ -1075,6 +1108,218 @@
        return compt;
    }
    /**
     * å¤„理下拉框的事件
     * @author Administrator
     *
     */
    class NextComboAction implements ActionListener {
        private int column = 0;
        private VCIJComboxBox curCombo = null;
        private VCIJComboxBox[] secCombos = null;
        public NextComboAction(int column,VCIJComboxBox curCombo,VCIJComboxBox[] secCombos) {
            this.column = column;
            this.curCombo = curCombo;
            this.secCombos = secCombos;
        }
        public void actionPerformed(ActionEvent e) {
            VCIJComboxBox nextCombo = secCombos[column+1];
            if(curCombo.getSelectedIndex()  != -1){
                CodeClassifyValue obj = (CodeClassifyValue)curCombo.getSelectedItem();
                initNextCombo(column+1, nextCombo, obj, column,secCombos);
            }
        }
    }
    /**
     * åˆå§‹åŒ–下一个下拉列表
     * @param column
     * @param curCombo
     * @param lastObj ä¸Šä¸€ä¸ªé€‰ä¸­çš„分类码段码值的对象(只针对分类码)
     */
    public void initNextCombo(int column,VCIJComboxBox curCombo,CodeClassifyValue lastObj,int lastColumn,VCIJComboxBox[] secCombos) {
        final VCIJComboxBox nextCombo = curCombo;
        CodeBasicSecVO lastSecObj = columnSecMap.get(lastColumn);
        final CodeBasicSecVO nextSecObj = columnSecMap.get(column);
        if(nextSecObj == null) {//如果后面没有对象,则返回
            return;
        }
        boolean isContinue = false;
        if(nextSecObj.getSecType().equals("codeclassifysec")){//如果当前是分类码
            CodeBasicSecVO curObj =nextSecObj;
            if(lastSecObj.getSecType().equals("codeclassifysec")
                && curObj.getParentClassifySecOid().equals(lastSecObj.getOid())){
                isContinue = true;
            }
        }
        if(lastObj == null || !isContinue){//如果当前列的下拉框已经初始过,并且上一分类码不是当前分类码的父
            return;
        }
        VCIJComboxBox  lastColumnComboxBox= secCombos[lastColumn];
        if(nextSecObj.getSecType().equals("codeclassifysec")){//分类码
            CodeClassifyValue[] clsfCodeVals = new CodeClassifyValue[]{};
            //如果上一个是分类码,并且是当前分类码的父
            /*if (isContinue) {
                clsfCodeVals = clsfCodeValDel.getChildClsfCodeVal(lastObj.getOid());
            } else {
                clsfCodeVals = clsfCodeValDel.getSecRootClsfCodeVal(nextSecObj.getOid());//获取该码段下的所有码段码值对象
            }*/
            String parentClassifyValueOid="";
            if(lastColumnComboxBox!=null){
                CodeClassifyValue selectedItem = (CodeClassifyValue)lastColumnComboxBox.getSelectedItem();
                if(selectedItem!=null)
                    parentClassifyValueOid=    selectedItem.getOid();
            }
            Map<String,String> condtionMap=new HashMap<>();
            condtionMap.put("secOid", nextSecObj.getOid());
            condtionMap.put("parentClassifyValueOid",parentClassifyValueOid);
            Map<String,String> headerMap=new HashMap<>();
            headerMap.put("Blade-Auth",this.tokenUserObject.getAccess_token());
            R r=HttpUtil.sendGet(url+"/listCodeClassifyValueBySecOid",condtionMap,headerMap);
            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 TypeReference<List<CodeClassifyValue>>() {});
                    } catch (JsonProcessingException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }else{
                VCIOptionPane.showMessage(this,r.getMsg());
            }
            DefaultComboBoxModel model = new DefaultComboBoxModel();
            for(int i = 0;i< codeClassifyValueList.size();i++) {
                /*if(!codeClassifyValueList.get(i).getOid().equals(nextSecObj.getOid())) {
                    continue;
                }*/
                model.addElement(codeClassifyValueList.get(i));
            }
            /*Map<String, String> secValMap = getSpecialValMap(specialSecVals);
            if(isSpecialRuleFlag && (lastSecObj.getName().equals(specialControlSecName) && secValMap.containsKey(lastObj.getValue())) || secValMap.containsKey(getControlSecSelectValue())) {
                setComponentStatus(false);
            }else {
                setComponentStatus(true);
            }*/
            /******************END************************/
            nextCombo.setModel(model);
            nextCombo.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    ((VCIJTextField)secIdToClsfIdMap.get(nextSecObj.getId())).setText(((CodeClassifyValue)nextCombo.getSelectedItem()).getName());
                }
            });
            if(nextCombo.getSelectedItem() != null) {
                ((VCIJTextField)secIdToClsfIdMap.get(lastSecObj.getId())).setText(lastObj.getName());
                ((VCIJTextField)secIdToClsfIdMap.get(nextSecObj.getId())).setText(((CodeClassifyValue)nextCombo.getSelectedItem()).getName());
            }
            //修复选择分类码段码值后,所有的子分类的码段码值不能更新的问题
            int k = column + 1;
            if(k < columnSecMap.size() && columnSecMap.get(k).getSecType().equals("codeclassifysec")) {
                CodeBasicSecVO currentSecObj = columnSecMap.get(k);
                //    SortSecObject curObj = new SectionClientDelegate(userObj).fetchSortSecById(currentSecObj.getId());
                if (secPositionMap.get(currentSecObj.getParentClassifySecOid()) != null) {
//                    secCombos[column].addActionListener(new NextComboAction(secPositionMap.get(curObj.getId()), comMap.get(curObj.getId()),secCombos));
                    CodeClassifyValue nextClsfCodeValObj = (CodeClassifyValue)comMap.get(currentSecObj.getParentClassifySecOid()).getSelectedItem() == null ? new CodeClassifyValue():(CodeClassifyValue)comMap.get(currentSecObj.getParentClassifySecOid()).getSelectedItem();
                    initNextCombo(k,secCombos[k],nextClsfCodeValObj,secPositionMap.get(currentSecObj.getParentClassifySecOid()),secCombos);
                }
//                k++;
            }
            /*if (nextCombo.getItemCount() > 10){
                if (!nextCombo.isFlag()){
                    nextCombo.setFlag(true);
                    nextCombo.getSearchBtn().setVisible(true);
                    nextCombo.getSearchBtn().addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            doSearch(nextCombo);
                        }
                    });
                }
            }else {
                nextCombo.setFlag(false);
                nextCombo.getSearchBtn().setVisible(false);
            }*/
        }else if(nextSecObj.getSecType().equals("codefixedsec")){//固定码
            Map<String, String> secValMap = getSpecialValMap(specialSecVals);
            /*if(isSpecialRuleFlag && (lastSecObj.getName().equals(specialControlSecName) && secValMap.containsKey(lastObj.getValue())) || secValMap.containsKey(getControlSecSelectValue())) {
                setComponentStatus(false);
            }else {
                setComponentStatus(true);
            }*/
            /******************END************************/
            //    SectionValueClientDelegate codeValDel = new SectionValueClientDelegate(userObj);
            //FixCodeValObject[] codeValObjs = codeValDel.fetchFixCodeValBySecId(nextSecObj.getId());//获取该码段下的所有码段码值对象
            List<CodeFixedValueVO> fixedValueVOList=nextSecObj.getFixedValueVOList();
            for(int i = 0;i< fixedValueVOList.size();i++) {
                nextCombo.addItem(fixedValueVOList.get(i));
            }
            /*if (nextCombo.getItemCount() > 10){
                if (!nextCombo.isFlag()){
                    nextCombo.setFlag(true);
                    nextCombo.getSearchBtn().setVisible(true);
                    nextCombo.getSearchBtn().addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            doSearch(nextCombo);
                        }
                    });
                }
            }else {
                nextCombo.setFlag(false);
                nextCombo.getSearchBtn().setVisible(false);
            }*/
        }else if(nextSecObj.getSecType().equals("codedatesec")){//日期码段
            //    DateSecObject dateObj = secDel.fetchDateSecById(nextSecObj.getId());
            String df =nextSecObj.getCodeDateFormatStr();
            String CodeDateValue= nextSecObj.getCodeDateValue();
            SimpleDateFormat dateFormate = new SimpleDateFormat(df);
            if(StringUtils.isBlank(CodeDateValue)){
                CodeDateValue= dateFormate.format(Calendar.getInstance().getTime());
            }
            nextCombo.addItem(CodeDateValue);
            /*if(dateObj.getIsModify().equals("Y")){
                nextCombo.setEditable(true);
            }*/
        }/*else if(nextSecObj.getSecType() equals("")){//分隔符
            nextCombo.addItem(nextSecObj.getId());}*/
        else if (nextSecObj.getSecType().equals("coderefersec")) {
            if (!nextCombo.isFlag()){
                nextCombo.setFlag(true);
                nextCombo.getSearchBtn().setVisible(true);
                nextCombo.getSearchBtn().addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        doSearch(nextCombo,nextSecObj);
                    }
                });
            }
        }else {
            nextCombo.setEditable(true);
        }
    }
    /****
     * æ ¹æ®å±žæ€§id获取属性取值范围的值
     * <p>Description: </p>
@@ -1259,14 +1504,14 @@
            VCIOptionPane.showMessage(this,r.getMsg());
        }
    }
        /**
         * æ ¹æ®å¼•用模板的id获取引用模板对象包含的数据
         * <p>Description: </p>
         *
         * @author liujw
         * @time 2012-11-29
         * @param //referTempId å¼•用模板id
         */
    /**
     * æ ¹æ®å¼•用模板的id获取引用模板对象包含的数据
     * <p>Description: </p>
     *
     * @author liujw
     * @time 2012-11-29
     * @param //referTempId å¼•用模板id
     */
    private void getReferTempRMData(final CodeClassifyTemplateAttrVO tempPropObj,final LinkedHashMap<String, JComponent> attrIdToCtrlMaps,
                                    final List<CodeClassifyTemplateAttrVO>  tempPropList) {
        // æœ¬ç©ºçª—口调用 æœ‰å¯èƒ½æ¥è‡ªä¸¤å¤„
@@ -1295,8 +1540,8 @@
                }*/
                keyValue= dialog.getKeyValue();
                //for(CodeClassifyTemplateAttrVO obj : tempPropList) {
                    if(attrIdToCtrlMaps.containsKey(tempPropObj.getId())) {
                        JComponent comp = attrIdToCtrlMaps.get(tempPropObj.getId());
                if(attrIdToCtrlMaps.containsKey(tempPropObj.getId())) {
                    JComponent comp = attrIdToCtrlMaps.get(tempPropObj.getId());
                        /*if(comp instanceof VCIJTextField) {
                            int index = innnerNamesMaps.get(tempPropObj.getInternalname());
                            ((VCIJTextField) comp).setText(datas[index]);
@@ -1304,16 +1549,16 @@
                            int index = innnerNamesMaps.get(tempPropObj.getInternalname());
                            ((VCIJCalendarPanel) comp).setDateString(datas[index]);
                        } else */
                        if (comp instanceof VCIJComboBox) {
                            //DefaultComboBoxModel model = new DefaultComboBoxModel();
                            if(keyValue!=null) {
                                AttrRangObjectWarper wrapper = new AttrRangObjectWarper(keyValue);
                                ((VCIJComboBox) comp).getModel().setSelectedItem(wrapper);
                            }
                            //model.addElement(wrapper);
                             //((VCIJComboBox) comp).setModel(model);
                    if (comp instanceof VCIJComboBox) {
                        //DefaultComboBoxModel model = new DefaultComboBoxModel();
                        if(keyValue!=null) {
                            AttrRangObjectWarper wrapper = new AttrRangObjectWarper(keyValue);
                            ((VCIJComboBox) comp).getModel().setSelectedItem(wrapper);
                        }
                        //model.addElement(wrapper);
                        //((VCIJComboBox) comp).setModel(model);
                    }
                }
                //}
            }
@@ -1402,7 +1647,7 @@
                }
                /**校验三:可变码段的校验**/
            } else if (cType .equals( "codevariablesec")) {
                 tempStr = new StringBuffer();
                tempStr = new StringBuffer();
                String codeSecLength =secObj.getCodeSecLength();
                int secLen= Integer.parseInt(codeSecLength);
                //取出用户输入的值
@@ -1585,7 +1830,7 @@
                    } else if (secType.equals("codelevelsec")) {//层级码段
                        cVal = levelRes;
                    } else if (secType.equals("codeserialsec")) {
                            continue;
                        continue;
                    } else {
                        cVal = (String) ((VCIJComboBox) secAndComMap.get(secObj.getId())).getSelectedItem();
                    }
@@ -1660,8 +1905,8 @@
                // æ ¡éªŒé•¿åº¦
                else if ((value != null && !value.equals(""))
                    && value.length() > Integer.valueOf(propObj.getControlLength())
                    && !(propObj.getAttributeDataType().toUpperCase().equals(VciFieldTypeEnum.VTDate)||
                    propObj.getAttributeDataType().toUpperCase().equals(VciFieldTypeEnum.VTDateTime))
                    && !(propObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDate.name())||
                    propObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDateTime.name()))
                ) {
                    isExistError = true;
                    compt.requestFocus();
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeDataMainPanel.java
@@ -140,6 +140,7 @@
    }
    public Map<String, String> getCustomCondtionMap() {
        customCondtionMap=new HashMap<>();
        if(this.getCustomTopPanel()!=null){
            Map<String,String> newCustomCondtionMap= this.getCustomTopPanel().getAttrSearchFilterString();
            customCondtionMap.putAll(newCustomCondtionMap);
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/TestIntegrateFrame.java
@@ -4,31 +4,13 @@
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class TestIntegrateFrame {
    public static JButton apply = new JButton();
    public static JTextField text = new JTextField();
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        list.add(1);
        list.add(5);
        list.add(6);
        list.add(3);
        list.add(2);
        list.add(4);
        List<Integer> classifyVOS =list.stream().sorted(((o1, o2) -> o2.compareTo(o1))).collect(Collectors.toList());
        int level=1;
        int tt=1;
        if (classifyVOS.size() >= level && level > 0) {
            tt = classifyVOS.get(level - 1);
        }
        final JFrame j = new JFrame();
        j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel p = new JPanel();
@@ -44,10 +26,6 @@
        apply.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Map<String, String> map = new HashMap<String, String>();
//                map.put("原材料替换件", "YUANCAILIAOTIHUANJIAN");
//                map.put("原材料部件", "1");
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/data.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
{
    "data" : {
        "systemId" : "MES",
        "classifys" : {
            "classify" : [{
                        "classCode" : "partw",
                        "library" : "partw",
                        "objects" : {
                            "object" : [{
                                        "code" : "",
                                        "creator" : "19831133",
                                        "id" : "",
                                        "operate" : "create",
                                        "prop" : [{
                                                    "key" : "masterManuorg",
                                                    "text" : "工厂号",
                                                    "value" : "410"
                                                }, {
                                                    "key" : "PartNo",
                                                    "text" : "part编码",
                                                    "value" : "1234567890"
                                                }, {
                                                    "key" : "proNo",
                                                    "text" : "工序号",
                                                    "value" : "05/10/15"
                                                }],
                                        "status" : "Released"
                                    }, {
                                        "code" : "",
                                        "creator" : "19831133",
                                        "id" : "",
                                        "operate" : "create",
                                        "prop" : [{
                                                    "key" : "masterManuorg",
                                                    "text" : "工厂号",
                                                    "value" : "420"
                                                }, {
                                                    "key" : "PartNo",
                                                    "text" : "part编码",
                                                    "value" : "0123456789"
                                                }, {
                                                    "key" : "proNo",
                                                    "text" : "工序号",
                                                    "value" : "05/20"
                                                }],
                                        "status" : "Released"
                                    }]
                        },
                        "sections" : {
                            "section" : [{
                                        "name" : "部门代码",
                                        "value" : "410"
                                    }, {
                                        "name" : "Part码",
                                        "value" : "1234567890"
                                    }]
                        }
                    }]
        },
        "user" : {
            "ip" : "0:0:0:0:0:0:0:1",
            "trueName" : "19831133",
            "userName" : "19831133"
        }
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/CodeClassifyValue.java
@@ -6,6 +6,10 @@
public class CodeClassifyValue extends CodeClassifyValueVO {
    @Override
    public String toString() {
        return super.getName();
        if(super.getId()==null){
            return super.getName();
        }else{
            return super.getName()+"("+super.getId()+")";
        }
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java
@@ -97,4 +97,5 @@
        this.basicSecTypes = basicSecTypes;
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/vo/CodeBasicSecVO.java
@@ -198,7 +198,15 @@
     * è‡ªå®šä¹‰çš„æµæ°´ç®—法类
     */
    private String customCodeSerialClass;
    /**
     * è‡ªå®šä¹‰çš„æµæ°´ç®—法类
     */
    private String customCodeSerialClassText;
    /***
     * è‡ªå®šä¹‰æµæ°´ç±»åž‹
     */
    private String customCodeSerialType;
    /**
     * æ˜¯å¦è‡ªåŠ¨åŒ¹é…åˆ†ç±»å€¼
     */
@@ -248,6 +256,17 @@
     * å›ºå®šç çš„码值内容
     */
    private List<CodeFixedValueVO> fixedValueVOList;
    /**
     * å‰ç¼€
     */
    private String prefixCode;
    /**
     * åŽç¼€
     */
    private String suffixCode;
    public String getSecType() {
        return secType;
@@ -616,5 +635,37 @@
    public void setCodeDateValue(String codeDateValue) {
        this.codeDateValue = codeDateValue;
    }
    public String getPrefixCode() {
        return prefixCode;
    }
    public void setPrefixCode(String prefixCode) {
        this.prefixCode = prefixCode;
    }
    public String getSuffixCode() {
        return suffixCode;
    }
    public void setSuffixCode(String suffixCode) {
        this.suffixCode = suffixCode;
    }
    public String getCustomCodeSerialClassText() {
        return customCodeSerialClassText;
    }
    public void setCustomCodeSerialClassText(String customCodeSerialClassText) {
        this.customCodeSerialClassText = customCodeSerialClassText;
    }
    public String getCustomCodeSerialType() {
        return customCodeSerialType;
    }
    public void setCustomCodeSerialType(String customCodeSerialType) {
        this.customCodeSerialType = customCodeSerialType;
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/vo/CodeClassifyTemplateAttrVO.java
@@ -296,7 +296,34 @@
     * è¾“入提示
     */
    private String inputTip;
    /**
     * è¿‘义词查询规则
     */
    private String sysonymRuleOids;
    /**
     * è¿‘义词查询规则显示值
     */
    private String sysonymRuleOidsText;
    public String getSysonymRuleOids() {
        return sysonymRuleOids;
    }
    public void setSysonymRuleOids(String sysonymRuleOids) {
        this.sysonymRuleOids = sysonymRuleOids;
    }
    public String getSysonymRuleOidsText() {
        return sysonymRuleOidsText;
    }
    public void setSysonymRuleOidsText(String sysonymRuleOidsText) {
        this.sysonymRuleOidsText = sysonymRuleOidsText;
    }
    public String getClassifyTemplateOid() {
        return classifyTemplateOid;
    }
@@ -804,6 +831,9 @@
            ", parentName='" + parentName + '\'' +
            ", inputTip='" + inputTip + '\'' +
            ", parentQueryAttr='" + parentQueryAttr + '\'' +
                ", sysonymRuleOids='" + sysonymRuleOids + '\'' +
            ", sysonymRuleOidsText='" + sysonymRuleOidsText + '\'' +
            '}';
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/vo/CodeClassifyVO.java
@@ -17,7 +17,10 @@
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 4615707119254063830L;
    /**
     * æ˜¯å¦å‚与校验,0:不参与;1:参与
     */
    private Integer isParticipateCheck;
    /**
    * å±žæ€§æŽ’序号
    */
@@ -59,31 +62,31 @@
    private String parentCodeClassifyOid;
    /**
     * æ•°æ®æ‰€åœ¨çš„层级
     * éç‰ˆåµéŽµï¿½é¦ã„§æ®‘çžå‚œéª‡
     */
    private Integer dataLevel;
    /**
     * å±‚级的路径
     * çžå‚œéª‡é¨å‹®çŸ¾å¯°ï¿½
     */
    private String path;
    /***
     * åç§°è·¯å¾„
     * éšå¶‡Ðžç’ºîˆšç·ž
     */
    private String namePath;
    /***
     * ä»£ç è·¯å¾„
     * æµ ï½‡çˆœç’ºîˆšç·ž
     */
    private String idPath;
    /**
     * ç›¸ä¼¼æŸ¥è¯¢è§„则主键
     * é©é•æŠ€éŒãƒ¨î‡—瑙勫垯涓婚敭
     */
    private String codeResembleRuleOid;
    /**
     * ç›¸ä¼¼æŸ¥è¯¢è§„则名称
     * é©é•æŠ€éŒãƒ¨î‡—瑙勫垯鍚嶇О
     */
    private String codeResembleRuleOidName;
@@ -198,6 +201,6 @@
    public void setCodeResembleRuleOidName(String codeResembleRuleOidName) {
        this.codeResembleRuleOidName = codeResembleRuleOidName;
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/vo/CodeRuleVO.java
@@ -36,7 +36,10 @@
     * ç¼–码的码段信息
     */
    private List<CodeBasicSecVO> secVOList;
    /**
     * æ‰€æœ‰è€…在界面显示内容(账号(用户名))
     */
    private String ownerText;
    public String getId() {
        return id;
    }
@@ -68,7 +71,15 @@
    public void setSecVOList(List<CodeBasicSecVO> secVOList) {
        this.secVOList = secVOList;
    }
    public String getOwnerText() {
        return ownerText;
    }
    public void setOwnerText(String ownerText) {
        this.ownerText = ownerText;
    }
}
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/HttpUtil.java
@@ -346,7 +346,7 @@
                return result;
            }
        }catch (Throwable e){
            e.printStackTrace();
            e.printStackTrace();;
        }
        return result;
    }
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/ListUtil.java
@@ -5,6 +5,8 @@
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import java.lang.reflect.Field;
import java.lang.reflect.Type;
import java.text.ParseException;