package function;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class GetGroupInfo {
public static void main(String args[]){
String s1 = "业务信息#机构业务";
String s2 = "业务信息#旅行业务";
String s3 = "客户信息#核心客户#有效性";
String s4 = "客户信息#核心客户#合法性";
String s5 = "客户信息#理财客户#完整性";
String s6 = "客户信息#理财客户#唯一性";
String s7 = "客户信息#信贷客户";
List l = new ArrayList();
l.add(s1);
l.add(s2);
l.add(s3);
l.add(s4);
l.add(s5);
l.add(s6);
l.add(s7);
int groupId=10000;
String currDealStr = "";
//存储单纯的节点name信息
List<String> nodeCon =new ArrayList<String>();
List<String> nodeRelas =new ArrayList<String>();
for(int i = 0;i<l.size();i++){
currDealStr = (String)l.get(i);
String nodeStrArr[] = currDealStr.split("#");
//每一条记录里的节点信息
for(int j =0;j<nodeStrArr.length;j++){
String nodeName = nodeStrArr[j];
String nodeRela = "";
if(j==0){
//第一层评分组,评分组的上级肯定是评分卡
if(nodeCon.contains(nodeName)){
System.out.println("exist");
//break 跳出了外层循环,不符合逻辑
continue;
}else{
System.out.println("first level not exist,add ");
nodeRela = (groupId++)+"@"+nodeName+"@card_root";
nodeCon.add(nodeName);
nodeRelas.add(nodeRela);
}
}else{
String currPar = "";
if(nodeCon.contains(nodeName)){
System.out.println("exist");
//break 跳出了外层循环,不符合逻辑
continue;
}else{
System.out.println("not exist,add");
//找到当前节点的父节点
currPar = nodeStrArr[j-1];
nodeCon.add(nodeName);
//找到当前节点的父节点的id信息
String parId= "";
Iterator it = nodeRelas.iterator();
String nodeSplit[] = null;
while(it.hasNext()){
String node = (String)it.next();
nodeSplit = node.split("@");
if(nodeSplit[1].equals(currPar)){
parId = nodeSplit[0];
break;
}
}
nodeRelas.add((groupId++)+"@"+nodeName+"@"+parId);
}
}
}
}
System.out.println(nodeCon);
System.out.println(nodeRelas);
}
}