diff --git a/vue-fastapi-backend/module_admin/dao/meta_dao.py b/vue-fastapi-backend/module_admin/dao/meta_dao.py index 60c3f4c..ff40f8c 100644 --- a/vue-fastapi-backend/module_admin/dao/meta_dao.py +++ b/vue-fastapi-backend/module_admin/dao/meta_dao.py @@ -149,61 +149,37 @@ class MetaDao: @classmethod async def get_meta_col_list(cls, db: AsyncSession, query_object: MetaColObject): - query_result = ( - ( - await db.execute( - select( - MetadataFldTabExtractInfo.onum.label('extract_onum'), - MetadataFldTabExtractInfo.extract_ver_num, - MetadataFldTabExtractInfo.ssys_id, - MetadataFldTabExtractInfo.data_whs_name, - MetadataFldTabExtractInfo.mdl_name, - MetadataFldTabExtractInfo.tab_no, - MetadataFldTabExtractInfo.tab_eng_name, - MetadataFldTabExtractInfo.fld_no, - MetadataFldTabExtractInfo.fld_eng_name, - MetadataFldTabExtractInfo.fld_cn_name, - MetadataFldTabExtractInfo.fld_type, - MetadataFldTabExtractInfo.pk_flag, - MetadataFldTabExtractInfo.require_flag, - MetadataFldTabExtractInfo.idx_flag, - MetadataFldTabExtractInfo.upd_time.label('extract_upd_time'), - MetadataFldSuppInfo.onum.label('supp_onum'), - MetadataFldSuppInfo.crrct_ver_num, - MetadataFldSuppInfo.fld_crrct_name, - MetadataFldSuppInfo.crrct_pk_flag, - MetadataFldSuppInfo.fld_desc, - MetadataFldSuppInfo.pic, - MetadataFldSuppInfo.fld_clas, - # MetadataFldSuppInfo.fld_null_rate, - MetadataFldSuppInfo.data_dict_id, - MetadataFldSuppInfo.data_sec_lvl, - DataStdDict.data_dict_cn_name.label('data_dict_name'), - MetadataFldSuppInfo.rec_stat.label('supp_rec_stat'), - MetadataFldSuppInfo.upd_time.label('supp_upd_time') - ).select_from(MetadataFldTabExtractInfo) - .join( - MetadataFldSuppInfo, - and_( - MetadataFldTabExtractInfo.ssys_id == MetadataFldSuppInfo.ssys_id, - MetadataFldTabExtractInfo.mdl_name == MetadataFldSuppInfo.mdl_name, - MetadataFldTabExtractInfo.tab_eng_name == MetadataFldSuppInfo.tab_eng_name, - MetadataFldTabExtractInfo.fld_eng_name == MetadataFldSuppInfo.fld_eng_name - ), isouter=True - ).join( - DataStdDict, - and_( - DataStdDict.onum == MetadataFldSuppInfo.data_dict_id - ), isouter=True - ).where( - MetadataFldTabExtractInfo.ssys_id == query_object.ssys_id, - MetadataFldTabExtractInfo.mdl_name == query_object.mdl_name, - MetadataFldTabExtractInfo.tab_eng_name == query_object.tab_name - ).distinct().order_by(MetadataFldTabExtractInfo.fld_no) - ) - ).all() - ) - return [row._asdict() for row in query_result] + sql_query = text("select a.onum as 'extract_onum',a.extract_ver_num,a.ssys_id,a.data_whs_name,a.mdl_name" + ",a.tab_no,a.tab_eng_name," + "a.fld_no,a.fld_eng_name,a.fld_cn_name,a.fld_type,a.pk_flag,a.require_flag,a.idx_flag," + "a.upd_time as 'extract_upd_time',b.onum as 'supp_onum',b.crrct_ver_num,b.fld_crrct_name" + ",b.crrct_pk_flag,b.fld_desc,b.pic," + "b.fld_clas,b.data_dict_id," + "IF(b.data_sec_lvl is null and b.data_dict_id is not null, d.data_sec_lvl, b.data_sec_lvl) " + "as 'data_sec_lvl',b.rec_stat as 'supp_rec_stat',b.upd_time as 'supp_upd_time'," + "c.data_dict_cn_name as 'data_dict_name',g.batchColClas as batchColClas " + "from t_metadata_fld_tab_extract_info a " + "left join t_metadata_fld_supp_info b on a.ssys_id=b.ssys_id and a.mdl_name=b.mdl_name" + " and a.tab_eng_name=b.tab_eng_name and a.fld_eng_name=b.fld_eng_name " + "left join t_data_dict c on b.data_dict_id = c.onum " + "left join t_data_std d on c.data_std_no = d.data_std_no " + "left join (select JSON_ARRAYAGG(" + "JSON_OBJECT('onum',e.onum,'ssysId',e.ssys_id," + "'dataWhsName',e.data_whs_name,'tabNo',e.tab_no,'tabEngName',e.tab_eng_name," + "'fldEngName',e.fld_eng_name,'clasOnum',e.clas_onum,'clasValue',e.clas_value," + "'clasTmpl', f.clas_tmpl,'clasEffFlag', f.clas_eff_flag,'recSumbPrsn', f.rec_subm_prsn," + "'beltBatchContent',f.belt_batch_content,'clasName',f.clas_name)) as batchColClas," + "e.ssys_id, e.mdl_name,e.tab_eng_name,e.fld_eng_name from t_batch_fld_clas e " + "left join t_metadata_clas f on e.clas_onum = f.clas_onum " + "where e.ssys_id= :ssysId and e.mdl_name=:mdlName and e.tab_eng_name=:tableName " + "group by e.fld_eng_name) g on g.ssys_id=a.ssys_id and g.mdl_name = a.mdl_name " + "and g.tab_eng_name = a.tab_eng_name and g.fld_eng_name = a.fld_eng_name " + "where a.ssys_id = :ssysId and a.mdl_name=:mdlName and a.tab_eng_name=:tableName" + " order by a.fld_no") + result = (await db.execute(sql_query, {"ssysId": query_object.ssys_id, "mdlName": query_object.mdl_name, + "tableName": query_object.tab_name})) + columns = result.keys() + return [dict(zip(columns, row)) for row in result.fetchall()] @classmethod async def get_meta_clas_list(cls, db: AsyncSession): diff --git a/vue-fastapi-backend/module_admin/service/meta_service.py b/vue-fastapi-backend/module_admin/service/meta_service.py index e30d018..3cbf2ec 100644 --- a/vue-fastapi-backend/module_admin/service/meta_service.py +++ b/vue-fastapi-backend/module_admin/service/meta_service.py @@ -64,14 +64,6 @@ class MetaService: async def get_meta_col_list_services(cls, result_db: AsyncSession, query_object: MetaColObject): meta_result = await MetaDao.get_meta_col_list(result_db, query_object) result = CamelCaseUtil.transform_result(meta_result) - for column in result: - fld_list = await MetaDao.get_meta_fld_clas(result_db, column['ssysId'], column['mdlName'], - column['tabEngName'], column['fldEngName']) - column['batchFldClas'] = CamelCaseUtil.transform_result(fld_list) - if column['dataSecLvl'] is None and column['dataDictId'] is not None: - # 获取数据标准的安全等级 - data_sec_lvl = await DataStdDao.get_data_sec_lvl_by_dict_id(result_db, column['dataDictId']) - column['dataSecLvl'] = data_sec_lvl return result @classmethod diff --git a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue index a4d7578..a73cc7e 100644 --- a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue +++ b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue @@ -334,7 +334,7 @@