|
@ -215,6 +215,7 @@ class MetaService: |
|
|
relationList = [] |
|
|
relationList = [] |
|
|
if currentNodeList is not None and len(currentNodeList) > 0: |
|
|
if currentNodeList is not None and len(currentNodeList) > 0: |
|
|
for currentNode in currentNodeList: |
|
|
for currentNode in currentNodeList: |
|
|
|
|
|
if currentNode['father'] is None: |
|
|
relation = {"source": {"ssys_cd": currentNode['a_ssys_cd'], |
|
|
relation = {"source": {"ssys_cd": currentNode['a_ssys_cd'], |
|
|
"mdl_name": currentNode['a_mdl_name'], |
|
|
"mdl_name": currentNode['a_mdl_name'], |
|
|
"tab_eng_name": currentNode['a_tab_eng_name'], |
|
|
"tab_eng_name": currentNode['a_tab_eng_name'], |
|
@ -222,7 +223,18 @@ class MetaService: |
|
|
"target": {'ssys_cd': currentNode['b_ssys_cd'], |
|
|
"target": {'ssys_cd': currentNode['b_ssys_cd'], |
|
|
'mdl_name': currentNode['b_mdl_name'], |
|
|
'mdl_name': currentNode['b_mdl_name'], |
|
|
'tab_eng_name': currentNode['b_tab_eng_name'], |
|
|
'tab_eng_name': currentNode['b_tab_eng_name'], |
|
|
'fld_eng_name': currentNode['b_fld_eng_name']}} if \ |
|
|
'fld_eng_name': currentNode['b_fld_eng_name']}, |
|
|
|
|
|
"endArrow": False} |
|
|
|
|
|
else: |
|
|
|
|
|
relation = {"source": {"ssys_cd": currentNode['a_ssys_cd'], |
|
|
|
|
|
"mdl_name": currentNode['a_mdl_name'], |
|
|
|
|
|
"tab_eng_name": currentNode['a_tab_eng_name'], |
|
|
|
|
|
"fld_eng_name": currentNode['a_fld_eng_name']}, |
|
|
|
|
|
"target": {'ssys_cd': currentNode['b_ssys_cd'], |
|
|
|
|
|
'mdl_name': currentNode['b_mdl_name'], |
|
|
|
|
|
'tab_eng_name': currentNode['b_tab_eng_name'], |
|
|
|
|
|
'fld_eng_name': currentNode['b_fld_eng_name']}, |
|
|
|
|
|
"endArrow": True} if \ |
|
|
currentNode['father'] == 'A' else { |
|
|
currentNode['father'] == 'A' else { |
|
|
"source": {'ssys_cd': currentNode['b_ssys_cd'], |
|
|
"source": {'ssys_cd': currentNode['b_ssys_cd'], |
|
|
'mdl_name': currentNode['b_mdl_name'], |
|
|
'mdl_name': currentNode['b_mdl_name'], |
|
@ -231,17 +243,19 @@ class MetaService: |
|
|
"target": {"ssys_cd": currentNode['a_ssys_cd'], |
|
|
"target": {"ssys_cd": currentNode['a_ssys_cd'], |
|
|
"mdl_name": currentNode['a_mdl_name'], |
|
|
"mdl_name": currentNode['a_mdl_name'], |
|
|
"tab_eng_name": currentNode['a_tab_eng_name'], |
|
|
"tab_eng_name": currentNode['a_tab_eng_name'], |
|
|
"fld_eng_name": currentNode['a_fld_eng_name']}} |
|
|
"fld_eng_name": currentNode['a_fld_eng_name']}, |
|
|
|
|
|
"endArrow": True} |
|
|
relationList.append(relation) |
|
|
relationList.append(relation) |
|
|
|
|
|
if meta_query.type == 'er': |
|
|
if currentNode['a_tab_eng_name'] == meta_query.tab_eng_name: |
|
|
if currentNode['a_tab_eng_name'] == meta_query.tab_eng_name: |
|
|
if currentNode['father'] == 'A': |
|
|
if currentNode['father'] == 'A': |
|
|
# b为下游,取b字段的下下游 |
|
|
# b为下游,取b字段的下下游 |
|
|
nextNodeList =(await cls.getRelationByColumn(result_db, currentNode['b_ssys_cd'], |
|
|
nextNodeList = (await cls.getRelationByColumn(result_db, currentNode['b_ssys_cd'], |
|
|
currentNode['b_mdl_name'], |
|
|
currentNode['b_mdl_name'], |
|
|
currentNode['b_tab_eng_name'], |
|
|
currentNode['b_tab_eng_name'], |
|
|
currentNode['b_fld_eng_name'], |
|
|
currentNode['b_fld_eng_name'], |
|
|
meta_query.type, |
|
|
meta_query.type, |
|
|
'next') ) |
|
|
'next')) |
|
|
if nextNodeList and len(nextNodeList) > 0: |
|
|
if nextNodeList and len(nextNodeList) > 0: |
|
|
for nextNode in nextNodeList: |
|
|
for nextNode in nextNodeList: |
|
|
relation = {"source": {"ssys_cd": nextNode['a_ssys_cd'], |
|
|
relation = {"source": {"ssys_cd": nextNode['a_ssys_cd'], |
|
@ -251,15 +265,18 @@ class MetaService: |
|
|
"target": {'ssys_cd': nextNode['b_ssys_cd'], |
|
|
"target": {'ssys_cd': nextNode['b_ssys_cd'], |
|
|
'mdl_name': nextNode['b_mdl_name'], |
|
|
'mdl_name': nextNode['b_mdl_name'], |
|
|
'tab_eng_name': nextNode['b_tab_eng_name'], |
|
|
'tab_eng_name': nextNode['b_tab_eng_name'], |
|
|
'fld_eng_name': nextNode['b_fld_eng_name']}} if nextNode[ |
|
|
'fld_eng_name': nextNode['b_fld_eng_name']}, |
|
|
'father'] == 'A' else { |
|
|
"endArrow": True} if nextNode['father'] == 'A' else \ |
|
|
"source": {'ssys_cd': nextNode['b_ssys_cd'], |
|
|
{"source": {'ssys_cd': nextNode['b_ssys_cd'], |
|
|
'mdl_name': nextNode['b_mdl_name'], |
|
|
'mdl_name': nextNode['b_mdl_name'], |
|
|
'tab_eng_name': nextNode['b_tab_eng_name'], |
|
|
'tab_eng_name': nextNode['b_tab_eng_name'], |
|
|
'fld_eng_name': nextNode['b_fld_eng_name']}, |
|
|
'fld_eng_name': nextNode['b_fld_eng_name']}, |
|
|
"target": {"ssys_cd": nextNode['a_ssys_cd'], "mdl_name": nextNode['a_mdl_name'], |
|
|
"target": {"ssys_cd": nextNode['a_ssys_cd'], |
|
|
|
|
|
"mdl_name": nextNode['a_mdl_name'], |
|
|
"tab_eng_name": nextNode['a_tab_eng_name'], |
|
|
"tab_eng_name": nextNode['a_tab_eng_name'], |
|
|
"fld_eng_name": nextNode['a_fld_eng_name']}} |
|
|
"fld_eng_name": nextNode['a_fld_eng_name']}, |
|
|
|
|
|
"endArrow": True |
|
|
|
|
|
} |
|
|
relationList.append(relation) |
|
|
relationList.append(relation) |
|
|
if currentNode['father'] == 'B': |
|
|
if currentNode['father'] == 'B': |
|
|
# b为上游, 取b字段的上上游 |
|
|
# b为上游, 取b字段的上上游 |
|
@ -278,15 +295,16 @@ class MetaService: |
|
|
"target": {'ssys_cd': preNode['b_ssys_cd'], |
|
|
"target": {'ssys_cd': preNode['b_ssys_cd'], |
|
|
'mdl_name': preNode['b_mdl_name'], |
|
|
'mdl_name': preNode['b_mdl_name'], |
|
|
'tab_eng_name': preNode['b_tab_eng_name'], |
|
|
'tab_eng_name': preNode['b_tab_eng_name'], |
|
|
'fld_eng_name': preNode['b_fld_eng_name']}} if preNode[ |
|
|
'fld_eng_name': preNode['b_fld_eng_name']}, |
|
|
'father'] == 'A' else { |
|
|
"endArrow": True} if preNode['father'] == 'A' else\ |
|
|
"source": {'ssys_cd': preNode['b_ssys_cd'], |
|
|
{ "source": {'ssys_cd': preNode['b_ssys_cd'], |
|
|
'mdl_name': preNode['b_mdl_name'], |
|
|
'mdl_name': preNode['b_mdl_name'], |
|
|
'tab_eng_name': preNode['b_tab_eng_name'], |
|
|
'tab_eng_name': preNode['b_tab_eng_name'], |
|
|
'fld_eng_name': preNode['b_fld_eng_name']}, |
|
|
'fld_eng_name': preNode['b_fld_eng_name']}, |
|
|
"target": {"ssys_cd": preNode['a_ssys_cd'], "mdl_name": preNode['a_mdl_name'], |
|
|
"target": {"ssys_cd": preNode['a_ssys_cd'], "mdl_name": preNode['a_mdl_name'], |
|
|
"tab_eng_name": preNode['a_tab_eng_name'], |
|
|
"tab_eng_name": preNode['a_tab_eng_name'], |
|
|
"fld_eng_name": preNode['a_fld_eng_name']}} |
|
|
"fld_eng_name": preNode['a_fld_eng_name']}, |
|
|
|
|
|
"endArrow": True} |
|
|
relationList.append(relation) |
|
|
relationList.append(relation) |
|
|
if currentNode['b_tab_eng_name'] == meta_query.tab_eng_name: |
|
|
if currentNode['b_tab_eng_name'] == meta_query.tab_eng_name: |
|
|
if currentNode['father'] == 'A': |
|
|
if currentNode['father'] == 'A': |
|
@ -306,7 +324,8 @@ class MetaService: |
|
|
"target": {'ssys_cd': preNode['b_ssys_cd'], |
|
|
"target": {'ssys_cd': preNode['b_ssys_cd'], |
|
|
'mdl_name': preNode['b_mdl_name'], |
|
|
'mdl_name': preNode['b_mdl_name'], |
|
|
'tab_eng_name': preNode['b_tab_eng_name'], |
|
|
'tab_eng_name': preNode['b_tab_eng_name'], |
|
|
'fld_eng_name': preNode['b_fld_eng_name']}} if \ |
|
|
'fld_eng_name': preNode['b_fld_eng_name']}, |
|
|
|
|
|
"endArrow": True} if \ |
|
|
preNode['father'] == 'A' else { |
|
|
preNode['father'] == 'A' else { |
|
|
"source": {'ssys_cd': preNode['b_ssys_cd'], |
|
|
"source": {'ssys_cd': preNode['b_ssys_cd'], |
|
|
'mdl_name': preNode['b_mdl_name'], |
|
|
'mdl_name': preNode['b_mdl_name'], |
|
@ -314,7 +333,8 @@ class MetaService: |
|
|
'fld_eng_name': preNode['b_fld_eng_name']}, |
|
|
'fld_eng_name': preNode['b_fld_eng_name']}, |
|
|
"target": {"ssys_cd": preNode['a_ssys_cd'], "mdl_name": preNode['a_mdl_name'], |
|
|
"target": {"ssys_cd": preNode['a_ssys_cd'], "mdl_name": preNode['a_mdl_name'], |
|
|
"tab_eng_name": preNode['a_tab_eng_name'], |
|
|
"tab_eng_name": preNode['a_tab_eng_name'], |
|
|
"fld_eng_name": preNode['a_fld_eng_name']}} |
|
|
"fld_eng_name": preNode['a_fld_eng_name']}, |
|
|
|
|
|
"endArrow": True} |
|
|
relationList.append(relation) |
|
|
relationList.append(relation) |
|
|
if currentNode['father'] == 'B': |
|
|
if currentNode['father'] == 'B': |
|
|
# a 为下游,取a字段的下下游 |
|
|
# a 为下游,取a字段的下下游 |
|
@ -332,7 +352,8 @@ class MetaService: |
|
|
"target": {'ssys_cd': nextNode['b_ssys_cd'], |
|
|
"target": {'ssys_cd': nextNode['b_ssys_cd'], |
|
|
'mdl_name': nextNode['b_mdl_name'], |
|
|
'mdl_name': nextNode['b_mdl_name'], |
|
|
'tab_eng_name': nextNode['b_tab_eng_name'], |
|
|
'tab_eng_name': nextNode['b_tab_eng_name'], |
|
|
'fld_eng_name': nextNode['b_fld_eng_name']}} if \ |
|
|
'fld_eng_name': nextNode['b_fld_eng_name']}, |
|
|
|
|
|
"endArrow": True} if \ |
|
|
nextNode['father'] == 'A' else { |
|
|
nextNode['father'] == 'A' else { |
|
|
"source": {'ssys_cd': nextNode['b_ssys_cd'], |
|
|
"source": {'ssys_cd': nextNode['b_ssys_cd'], |
|
|
'mdl_name': nextNode['b_mdl_name'], |
|
|
'mdl_name': nextNode['b_mdl_name'], |
|
@ -340,7 +361,8 @@ class MetaService: |
|
|
'fld_eng_name': nextNode['b_fld_eng_name']}, |
|
|
'fld_eng_name': nextNode['b_fld_eng_name']}, |
|
|
"target": {"ssys_cd": nextNode['a_ssys_cd'], "mdl_name": nextNode['a_mdl_name'], |
|
|
"target": {"ssys_cd": nextNode['a_ssys_cd'], "mdl_name": nextNode['a_mdl_name'], |
|
|
"tab_eng_name": nextNode['a_tab_eng_name'], |
|
|
"tab_eng_name": nextNode['a_tab_eng_name'], |
|
|
"fld_eng_name": nextNode['a_fld_eng_name']}} |
|
|
"fld_eng_name": nextNode['a_fld_eng_name']}, |
|
|
|
|
|
"endArrow": True} |
|
|
relationList.append(relation) |
|
|
relationList.append(relation) |
|
|
tableList = [] |
|
|
tableList = [] |
|
|
if len(relationList) > 0: |
|
|
if len(relationList) > 0: |
|
|