From 3923ee1ff5c54a398a4b89731692e7fa28be7d0d Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 30 八月 2023 14:40:10 +0800
Subject: [PATCH] 主数据菜单查询错误信息
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 103 ++++++++++++++++++++++++++++++---------------------
1 files changed, 61 insertions(+), 42 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..89ac378 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;
@@ -711,15 +712,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 +738,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 +759,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 +818,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);
@@ -1353,13 +1368,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 +1641,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 +1662,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();
//鏍规嵁绫诲瀷鍘绘煡璇㈤渶瑕侀泦鎴愮殑鍒嗙被鎴栬�呮暟鎹�
@@ -1661,7 +1680,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