田源
2024-01-04 19a9bc81ca7d90046b67f35adc5b7386be53e27f
Merge remote-tracking branch 'origin/master'
已修改11个文件
142 ■■■■ 文件已修改
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 106 ●●●● 补丁 | 查看 | 原始文档 | 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,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);