Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue
@@ -121,7 +121,7 @@ SaveHandler(){ let name = this.SearchObject.searchData[this.formInline.type].prop; const requestApi = (api) => { api(this.page.currentPage, this.page.pageSize, { [`conditionMap[${name}_like]`]: this.formInline.text}).then(res => { api(this.page.currentPage, this.page.pageSize,'createTime','desc',{[`conditionMap[${name}_like]`]: this.formInline.text}).then(res => { if(!res.data.data.records){ this.$message.error('暂未查到数据!') }else { @@ -149,7 +149,7 @@ const { cut, state, stateTask, Date, lastDate, taskCut } = this.formInline; const requestParams = {}; const requestApi = (api) => { api(currentPage, pageSize, requestParams).then(res => { api(currentPage, pageSize,'createTime','desc',requestParams).then(res => { if(!res.data.data.records){ this.$message.error('暂未查到数据!'); } else { Source/UBCS-WEB/src/views/docking/loge.vue
@@ -315,13 +315,13 @@ }, onLoad(page, params={}) { this.loading = true; var query={} var queryCondition={} if (this.query) { for (var key in this.query) { query['conditionMap["' + key + '"]'] = this.query[key]; queryCondition['conditionMap["' + key + '"]'] = this.query[key]; } } getLogoList(page.currentPage, page.pageSize,'createTime','desc',Object.assign(params,this.params, query,this.query),).then(res => { getLogoList(page.currentPage, page.pageSize,'createTime','desc',Object.assign(params,this.params, queryCondition,this.query),).then(res => { const data = res.data.data; this.page.total = data.total; this.data = data.records; Source/UBCS-WEB/src/views/monitor/log/localLog.vue
@@ -97,11 +97,11 @@ prop: "logType", width:'160' }, { /*{ label: "创建时间", prop: "createTime", width:'160' }, },*/ { label: "最后修改时间", prop: "lastModifier", Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java
@@ -118,8 +118,8 @@ File file = new File(fullPath); if(file.exists()){ LocalLogVO localLogVO = new LocalLogVO(); localLogVO.setLastModifier(getLastModifiedOrCreatTime(true,fullPath)); localLogVO.setCreateTime(getLastModifiedOrCreatTime(false,fullPath)); localLogVO.setLastModifier(getLastModifiedOrCreatTime(true,file.getPath())); localLogVO.setCreateTime(getLastModifiedOrCreatTime(false,file.getPath())); localLogVO.setLogPath(fullPath); String serviceId = getServiceId(file.getPath()); localLogVO.setServiceId(serviceId); Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/MdmApplyGroupCodeProvider.java
@@ -35,7 +35,6 @@ * @param dockingGroupDataVO AO/TO的信息 * @return 执行结果 */ @PostMapping("/externalMainData/receiveAddApply") DockingResultVO receiveEditApply(@NotNull @RequestBody DockingGroupDataVO dockingGroupDataVO)throws VciBaseException; Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/DockingPreApplyCodeController.java
@@ -183,7 +183,7 @@ @ApiOperationSupport(order = 2) @ApiOperation(value = "集团码申请", notes = "dockingPreAttrMappingVOList") public R applyGroupCode(String oids,String btmName){ List<BaseModelVO> BaseModelVOs=new ArrayList<>(); List<BaseModelVO> BaseModelVOS=new ArrayList<>(); try { return groupMdmInterService.applyGroupCode(oids,btmName); }catch (Throwable e){ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -671,6 +671,7 @@ dockingLog.setClassifyName(dockingSystemConfigDTO.getClassifyName()); dockingLog.setId(dockingSystemConfigDTO.getId()); dockingLog.setUniqueCode(""); dockingLog.setCreateTime(new Date()); dockingLog.setInterfaceStatus(isSend?"true":"false"); dockingLog.setParamString(paramString); dockingLog.setType(DATA_LOGE_OUT); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -87,6 +87,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; @@ -201,6 +202,11 @@ * 客户现场excel为老版本,导出的总数限制为65535 */ public static final int EXPORT_LIMIT = 65535; /** * 自定义并发ForkJoinPool */ private static final ForkJoinPool customForkJoinPool = new ForkJoinPool(Runtime.getRuntime().availableProcessors()-1); /** * 批量申请:选取选中分类下的所有模板关键属性,相似属性,必填属性,写入execl中 @@ -4393,56 +4399,60 @@ // 查询不需要参与关键属性校验的除自己以外的所有分类oid final String isParticipateCheckOids = classifyService.selectLeafByParentClassifyOid(classifyFullInfo.getTopClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO().getOid()); final BladeUser user = AuthUtil.getUser(); //cboList = new CopyOnWriteArrayList<>(cboList); // TODO:Thread limit exceeded replacing blocked 异常是这部分代码抛出的,所以暂时将parallelStream改成了stream List<ClientBusinessObject> repeatDataMap = cboList.stream().filter(cbo -> { //每行都得查询.如果其中出现了错误,我们就直接抛出异常,其余的显示 //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); Map<String, String> conditionMap = new HashMap<>(); ketAttrMap.forEach((attrId, attrVO) -> { String value =cbo.getAttributeValue(attrId.toLowerCase(Locale.ROOT)); if (value == null) { value = ""; } value= value.replace(REQUIRED_CHAR,SPECIAL_CHAR); engineService.wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap); }); if (!CollectionUtils.isEmpty(ketAttrMap)) { // 添加不参与关键属性校验的分类oid判断 if(Func.isNotBlank(isParticipateCheckOids)){ conditionMap.put("t.codeclsfid",QueryOptionConstant.NOTIN+isParticipateCheckOids); } if(isEdit){//如果是更改则需排除系统本身 conditionMap.put("t.id",QueryOptionConstant.NOTEQUAL+cbo.getId()); } conditionMap.put("t.lastr", "1"); conditionMap.put("t.lastv", "1"); CodeTemplateAttrSqlBO sqlBO = engineService.getSqlByTemplateVO(classifyFullInfo.getTopClassifyVO().getBtmTypeId(), templateVO, conditionMap, null); List<String> repeatData = commonsMapper.selectList(sqlBO.getSqlId()); if(!repeatData.isEmpty()){ final List<Map<String,String>> newDataList = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlUnPage()); DefaultAttrAssimtUtil.mapToLowerCase(newDataList,true); //List<ClientBusinessObject> newCboList=ChangeMapTOClientBusinessObjects(newDataList); List<BaseModel> newCboList = new ArrayList<>(); newDataList.stream().forEach(stringStringMap -> { BaseModel baseModel=new BaseModel(); DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,baseModel,false,user); baseModel.setData(stringStringMap); newCboList.add(baseModel); }); // 添加错误值 String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); errorMap.put(rowIndex, "重复的记录编号为:"+repeatData.stream().collect(Collectors.joining(","))); if(!CollectionUtils.isEmpty(newCboList)) { indexTODataMap.put(cbo.getAttributeValue(IMPORT_ROW_INDEX), newCboList); // TODO:Thread limit exceeded replacing blocked 异常是这部分代码抛出的 // ,所以暂时将parallelStream改成了stream,改成了stream之后发现巨慢 // customForkJoinPool控制并发度 List<ClientBusinessObject> finalCboList = cboList; List<ClientBusinessObject> repeatDataMap = (List<ClientBusinessObject>) customForkJoinPool.submit(()->{ finalCboList.parallelStream().filter(cbo -> { //每行都得查询.如果其中出现了错误,我们就直接抛出异常,其余的显示 //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); Map<String, String> conditionMap = new HashMap<>(); ketAttrMap.forEach((attrId, attrVO) -> { String value =cbo.getAttributeValue(attrId.toLowerCase(Locale.ROOT)); if (value == null) { value = ""; } value= value.replace(REQUIRED_CHAR,SPECIAL_CHAR); engineService.wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap); }); if (!CollectionUtils.isEmpty(ketAttrMap)) { // 添加不参与关键属性校验的分类oid判断 if(Func.isNotBlank(isParticipateCheckOids)){ conditionMap.put("t.codeclsfid",QueryOptionConstant.NOTIN+isParticipateCheckOids); } if(isEdit){//如果是更改则需排除系统本身 conditionMap.put("t.id",QueryOptionConstant.NOTEQUAL+cbo.getId()); } conditionMap.put("t.lastr", "1"); conditionMap.put("t.lastv", "1"); CodeTemplateAttrSqlBO sqlBO = engineService.getSqlByTemplateVO(classifyFullInfo.getTopClassifyVO().getBtmTypeId(), templateVO, conditionMap, null); List<String> repeatData = commonsMapper.selectList(sqlBO.getSqlId()); if(!repeatData.isEmpty()){ final List<Map<String,String>> newDataList = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlUnPage()); DefaultAttrAssimtUtil.mapToLowerCase(newDataList,true); //List<ClientBusinessObject> newCboList=ChangeMapTOClientBusinessObjects(newDataList); List<BaseModel> newCboList = new ArrayList<>(); newDataList.stream().forEach(stringStringMap -> { BaseModel baseModel=new BaseModel(); DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,baseModel,false,user); baseModel.setData(stringStringMap); newCboList.add(baseModel); }); // 添加错误值 String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); errorMap.put(rowIndex, "重复的记录编号为:"+repeatData.stream().collect(Collectors.joining(","))); if(!CollectionUtils.isEmpty(newCboList)) { indexTODataMap.put(cbo.getAttributeValue(IMPORT_ROW_INDEX), newCboList); } } return !repeatData.isEmpty(); }else{ return false; } return !repeatData.isEmpty(); }else{ return false; } }).collect(Collectors.toList()); }).collect(Collectors.toList()); }).join(); if(!CollectionUtils.isEmpty(repeatDataMap)){ resultVO.setKeyAttrRepeatRowIndexList(repeatDataMap.stream().map(s->s.getAttributeValue(IMPORT_ROW_INDEX)).collect(Collectors.toSet())); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -372,7 +372,6 @@ resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO); }); }else{ XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO(); xmlResultDataObjectDetailDO.setCode(""); xmlResultDataObjectDetailDO.setId(""); @@ -381,6 +380,7 @@ resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO); } e.printStackTrace(); log.error(e.getMessage()); }finally { XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO(); resultClassfyVO.setClassCode(classVO.getClassCode()); @@ -399,6 +399,7 @@ }catch (Throwable e){ e.printStackTrace(); msg="申请编码失败:"+e.getMessage(); log.error(msg); /* XMLResultSystemVO XMLResultSystemVO=new XMLResultSystemVO(); XMLResultSystemVO.setErrorid(errorid); XMLResultSystemVO.setMsg("申请编码失败:->"+e.getMessage()); @@ -434,6 +435,7 @@ this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "applyCode"); }catch (Throwable e){ e.printStackTrace(); log.error(e.getMessage()); } } log.info("返回参数:"+resultStr); Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/ClassifyAuthController.java
@@ -34,7 +34,7 @@ * @param classifyAuthList * @return */ @PostMapping("saveOrUpdate") @PostMapping("/saveOrUpdate") public R saveOrUpdate(@RequestBody List<ClassifyAuth> classifyAuthList) { return classifyAuthService.submit(classifyAuthList); } @@ -44,7 +44,7 @@ * @param classifyAuthVO * @return */ @GetMapping("list") @GetMapping("/list") public R<List<ClassifyAuthVO>> getClassifyAuthList(ClassifyAuthVO classifyAuthVO) { return R.data(classifyAuthService.getClassifyAuthList(classifyAuthVO)); } @@ -54,8 +54,8 @@ * @param classifyId * @return */ @GetMapping("getAuthButtonList") public R<Map<String,Boolean>> getAuthButtonList(String classifyId){ @GetMapping("/getAuthButtonList") public R<Map<String,Boolean>> getAuthButtonList(@RequestParam("classifyId") String classifyId){ return R.data(classifyAuthService.getAuthButtonList(classifyId)); } Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java
@@ -102,7 +102,7 @@ */ public Map<String,Boolean> getAuthButtonList(String classifyId){ if(Func.isBlank(classifyId)){ return new HashMap<>(); throw new ServiceException("必传参数分类oid不能为空!"); } //查询分类节点的所有父级节点 R<List<String>> listR = codeClassifyClient.selectAllParentOid(classifyId);