bug列表269:集成日志查询bug修改。
270:关键属性校验,去掉多线程之后请求响应非常慢(之前报错线程阻塞的bug改成单线程导致非常慢,现在又改回ForJoinPool方式限制线程生成数量实现多线程并行,提升执行效率)。
已修改11个文件
52 ■■■■■ 文件已修改
Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/docking/loge.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/monitor/log/localLog.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/MdmApplyGroupCodeProvider.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/DockingPreApplyCodeController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/ClassifyAuthController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,9 +4399,12 @@
        // 查询不需要参与关键属性校验的除自己以外的所有分类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<>();
@@ -4443,6 +4452,7 @@
                return false;
            }
        }).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);