xiejun
2023-08-29 61c1317c6be5e3d7cfb70f75d81762eab9794067
统一接口更改接口加上最新版本统过滤
已修改1个文件
已删除1个文件
已添加1个文件
98 ■■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/queryData.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/tt 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/queryData.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<condtions systemId="MPM">
    <user userName="weidy" trueName="" ip="127.0.0.1"/>
    <condtion  classCode="020101" library="wupin" queryFileds="id,name,zhiliangbz,clph,firstfl,secondfl,thrifl">
        <pro filedName="name" filedValue="发动机"/>
        <pro filedName="zhiliangbz" filedValue="223"/>
    </condtion>
</condtions>
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/tt
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -711,15 +711,15 @@
                throw new Throwable(msg);
            }
            //校验是否配置
        /*    //校验是否配置
            boolean checkPass = checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getValue());
            if (!checkPass) {
                errorid = "101";
                throw new Throwable("系统标识为【" + systemId + "】," + sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getText() + "接口配置已停用或者未配置,请联系编码管理员!");
            }
        */
            //先简称是否有关联模板,有模板要先删除
            boolean isCodeOrGroupCode=false;
            List<CodeClassify> libIdDos =classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId,library));
            if(!CollectionUtils.isEmpty(libIdDos)){
                CodeClassify libCodeClassify=libIdDos.get(0);
@@ -737,6 +737,17 @@
                        msg = "接口参数:classCode æœªæŸ¥è¯¢åˆ°å¯¹åº”的分类信息";
                        throw new Throwable(msg);
                    }
                    String operation="";
                    if(CODE_CHECKCONFIG) {
                        //校验是否配置
                        DockingSystemConfig dockingSystemConfig= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getValue(),currentCodeClassify[0].getOid());
                        if(dockingSystemConfig==null){
                            errorid ="101";
                            throw new Throwable("系统标识为【"+ systemId +"】,集成分类为【"+currentCodeClassify[0].getName()+"】以上分类,"+sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getText()+"接口配置已停用或者未配置,请联系编码管理员!");
                        }
                        isCodeOrGroupCode="true".equals(dockingSystemConfig.getIsGroupCodeFlag())?true:false;
                    }
                    List<CodeClassifyVO> dataCodeClassifyVOList =new ArrayList<>();
                    String oid= currentCodeClassify[0].getOid();
                    TreeQueryObject treeQueryObject=new TreeQueryObject();
