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); } }