bug列表269:集成日志查询bug修改。
270:关键属性校验,去掉多线程之后请求响应非常慢(之前报错线程阻塞的bug改成单线程导致非常慢,现在又改回ForJoinPool方式限制线程生成数量实现多线程并行,提升执行效率)。
| | |
| | | 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 { |
| | |
| | | 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 { |
| | |
| | | }, |
| | | 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; |
| | |
| | | prop: "logType", |
| | | width:'160' |
| | | }, |
| | | { |
| | | /*{ |
| | | label: "创建时间", |
| | | prop: "createTime", |
| | | width:'160' |
| | | }, |
| | | },*/ |
| | | { |
| | | label: "最后修改时间", |
| | | prop: "lastModifier", |
| | |
| | | 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); |
| | |
| | | * @param dockingGroupDataVO AO/TO的信息 |
| | | * @return 执行结果 |
| | | */ |
| | | |
| | | @PostMapping("/externalMainData/receiveAddApply") |
| | | DockingResultVO receiveEditApply(@NotNull @RequestBody DockingGroupDataVO dockingGroupDataVO)throws VciBaseException; |
| | | |
| | |
| | | @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){ |
| | |
| | | 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); |
| | |
| | | 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; |
| | | |
| | |
| | | * 客户现场excel为老版本,导出的总数限制为65535 |
| | | */ |
| | | public static final int EXPORT_LIMIT = 65535; |
| | | |
| | | /** |
| | | * 自定义并发ForkJoinPool |
| | | */ |
| | | private static final ForkJoinPool customForkJoinPool = new ForkJoinPool(Runtime.getRuntime().availableProcessors()-1); |
| | | |
| | | /** |
| | | * 批量申请:选取选中分类下的所有模板关键属性,相似属性,必填属性,写入execl中 |
| | |
| | | // 查询不需要参与关键属性校验的除自己以外的所有分类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 -> { |
| | | // 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<>(); |
| | |
| | | return false; |
| | | } |
| | | }).collect(Collectors.toList()); |
| | | }).join(); |
| | | if(!CollectionUtils.isEmpty(repeatDataMap)){ |
| | | resultVO.setKeyAttrRepeatRowIndexList(repeatDataMap.stream().map(s->s.getAttributeValue(IMPORT_ROW_INDEX)).collect(Collectors.toSet())); |
| | | } |
| | |
| | | resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO); |
| | | }); |
| | | }else{ |
| | | |
| | | XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO(); |
| | | xmlResultDataObjectDetailDO.setCode(""); |
| | | xmlResultDataObjectDetailDO.setId(""); |
| | |
| | | resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO); |
| | | } |
| | | e.printStackTrace(); |
| | | log.error(e.getMessage()); |
| | | }finally { |
| | | XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO(); |
| | | resultClassfyVO.setClassCode(classVO.getClassCode()); |
| | |
| | | }catch (Throwable e){ |
| | | e.printStackTrace(); |
| | | msg="申请编码失败:"+e.getMessage(); |
| | | log.error(msg); |
| | | /* XMLResultSystemVO XMLResultSystemVO=new XMLResultSystemVO(); |
| | | XMLResultSystemVO.setErrorid(errorid); |
| | | XMLResultSystemVO.setMsg("申请编码失败:->"+e.getMessage()); |
| | |
| | | this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "applyCode"); |
| | | }catch (Throwable e){ |
| | | e.printStackTrace(); |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | log.info("返回参数:"+resultStr); |
| | |
| | | * @param classifyAuthList |
| | | * @return |
| | | */ |
| | | @PostMapping("saveOrUpdate") |
| | | @PostMapping("/saveOrUpdate") |
| | | public R saveOrUpdate(@RequestBody List<ClassifyAuth> classifyAuthList) { |
| | | return classifyAuthService.submit(classifyAuthList); |
| | | } |
| | |
| | | * @param classifyAuthVO |
| | | * @return |
| | | */ |
| | | @GetMapping("list") |
| | | @GetMapping("/list") |
| | | public R<List<ClassifyAuthVO>> getClassifyAuthList(ClassifyAuthVO classifyAuthVO) { |
| | | return R.data(classifyAuthService.getClassifyAuthList(classifyAuthVO)); |
| | | } |
| | |
| | | * @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)); |
| | | } |
| | | |
| | |
| | | */ |
| | | 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); |