From 8e8fc4435184d844b454f1a06693da21b6946ba5 Mon Sep 17 00:00:00 2001
From: xueyinfei <1207092115@qq.com>
Date: Sun, 21 Sep 2025 10:34:50 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=83=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E4=BF=A1=E6=81=AF=E9=A1=B5=E9=9D=A2bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../module_admin/dao/meta_dao.py | 88 ++++++-------------
.../module_admin/entity/do/meta_do.py | 4 +-
.../module_admin/entity/vo/meta_vo.py | 2 +-
.../module_admin/service/meta_service.py | 6 +-
.../src/views/dataAsset/directory/index.vue | 2 +-
.../src/views/meta/metaInfo/index.vue | 26 +++---
.../src/views/system/flow/index.vue | 26 +++---
7 files changed, 62 insertions(+), 92 deletions(-)
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 @@
-
-
- {{scope.row.fldNullRate}}
-
-
+
+
+
+
+
@@ -521,9 +521,9 @@
-
-
-
+
+
+
-
-
- {{scope.row.fldNullRate}}
- {{scope.row.fldNullRate}}
-
-
+
+
+
+
+
+
{{scope.row.dataDictName}}
@@ -518,12 +518,12 @@
-
-
- {{scope.row.fldNullRate}}
- {{scope.row.fldNullRate}}
-
-
+
+
+
+
+
+
{{scope.row.dataDictName}}
@@ -1059,7 +1059,7 @@ function transformMetaDetailData(data){
fldCrrctName:col.fldCrrctName,
fldDesc:col.fldDesc,
fldEngName:col.fldEngName,
- fldNullRate:col.fldNullRate,
+ // fldNullRate:col.fldNullRate,
mdlName:col.mdlName,
onum:col.onum,
pic:col.pic,