diff --git a/vue-fastapi-backend/module_admin/controller/data_ast_info_controller.py b/vue-fastapi-backend/module_admin/controller/data_ast_info_controller.py deleted file mode 100644 index 2445dbb..0000000 --- a/vue-fastapi-backend/module_admin/controller/data_ast_info_controller.py +++ /dev/null @@ -1,54 +0,0 @@ -# # data_ast_content_controller.py -# from fastapi import APIRouter, Depends, Request -# from pydantic_validation_decorator import ValidateFields -# from sqlalchemy.ext.asyncio import AsyncSession -# from config.get_db import get_db -# from module_admin.aspect.interface_auth import CheckUserInterfaceAuth -# from module_admin.service.login_service import LoginService -# from module_admin.service.data_ast_content_service import DataAstInfoService -# from module_admin.entity.vo.data_ast_content_vo import DataAstInfoRequest, DataAstInfoResponse, DataAstInfoPageQueryModel -# from module_admin.entity.vo.user_vo import CurrentUserModel -# from utils.response_util import ResponseUtil - -# dataAstInfoController = APIRouter(prefix='/system/data_ast_info', dependencies=[Depends(LoginService.get_current_user)]) - -# @dataAstInfoController.post('', dependencies=[Depends(CheckUserInterfaceAuth('system:data_ast_info:add'))]) -# @ValidateFields(validate_model='add_data_ast_info') -# async def add_data_ast_info( -# request: Request, -# add_data_ast_info: DataAstInfoRequest, -# query_db: AsyncSession = Depends(get_db), -# current_user: CurrentUserModel = Depends(LoginService.get_current_user), -# ): -# add_result = await DataAstInfoService.add_data_ast_info_services(query_db, add_data_ast_info) -# logger.info(add_result.message) -# return ResponseUtil.success( -# msg=add_result.message, -# data=add_result.data -# ) - -# @dataAstInfoController.post('/batch', dependencies=[Depends(CheckUserInterfaceAuth('system:data_ast_info:add'))]) -# @ValidateFields(validate_model='add_data_ast_info_batch') -# async def add_data_ast_info_batch( -# request: Request, -# add_data_ast_info_list: List[DataAstInfoRequest], -# query_db: AsyncSession = Depends(get_db), -# current_user: CurrentUserModel = Depends(LoginService.get_current_user), -# ): -# add_result = await DataAstInfoService.add_data_ast_info_batch_services(query_db, add_data_ast_info_list) -# logger.info(add_result.message) -# return ResponseUtil.success( -# msg=add_result.message, -# data=add_result.data -# ) - -# @dataAstInfoController.get('/list', dependencies=[Depends(CheckUserInterfaceAuth('system:data_ast_info:list'))]) -# async def get_data_ast_info_list( -# request: Request, -# data_ast_info_page_query: DataAstInfoPageQueryModel = Depends(DataAstInfoPageQueryModel.as_query), -# query_db: AsyncSession = Depends(get_db), -# current_user: CurrentUserModel = Depends(LoginService.get_current_user), -# ): -# data_ast_info_list_result = await DataAstInfoService.get_data_ast_info_list_services(query_db, data_ast_info_page_query, is_page=True) -# logger.info('获取成功') -# return ResponseUtil.success(model_content=data_ast_info_list_result) \ No newline at end of file diff --git a/vue-fastapi-backend/module_admin/dao/data_asset_dao.py b/vue-fastapi-backend/module_admin/dao/data_asset_dao.py index d25ea8e..6353ccd 100644 --- a/vue-fastapi-backend/module_admin/dao/data_asset_dao.py +++ b/vue-fastapi-backend/module_admin/dao/data_asset_dao.py @@ -74,6 +74,20 @@ class DataAssetDao: ).scalars().first() return data_asset + @classmethod + async def get_data_asset_appr_by_ast_no(cls, db: AsyncSession, ast_no: str): + """ + 根据资产编号获取数据资产信息 + + :param db: orm对象 + :param ast_no: 资产编号 + :return: 数据资产信息对象 + """ + data_asset = ( + await db.execute(select(DataAssetInfoAppr).where(DataAssetInfoAppr.ast_no == ast_no)) + ).scalars().first() + return data_asset + @classmethod async def insert_data_asset(cls, db: AsyncSession, data_asset: Dict[str, Any]): """ diff --git a/vue-fastapi-backend/module_admin/service/meta_service.py b/vue-fastapi-backend/module_admin/service/meta_service.py index f14c0dc..76cf75f 100644 --- a/vue-fastapi-backend/module_admin/service/meta_service.py +++ b/vue-fastapi-backend/module_admin/service/meta_service.py @@ -9,6 +9,7 @@ from module_admin.entity.vo.meta_vo import MetaPageObject, MetaColObject, Supple from module_admin.entity.do.meta_do import MetadataSuppInfo, MetadataFldSuppInfo, MetadataSuppInfoVett, \ MetadataFldSuppInfoVett, MetadataExtractInfo, MetadataFldTabExtractInfo from module_admin.dao.meta_dao import MetaDao +from module_admin.dao.data_asset_dao import DataAssetDao from module_admin.dao.datastd_dao import DataStdDao from module_admin.dao.user_dao import UserDao from datetime import datetime @@ -49,6 +50,14 @@ class MetaService: for table in meta_rel_list.rows: tab_list = await MetaDao.get_meta_tab_clas(result_db, table['ssysId'], table['mdlName'], table['tabEngName']) + hasAsset = await DataAssetDao.get_data_asset_by_ast_no(result_db, table['extractOnum']) + table['hasAsset'] = '0' # 未发布 + if hasAsset: + table['hasAsset'] = '1' # 已发布 + else: + hasAsset2 = await DataAssetDao.get_data_asset_appr_by_ast_no(result_db, table['extractOnum']) + if hasAsset2: + table['hasAsset'] = '2' # 发布中 table['batchTabClas'] = CamelCaseUtil.transform_result(tab_list) return meta_rel_list else: @@ -328,7 +337,8 @@ class MetaService: 'tab_eng_name': preNode['b_tab_eng_name'], 'fld_eng_name': preNode['b_fld_eng_name']}, "endArrow": True, - "relation_type": preNode['relation_type']} if preNode['father'] == 'A' else \ + "relation_type": preNode['relation_type']} if preNode[ + 'father'] == 'A' else \ {"source": {'ssys_id': preNode['b_ssys_id'], 'mdl_name': preNode['b_mdl_name'], 'tab_eng_name': preNode['b_tab_eng_name'], @@ -537,7 +547,8 @@ class MetaService: 获取元数据导入模板service :return: 元数据导入模板excel的二进制数据 """ - table_header_list = ['系统代码', '模式名称', '对象英文名', '补录对象名称', '补录对象描述', '对象治理标志', '负责人'] + table_header_list = ['系统代码', '模式名称', '对象英文名', '补录对象名称', '补录对象描述', '对象治理标志', + '负责人'] column_header_list = ['系统代码', '模式名称', '对象英文名', '字段英文名', '字段补录名', '补录主键', '补录字段描述', '引用字典/标准', '安全等级'] selector_header_list = ['补录主键', '安全等级'] @@ -691,7 +702,7 @@ class MetaService: continue if row['pic'] and len(row['pic']) > 0: # 校验负责人是否存在 - user = await UserDao.get_user_by_name(result_db,row['pic']) + user = await UserDao.get_user_by_name(result_db, row['pic']) if user is None: result_list['table'].append({ "row": index + 2, @@ -720,11 +731,11 @@ class MetaService: str(row[ 'tab_desc']).strip() != '' else oldTable.tab_desc if oldTable else None suppTableInfo.pic = row['pic'] if row['pic'] and \ - str(row[ - 'pic']).strip() != '' else oldTable.pic if oldTable else None + str(row[ + 'pic']).strip() != '' else oldTable.pic if oldTable else None suppTableInfo.gov_flag = row['gov_flag'] if row['gov_flag'] and \ - str(row[ - 'gov_flag']).strip() != '' else oldTable.gov_flag if oldTable else None + str(row[ + 'gov_flag']).strip() != '' else oldTable.gov_flag if oldTable else None suppTableInfo.rec_subm_prsn = current_user.user.user_name suppTableInfo.tab_clas = oldTable.tab_clas if oldTable else None suppTableInfo.apply_time = applyTime diff --git a/vue-fastapi-frontend/src/assets/icons/svg/assets.svg b/vue-fastapi-frontend/src/assets/icons/svg/assets.svg new file mode 100644 index 0000000..20d8284 --- /dev/null +++ b/vue-fastapi-frontend/src/assets/icons/svg/assets.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue index 54c3129..7bec6e5 100644 --- a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue +++ b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue @@ -124,7 +124,14 @@ @select="handleSelection" @select-all="handleSelectionAll" > - + + + +