diff --git a/vue-fastapi-backend/module_admin/dao/meta_dao.py b/vue-fastapi-backend/module_admin/dao/meta_dao.py index ff40f8c..3c12a84 100644 --- a/vue-fastapi-backend/module_admin/dao/meta_dao.py +++ b/vue-fastapi-backend/module_admin/dao/meta_dao.py @@ -562,8 +562,8 @@ class MetaDao: "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})) - - return result.first().tab_cn_name + row = result.scalar_one_or_none() + return row @classmethod async def get_meta_col_name_list(cls, db: AsyncSession, query_object: MetaColObject): diff --git a/vue-fastapi-backend/module_admin/service/meta_service.py b/vue-fastapi-backend/module_admin/service/meta_service.py index 3cbf2ec..0be0632 100644 --- a/vue-fastapi-backend/module_admin/service/meta_service.py +++ b/vue-fastapi-backend/module_admin/service/meta_service.py @@ -689,7 +689,7 @@ class MetaService: "tabEngName": row['tab_eng_name'], "errorInfo": "对应的负责人不存在,无法上传补录" }) - continue + continue tableOnum = uuid.uuid4() suppTableInfo = MetadataSuppInfoVett() suppTableInfo.onum = tableOnum @@ -820,6 +820,7 @@ class MetaService: "fldEngName": row['fld_eng_name'], "errorInfo": "安全等级:" + row['data_sec_lvl'] + "不是S1,S2,S3,S4中的值,无法上传" }) + continue suppColumnInfo = MetadataFldSuppInfoVett() suppColumnInfo.onum = uuid.uuid4() suppColumnInfo.ssys_id = ssysId diff --git a/vue-fastapi-frontend/src/views/dataint/cypz/cdplb.vue b/vue-fastapi-frontend/src/views/dataint/cypz/cdplb.vue index 947c75a..bfc0cec 100644 --- a/vue-fastapi-frontend/src/views/dataint/cypz/cdplb.vue +++ b/vue-fastapi-frontend/src/views/dataint/cypz/cdplb.vue @@ -213,7 +213,7 @@ - diff --git a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue index 598b386..7309dfc 100644 --- a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue +++ b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue @@ -454,7 +454,9 @@ style="width: 240px" @change="changeTableTag" > - + @@ -612,7 +614,9 @@ style="width: 192px" @change="changeColumnTag" > - + @@ -889,6 +893,12 @@ import {EditPen} from "@element-plus/icons-vue"; import { useRoute} from 'vue-router'; import {datasourcetree} from "@/api/meta/metatask.js"; + import {ElMessage} from "element-plus"; + import useUserStore from '@/store/modules/user' + + + const userStore = useUserStore() + const dsSysList = userStore.dsSysList const data = reactive({ queryParams:{ ssysId:'', @@ -976,6 +986,8 @@ const stddictOptions = ref([]) const secLvlOptions = ref([]) const directoryTree = ref([]) + + /*** 导入参数 */ const upload = reactive({ // 是否显示弹出层(导入) @@ -1049,14 +1061,35 @@ loadingBusiness.value = false; }) } - + const getSrcSysName = (id) => { + const match = dsSysList.find(item => item.id === id); + return match ? match.name : id; + }; function changeBloodOption(){ if (procId.value === -1){ proxy.$modal.msgWarning("此表暂无血缘,请执行存储过程跑批任务后查看"); bloodRelation.value = {} }else { getMetaDataBloodRelship(procId.value).then(res=>{ - bloodRelation.value = res.data + let tableList = res.data.tableList + let emptyTable = [] + if (tableList && tableList.length>0){ + tableList.forEach(table=>{ + let column = table.column + if (column === null || column.length === 0){ + emptyTable.push('系统:'+getSrcSysName(table.ssys_id)+',模式:'+table.mdl_name+',表:'+table.tab_eng_name+"在系统中无该表元数据信息
") + } + }) + } + if (emptyTable.length>0){ + bloodRelation.value = [] + let message = emptyTable.join("")+'请核对存储过程以及元数据信息' + ElMessage.warning({message: message,dangerouslyUseHTMLString:true}) + bloodRelation.value = [] + }else { + bloodRelation.value = res.data + } + }) } } diff --git a/vue-fastapi-frontend/src/views/sqlFlow/index.vue b/vue-fastapi-frontend/src/views/sqlFlow/index.vue index aca9fa1..d5583a5 100644 --- a/vue-fastapi-frontend/src/views/sqlFlow/index.vue +++ b/vue-fastapi-frontend/src/views/sqlFlow/index.vue @@ -149,7 +149,10 @@ const changeBloodOption = () => { bloodRelation.value = res.data }) } - +const getSrcSysName = (id) => { + const match = dsSysList.find(item => item.id === id); + return match ? match.name : id; +}; /** * 执行 SQL 并生成血缘分析图 */ @@ -183,8 +186,24 @@ const executeSql = async () => { ElMessage.info('正在执行血缘分析,请稍候...') const res = await runBloodAnalysisBySql(params) if (res?.data) { - bloodRelation.value = res.data - ElMessage.success('血缘分析执行成功') + let tableList = res.data.tableList + let emptyTable = [] + if (tableList && tableList.length>0){ + tableList.forEach(table=>{ + let column = table.column + if (column === null || column.length === 0){ + emptyTable.push('系统:'+getSrcSysName(table.ssys_id)+',模式:'+table.mdl_name+',表:'+table.tab_eng_name+"在系统中无该表元数据信息
") + } + }) + } + if (emptyTable.length>0){ + bloodRelation.value = [] + let message = emptyTable.join("")+'请核对存储过程以及元数据信息' + ElMessage.warning({message: message,dangerouslyUseHTMLString:true}) + }else{ + bloodRelation.value = res.data + ElMessage.success('血缘分析执行成功') + } } else { ElMessage.warning('未返回血缘数据') } diff --git a/vue-fastapi-frontend/src/views/system/flow/index.vue b/vue-fastapi-frontend/src/views/system/flow/index.vue index cc55cad..9ede703 100644 --- a/vue-fastapi-frontend/src/views/system/flow/index.vue +++ b/vue-fastapi-frontend/src/views/system/flow/index.vue @@ -1162,6 +1162,7 @@ function agree(row){ getWaitingFlowCount().then(res=>{ cache.local.set("waitingTotal",res.data) }) + businessDialog.value = false; stdMainVisible.value = false; stdDictVisible.value = false; stdCodeVisible.value = false;