|
@@ -6,19 +6,12 @@ import com.dragoninfo.dcuc.app.dto.dataresource.ChildResourceClassify;
|
|
|
import com.dragoninfo.dcuc.app.dto.dataresource.ResourceClassify;
|
|
|
import com.dragoninfo.dcuc.app.dto.sub.DataClaAcceptDTO;
|
|
|
import com.dragoninfo.dcuc.app.dto.sub.FieldClaAcceptDTO;
|
|
|
-import com.dragoninfo.dcuc.app.entity.DataColInfo;
|
|
|
-import com.dragoninfo.dcuc.app.entity.DataTabInfo;
|
|
|
-import com.dragoninfo.dcuc.app.entity.sub.DataCla;
|
|
|
-import com.dragoninfo.dcuc.app.entity.sub.DataLevel;
|
|
|
-import com.dragoninfo.dcuc.app.entity.sub.DataSec;
|
|
|
-import com.dragoninfo.dcuc.app.entity.sub.FieldCla;
|
|
|
+import com.dragoninfo.dcuc.app.entity.sub.*;
|
|
|
import com.dragoninfo.dcuc.app.enumresources.DataAttrTypeEnum;
|
|
|
import com.dragoninfo.dcuc.app.enumresources.DataResourceEnum;
|
|
|
import com.dragoninfo.dcuc.app.enumresources.sub.DataClaTypeEnum;
|
|
|
import com.dragoninfo.dcuc.app.enumresources.sub.FieldClaTypeEnum;
|
|
|
-import com.dragoninfo.dcuc.app.service.IDataColInfoService;
|
|
|
import com.dragoninfo.dcuc.app.service.IDataResourceService;
|
|
|
-import com.dragoninfo.dcuc.app.service.IDataTabInfoService;
|
|
|
import com.dragoninfo.dcuc.app.service.sub.*;
|
|
|
import com.dragoninfo.dcuc.app.vo.*;
|
|
|
import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
|
|
@@ -61,10 +54,10 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
private IFieldClaService fieldClaService;
|
|
|
|
|
|
@Autowired
|
|
|
- private IDataTabInfoService tabInfoService;
|
|
|
+ private IAppDataResourceInfoService tabInfoService;
|
|
|
|
|
|
@Autowired
|
|
|
- private IDataColInfoService colInfoService;
|
|
|
+ private IAppDataItemInfoService colInfoService;
|
|
|
|
|
|
@Autowired
|
|
|
private IDataCatalogBusiness dataCatalogBusiness;
|
|
@@ -80,19 +73,18 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
//表:数据分级 数据资源分类
|
|
|
if (DataAttrTypeEnum.DATA_ATTR_TABLE.getValue().equals(attrType)) {
|
|
|
// 查询所有的表和列
|
|
|
- List<DataTabInfo> tabInfos = tabInfoService.getAllTabInfos();
|
|
|
- List<DataColInfo> colInfos = colInfoService.getAllColInfos();
|
|
|
+ List<AppDataResourceInfo> tabInfos = tabInfoService.getAllTabInfos();
|
|
|
result.add(getDataLevelTree());
|
|
|
- result.add(getDataClassifyTree(tabInfos, colInfos));
|
|
|
+ result.add(getDataClassifyTree(tabInfos));
|
|
|
} else if (DataAttrTypeEnum.DATA_ATTR_COLUMN.getValue().equals(attrType)) {
|
|
|
- List<DataColInfo> colInfos = colInfoService.getAllColInfos();
|
|
|
+ List<AppDataItemInfo> colInfos = colInfoService.getAllColInfos();
|
|
|
result.add(getSecurityLevelTree());
|
|
|
result.add(getFieldClassifyTree(colInfos));
|
|
|
} else {
|
|
|
- List<DataTabInfo> tabInfos = tabInfoService.getAllTabInfos();
|
|
|
- List<DataColInfo> colInfos = colInfoService.getAllColInfos();
|
|
|
+ List<AppDataResourceInfo> tabInfos = tabInfoService.getAllTabInfos();
|
|
|
+ List<AppDataItemInfo> colInfos = colInfoService.getAllColInfos();
|
|
|
result.add(getDataLevelTree());
|
|
|
- result.add(getDataClassifyTree(tabInfos, colInfos));
|
|
|
+ result.add(getDataClassifyTree(tabInfos));
|
|
|
result.add(getSecurityLevelTree());
|
|
|
result.add(getFieldClassifyTree(colInfos));
|
|
|
}
|
|
@@ -103,8 +95,8 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
public DataResourceClassifyVo getDataResourceTree(String typeCode) {
|
|
|
DataResourceClassifyVo result = null;
|
|
|
DataResourceEnum dataResourceEnum = Enum.valueOf(DataResourceEnum.class, typeCode);
|
|
|
- List<DataColInfo> colInfos = null;
|
|
|
- List<DataTabInfo> tabInfos = null;
|
|
|
+ List<AppDataItemInfo> colInfos = null;
|
|
|
+ List<AppDataResourceInfo> tabInfos = null;
|
|
|
switch (dataResourceEnum) {
|
|
|
case DATA_CLASSIFY:
|
|
|
result = getDataLevelTree();
|
|
@@ -118,8 +110,7 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
break;
|
|
|
case DATA_RESOURCE_CLASSIFY:
|
|
|
tabInfos = tabInfoService.getAllTabInfos();
|
|
|
- colInfos = colInfoService.getAllColInfos();
|
|
|
- result = getDataClassifyTree(tabInfos, colInfos);
|
|
|
+ result = getDataClassifyTree(tabInfos);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
@@ -202,10 +193,9 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
return dataResourceClassifyVo;
|
|
|
}
|
|
|
|
|
|
- private DataResourceClassifyVo getDataClassifyTree(List<DataTabInfo> tabInfos, List<DataColInfo> colInfos) {
|
|
|
+ private DataResourceClassifyVo getDataClassifyTree(List<AppDataResourceInfo> tabInfos) {
|
|
|
// 将表分类映射到表
|
|
|
- Map<String, List<DataTabInfo>> tabLabMap = getTabLabGroupMap(tabInfos);
|
|
|
- Map<String, List<DataColInfo>> colTaMap = colInfos.stream().collect(Collectors.groupingBy(DataColInfo::getTaCode));
|
|
|
+ Map<String, List<AppDataResourceInfo>> tabLabMap = getTabLabGroupMap(tabInfos);
|
|
|
|
|
|
DataResourceEnum dataResourceEnum = DataResourceEnum.DATA_RESOURCE_CLASSIFY;
|
|
|
|
|
@@ -238,7 +228,7 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
resourceVo.setTotal(0);
|
|
|
} else {
|
|
|
// 拼接表、列、pid
|
|
|
- boolean b = combinePidAndTabCol(topTreeVo, tabLabMap, colTaMap);
|
|
|
+ boolean b = combinePidAndTableInfo(topTreeVo, tabLabMap);
|
|
|
if (b) {
|
|
|
resourceVo.setNodes(new ArrayList<>());
|
|
|
resourceVo.setTotal(0);
|
|
@@ -252,42 +242,42 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
return resourceVo;
|
|
|
}
|
|
|
|
|
|
- private Map<String, List<DataTabInfo>> getTabLabGroupMap(List<DataTabInfo> tabInfos) {
|
|
|
- Map<String, List<DataTabInfo>> group = new HashMap<>();
|
|
|
+ private Map<String, List<AppDataResourceInfo>> getTabLabGroupMap(List<AppDataResourceInfo> tabInfos) {
|
|
|
+ Map<String, List<AppDataResourceInfo>> group = new HashMap<>();
|
|
|
tabInfos.forEach(e -> {
|
|
|
// 一级分类
|
|
|
- String claFir = e.getDataClaFir();
|
|
|
+ String claFir = e.getDataClassifyOneCode();
|
|
|
if (StringUtils.isBlank(claFir)) {
|
|
|
return;
|
|
|
}
|
|
|
// 二级分类
|
|
|
- String claSec = e.getLabSec();
|
|
|
+ String claSec = e.getDataClassifyTwoCode();
|
|
|
if (StringUtils.isBlank(claSec)) {
|
|
|
putInMap(group, e, claFir);
|
|
|
return;
|
|
|
}
|
|
|
// 标签1
|
|
|
- String labFir = e.getLabFir();
|
|
|
+ String labFir = e.getDataLabelOneCode();
|
|
|
if (StringUtils.isNotBlank(labFir)) {
|
|
|
labFir = CommonCons.LAB_CLA_FIR + CommonCons.ID_SEPARATOR + labFir;
|
|
|
}
|
|
|
// 标签2
|
|
|
- String labSec = e.getLabSec();
|
|
|
+ String labSec = e.getDataLabelTwoCode();
|
|
|
if (StringUtils.isNotBlank(labSec)) {
|
|
|
labSec = CommonCons.LAB_CLA_SEC + CommonCons.ID_SEPARATOR + labSec;
|
|
|
}
|
|
|
// 标签3
|
|
|
- String labThr = e.getLabThr();
|
|
|
+ String labThr = e.getDataLabelThreeCode();
|
|
|
if (StringUtils.isNotBlank(labThr)) {
|
|
|
labThr = CommonCons.LAB_CLA_THI + CommonCons.ID_SEPARATOR + labThr;
|
|
|
}
|
|
|
// 标签4
|
|
|
- String labFour = e.getLabFour();
|
|
|
+ String labFour = e.getDataLabelFourCode();
|
|
|
if (StringUtils.isNotBlank(labFour)) {
|
|
|
labFour = CommonCons.LAB_CLA_FOUR + CommonCons.ID_SEPARATOR + labFour;
|
|
|
}
|
|
|
// 标签5
|
|
|
- String labFiv = e.getLabFiv();
|
|
|
+ String labFiv = e.getDataLabelFiveCode();
|
|
|
if (StringUtils.isNotBlank(labFiv)) {
|
|
|
labFiv = CommonCons.LAB_CLA_FIV + CommonCons.ID_SEPARATOR + labFiv;
|
|
|
}
|
|
@@ -305,8 +295,8 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
return group;
|
|
|
}
|
|
|
|
|
|
- private void putInMap(Map<String, List<DataTabInfo>> group, DataTabInfo e, String claFir) {
|
|
|
- List<DataTabInfo> list = group.get(claFir);
|
|
|
+ private void putInMap(Map<String, List<AppDataResourceInfo>> group, AppDataResourceInfo e, String claFir) {
|
|
|
+ List<AppDataResourceInfo> list = group.get(claFir);
|
|
|
if (null == list) {
|
|
|
list = new ArrayList<>();
|
|
|
}
|
|
@@ -325,9 +315,9 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
}
|
|
|
|
|
|
|
|
|
- private DataResourceClassifyVo getFieldClassifyTree(List<DataColInfo> colInfos) {
|
|
|
+ private DataResourceClassifyVo getFieldClassifyTree(List<AppDataItemInfo> colInfos) {
|
|
|
|
|
|
- Map<String, List<DataColInfo>> colInfosMap = getColumnClaGroupMap(colInfos);
|
|
|
+ Map<String, List<AppDataItemInfo>> colInfosMap = getColumnClaGroupMap(colInfos);
|
|
|
|
|
|
DataResourceEnum dataResourceEnum = DataResourceEnum.COLUMN_CLASSIFY;
|
|
|
|
|
@@ -361,11 +351,11 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
return resourceVo;
|
|
|
}
|
|
|
|
|
|
- private Map<String, List<DataColInfo>> getColumnClaGroupMap(List<DataColInfo> colInfos) {
|
|
|
- return colInfos.stream().collect(Collectors.groupingBy(DataColInfo::getColClaSec));
|
|
|
+ private Map<String, List<AppDataItemInfo>> getColumnClaGroupMap(List<AppDataItemInfo> colInfos) {
|
|
|
+ return colInfos.stream().collect(Collectors.groupingBy(AppDataItemInfo::getColumnClassify));
|
|
|
}
|
|
|
|
|
|
- private boolean combinePidCol(DataResourceTreeVo treeVo, Map<String, List<DataColInfo>> colInfosMap) {
|
|
|
+ private boolean combinePidCol(DataResourceTreeVo treeVo, Map<String, List<AppDataItemInfo>> colInfosMap) {
|
|
|
List<DataResourceTreeVo> child = treeVo.getChild();
|
|
|
Iterator<DataResourceTreeVo> iterator = child.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
@@ -383,7 +373,7 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
// 如果为叶子节点,查找对应的表和列
|
|
|
// 如果查找不到表和列则移除
|
|
|
String id = childVo.getId();
|
|
|
- List<DataColInfo> dataColInfo = colInfosMap.get(childVo.getCode());
|
|
|
+ List<AppDataItemInfo> dataColInfo = colInfosMap.get(childVo.getCode());
|
|
|
if (dataColInfo == null) {
|
|
|
iterator.remove();
|
|
|
} else {
|
|
@@ -794,10 +784,9 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
*
|
|
|
* @param treeVo
|
|
|
* @param tabInfosMap
|
|
|
- * @param colInfosMap
|
|
|
* @return
|
|
|
*/
|
|
|
- private boolean combinePidAndTabCol(DataResourceTreeVo treeVo, Map<String, List<DataTabInfo>> tabInfosMap, Map<String, List<DataColInfo>> colInfosMap) {
|
|
|
+ private boolean combinePidAndTableInfo(DataResourceTreeVo treeVo, Map<String, List<AppDataResourceInfo>> tabInfosMap) {
|
|
|
List<DataResourceTreeVo> child = treeVo.getChild();
|
|
|
Iterator<DataResourceTreeVo> iterator = child.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
@@ -807,7 +796,7 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
List<DataResourceTreeVo> cc = childVo.getChild();
|
|
|
if (CollectionUtils.isNotEmpty(cc)) {
|
|
|
childVo.setTreeNode(true);
|
|
|
- boolean emptyChild = combinePidAndTabCol(childVo, tabInfosMap, colInfosMap);
|
|
|
+ boolean emptyChild = combinePidAndTableInfo(childVo, tabInfosMap);
|
|
|
if (emptyChild) {
|
|
|
iterator.remove();
|
|
|
}
|
|
@@ -818,11 +807,11 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
String classifyCode = DataResourceEnum.DATA_RESOURCE_CLASSIFY.getCode();
|
|
|
if (id.startsWith(classifyCode)) {
|
|
|
String replace = id.replace(classifyCode + CommonCons.ID_SEPARATOR, "");
|
|
|
- List<DataTabInfo> dataTabInfo = tabInfosMap.get(replace);
|
|
|
+ List<AppDataResourceInfo> dataTabInfo = tabInfosMap.get(replace);
|
|
|
if (dataTabInfo == null) {
|
|
|
iterator.remove();
|
|
|
} else {
|
|
|
- List<DataResourceTreeVo> tableVos = convertTableToTreeVo(childVo, dataTabInfo, colInfosMap);
|
|
|
+ List<DataResourceTreeVo> tableVos = convertTableToTreeVo(childVo, dataTabInfo, null);
|
|
|
childVo.setTreeNode(true);
|
|
|
childVo.setChild(tableVos);
|
|
|
}
|
|
@@ -833,32 +822,34 @@ public class DataResourceFacade implements IDataResourceFacade {
|
|
|
return CollectionUtils.isEmpty(child);
|
|
|
}
|
|
|
|
|
|
- private List<DataResourceTreeVo> convertTableToTreeVo(DataResourceTreeVo childVo, List<DataTabInfo> dataTabInfo, Map<String, List<DataColInfo>> colInfosMap) {
|
|
|
+ private List<DataResourceTreeVo> convertTableToTreeVo(DataResourceTreeVo childVo, List<AppDataResourceInfo> dataTabInfo, Map<String, List<AppDataItemInfo>> colInfosMap) {
|
|
|
return dataTabInfo.stream().map(e -> {
|
|
|
DataResourceTreeVo vo = new DataResourceTreeVo();
|
|
|
vo.setId(e.getId());
|
|
|
vo.setPId(childVo.getId());
|
|
|
- vo.setLabel(e.getName());
|
|
|
+ vo.setLabel(e.getTableName());
|
|
|
vo.setDataType(DataResourceEnum.TAB.getCode());
|
|
|
- List<DataColInfo> colInfoList = colInfosMap.get(e.getCode());
|
|
|
- if (CollectionUtils.isNotEmpty(colInfoList)) {
|
|
|
- List<DataResourceTreeVo> colVos = convertColumnToTreeVo(e.getId(), colInfoList);
|
|
|
- vo.setChild(colVos);
|
|
|
- vo.setTreeNode(true);
|
|
|
- } else {
|
|
|
- vo.setChild(Collections.emptyList());
|
|
|
- vo.setTreeNode(false);
|
|
|
+ if (null != colInfosMap) {
|
|
|
+ List<AppDataItemInfo> colInfoList = colInfosMap.get(e.getDataObjectId());
|
|
|
+ if (CollectionUtils.isNotEmpty(colInfoList)) {
|
|
|
+ List<DataResourceTreeVo> colVos = convertColumnToTreeVo(e.getId(), colInfoList);
|
|
|
+ vo.setChild(colVos);
|
|
|
+ vo.setTreeNode(true);
|
|
|
+ } else {
|
|
|
+ vo.setChild(Collections.emptyList());
|
|
|
+ vo.setTreeNode(false);
|
|
|
+ }
|
|
|
}
|
|
|
return vo;
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
- private List<DataResourceTreeVo> convertColumnToTreeVo(String pid, List<DataColInfo> colInfoList) {
|
|
|
+ private List<DataResourceTreeVo> convertColumnToTreeVo(String pid, List<AppDataItemInfo> colInfoList) {
|
|
|
return colInfoList.stream().map(e -> {
|
|
|
DataResourceTreeVo vo = new DataResourceTreeVo();
|
|
|
vo.setId(e.getId());
|
|
|
vo.setPId(pid);
|
|
|
- vo.setLabel(e.getName());
|
|
|
+ vo.setLabel(e.getColumnName());
|
|
|
vo.setDataType(DataResourceEnum.COL.getCode());
|
|
|
return vo;
|
|
|
}).collect(Collectors.toList());
|