Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/service/BladeUserDetailsServiceImpl.java
@@ -140,9 +140,10 @@ } //如果ip比对后get抛出异常No value present就直接抛异常结束登录 if(ipEnable){ Log.debug("当前访问IP:"+getIpAddress(request)); // Log.debug("当前访问IP:"+getIpAddress(request)); Log.debug("当前访问IP:"+WebUtil.getIP(request)); try { ips.stream().filter(s -> s.equals(getIpAddress(request))).findFirst().get(); ips.stream().filter(s -> s.equals(WebUtil.getIP(request))).findFirst().get(); } catch (Exception e){ throw new UserDeniedAuthorizationException(TokenUtil.IP_NOT_FOND); } Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/service/impl/FileServiceImpl.java
@@ -183,7 +183,7 @@ } Collection<FileObject> fileObjects = listByIds(oids); if(!CollectionUtils.isEmpty(fileObjects)){ VciBaseUtil.switchCollectionForOracleIn(fileObjects).stream().forEach(fileDOs->{ VciBaseUtil.switchCollectionForOracleIn(fileObjects).parallelStream().forEach(fileDOs->{ fileObjectMapper.deleteBatchIds(fileDOs.stream().map(FileObject::getOid).collect(Collectors.toList())); }); //删除minio里的文件,这儿多条记录删除使用parallelStream多线程时可能会出现tennantId无法拼接上的问题,所以还是用Stream Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java
@@ -145,6 +145,7 @@ List<CodeClassifyValueVO> codeClassifyValueVOS= codeClassifyValueService.listCodeClassifyValueBySecOid(secOid,parentClassifyValueOid); return R.data(codeClassifyValueVOS); } /** * 主题库分类树 * @param treeQueryObject 树形查询对象 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java
@@ -229,5 +229,4 @@ return codeRuleService.checkLikeCodeRule(oid); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -238,6 +238,7 @@ file1.delete(); } } /** * 导入历史数据 * @param codeClassifyOid 分类的主键 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -133,6 +133,7 @@ * @return 主题库分类显示树 */ List<Tree> referTree(TreeQueryObject treeQueryObject); /** * 查询主题库分类 树 * @param treeQueryObject 树查询对象 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -769,7 +769,8 @@ if(allLevel){ List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath); if(!CollectionUtils.isEmpty(classifyDOS)){ classifyDOS = classifyDOS.stream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); // 这儿用stream有点慢 classifyDOS = classifyDOS.parallelStream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); } return codeClassifyDO2VOs(classifyDOS); }else{ @@ -1149,7 +1150,8 @@ List<Map<String,Object>> cbos = codeClassifyMapper.selectAllLevelParentByOid(oid); Map<String,String> oidLevelMap = new HashMap<>(); Optional.ofNullable(cbos).orElseGet(()->new ArrayList<>()).stream().forEach(cbo->{ oidLevelMap.put(cbo.get("OID").toString(),cbo.get("LEVEL").toString()); // 用key取map值并且不区分大小写 oidLevelMap.put(cbo.getOrDefault("OID",cbo.get("oid")).toString(),cbo.get("LEVEL").toString()); }); if(CollectionUtils.isEmpty(oidLevelMap)){ return new ArrayList<>(); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -495,7 +495,6 @@ return text; } /** * 批量申请编码数据 * @@ -538,7 +537,6 @@ // return null; return codeImProtRusultVO; } /*** * 从顶层批量申请导入方法 @@ -719,10 +717,8 @@ createRedisDatas(uuid + "-ok",codeImprotDataVOS, newErrorMap,true); }); //往物品节点上加模板 List<String> needRowIndexList=new ArrayList<>(); CodeImProtRusultVO codeImProtRusultVO = new CodeImProtRusultVO(); if(errorMap.size()>0) { @@ -792,6 +788,7 @@ String uuid=VciBaseUtil.getPk(); boolean isCreateUUid=false; boolean isExport=false; long start = System.currentTimeMillis(); for(int i=0;i<sheetDataSetList.size()-1;i++) { if (CollectionUtils.isEmpty(sheetDataSetList) || CollectionUtils.isEmpty(sheetDataSetList.get(i).getRowData()) || sheetDataSetList.get(i).getRowData().size() < 1) { @@ -809,7 +806,6 @@ // 5.3 企业编码的长度,和编码规则的长度要对应上 // 5.4 获取流水码段的值,去除填充的字符,看流水号是多少,然后将流水号和现在的最大流水号判断,小于就直接录入,大于则修改最大流水号 // 5.5 存储企业编码到allcode中 //查询分类和模板 CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyOid); @@ -1043,6 +1039,7 @@ if (!CollectionUtils.isEmpty(thisCbos)) { try { // TODO 多线程流问题 productCodeService.productCodeAndSaveData(classifyFullInfo, finalTemplateVO, ruleVOMap.get(ruleOid), null, dataCBOList); } catch (Throwable e) { log.error("批量产生编码的时候出错了", e); @@ -1061,6 +1058,8 @@ engineService.batchSaveSelectChar(templateVO, dataCBOIdList); } } long end = System.currentTimeMillis(); log.debug("=============for执行时间================="+String.valueOf(start-end)); String excelFileName=""; if(isExport&&!CollectionUtils.isEmpty(shetNameMap)) { excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + "错误信息.xls"; @@ -1086,6 +1085,7 @@ return codeImProtRusultVO; } /*private void converBaseModels(List<ClientBusinessObject> clientBusinessObjects,List<BaseModel>dataCBOList){ clientBusinessObjects.stream().forEach(clientBusinessObject -> { BaseModel baseModel=new BaseModel(); @@ -1099,6 +1099,7 @@ }); }*/ /*** * 从execl里构建对象 * @param rowDataList Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -95,7 +95,7 @@ // SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); List<CodeAllCode> allCodeDOList = new ArrayList<>(); Map<String/**流水依据**/, Map<String/**码段的主键**/,Double/**最大流水号**/>> maxSerialMap = new HashMap<>(); dataCBOList.stream().forEach(cbo->{ dataCBOList.parallelStream().forEach(cbo->{ // VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); String code = cbo.getId(); List<String> serialUnitList = new ArrayList<>(); Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml