|
@ -246,6 +246,40 @@ class DataStdDao: |
|
|
db, query, query_object.page_num, query_object.page_size, is_page |
|
|
db, query, query_object.page_num, query_object.page_size, is_page |
|
|
) |
|
|
) |
|
|
return col_list |
|
|
return col_list |
|
|
|
|
|
@classmethod |
|
|
|
|
|
async def get_std_dict_map_list(cls, db: AsyncSession, query_object: DataStdDictModel, is_page: bool = False): |
|
|
|
|
|
# 构建查询条件 |
|
|
|
|
|
filters = [] |
|
|
|
|
|
# 系统级代码 |
|
|
|
|
|
c1 = aliased(DataStdDict) # |
|
|
|
|
|
c2 = aliased(MetadataFldSuppInfo) # |
|
|
|
|
|
|
|
|
|
|
|
filters.append(c1.onum == query_object.onum) |
|
|
|
|
|
|
|
|
|
|
|
# 3. 构建基础查询,使用连接和别名 |
|
|
|
|
|
query = ( |
|
|
|
|
|
select( |
|
|
|
|
|
c1.data_dict_no.label("data_dict_no"), # 字典编号 |
|
|
|
|
|
c1.data_dict_cn_name.label("data_dict_cn_name"), # 字典中文名 |
|
|
|
|
|
c1.data_dict_eng_name.label("data_dict_eng_name"), # 字典英文名称 |
|
|
|
|
|
c2.mdl_name.label("mdl_name"), # 元数据模式 |
|
|
|
|
|
c2.ssys_cd.label("ssys_cd"), # 元数据表名 |
|
|
|
|
|
c2.tab_eng_name.label("tab_eng_name"), # 元数据表名 |
|
|
|
|
|
c2.fld_eng_name.label("fld_eng_name"), # 元数据字段 |
|
|
|
|
|
c2.fld_crrct_name.label("fld_crrct_name"), # 元数据字段中文名 |
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
.select_from(c1) # 从 c1 开始查询 |
|
|
|
|
|
.join(c2, c1.onum == c2.data_dict_id, isouter=True) # 连接 c2 |
|
|
|
|
|
|
|
|
|
|
|
.where(*filters) # 使用所有过滤条件 |
|
|
|
|
|
.order_by(desc(c1.create_time)) # 按照创建时间降序排列 |
|
|
|
|
|
) |
|
|
|
|
|
# 4. 分页逻辑 |
|
|
|
|
|
col_list = await PageUtil.paginate( |
|
|
|
|
|
db, query, query_object.page_num, query_object.page_size, is_page |
|
|
|
|
|
) |
|
|
|
|
|
return col_list |
|
|
|
|
|
|
|
|
@classmethod |
|
|
@classmethod |
|
|
async def get_data_code_list_by_info(cls, db: AsyncSession, query_object: DataStdCodeModel): |
|
|
async def get_data_code_list_by_info(cls, db: AsyncSession, query_object: DataStdCodeModel): |
|
|