From bc796666e8267f1e47ff9451d9c105b6e327ecff Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 08 九月 2023 08:56:57 +0800
Subject: [PATCH] 修改参照bug
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 141 +++++++++++++++++++++++++++++------------------
1 files changed, 87 insertions(+), 54 deletions(-)
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 b21309c..f225f70 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
@@ -27,6 +27,7 @@
import com.vci.ubcs.code.vo.webserviceModel.classify.ResultClassifyVO;
import com.vci.ubcs.code.vo.webserviceModel.coderule.*;
import com.vci.ubcs.code.vo.webserviceModel.data.*;
+import com.vci.ubcs.code.vo.webserviceModel.data.ResultDataVO;
import com.vci.ubcs.code.vo.webserviceModel.result.json.*;
import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultClassfyVO;
import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO;
@@ -212,7 +213,8 @@
String operation="";
if(CODE_CHECKCONFIG) {
//鏍¢獙鏄惁閰嶇疆
- DockingSystemConfig dockingSystemConfig= checkIspass(finalSystemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue(),codeClassifyVO.getOid());
+ DockingSystemConfig dockingSystemConfig=null;
+ dockingSystemConfig=checkIspass(finalSystemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue(),codeClassifyVO.getOid());
if(dockingSystemConfig==null){
errorid[0] ="101";
throw new Throwable("绯荤粺鏍囪瘑涓恒��"+ finalSystemId +"銆戯紝闆嗘垚鍒嗙被涓恒��"+codeClassifyVO.getName()+"銆戜互涓婂垎绫伙紝"+sysIntegrationPushTypeEnum.ACCPET_APPCODE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒");
@@ -432,12 +434,26 @@
mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,isCodeOrGroupCode);
log.info("end锛氫慨鏀规暟鎹墽琛屽畬姣�");
} catch (Throwable e) {
- XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO=new XMLResultDataObjectDetailDO();
- xmlResultDataObjectDetailDO.setCode("");
- xmlResultDataObjectDetailDO.setId("");
- xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
- xmlResultDataObjectDetailDO.setMsg("缂栫爜鏇存敼/鐘舵�佹洿鏀�/鍒犻櫎:"+e.getMessage());
- resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
+ List<ApplyDataVO> applyDataVOList= classVO.getObjects().getObject();
+ objerrorCode="1";
+ if(!CollectionUtils.isEmpty(applyDataVOList)) {
+ applyDataVOList.stream().forEach(applyDataVO -> {
+ XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
+ xmlResultDataObjectDetailDO.setCode("");
+ xmlResultDataObjectDetailDO.setId(applyDataVO.getId());
+ xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
+ xmlResultDataObjectDetailDO.setMsg("缂栫爜鏇存敼/鐘舵�佹洿鏀�/鍒犻櫎:" + e.getMessage());
+ resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
+ });
+ }else {
+
+ XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
+ xmlResultDataObjectDetailDO.setCode("");
+ xmlResultDataObjectDetailDO.setId("");
+ xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
+ xmlResultDataObjectDetailDO.setMsg("缂栫爜鏇存敼/鐘舵�佹洿鏀�/鍒犻櫎:" + e.getMessage());
+ resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
+ }
e.printStackTrace();
}finally {
XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO();
@@ -711,15 +727,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 +753,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();
@@ -747,52 +774,55 @@
Map<String, CodeClassifyVO> oidCodeclassifyDOMap = dataCodeClassifyVOList.stream().filter(systeDataObject -> systeDataObject != null && StringUtils.isNotBlank(systeDataObject.getOid())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
List<PropertyVO> propertyVOS=condtionVO.getPro();
- /*Map<String,String> condtionMap=new HashMap<>();
- propertyVOS.stream().forEach(propertyVO -> {
- condtionMap.put(propertyVO.getFiledName(),propertyVO.getFiledValue());
- });
- condtionMap.put("codeclsfid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oidCodeclassifyDOMap.keySet().toArray(new String[0])) + ")");
List<String>statusList=new ArrayList<>();
statusList.add(CodeDefaultLC.RELEASED.getValue());
statusList.add(CodeDefaultLC.DISABLE.getValue());
statusList.add(CodeDefaultLC.TASK_BACK.getValue());
- condtionMap.put("Lcstatus", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(statusList.toArray(new String[]{})) + ")" );
- condtionMap.put("islastr", "1");
- condtionMap.put("islastv", "1");*/
- List<String>statusList=new ArrayList<>();
- 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)){
@@ -803,9 +833,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);
@@ -849,7 +879,7 @@
resultStr = object.toString();
}
try { //璁板綍鏃ュ織
- this.saveLogs(systemId, systemId, data, resultStr, issucess, msg, "queryClassify");
+ this.saveLogs(systemId, systemId, data, resultStr, issucess, msg, "queryData");
}catch (Throwable e){
e.printStackTrace();
}
@@ -1301,7 +1331,7 @@
}
try {
//璁板綍鏃ュ織
- this.saveLogs(systemId, systemId, data, resultStr, issucess, msg, "queryClassify");
+ this.saveLogs(systemId, systemId, data, resultStr, issucess, msg, "queryClassifyRule");
}catch (Throwable e){
e.printStackTrace();
}
@@ -1353,13 +1383,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;
}
@@ -1624,6 +1656,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;
}
@@ -1644,7 +1677,7 @@
* @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);
CodeClassifyVO codeClassifyVO= classifyService.getObjectByOid(classOid);
classOid=codeClassifyVO.getOid();
//鏍规嵁绫诲瀷鍘绘煡璇㈤渶瑕侀泦鎴愮殑鍒嗙被鎴栬�呮暟鎹�
@@ -1654,16 +1687,16 @@
queryWrapper.eq(DockingSystemConfig::getDataFlowType,type);
queryWrapper.eq(DockingSystemConfig::getPushType,operationType);
if(StringUtils.isNotBlank(classOid)){
- queryWrapper.in(DockingSystemConfig::getClassifyId,classOid);
+ queryWrapper.in(DockingSystemConfig::getClassifyOid,classOid);
}
List<DockingSystemConfig> dockingSystemConfigList= dockingSystemConfigList=dockingSystemConfigService.list(queryWrapper);
if(!CollectionUtils.isEmpty(dockingSystemConfigList)){
- dockingSystemConfig=dockingSystemConfigList.get(0);
+ return dockingSystemConfigList.get(0);
}else{
if(StringUtils.isNotBlank(codeClassifyVO.getParentCodeClassifyOid())) {
- checkIspass(systemId, type, operationType, codeClassifyVO.getOid());
+ return checkIspass(systemId, type, operationType, codeClassifyVO.getParentCodeClassifyOid());
}
}
- return dockingSystemConfig;
+ return dockingSystemConfigList.get(0);
}
}
--
Gitblit v1.9.3