From 61c1317c6be5e3d7cfb70f75d81762eab9794067 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期二, 29 八月 2023 21:53:31 +0800 Subject: [PATCH] 统一接口更改接口加上最新版本统过滤 --- /dev/null | 0 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 90 ++++++++++++++++++++++++++++++--------------- Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/queryData.xml | 8 ++++ 3 files changed, 68 insertions(+), 30 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/queryData.xml b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/queryData.xml new file mode 100644 index 0000000..a838be6 --- /dev/null +++ b/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> diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/tt b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/tt deleted file mode 100644 index e69de29..0000000 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/tt +++ /dev/null diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java index 09fb459..be2da01 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java +++ b/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 = "鎺ュ彛鍙傛暟锛歝lassCode 鏈煡璇㈠埌瀵瑰簲鐨勫垎绫讳俊鎭�"; 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; -- Gitblit v1.9.3