@@ -751,36 +762,51 @@
                    statusList.add(CodeDefaultLC.RELEASED.getValue());
                    statusList.add(CodeDefaultLC.DISABLE.getValue());
                    statusList.add(CodeDefaultLC.TASK_BACK.getValue());
                    R<BtmTypeVO>  r= btmTypeClient.getDetail(libCodeClassify.getBtmTypeId());
                    BtmTypeVO btmTypeVO =r.getData();
                    String tableName=btmTypeVO.getTableName();
                    String tableName="";
                    R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(libCodeClassify.getBtmTypeId());
                    if(!r.isSuccess()) {
                        throw new Throwable(r.getMsg());
                    }
                    BtmTypeVO btmTypeVO = r.getData();
                    if (btmTypeVO == null) {
                        throw new Throwable("根据业务类型未查询到业务类型对象!");
                    }
                    tableName = btmTypeVO.getTableName();
                    if (com.alibaba.nacos.common.utils.StringUtils.isBlank(tableName)) {
                        throw new Throwable("根据业务类型未查询到业务类型相关联的表");
                    }
                    StringBuffer sb=new StringBuffer();
                    sb.append(" select * from  ");
                    sb.append(tableName);
                    sb.append(" where 1=1");
                    propertyVOS.stream().forEach(propertyVO -> {
                        sb.append( " and  "+propertyVO.getFiledName()+"='"+propertyVO.getFiledValue()+"'");
                    });
                    if(isCodeOrGroupCode){
                        sb.append(" and groupcode is not null ");
                    }
                    if(!CollectionUtils.isEmpty(propertyVOS)) {
                        propertyVOS.stream().forEach(propertyVO -> {
                            sb.append(" and  " + propertyVO.getFiledName() + "='" + propertyVO.getFiledValue() + "'");
                        });
                    }
                    sb.append(" and lastr=1 and lastv=1" );
                    sb.append(" and codeclsfid in (" + VciBaseUtil.toInSql(oidCodeclassifyDOMap.keySet().toArray(new String[0])) +")");
                    sb.append(" and Lcstatus in (" + VciBaseUtil.toInSql(statusList.toArray(new String[]{})) +")");
                    List<Map<String,String>>  newDataList= commonsMapper.queryByOnlySqlForMap(sb.toString());
                    List<ClientBusinessObject>clientBusinessObjects=new ArrayList<>();
                    newDataList.stream().forEach(stringStringMap -> {
                        ClientBusinessObject clientBusinessObject=new ClientBusinessObject();
                        DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,clientBusinessObject);
                        clientBusinessObjects.add(clientBusinessObject);
                    });
                    List<ClientBusinessObject> clientBusinessObjects=    ChangeMapTOClientBusinessObjects(newDataList);
                    List<com.vci.ubcs.code.vo.webserviceModel.data.DataObjectVO> dataObjectVOS=new ArrayList<>();
                    if(!CollectionUtils.isEmpty(clientBusinessObjects)){
                        CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(currentCodeClassify[0].getOid());
                        Map<String, CodeClassifyTemplateAttrVO> filedAttributeMap = templateVO.getAttributes().stream().filter(attribute -> attribute != null && StringUtils.isNotBlank(attribute.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId(), t -> t));
                        Map<String, CodeClassifyTemplateAttrVO> filedAttributeMap = templateVO.getAttributes().stream().filter(attribute -> attribute != null && StringUtils.isNotBlank(attribute.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
                        boolean finalIsCodeOrGroupCode = isCodeOrGroupCode;
                        clientBusinessObjects.stream().forEach(cbo -> {
                            com.vci.ubcs.code.vo.webserviceModel.data.DataObjectVO dataObjectVO=new com.vci.ubcs.code.vo.webserviceModel.data.DataObjectVO();
                            dataObjectVO.setCode(cbo.getId());
                            String code="";
                            if(finalIsCodeOrGroupCode){
                                code= cbo.getAttributeValue("groupcode");
                            }else {
                                code=cbo.getId();
                            }
                            dataObjectVO.setCode(code);
                            dataObjectVO.setStatus(cbo.getLcStatus());
                            String codeclsfid=cbo.getAttributeValue("codeclsfid");
                            if(oidCodeclassifyDOMap.containsKey(codeclsfid)){
@@ -791,9 +817,9 @@
                            String [] newQueryFileds=queryFileds.split(",");
                            List<PropertyVO> propertyVOList=new ArrayList<>();
                            for(String filed:newQueryFileds){
                                String value=cbo.getAttributeValue(filed);
                                if(filedAttributeMap.containsKey(filed)){
                                    CodeClassifyTemplateAttrVO attrVO=  filedAttributeMap.get(filed);
                                if(filedAttributeMap.containsKey(filed.toLowerCase(Locale.ROOT))){
                                    String value=cbo.getAttributeValue(filed);
                                    CodeClassifyTemplateAttrVO attrVO=  filedAttributeMap.get(filed.toLowerCase(Locale.ROOT));
                                    PropertyVO propertyVO=new PropertyVO();
                                    propertyVO.setFiledName(filed);
                                    propertyVO.setFiledValue(value);
@@ -1341,13 +1367,15 @@
    }
    private List<ClientBusinessObject> ChangeMapTOClientBusinessObjects(List<Map<String,String>> oldDataMap){
        List<ClientBusinessObject> clientBusinessObjectList=new CopyOnWriteArrayList<>();
        oldDataMap.parallelStream().forEach(dataMap->{
        List<ClientBusinessObject> clientBusinessObjectList=new ArrayList<>();
        oldDataMap.stream().forEach(dataMap->{
            ClientBusinessObject clientBusinessObject=new ClientBusinessObject();
            DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject);
            dataMap.forEach((key,value)->{
                clientBusinessObject.setAttributeValue(key,value);
            });
            for (String key:dataMap.keySet()){
                Object value= dataMap.getOrDefault(key,"");
                clientBusinessObject.setAttributeValue(key.toLowerCase(Locale.ROOT),value==null?"":value.toString());
            }
            clientBusinessObjectList.add(clientBusinessObject);
        });
        return clientBusinessObjectList;
    }
@@ -1612,6 +1640,7 @@
     * @return
     */
    private boolean checkIspass(String systemId,String type,String operationType){
        log.info("systemId:"+systemId+",type:"+SysIntegrationDataFlowTypeEnum.getTextByValue(type)+",operationType:"+sysIntegrationPushTypeEnum.getTextByValue(operationType));
        if(!CODE_CHECKCONFIG) {
            return true;
        }
@@ -1632,7 +1661,8 @@
     * @return
     */
    private DockingSystemConfig  checkIspass(String systemId,String type,String operationType,String classOid){
        DockingSystemConfig dockingSystemConfig=new DockingSystemConfig();
        log.info("systemId:"+systemId+",type:"+SysIntegrationDataFlowTypeEnum.getTextByValue(type)+",operationType:"+sysIntegrationPushTypeEnum.getTextByValue(operationType)+",classOid:"+classOid);
        DockingSystemConfig dockingSystemConfig=null;
        CodeClassifyVO codeClassifyVO= classifyService.getObjectByOid(classOid);
        classOid=codeClassifyVO.getOid();
        //根据类型去查询需要集成的分类或者数据
@@ -1649,7 +1679,7 @@
            dockingSystemConfig=dockingSystemConfigList.get(0);
        }else{
            if(StringUtils.isNotBlank(codeClassifyVO.getParentCodeClassifyOid())) {
                checkIspass(systemId, type, operationType, codeClassifyVO.getOid());
                checkIspass(systemId, type, operationType, codeClassifyVO.getParentCodeClassifyOid());
            }
        }
        return dockingSystemConfig;