diff --git a/vue-fastapi-backend/module_admin/dao/meta_dao.py b/vue-fastapi-backend/module_admin/dao/meta_dao.py index bd967d3..df65d24 100644 --- a/vue-fastapi-backend/module_admin/dao/meta_dao.py +++ b/vue-fastapi-backend/module_admin/dao/meta_dao.py @@ -494,6 +494,18 @@ class MetaDao: )).first() return CamelCaseUtil.transform_result(result) + @classmethod + async def get_meta_table_cn_name(cls, db: AsyncSession, sysCode, mdlName, tabEngName): + sql = text("select case when a.tab_cn_name is null then b.tab_crrct_name" + " when a.tab_cn_name is not null then a.tab_cn_name end as tab_cn_name" + " from t_metadata_extract_info a " + "left join t_metadata_supp_info b " + "on a.ssys_cd = b.ssys_cd and a.mdl_name=b.mdl_name and a.tab_eng_name=b.tab_crrct_name " + "where a.ssys_cd = :sysCode and a.mdl_name = :mdlName and a.tab_eng_name = :tabEngName") + result = (await db.execute(sql, {"sysCode": sysCode, "mdlName": mdlName, "tabEngName": tabEngName})) + + return result.first().tab_cn_name + @classmethod async def get_meta_col_name_list(cls, db: AsyncSession, query_object: MetaColObject): query_result = ( @@ -524,13 +536,13 @@ class MetaDao: "from t_batch_er_relation_step1 a1)select a1.*,'A' AS father from tmp a1 where a1.rn = 1 " " and a1.a_ssys_cd = :sysCode and a1.a_mdl_name = :mdlName and a1.a_tab_eng_name = :tabName") sql2 = text("with tmp as (select a1.*,row_number()over(partition by b_ssys_cd,b_mdl_name,b_tab_eng_name," - "b_fld_eng_name order by concat(op_relation,',',jd_relation) desc) as rn " - "from t_batch_er_relation_step1 a1)select a1.*,'A' AS father from tmp a1 where a1.rn = 1 " - " and a1.b_ssys_cd = :sysCode and a1.b_mdl_name = :mdlName and a1.b_tab_eng_name = :tabName") + "b_fld_eng_name order by concat(op_relation,',',jd_relation) desc) as rn " + "from t_batch_er_relation_step1 a1)select a1.*,'A' AS father from tmp a1 where a1.rn = 1 " + " and a1.b_ssys_cd = :sysCode and a1.b_mdl_name = :mdlName and a1.b_tab_eng_name = :tabName") result = (await result_db.execute(sql, {"sysCode": ssys_cd, "mdlName": mdl_name, "tabName": tab_eng_name})) result2 = (await result_db.execute(sql2, {"sysCode": ssys_cd, - "mdlName": mdl_name, "tabName": tab_eng_name})) + "mdlName": mdl_name, "tabName": tab_eng_name})) # 获取列名 columns = result.keys() # 返回列名列表 columns2 = result2.keys() # 返回列名列表 diff --git a/vue-fastapi-backend/module_admin/service/meta_service.py b/vue-fastapi-backend/module_admin/service/meta_service.py index be59366..0730c90 100644 --- a/vue-fastapi-backend/module_admin/service/meta_service.py +++ b/vue-fastapi-backend/module_admin/service/meta_service.py @@ -402,6 +402,9 @@ class MetaService: query_object.tab_name = table['tab_eng_name'] meta_result = await MetaDao.get_meta_col_name_list(result_db, query_object) result = CamelCaseUtil.transform_result(meta_result) + tableCnName = await MetaDao.get_meta_table_cn_name(result_db, table['ssys_cd'], table['mdl_name'], + table['tab_eng_name']) + table['tab_cn_name'] = tableCnName table['column'] = result result = { "tableList": tableList, diff --git a/vue-fastapi-frontend/src/views/meta/metaInfo/businssRelation.vue b/vue-fastapi-frontend/src/views/meta/metaInfo/businssRelation.vue index d4acc97..5fff5a8 100644 --- a/vue-fastapi-frontend/src/views/meta/metaInfo/businssRelation.vue +++ b/vue-fastapi-frontend/src/views/meta/metaInfo/businssRelation.vue @@ -10,8 +10,14 @@ const props = defineProps({ type: Object, default: () => {} }, - type: String, - default:()=>"" + type: { + type:String, + default:()=>"" + }, + currentTable: { + type:Object, + default:()=>{} + } }) const g6data = ref([]) @@ -300,7 +306,7 @@ function initG6() { registerNode("dice-er-box", { draw(cfg, group) { - const width = 250; + const width = 300; const { attrs = [], startIndex = 0, @@ -308,10 +314,16 @@ function initG6() { collapsed, icon, } = cfg; + let currentTableLabel = props.currentTable.tabEngName + if (props.currentTable.tabCnName && props.currentTable.tabCnName.length>0){ + currentTableLabel += "("+props.currentTable.tabCnName+")" + }else if (props.currentTable.tabCrrctName && props.currentTable.tabCnName.tabCrrctName>0){ + currentTableLabel += "("+props.currentTable.tabCrrctName+")" + } const list = attrs; const itemCount = list.length; const boxStyle = { - stroke: "#096DD9", + stroke: currentTableLabel === cfg.label?"#67C23A":"#096DD9", radius: 4, }; const afterList = list.slice( @@ -596,7 +608,7 @@ function initG6() { width, height, defaultNode: { - size: [300, 200], + size: [350, 200], type: 'dice-er-box', color: '#5B8FF9', style: { @@ -646,7 +658,7 @@ watch( let table = props.data.tableList[i] let g6Tab = { id: table.ssys_cd+"-"+table.mdl_name+"-"+table.tab_eng_name, - label: table.tab_eng_name, + label: table.tab_eng_name + ((table.tab_cn_name && table.tab_cn_name.length>0)?"("+table.tab_cn_name+")":""), attrs:[], collapsed:true } diff --git a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue index 1194ee2..74b9a58 100644 --- a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue +++ b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue @@ -321,7 +321,7 @@