diff --git a/vue-fastapi-backend/module_admin/dao/meta_dao.py b/vue-fastapi-backend/module_admin/dao/meta_dao.py index 7262eea..f9617ba 100644 --- a/vue-fastapi-backend/module_admin/dao/meta_dao.py +++ b/vue-fastapi-backend/module_admin/dao/meta_dao.py @@ -174,7 +174,7 @@ class MetaDao: MetadataFldSuppInfo.fld_desc, MetadataFldSuppInfo.pic, MetadataFldSuppInfo.fld_clas, - MetadataFldSuppInfo.fld_null_rate, + # MetadataFldSuppInfo.fld_null_rate, MetadataFldSuppInfo.data_dict_id, MetadataFldSuppInfo.data_sec_lvl, DataStdDict.data_dict_cn_name.label('data_dict_name'), @@ -344,7 +344,7 @@ class MetaDao: "fld_desc": vett_info.fld_desc, "pic": vett_info.pic, "fld_clas": vett_info.fld_clas, - "fld_null_rate": vett_info.fld_null_rate, + # "fld_null_rate": vett_info.fld_null_rate, "data_dict_id": vett_info.data_dict_id, "data_sec_lvl": vett_info.data_sec_lvl, "rec_stat": vett_info.rec_stat, @@ -405,7 +405,7 @@ class MetaDao: fld_desc=column.fld_desc, pic=column.pic, fld_clas=column.fld_clas, - fld_null_rate=column.fld_null_rate, + # fld_null_rate=column.fld_null_rate, data_dict_id=column.data_dict_id, data_sec_lvl=column.data_sec_lvl, rec_stat=column.rec_stat, @@ -426,7 +426,7 @@ class MetaDao: suppColumn.fld_desc = column.fld_desc suppColumn.pic = column.pic suppColumn.fld_clas = column.fld_clas - suppColumn.fld_null_rate = column.fld_null_rate + # suppColumn.fld_null_rate = column.fld_null_rate suppColumn.data_dict_id = column.data_dict_id suppColumn.data_sec_lvl = column.data_sec_lvl suppColumn.rec_stat = column.rec_stat @@ -567,7 +567,7 @@ class MetaDao: " 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_id = b.ssys_id and a.mdl_name=b.mdl_name and a.tab_eng_name=b.tab_crrct_name " + "on a.ssys_id = b.ssys_id and a.mdl_name=b.mdl_name and a.tab_eng_name=b.tab_eng_name " "where a.ssys_id = :ssys_id and a.mdl_name = :mdlName and a.tab_eng_name = :tabEngName") result = (await db.execute(sql, {"ssys_id": ssys_id, "mdlName": mdlName, "tabEngName": tabEngName})) @@ -600,12 +600,14 @@ class MetaDao: @classmethod async def get_er_relation_by_table(cls, result_db: AsyncSession, ssys_id: int, mdl_name: str, tab_eng_name: str): sql = text("with tmp as (select a1.*,row_number()over(partition by b_ssys_id,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 " + "b_fld_eng_name order by op_relation desc, jd_relation) as rn" + " from t_batch_er_relation a1)" + "select a1.*,'A' AS father from tmp a1 where a1.rn = 1" " and a1.a_ssys_id = :ssys_id 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_id,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 " + "b_fld_eng_name order by op_relation desc, jd_relation) as rn" + " from t_batch_er_relation a1)" + "select a1.*,'A' AS father from tmp a1 where a1.rn = 1" " and a1.b_ssys_id = :ssys_id and a1.b_mdl_name = :mdlName and a1.b_tab_eng_name = :tabName") result = (await result_db.execute(sql, {"ssys_id": ssys_id, "mdlName": mdl_name, "tabName": tab_eng_name})) @@ -617,32 +619,15 @@ class MetaDao: # 将结果转换为字典列表 result_as_dict = [dict(zip(columns, row)) for row in result.fetchall()] - result_as_dict2 = [dict(zip(columns, row)) for row in result2.fetchall()] + result_as_dict2 = [dict(zip(columns2, row)) for row in result2.fetchall()] result3 = result_as_dict + result_as_dict2 return result3 @classmethod async def get_op_relation_by_table(cls, result_db: AsyncSession, ssys_id: int, mdl_name: str, tab_eng_name: str): - sql = text("select a1.* ,case when a2.rela_value = '1' then 'A' when a2.rela_value = '2' then 'B' end as father" - " from (select distinct a_ssys_id ,a_mdl_name ,a_tab_eng_name ,a_fld_eng_name ,b_ssys_id,b_mdl_name," - "b_tab_eng_name ,b_fld_eng_name from ( select a_ssys_id ,a_mdl_name ,a_tab_eng_name ,a_fld_eng_name," - "b_ssys_id,b_mdl_name ,b_tab_eng_name ,b_fld_eng_name from t_batch_fld_relation " - "where rela_type in ('jd_relation','op_relation') and rela_value not in ('0') union all " - "SELECT a_ssys_id ,a_mdl_name ,a_tab_eng_name ,a_fld_eng_name ,b_ssys_id ,b_mdl_name,b_tab_eng_name," - "b_fld_eng_name FROM t_batch_fld_relation t ,JSON_TABLE(replace(t.rela_value,'''','\"'),'$[*]' " - "COLUMNS (value_num DOUBLE PATH '$.value')) AS j group by a_ssys_id ,a_mdl_name ,a_tab_eng_name ," - "a_fld_eng_name ,b_ssys_id ,b_mdl_name ,b_tab_eng_name ,b_fld_eng_name " - "having max(j.value_num) > 0.1) b1 ) a1 left join t_batch_fld_relation a2 " - "on a1.a_ssys_id = a2.a_ssys_id and a1.a_mdl_name = a2.a_mdl_name " - "and a1.a_tab_eng_name = a2.a_tab_eng_name and a1.a_fld_eng_name = a2.a_fld_eng_name " - "and a1.b_ssys_id = a2.b_ssys_id and a1.b_mdl_name = a2.b_mdl_name " - "and a1.b_tab_eng_name = a2.b_tab_eng_name and a1.b_fld_eng_name = a2.b_fld_eng_name " - "and a2.rela_type = 'set_flag' left join t_batch_fld_clas a4 on a1.a_ssys_id = a4.ssys_id " - "and a1.a_mdl_name = a4.mdl_name and a1.a_tab_eng_name = a4.tab_eng_name " - "and a1.a_fld_eng_name = a4.fld_eng_name and a4.clas_onum = '2001001002' " - "where coalesce(a4.clas_value,' ') <> '日期时间类'" - " and ((a1.a_ssys_id = :ssys_id and a1.a_mdl_name = :mdlName and a1.a_tab_eng_name = :tabName) " - " or (a1.b_ssys_id = :ssys_id and a1.b_mdl_name = :mdlName and a1.b_tab_eng_name = :tabName))") + sql = text("select * from t_batch_col_relation a1 where " + " (a1.a_ssys_id = :ssys_id and a1.a_mdl_name = :mdlName and a1.a_tab_eng_name = :tabName) " + " or (a1.b_ssys_id = :ssys_id and a1.b_mdl_name = :mdlName and a1.b_tab_eng_name = :tabName)") result = (await result_db.execute(sql, {"ssys_id": ssys_id, "mdlName": mdl_name, "tabName": tab_eng_name})) # 获取列名 @@ -656,15 +641,17 @@ class MetaDao: async def get_er_relation_by_column(cls, result_db: AsyncSession, column: {}, module: str): if module == 'pre': sql = text("with tmp as (select a1.*,row_number()over(partition by b_ssys_id,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_id = :ssys_id and a1.b_mdl_name = :mdlName " + "b_fld_eng_name order by op_relation desc, jd_relation) as rn" + " from t_batch_er_relation a1)" + "select a1.*,'A' AS father from tmp a1 where a1.rn = 1" + " and a1.b_ssys_id = :ssys_id and a1.b_mdl_name = :mdlName " "and a1.b_tab_eng_name = :tabName and a1.b_fld_eng_name = :fldName ") else: sql = text("with tmp as (select a1.*,row_number()over(partition by b_ssys_id,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.a_ssys_id = :ssys_id and a1.a_mdl_name = :mdlName " + "b_fld_eng_name order by op_relation desc, jd_relation) as rn" + " from t_batch_er_relation a1)" + "select a1.*,'A' AS father from tmp a1 where a1.rn = 1" + " and a1.a_ssys_id = :ssys_id and a1.a_mdl_name = :mdlName " "and a1.a_tab_eng_name = :tabName and a1.a_fld_eng_name = :fldName ") result = (await result_db.execute(sql, {"ssys_id": column['ssys_id'], "mdlName": column['mdl_name'], "tabName": column['tab_eng_name'], @@ -678,33 +665,16 @@ class MetaDao: @classmethod async def get_op_relation_by_column(cls, result_db: AsyncSession, column: {}, module: str): - sql = text("select a1.* ,case when a2.rela_value = '1' then 'A' when a2.rela_value = '2' then 'B' end as father" - " from (select distinct a_ssys_id ,a_mdl_name ,a_tab_eng_name ,a_fld_eng_name ,b_ssys_id,b_mdl_name," - "b_tab_eng_name ,b_fld_eng_name from ( select a_ssys_id ,a_mdl_name ,a_tab_eng_name ,a_fld_eng_name," - "b_ssys_id,b_mdl_name ,b_tab_eng_name ,b_fld_eng_name from t_batch_fld_relation " - "where rela_type in ('jd_relation','op_relation') and rela_value not in ('0') union all " - "SELECT a_ssys_id ,a_mdl_name ,a_tab_eng_name ,a_fld_eng_name ,b_ssys_id ,b_mdl_name,b_tab_eng_name," - "b_fld_eng_name FROM t_batch_fld_relation t ,JSON_TABLE(replace(t.rela_value,'''','\"'),'$[*]' " - "COLUMNS (value_num DOUBLE PATH '$.value')) AS j group by a_ssys_id ,a_mdl_name ,a_tab_eng_name ," - "a_fld_eng_name ,b_ssys_id ,b_mdl_name ,b_tab_eng_name ,b_fld_eng_name " - "having max(j.value_num) > 0.1) b1 ) a1 left join t_batch_fld_relation a2 " - "on a1.a_ssys_id = a2.a_ssys_id and a1.a_mdl_name = a2.a_mdl_name " - "and a1.a_tab_eng_name = a2.a_tab_eng_name and a1.a_fld_eng_name = a2.a_fld_eng_name " - "and a1.b_ssys_id = a2.b_ssys_id and a1.b_mdl_name = a2.b_mdl_name " - "and a1.b_tab_eng_name = a2.b_tab_eng_name and a1.b_fld_eng_name = a2.b_fld_eng_name " - "and a2.rela_type = 'set_flag' left join t_batch_fld_clas a4 on a1.a_ssys_id = a4.ssys_id " - "and a1.a_mdl_name = a4.mdl_name and a1.a_tab_eng_name = a4.tab_eng_name " - "and a1.a_fld_eng_name = a4.fld_eng_name and a4.clas_onum = '2001001002' " - "where coalesce(a4.clas_value,' ') <> '日期时间类'" - "and ((a1.a_ssys_id = :ssys_id and a1.a_mdl_name = :mdlName and a1.a_tab_eng_name = :tabName " - " and a1.a_fld_eng_name = :fldName and a2.rela_value = :rela_value) " + sql = text("select * from t_batch_col_relation a1 where " + "(a1.a_ssys_id = :ssys_id and a1.a_mdl_name = :mdlName and a1.a_tab_eng_name = :tabName " + " and a1.a_fld_eng_name = :fldName and a1.father = :rela_value) " " or (a1.b_ssys_id = :ssys_id and a1.b_mdl_name = :mdlName and a1.b_tab_eng_name = :tabName " - " and a1.b_fld_eng_name = :fldName and a2.rela_value = :rela_value2))") + " and a1.b_fld_eng_name = :fldName and a1.father = :rela_value2)") result = (await result_db.execute(sql, {"ssys_id": column['ssys_id'], "mdlName": column['mdl_name'], "tabName": column['tab_eng_name'], "fldName": column['fld_eng_name'], - "rela_value": '2' if module == 'pre' else '1', - "rela_value2": '1' if module == 'pre' else '2' + "rela_value": 'B' if module == 'pre' else 'A', + "rela_value2": 'A' if module == 'pre' else 'B' })) # 获取列名 columns = result.keys() # 返回列名列表 diff --git a/vue-fastapi-backend/module_admin/entity/do/meta_do.py b/vue-fastapi-backend/module_admin/entity/do/meta_do.py index e7e8de3..d53156e 100644 --- a/vue-fastapi-backend/module_admin/entity/do/meta_do.py +++ b/vue-fastapi-backend/module_admin/entity/do/meta_do.py @@ -130,7 +130,7 @@ class MetadataFldSuppInfo(Base): fld_desc = Column(String(255, collation='utf8_general_ci'), comment='字段描述') pic = Column(String(255, collation='utf8_general_ci'), comment='图片字段') fld_clas = Column(Text, comment='字段分类') - fld_null_rate = Column(String(50, collation='utf8_general_ci'), comment='字段空值率') + # fld_null_rate = Column(String(50, collation='utf8_general_ci'), comment='字段空值率') data_dict_id = Column(String(50, collation='utf8_general_ci'), comment='数据字典ID') data_sec_lvl = Column(String(50, collation='utf8_general_ci'), comment='字段安全等级') rec_stat = Column(String(50, collation='utf8_general_ci'), comment='记录状态') @@ -154,7 +154,7 @@ class MetadataFldSuppInfoVett(Base): fld_desc = Column(String(255, collation='utf8_general_ci'), comment='字段描述') pic = Column(String(255, collation='utf8_general_ci'), comment='图片字段') fld_clas = Column(Text, comment='字段分类') - fld_null_rate = Column(String(50, collation='utf8_general_ci'), comment='字段空值率') + # fld_null_rate = Column(String(50, collation='utf8_general_ci'), comment='字段空值率') data_dict_id = Column(String(50, collation='utf8_general_ci'), comment='数据字典ID') data_sec_lvl = Column(String(50, collation='utf8_general_ci'), comment='字段安全等级') rec_stat = Column(String(50, collation='utf8_general_ci'), comment='记录状态') diff --git a/vue-fastapi-backend/module_admin/entity/vo/meta_vo.py b/vue-fastapi-backend/module_admin/entity/vo/meta_vo.py index b428331..fa34bb9 100644 --- a/vue-fastapi-backend/module_admin/entity/vo/meta_vo.py +++ b/vue-fastapi-backend/module_admin/entity/vo/meta_vo.py @@ -38,7 +38,7 @@ class ColumnSuppleModel(BaseModel): fld_desc: Optional[str] = None pic: Optional[str] = None fld_clas: Optional[str] = None - fld_null_rate: Optional[str] = None + # fld_null_rate: Optional[str] = None rec_stat: Optional[str] = None data_dict_id: Optional[str] = None data_sec_lvl: Optional[str] = None diff --git a/vue-fastapi-backend/module_admin/service/meta_service.py b/vue-fastapi-backend/module_admin/service/meta_service.py index f166fc5..c9e6f29 100644 --- a/vue-fastapi-backend/module_admin/service/meta_service.py +++ b/vue-fastapi-backend/module_admin/service/meta_service.py @@ -131,7 +131,7 @@ class MetaService: suppColumnInfo.fld_desc = column.fld_desc suppColumnInfo.pic = column.pic suppColumnInfo.fld_clas = column.fld_clas - suppColumnInfo.fld_null_rate = column.fld_null_rate + # suppColumnInfo.fld_null_rate = column.fld_null_rate suppColumnInfo.data_dict_id = column.data_dict_id suppColumnInfo.data_sec_lvl = column.data_sec_lvl suppColumnInfo.rec_stat = column.rec_stat @@ -189,7 +189,7 @@ class MetaService: fldDesc=column.fld_desc if column and column.fld_desc else None, pic=column.pic if column and column.pic else None, fldClas=column.fld_clas if column and column.fld_clas else None, - fldNullRate=column.fld_null_rate if column and column.fld_null_rate else None, + # fldNullRate=column.fld_null_rate if column and column.fld_null_rate else None, dataDictId=column.data_dict_id if column and column.data_dict_id else None, dataSecLvl=column.data_sec_lvl if column and column.data_sec_lvl else None, dataDictName=dictName, @@ -769,7 +769,7 @@ class MetaService: if oldColumn else None suppColumnInfo.pic = oldColumn.pic if oldColumn else None suppColumnInfo.fld_clas = oldColumn.fld_clas if oldColumn else None - suppColumnInfo.fld_null_rate = oldColumn.fld_null_rate if oldColumn else None + # suppColumnInfo.fld_null_rate = oldColumn.fld_null_rate if oldColumn else None suppColumnInfo.rec_stat = oldColumn.rec_stat if oldColumn else None suppColumnInfo.business_id = businessId suppColumnInfo.apply_time = applyTime diff --git a/vue-fastapi-frontend/src/views/dataAsset/directory/index.vue b/vue-fastapi-frontend/src/views/dataAsset/directory/index.vue index 08d04d3..0a02a7f 100644 --- a/vue-fastapi-frontend/src/views/dataAsset/directory/index.vue +++ b/vue-fastapi-frontend/src/views/dataAsset/directory/index.vue @@ -311,7 +311,7 @@ - + diff --git a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue index f1e1c9e..4e62606 100644 --- a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue +++ b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue @@ -325,11 +325,11 @@ - - - + + + + + @@ -521,9 +521,9 @@ - - - + + + - - - + + + + + + - - - + + + + + +