历史导入生成编码时添加前后缀代码逻辑添加;历史导入模板下载时查询模板返回的key不区分大小写。
已修改7个文件
44 ■■■■ 文件已修改
Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue
@@ -339,7 +339,7 @@
  </el-dialog>
</template>
  <script>
<script>
export default {
  name: "formulaEditor",
  props: {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -53,14 +53,15 @@
     * @param codeClassifyEntity 主题库分类数据传输对象
     * @return 执行结果
     */
    R addSave(CodeClassify codeClassifyEntity)  ;
    R addSave(CodeClassify codeClassifyEntity);
    /**
     * 修改主题库分类
     * @param codeClassifyEntity 主题库分类数据传输对象
     * @return 执行结果
     */
    R editSave(CodeClassify codeClassifyEntity) ;
    R editSave(CodeClassify codeClassifyEntity);
    /**
     * 检查 主题库分类是否删除
     * @param codeClassify 主题库分类数据传输对象,必须要有oid和ts属性
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
@@ -59,6 +59,7 @@
     * @return 有错误信息的excel
     */
    CodeImProtRusultVO batchImportHistoryData(String codeClassifyOid,String classifyAttr, File file) throws Throwable;
    /***
     * 从redis缓存里获取到导入的数据
     * @param codeClassifyOid
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -583,7 +583,7 @@
        }
        CodeClassify codeClassify = codeClassifyMapper.selectOne(wrapper);
        if(Func.isEmpty(codeClassify) || Func.isEmpty(codeClassify.getBtmTypeId())){
            throw new ServiceException("查询主数据总数时,未获取业务类型ID!");
            throw new ServiceException("查询主数据总数时,未获取到业务类型ID!");
        }
        return VciBaseUtil.getTableName(codeClassify.getBtmTypeId(),true);
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -1069,13 +1069,16 @@
//        Map<String/**模板的主键**/,String/**分类的主键**/> childHasTemplateMap =baseMapper
//            .selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED,
//                codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue());
        List<Map<String,String>> childHasTemplateList =baseMapper
        List<Map<String,String>> childHasTemplateList = baseMapper
            .selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED,
                codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue());
        Map<String/**模板的主键**/,String/**分类的主键**/> childHasTemplateMap = new HashMap<>();
        if(!CollectionUtils.isEmpty(childHasTemplateList)){
            childHasTemplateList.stream().forEach(cbo->{
                childHasTemplateMap.put(cbo.get("OID"),cbo.get("CLSOID"));
                // 有时候查询出来的key是大写,有时候是小写的key
                String oid = Func.isEmpty(cbo.get("OID")) ? cbo.get("oid"):cbo.get("OID");
                String clsoid = Func.isEmpty(cbo.get("CLSOID")) ? cbo.get("clsoid") : cbo.get("CLSOID");
                childHasTemplateMap.put(oid,clsoid);
            });
        }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -2947,7 +2947,7 @@
                        for (int j = 0; j < ruleVO.getSecVOList().size(); j++) {
                            CodeBasicSecVO secVO = ruleVO.getSecVOList().get(j);
                            String length= secValues[j];
                            if(StringUtils.isNotBlank(secVO.getCodeSecLength())&&VciBaseUtil.getInt(length)>VciBaseUtil.getInt(secVO.getCodeSecLength())){
                            if(StringUtils.isNotBlank(secVO.getCodeSecLength())&&VciBaseUtil.getInt(length)>(VciBaseUtil.getInt(secVO.getCodeSecLength())+((secVO.getPrefixCode()+secVO.getSuffixCode()).length()))){
                                errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";码段宽度与系统中的编码规则不同" );
                                fined = true;
                                break;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -141,13 +141,15 @@
                        //要看是不是补位的
                        CodeBasicSecVO secVO = secVOMap.get(secOid);
                        Double serialDb = null;
                        // 截取掉前后缀之后的码段
                        String subSecValue = killPriffixSuffix(secValue, secVO.getPrefixCode(), secVO.getSuffixCode());
                        if(OsCodeFillTypeEnum.NONE.getValue().equalsIgnoreCase(secVO.getCodeFillType())){
                            //不补码
                            //把所有不是数字的去掉,因为可能会是老数据,新规则
                            serialDb = VciBaseUtil.getDouble(killUnNumberChar(secValue));
                            serialDb = VciBaseUtil.getDouble(killUnNumberChar(subSecValue));
                        }else {
                            //左右填充的,我们需要
                            serialDb = VciBaseUtil.getDouble(killUnNumberChar(killFillChar(secValue,secVO.getCodeFillSeparator(),
                            serialDb = VciBaseUtil.getDouble(killUnNumberChar(killFillChar(subSecValue,secVO.getCodeFillSeparator(),
                                OsCodeFillTypeEnum.LEFT.getValue().equalsIgnoreCase(secVO.getCodeFillType()))));
                        }
                        Map<String, Double> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new HashMap<>());
@@ -461,7 +463,7 @@
                    for (int j = 0; j < serialUnitList.size(); j++) {
                        String secValue = serialUnitList.get(j);
                        if (secValue.equalsIgnoreCase("${attr_" + attrSevVO.getOid() + "}")) {
                            serialUnitList.set(j, value);
                            serialUnitList.set(j, joinPreffixAndSuffix(attrSevVO,value));
                        }
                    }
                }
@@ -805,6 +807,23 @@
    }
    /**
     * 去掉前后缀
     * @param secValue 字符
     * @param priffix 前缀
     * @param suffix 后缀
     * @return 替换后的值
     */
    private String killPriffixSuffix(String secValue, String priffix,String suffix){
        if (priffix != null && secValue.startsWith(priffix)) {
            secValue = secValue.substring(priffix.length());
        }
        if (suffix != null && secValue.endsWith(suffix)) {
            secValue = secValue.substring(0, secValue.length() - suffix.length());
        }
        return secValue;
    }
    /**
     * 去除补位字符
     * @param s 字符
     * @param fillString 补位字符