|
|
@ -1,8 +1,9 @@ |
|
|
|
from sqlalchemy.ext.asyncio import AsyncSession |
|
|
|
from sqlalchemy import select, text, cast, Integer, and_, or_, outerjoin, func, join, update, desc |
|
|
|
from module_admin.entity.vo.meta_vo import MetaPageObject, MetaColObject |
|
|
|
from module_admin.entity.do.datastd_do import DataStdDict |
|
|
|
from module_admin.entity.do.meta_do import MetadataExtractInfo, MetadataSuppInfo, MetadataFldTabExtractInfo, \ |
|
|
|
MetadataFldSuppInfo, MetadataClas, MetadataSuppInfoVett, MetadataFldSuppInfoVett, MetaBatchTabClas,\ |
|
|
|
MetadataFldSuppInfo, MetadataClas, MetadataSuppInfoVett, MetadataFldSuppInfoVett, MetaBatchTabClas, \ |
|
|
|
MetaBatchFldClas, MetaBloodAnalysis |
|
|
|
from utils.common_util import CamelCaseUtil |
|
|
|
import uuid |
|
|
@ -175,19 +176,24 @@ class MetaDao: |
|
|
|
MetadataFldSuppInfo.pic, |
|
|
|
MetadataFldSuppInfo.fld_clas, |
|
|
|
MetadataFldSuppInfo.fld_null_rate, |
|
|
|
MetadataFldSuppInfo.data_dict_id, |
|
|
|
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( |
|
|
|
join( |
|
|
|
MetadataFldTabExtractInfo, |
|
|
|
MetadataFldSuppInfo, |
|
|
|
and_( |
|
|
|
MetadataFldTabExtractInfo.ssys_cd == MetadataFldSuppInfo.ssys_cd, |
|
|
|
MetadataFldTabExtractInfo.mdl_name == MetadataFldSuppInfo.mdl_name, |
|
|
|
MetadataFldTabExtractInfo.tab_eng_name == MetadataFldSuppInfo.tab_eng_name, |
|
|
|
MetadataFldTabExtractInfo.fld_eng_name == MetadataFldSuppInfo.fld_eng_name |
|
|
|
), isouter=True |
|
|
|
) |
|
|
|
).select_from(MetadataFldTabExtractInfo) |
|
|
|
.join( |
|
|
|
MetadataFldSuppInfo, |
|
|
|
and_( |
|
|
|
MetadataFldTabExtractInfo.ssys_cd == MetadataFldSuppInfo.ssys_cd, |
|
|
|
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_cd == query_object.ssys_cd, |
|
|
|
MetadataFldTabExtractInfo.mdl_name == query_object.mdl_name, |
|
|
@ -288,16 +294,48 @@ class MetaDao: |
|
|
|
query_result = ( |
|
|
|
( |
|
|
|
await db.execute( |
|
|
|
select(MetadataFldSuppInfoVett).where( |
|
|
|
select(MetadataFldSuppInfoVett, |
|
|
|
DataStdDict.data_dict_cn_name.label("data_dict_name"), ) |
|
|
|
.join( |
|
|
|
DataStdDict, |
|
|
|
MetadataFldSuppInfoVett.data_dict_id == DataStdDict.onum, # 假设关联条件 |
|
|
|
isouter=True, # 可选,是否左连接 |
|
|
|
).where( |
|
|
|
MetadataFldSuppInfoVett.ssys_cd == tableInfo.ssys_cd, |
|
|
|
MetadataFldSuppInfoVett.mdl_name == tableInfo.mdl_name, |
|
|
|
MetadataFldSuppInfoVett.tab_eng_name == tableInfo.tab_eng_name, |
|
|
|
MetadataFldSuppInfoVett.apply_time == tableInfo.apply_time |
|
|
|
) |
|
|
|
) |
|
|
|
).scalars().all() |
|
|
|
).all() |
|
|
|
) |
|
|
|
return query_result |
|
|
|
result = [] |
|
|
|
for record in query_result: |
|
|
|
vett_info = record[0] # MetadataFldSuppInfoVett 对象 |
|
|
|
dict_name = record[1] # data_dict_name |
|
|
|
result.append({ |
|
|
|
"onum": vett_info.onum, |
|
|
|
"crrct_ver_num": vett_info.crrct_ver_num, |
|
|
|
"ssys_cd": vett_info.ssys_cd, |
|
|
|
"mdl_name": vett_info.mdl_name, |
|
|
|
"tab_eng_name": vett_info.tab_eng_name, |
|
|
|
"fld_eng_name": vett_info.fld_eng_name, |
|
|
|
"fld_crrct_name": vett_info.fld_crrct_name, |
|
|
|
"crrct_pk_flag": vett_info.crrct_pk_flag, |
|
|
|
"fld_desc": vett_info.fld_desc, |
|
|
|
"pic": vett_info.pic, |
|
|
|
"fld_clas": vett_info.fld_clas, |
|
|
|
"fld_null_rate": vett_info.fld_null_rate, |
|
|
|
"data_dict_id": vett_info.data_dict_id, |
|
|
|
"rec_stat": vett_info.rec_stat, |
|
|
|
"upd_time": vett_info.upd_time, |
|
|
|
"rec_subm_prsn": vett_info.rec_subm_prsn, |
|
|
|
"apply_time": vett_info.apply_time, |
|
|
|
"apply_status": vett_info.apply_status, |
|
|
|
"oldColumnData": vett_info.oldColumnData, |
|
|
|
"data_dict_name": dict_name |
|
|
|
}) |
|
|
|
return result |
|
|
|
|
|
|
|
@classmethod |
|
|
|
async def get_supp_table_by_vett(cls, sysCode: str, mdlName: str, tableName: str, db: AsyncSession): |
|
|
@ -348,6 +386,7 @@ class MetaDao: |
|
|
|
pic=column.pic, |
|
|
|
fld_clas=column.fld_clas, |
|
|
|
fld_null_rate=column.fld_null_rate, |
|
|
|
data_dict_id=column.data_dict_id, |
|
|
|
rec_stat=column.rec_stat, |
|
|
|
upd_time=column.upd_time, |
|
|
|
) |
|
|
@ -367,6 +406,7 @@ class MetaDao: |
|
|
|
suppColumn.pic = column.pic |
|
|
|
suppColumn.fld_clas = column.fld_clas |
|
|
|
suppColumn.fld_null_rate = column.fld_null_rate |
|
|
|
suppColumn.data_dict_id = column.data_dict_id |
|
|
|
suppColumn.rec_stat = column.rec_stat |
|
|
|
suppColumn.upd_time = column.upd_time |
|
|
|
db.add(suppColumn) |
|
|
@ -661,7 +701,6 @@ class MetaDao: |
|
|
|
result_as_dict = [dict(zip(columns, row)) for row in result.fetchall()] |
|
|
|
return result_as_dict |
|
|
|
|
|
|
|
|
|
|
|
@classmethod |
|
|
|
async def get_blood_by_procId(cls, result_db: AsyncSession, procId: int): |
|
|
|
query_result = ( |
|
|
|