ludc
2024-02-01 a8d80ddd0aef61cbaf1dbe9fe7abec12f0835399
代码合并
已修改13个文件
209 ■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSynonymService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java
@@ -26,5 +26,5 @@
     * @return 执行结果
     */
    @PostMapping("/api/pp/pp/ext/extend/v1.0/getppModelByElem")
    SearchItemVO getppModelByElem(@RequestParam Map<String,String> searchDataMap);
    SearchItemVO getppModelByElem(@RequestBody SearchItemParam searchItemParam);
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java
@@ -1,5 +1,6 @@
package com.vci.ubcs.code.vo.pagemodel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.vci.ubcs.starter.revision.model.BaseModel;
import lombok.Data;
@@ -73,6 +74,11 @@
    private String sysonymRuleOids;
    /**
     * 近义词查询规则显示值
     */
    private String sysonymRuleOidsText;
    /**
    * 是否排序
    */
    private String sortAttrFlag;
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
@@ -702,7 +702,7 @@
            for (DockingClassifyViewVO viewInfo : list) {
                String viewName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(viewInfo.getViewName())?"":viewInfo.getViewName();
                String impactList = viewInfo.getImpactList() == null ? "" : viewInfo.getImpactList().get(0).get(0);
                String impactList = viewInfo.getImpactList() == null ? "" : viewInfo.getImpactList().get(0)==null||viewInfo.getImpactList().get(0).size()==0?"":viewInfo.getImpactList().get(0).get(0);
                log.info("VilewMode:-------------->视图名称:"+viewName);
                log.info("VilewMode:-------------->影响编码项:"+impactList);
                log.info("VilewMode:--------------> 集团分类主键:"+jclassId);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -1,15 +1,14 @@
package com.vci.ubcs.code.controller;
import com.vci.ubcs.code.service.UniversalInterfaceI;
import com.vci.ubcs.code.vo.webserviceModel.person.PersonData;
import com.vci.ubcs.code.vo.webserviceModel.person.ResultOrgData;
import org.apache.tools.ant.taskdefs.condition.Http;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
@@ -157,6 +156,27 @@
        return result;
    }
    /****
     * 人员集成接口
     * @param personData 数据信息
     * @return
     * @throws Throwable
     */
    @PostMapping("/syncDataForPerson")
    public ResultOrgData syncDataForPerson(@RequestBody PersonData personData){
        ResultOrgData result = new ResultOrgData();
        try {
            result= universalInterfaceI.syncDataForPerson(personData);
        }catch (Throwable e){
            e.printStackTrace();
            logger.error("ResultOrgData->"+e.getMessage());
        }
        return result;
    }
    /**
     * 设置request,到ThreadLocal中
     * @param request
@@ -167,6 +187,7 @@
        universalInterfaceI.setThreadLocal(threadLocal);
    }
    /***
     *
     * @param dataString
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
@@ -190,4 +190,11 @@
     */
    List<CodeClassify> selectLeafByParentClassifyOid(@Param("topOid") String topOid,@Param("currentOid")String currentOid);
    /**
     *  根据顶层节点oid查询所有叶子节点分类oid
     * @param pid
     * @return
     */
    List<CodeClassify> selectLeafByPid(@Param("pid") String pid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -316,4 +316,12 @@
     * 流水依赖生成
     */
    R flowingDependencyGen(String classifyOid);
    /**
     *  根据顶层节点oid查询所有叶子节点分类oid
     * @param pid
     * @return
     */
    String selectLeafByPid(String pid);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSynonymService.java
@@ -16,6 +16,9 @@
 */
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.CodeSynonym;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
@@ -67,4 +70,11 @@
     */
    List<CodeClassifyTemplateAttrVO> listUseRangeInClsTempAttr(String oid);
    /**
     * 根绝wrapper查询近义词查询规则
     * @param wrappers
     * @return
     */
    String selectNameByWrapper(LambdaQueryWrapper<CodeSynonym> wrappers);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -749,6 +749,24 @@
    }
    /**
     *  根据顶层节点oid查询所有叶子节点分类oid
     * @param pid
     * @return
     */
    @Override
    public String selectLeafByPid(String pid) {
        List<CodeClassify> codeClassifies = codeClassifyMapper.selectLeafByPid(pid);
        if(codeClassifies.isEmpty()){
            return "";
        }
        String oids = codeClassifies.stream()
            .map(CodeClassify::getOid)
            .map(s ->s)
            .collect(Collectors.joining(","));;
        return oids;
    }
    /**
     * 流水依赖生成
     */
    @Override
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -3,8 +3,10 @@
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -13,14 +15,17 @@
import com.vci.ubcs.code.entity.CodeClassify;
import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
import com.vci.ubcs.code.entity.CodeClassifyTemplate;
import com.vci.ubcs.code.entity.CodeSynonym;
import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum;
import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper;
import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper;
import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService;
import com.vci.ubcs.code.service.ICodeReferConfigService;
import com.vci.ubcs.code.service.ICodeSynonymService;
import com.vci.ubcs.code.service.ICodeTempphaseService;
import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.code.vo.pagemodel.CodeSynonymVO;
import com.vci.ubcs.code.vo.pagemodel.UIFormReferVO;
import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper;
import com.vci.ubcs.omd.feign.IBtmTypeClient;
@@ -97,6 +102,10 @@
     */
    @Resource
    private IBtmTypeClient btmTypeClient;
    @Resource
    @Lazy
    private ICodeSynonymService codeSynonymService;
    /**
     * 查询所有的主题库分类的模板属性
@@ -213,6 +222,14 @@
            BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo);
            //如果有lcstatus的类的话
            vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributeDataType()));
            if(Func.isNotBlank(codeClassifyTemplateAttrDO.getSysonymRuleOids())){
                vo.setSysonymRuleOidsText(
                    codeSynonymService.selectNameByWrapper(
                        Wrappers.<CodeSynonym>query()
                            .lambda().in(CodeSynonym::getOid, Func.toStrList(",", codeClassifyTemplateAttrDO.getSysonymRuleOids()))
                    )
                );
            }
        }
        return vo;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -7,7 +7,6 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.vci.ubcs.code.Scheduling.NonWebRequestAttributes;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.constant.MdmDuckingConstant;
import com.vci.ubcs.code.dto.CodeOrderDTO;
@@ -287,7 +286,9 @@
        searchItemParam.setLastchangedon(lastchangedon);
        searchItemParam.setStatus(itemStatus);//
        Map<String,String>searchDataMap=  VciBaseUtil.objectToMapString(searchItemParam);
        SearchItemVO searchItemVO= mdmSearchItemCodeProvider.getppModelByElem(searchDataMap);
        try {
            paramString=JSONObject.toJSON(searchItemParam).toString();
            SearchItemVO searchItemVO = mdmSearchItemCodeProvider.getppModelByElem(searchItemParam);
        /*SearchItemVO searchItemVO=new SearchItemVO();
        List<SearchItemDataVO> data=new ArrayList<>();
        SearchItemDataVO searchItemDataVO1=initData("1","","pro-00001");
@@ -426,9 +427,9 @@
                    Object backObject = JSONObject.toJSON(allResultDataObjectDetailDOS);
                    backString=Func.isEmpty(backObject)?"":backObject.toString();
                }
            }
            catch (Throwable e){
                e.printStackTrace();;
                } catch (Throwable e) {
                    e.printStackTrace();
                    ;
                log.error("查询失败--->"+e);
                success=false;
                backString="查询失败--->"+e;
@@ -443,6 +444,24 @@
                    log.error(e.getMessage());
                    throw new VciBaseException(e.getMessage());
                }
                }
            }else{
                throw  new Throwable("接口未返回信息");
            }
        }catch (Throwable e1){
            e1.printStackTrace();
            log.error("查询失败--->" + e1);
            //paramString="";
            success = false;
            backString = "查询失败--->" + e1;
            msg = "查询失败--->" + e1;
            try {
                //记录日志
                this.saveLogs(systemId, systemId, paramString, backString, success, msg, "queryData");
            } catch (Throwable e) {
                e.printStackTrace();
                log.error(e.getMessage());
                throw new VciBaseException(e.getMessage());
            }
        }
    }
@@ -723,27 +742,33 @@
        }
        Map<String ,List<DockingSystemConfig>> sysIntInfoDOMap = new HashMap<>();//key=classifyoid,value=list<map>
        for (DockingSystemConfig dockingSystemConfig:dockingSystemConfigList){
            List<DockingSystemConfig> dockingSystemList = sysIntInfoDOMap.get(dockingSystemConfig.getClassifyOid());
            if(dockingSystemList==null){
            String classifyOid= dockingSystemConfig.getClassifyOid();
            String codeclassifOid=codeClassifyService.selectLeafByPid(classifyOid);
            List<String> codeList= VciBaseUtil.str2List(codeclassifOid);
            codeList.stream().forEach(oid -> {
                List<DockingSystemConfig> dockingSystemList = sysIntInfoDOMap.get(oid);
                if(Func.isEmpty(dockingSystemList)){
                dockingSystemList = new ArrayList<>();
            }
            dockingSystemList.add(dockingSystemConfig);
            sysIntInfoDOMap.put(dockingSystemConfig.getClassifyOid(),dockingSystemList);
                sysIntInfoDOMap.put(oid,dockingSystemList);
            });
        }
        sysIntInfoDOMap.forEach((classifyOid,effectiveSysIntInfoVOs)->{
        //根据类型去查询需要集成的分类或者数据
        LambdaQueryWrapper<DockingData> queryWrapper = Wrappers.<DockingData>lambdaQuery();
        queryWrapper.eq(DockingData::getSendFlag,"false");
        if(type==2){
            queryWrapper.eq(DockingData::getBtmId,DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT));
                queryWrapper.eq(DockingData::getBtmId,DOCKING_DEFAULT_CLASSIFY);
        }else {
            queryWrapper.notIn(DockingData::getBtmId,DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT));
                queryWrapper.ne(DockingData::getBtmId,DOCKING_DEFAULT_CLASSIFY);
                queryWrapper.eq(DockingData::getClassifyOid,classifyOid);
        }
        List<DockingData> dataList = dockingDataService.list(queryWrapper);
        for (DockingData mapi:dataList){
            WebUtil.setPersistence(false);
            String dataoid = mapi.getOid();//data对象的oid
            String classifyoid = mapi.getClassifyOid();
                String dataClassifyOid = mapi.getClassifyOid();
            String id = mapi.getId();
            String uniquecode = mapi.getUniqueCode();
            String btmid = mapi.getBtmId();
@@ -752,13 +777,15 @@
            String classifyid = mapi.getClassifyId();
            String classifyname = mapi.getClassifyName();
            String curentClassOid=null;
            if(type==2){
                if(!dataClassifyOid.equals(classifyOid)){
                    continue;
                }
                /*if(type==2){
                curentClassOid=btmoid;
            }else{
                curentClassOid=classifyoid;
            }
            List<DockingSystemConfig> effectiveSysIntInfoVOs=new ArrayList<>();
            //根据当前数据的id,查询获取哪些系统需要做集成
                }*/
                /*//根据当前数据的id,查询获取哪些系统需要做集成
            List<CodeClassify> parentLeveDO= codeClassifyService.selectAllLevelParentByOid(curentClassOid);
            if(CollectionUtils.isEmpty(parentLeveDO)){
                continue;//说明这个分类被删掉了,不做处理
@@ -774,7 +801,7 @@
            //如果校验的系统接口信息不存在,则数据不不往信息里推送
            if(CollectionUtils.isEmpty(effectiveSysIntInfoVOs)){
                continue;
            }
                }*/
            List<DockingTask> dockingTask_insert = new ArrayList<>();
            for (DockingSystemConfig sysIntInfoVOi:effectiveSysIntInfoVOs){
                DockingTask dockingTask = new DockingTask();
@@ -785,7 +812,7 @@
                dockingTask.setBtmOid(btmoid);//数据oid
                dockingTask.setBtmId(btmid);//数据业务类型id
                dockingTask.setClassifyId(classifyid);//数据在分类id
                dockingTask.setClassifyOid(classifyoid);//数据所在分类oid
                    dockingTask.setClassifyOid(dataClassifyOid);//数据所在分类oid
                dockingTask.setClassifyName(classifyname);//数据所在分类名称
                dockingTask.setSendType(sendtype);//数据推送类型
                dockingTask.setDataOid(dataoid);
@@ -811,6 +838,8 @@
                continue;
            }
        }
        });
    }
    /***
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java
@@ -17,6 +17,7 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -138,10 +139,21 @@
            .selectAs(CodeClassifyTemplate::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName)
            .leftJoin(CodeClassifyTemplate.class,CodeTableNameEnum.PL_CODE_CLSTEMPLATE.getText(),CodeClassifyTemplate::getOid,CodeClassifyTemplateAttr::getClassifyTemplateOid)
            .like(CodeClassifyTemplateAttr::getSysonymRuleOids, oid);
        List<CodeClassifyTemplateAttr> voList = codeClassifyTemplateAttrService.selectByWrapper(
            mpjLambdaWrapper
        );
        List<CodeClassifyTemplateAttr> voList = codeClassifyTemplateAttrService.selectByWrapper(mpjLambdaWrapper);
        return CodeClassifyTemplateAttrWrapper.build().listVO(voList);
    }
    @Override
    public String selectNameByWrapper(LambdaQueryWrapper<CodeSynonym> wrappers) {
        List<CodeSynonym> codeSynonymsList = codeSynonymMapper.selectList(wrappers);
        if(codeSynonymsList.isEmpty()){
            return "";
        }
        StringBuilder res = new StringBuilder();
        codeSynonymsList.stream().forEach(item->{
            res.append(item.getName()).append("(").append(item.getId()).append(")").append(",");
        });
        return res.toString().replaceAll(",$", "");
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
@@ -13,6 +13,7 @@
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.ObjectUtil;
@@ -99,7 +100,7 @@
    @Override
    public boolean pwdFreeLoginByBoolean(String userName, ServletRequest servletRequest) throws AuthenticationException {
        //进来先判断缓存中是否存在token
        // 请求来自己哪个ip地址
        // 请求来自哪个ip地址
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        String ipAddr = request.getRemoteAddr();
        // 先尝试从缓存当中取,存在就直接从缓存中获取
@@ -124,7 +125,7 @@
            token2 = JwtUtil.getToken(authToken);
            user = this.getUser(token2);
        }
        //request.setAttribute("Blade-Auth",token);
        request.setAttribute("Blade-Auth",authToken);
        request.setAttribute("_BLADE_USER_REQUEST_ATTR_",user);
        return true;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -605,4 +605,26 @@
        and oid != #{currentOid}
    </select>
    <!--根据顶层节点oid查询所有叶子节点分类oid-->
    <select id="selectLeafByPid" resultType="com.vci.ubcs.code.entity.CodeClassify">
        select *
        from (
                 select
                     oid,
                     name,
                     id,
                     level lvl,
                     isparticipatecheck,
                     nvl((select 'N'
                          from PL_CODE_CLASSIFY pcc1
                          where pcc.oid = pcc1.PARENTCODECLASSIFYOID
                            and rownum &lt; 2),'Y') is_leaf
                 from PL_CODE_CLASSIFY pcc
                     start with pcc.oid = #{pid}
                 connect by pcc.PARENTCODECLASSIFYOID = prior oid
             ) plcls
        where
            is_leaf = 'Y'
    </select>
</mapper>