前端增加码段类型枚举类,实现修改码段类型时提供是否清空码值对话框功能
已修改4个文件
46 ■■■■ 文件已修改
Source/UBCS-WEB/src/views/code/code.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmProductCodeService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/code/code.vue
@@ -2422,11 +2422,11 @@
          .catch((error) => {
            this.releadDisabled = false;
          });
        this.releadDisabled = false;
      } else {
        this.updateStatus(oid, update);
      }
    },
    /** 打开编码规则克隆对话框*/
    openCodeRuleDialog() {
      if (!this.tipsMessage(this.selectionList)) {
@@ -2434,7 +2434,6 @@
      }
      this.cloneSettingBox = true;
    },
    /** 打开从其他编码规则中克隆码段对话框*/
    openOtherCodeRuleDialog() {
      if (!this.tipsMessage(this.selectionList)) {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmProductCodeService.java
@@ -10,6 +10,7 @@
import java.util.List;
public interface MdmProductCodeService {
    /**
     * 生成编码--并且保存数据-方法加锁,因此不能返回batchCBO
     * @param classifyFullInfoBO 分类的全部信息
@@ -28,4 +29,5 @@
     * @return 是否更新成功
     */
    Boolean recycleCode(String btmId, Collection<String> businessOidCollection);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -382,6 +382,7 @@
        }
        codeAllCodeService.updateBatchById(codeCbos);
    }
    /**
     * 申请单一编码
     *
@@ -390,7 +391,7 @@
     */
    @Override
    public String addSaveCode(CodeOrderDTO orderDTO) throws Exception {
        return    addSaveCode(orderDTO,true);
        return addSaveCode(orderDTO,true);
    }
    /***
@@ -403,6 +404,7 @@
    public String addSaveCodeNotauthUser(CodeOrderDTO orderDTO, boolean authUser) throws Exception {
        return    addSaveCode(orderDTO,authUser);
    }
    /**
     * 申请单一编码
     *
@@ -434,8 +436,8 @@
        //9.生成编码的信息
//        ClientBusinessObject cbo = boService.createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid());
        BaseModel cbo = createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmTypeId());
//        //默认的属性都不用从前端拷贝
//        //设置编码需要的默认属性的内容
        //默认的属性都不用从前端拷贝
        //设置编码需要的默认属性的内容
        copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, false);
        cbo.setOid(VciBaseUtil.getPk());
        cbo.setRevisionOid(VciBaseUtil.getPk());
@@ -455,9 +457,9 @@
        if(StringUtils.isNotBlank(orderDTO.getLcStatus())||StringUtils.isNotBlank(orderDTO.getData().get("lcStatus"))){
            cbo.setLcStatus(StringUtils.isNotBlank(orderDTO.getLcStatus())?orderDTO.getLcStatus():orderDTO.getData().get("lcStatus"));
        }
//        //TODO:因为默认的属性都不拷贝,目前集团码叫name,并没有从DTO拷贝到cbo里。增加一个单独处理,以后再看要不要调整
        //TODO:因为默认的属性都不拷贝,目前集团码叫name,并没有从DTO拷贝到cbo里。增加一个单独处理,以后再看要不要调整
        cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName());
//        //end -- modify by lihang @20220407
        //end -- modify by lihang @20220407
        List<BaseModel> cboList = new ArrayList<>();
        //备注
@@ -513,7 +515,6 @@
            });
        }
    }
    /**
     * 判断编码的码段是否输入或者选择了码值
@@ -1018,22 +1019,22 @@
            List<CodeClassifyTemplateAttrVO> selectAttrVOs = templateVO.getAttributes().stream().filter(s -> StringUtils.isNotBlank(s.getLibraryIdentification())).collect(Collectors.toList());
            if (!CollectionUtils.isEmpty(selectAttrVOs)) {
//                SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
                //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
                selectAttrVOs.parallelStream().forEach(attrVO -> {
                    List<String> valuesList = new ArrayList<>();
                    cboList.parallelStream().forEach(cbo -> {
//                        String value = cbo.get.getAttributeValue(attrVO.getId());
                        //String value = cbo.get.getAttributeValue(attrVO.getId());
                        //将bean转为map,mybatis统一处理
                        Map<String, String> map = null;
//                        baseModels.stream().forEach(model-> {
                        //baseModels.stream().forEach(model-> {
                        try {
                            map = VciBaseUtil.convertBean2Map(cbo,null);
                        } catch (Exception e) {
                            throw new VciBaseException("类型转换错误:" + e.getMessage());
                        }
//                        });
                        //});
                        String value = map.get(attrVO.getId());
                        if (StringUtils.isNotBlank(value)) {
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -87,22 +87,20 @@
        /*****
         * 保证并发的时候,最大流水号都对的,但是这种加锁有弊端
         *
         */
        if(dataCBOList.stream().anyMatch(cbo-> StringUtils.isNotBlank(cbo.getId()))
//            && StringUtils.isNotBlank(cbo.getAttributeValue(CODE_SEC_LENGTH_FIELD))
            ){
            // && StringUtils.isNotBlank(cbo.getAttributeValue(CODE_SEC_LENGTH_FIELD))
        ){
            //是历史数据导入
            //历史数据执行的时候,这个系统会很卡
            //主要是为了录入最大流水号和allcode
//            SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
            //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
            List<CodeAllCode> allCodeDOList = new ArrayList<>();
            Map<String/**流水依据**/, Map<String/**码段的主键**/,Double/**最大流水号**/>> maxSerialMap = new HashMap<>();
            // TODO 多线程流引发的问题已修改
            dataCBOList.parallelStream().forEach(cbo->{
                log.info("code:----->"+cbo.getId());
//                VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
                //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
                String code = cbo.getId();
                List<String> serialUnitList = new ArrayList<>();
                String seclenghStr=cbo.getData().get(CODE_SEC_LENGTH_FIELD);
@@ -421,10 +419,11 @@
//                }
//            });
        }
//        WebUtil.setPersistence(true);
//        boService.persistenceBatch(batchCBO);
        // WebUtil.setPersistence(true);
        // boService.persistenceBatch(batchCBO);
        return codeList;
    }
    /**
     * 转换属性码段的值
     * @param attrSecVOList 属性码段的显示对象
@@ -468,7 +467,6 @@
            });
        }
    }
    /**
     * 转换流水码段的值
@@ -713,9 +711,6 @@
        allCodeDOList.add(allCodeDO);
    }
    /**
     * 保存流水的信息
     * @param ruleVO 规则的显示对象
@@ -879,4 +874,5 @@
//        WebUtil.copyValueToMapFromCbos(cbo,dataMap);
        return formulaService.getValueByFormula(map,rule);
    }
}