|
@ -359,8 +359,8 @@ class DataStdDao: |
|
|
filters.append(DataStdDict.data_dict_vest == query_object.data_dict_vest) |
|
|
filters.append(DataStdDict.data_dict_vest == query_object.data_dict_vest) |
|
|
if query_object.src_sys: |
|
|
if query_object.src_sys: |
|
|
filters.append(DataStdDict.src_sys == query_object.src_sys) |
|
|
filters.append(DataStdDict.src_sys == query_object.src_sys) |
|
|
if query_object.data_dict_type: |
|
|
if query_object.data_dict_data_type: |
|
|
filters.append(DataStdDict.data_dict_type == query_object.data_dict_type) |
|
|
filters.append(DataStdDict.data_dict_data_type == query_object.data_dict_data_type) |
|
|
if query_object.data_dict_stat: |
|
|
if query_object.data_dict_stat: |
|
|
filters.append(DataStdDict.data_dict_stat == query_object.data_dict_stat) |
|
|
filters.append(DataStdDict.data_dict_stat == query_object.data_dict_stat) |
|
|
c1 = aliased(SysDept) # 技术部门 |
|
|
c1 = aliased(SysDept) # 技术部门 |
|
@ -376,22 +376,14 @@ class DataStdDao: |
|
|
DataStdDict.data_dict_eng_name, |
|
|
DataStdDict.data_dict_eng_name, |
|
|
DataStdDict.data_dict_cn_name, |
|
|
DataStdDict.data_dict_cn_name, |
|
|
DataStdDict.data_dict_vest, |
|
|
DataStdDict.data_dict_vest, |
|
|
DataStdDict.data_dict_type, |
|
|
DataStdDict.data_dict_data_type, |
|
|
DataStdDict.src_sys, |
|
|
DataStdDict.src_sys, |
|
|
DataStdDict.src_sys, |
|
|
DataStdDict.src_sys, |
|
|
DataStdDict.data_dict_busi_mean, |
|
|
DataStdDict.data_dict_busi_mean, |
|
|
DataStdDict.data_dict_data_type, |
|
|
DataStdDict.data_dict_data_type, |
|
|
DataStdDict.data_std_no, |
|
|
DataStdDict.data_std_no, |
|
|
DataStdDict.data_std_cn_name, |
|
|
DataStdDict.data_dict_stat |
|
|
DataStdDict.data_dict_stat, |
|
|
).select_from(DataStdDict) |
|
|
DataStdDict.data_std_busi_ownership_dept, |
|
|
|
|
|
DataStdDict.data_std_it_ownership_dept, |
|
|
|
|
|
DataStdDict.buss_user, |
|
|
|
|
|
DataStdDict.tech_user, |
|
|
|
|
|
c1.dept_name.label("tech_dept_name"), |
|
|
|
|
|
c2.dept_name.label("buss_dept_name")).select_from(DataStdDict) |
|
|
|
|
|
.join(c1,c1.dept_id ==DataStdDict.data_std_it_ownership_dept, isouter=True) |
|
|
|
|
|
.join(c2,c2.dept_id ==DataStdDict.data_std_busi_ownership_dept, isouter=True) |
|
|
|
|
|
.where(*filters) |
|
|
.where(*filters) |
|
|
.order_by(desc(DataStdDict.create_time)) # 按创建时间降序排序 |
|
|
.order_by(desc(DataStdDict.create_time)) # 按创建时间降序排序 |
|
|
) |
|
|
) |
|
@ -447,7 +439,7 @@ class DataStdDao: |
|
|
DataStdDict.data_dict_stat == query_object.data_dict_stat if query_object.data_dict_stat else True, |
|
|
DataStdDict.data_dict_stat == query_object.data_dict_stat if query_object.data_dict_stat else True, |
|
|
DataStdDict.data_std_no == query_object.data_std_no if query_object.data_std_no else True, |
|
|
DataStdDict.data_std_no == query_object.data_std_no if query_object.data_std_no else True, |
|
|
DataStdDict.src_sys == query_object.src_sys if query_object.src_sys else True, |
|
|
DataStdDict.src_sys == query_object.src_sys if query_object.src_sys else True, |
|
|
DataStdDict.data_dict_type == query_object.data_dict_type if query_object.data_dict_type else True, |
|
|
DataStdDict.data_dict_data_type == query_object.data_dict_data_type if query_object.data_dict_data_type else True, |
|
|
) |
|
|
) |
|
|
) |
|
|
) |
|
|
).scalars().first() |
|
|
).scalars().first() |
|
@ -455,16 +447,16 @@ class DataStdDao: |
|
|
# 数据标准目录 |
|
|
# 数据标准目录 |
|
|
|
|
|
|
|
|
@classmethod |
|
|
@classmethod |
|
|
async def get_catalog_by_id(cls, db: AsyncSession, belt_data_std_content: int): |
|
|
async def get_catalog_by_id(cls, db: AsyncSession, content_onum: int): |
|
|
""" |
|
|
""" |
|
|
根据目录ID获取目录详细信息 |
|
|
根据目录ID获取目录详细信息 |
|
|
|
|
|
|
|
|
:param db: orm对象 |
|
|
:param db: orm对象 |
|
|
:param belt_data_std_content: 目录ID |
|
|
:param content_onum: 目录ID |
|
|
:return: 目录信息对象 |
|
|
:return: 目录信息对象 |
|
|
""" |
|
|
""" |
|
|
catalog_info = ( |
|
|
catalog_info = ( |
|
|
(await db.execute(select(DataAstContent).where(DataAstContent.belt_data_std_content == belt_data_std_content , DataAstContent.content_stat == 1))) |
|
|
(await db.execute(select(DataAstContent).where(DataAstContent.content_onum == content_onum , DataAstContent.content_stat == 1))) |
|
|
.scalars() |
|
|
.scalars() |
|
|
.first() |
|
|
.first() |
|
|
) |
|
|
) |
|
@ -505,7 +497,7 @@ class DataStdDao: |
|
|
# 创建别名对象 |
|
|
# 创建别名对象 |
|
|
t2 = aliased(DataAstContent, name='t2') # 正确使用aliased创建别名 |
|
|
t2 = aliased(DataAstContent, name='t2') # 正确使用aliased创建别名 |
|
|
subquery = ( |
|
|
subquery = ( |
|
|
select(DataAstContent.belt_data_std_content) |
|
|
select(DataAstContent.content_onum) |
|
|
.where( |
|
|
.where( |
|
|
DataAstContent.content_stat == '1', |
|
|
DataAstContent.content_stat == '1', |
|
|
DataAstContent.leaf_node_flag == 0, |
|
|
DataAstContent.leaf_node_flag == 0, |
|
@ -513,7 +505,7 @@ class DataStdDao: |
|
|
select(1) |
|
|
select(1) |
|
|
.select_from(t2) # 使用别名后的表 |
|
|
.select_from(t2) # 使用别名后的表 |
|
|
.where( |
|
|
.where( |
|
|
t2.supr_content_onum == DataAstContent.belt_data_std_content, |
|
|
t2.supr_content_onum == DataAstContent.content_onum, |
|
|
t2.content_stat == '1' |
|
|
t2.content_stat == '1' |
|
|
) |
|
|
) |
|
|
.exists() # 添加exists()方法 |
|
|
.exists() # 添加exists()方法 |
|
@ -523,7 +515,7 @@ class DataStdDao: |
|
|
|
|
|
|
|
|
stmt = ( |
|
|
stmt = ( |
|
|
update(DataAstContent) |
|
|
update(DataAstContent) |
|
|
.where(DataAstContent.belt_data_std_content.in_(subquery)) |
|
|
.where(DataAstContent.content_onum.in_(subquery)) |
|
|
.values(leaf_node_flag=1, upd_time=datetime.now()) |
|
|
.values(leaf_node_flag=1, upd_time=datetime.now()) |
|
|
) |
|
|
) |
|
|
await db.execute(stmt) |
|
|
await db.execute(stmt) |
|
@ -554,7 +546,7 @@ class DataStdDao: |
|
|
|
|
|
|
|
|
# 创建 ORM 模型实例 |
|
|
# 创建 ORM 模型实例 |
|
|
processed_child = dict(child_dict) |
|
|
processed_child = dict(child_dict) |
|
|
processed_child['belt_data_std_content'] = db_catalog.belt_data_std_content |
|
|
processed_child['content_onum'] = db_catalog.content_onum |
|
|
db_child = DataAstContentRela(**processed_child) |
|
|
db_child = DataAstContentRela(**processed_child) |
|
|
|
|
|
|
|
|
db.add(db_child) |
|
|
db.add(db_child) |
|
@ -570,10 +562,10 @@ class DataStdDao: |
|
|
:param catalog: 需要更新的目录字典 |
|
|
:param catalog: 需要更新的目录字典 |
|
|
:return: |
|
|
:return: |
|
|
""" |
|
|
""" |
|
|
belt_data_std_content = catalog['belt_data_std_content'] |
|
|
content_onum = catalog['content_onum'] |
|
|
stmt = ( |
|
|
stmt = ( |
|
|
update(DataAstContent) |
|
|
update(DataAstContent) |
|
|
.where(DataAstContent.belt_data_std_content == belt_data_std_content) |
|
|
.where(DataAstContent.content_onum == content_onum) |
|
|
.values( |
|
|
.values( |
|
|
leaf_node_flag=catalog['leaf_node_flag'] |
|
|
leaf_node_flag=catalog['leaf_node_flag'] |
|
|
) |
|
|
) |
|
@ -589,11 +581,11 @@ class DataStdDao: |
|
|
:param catalog: 需要更新的目录字典 |
|
|
:param catalog: 需要更新的目录字典 |
|
|
:return: |
|
|
:return: |
|
|
""" |
|
|
""" |
|
|
belt_data_std_content = catalog['belt_data_std_content'] |
|
|
content_onum = catalog['content_onum'] |
|
|
|
|
|
|
|
|
stmt = ( |
|
|
stmt = ( |
|
|
update(DataAstContent) |
|
|
update(DataAstContent) |
|
|
.where(DataAstContent.belt_data_std_content == belt_data_std_content) |
|
|
.where(DataAstContent.content_onum == content_onum) |
|
|
.values( |
|
|
.values( |
|
|
content_name=catalog['content_name'], |
|
|
content_name=catalog['content_name'], |
|
|
content_stat=catalog['content_stat'], |
|
|
content_stat=catalog['content_stat'], |
|
@ -615,7 +607,7 @@ class DataStdDao: |
|
|
update(DataAstContentRela) |
|
|
update(DataAstContentRela) |
|
|
.where(DataAstContentRela.rela_onum == rela_onum) |
|
|
.where(DataAstContentRela.rela_onum == rela_onum) |
|
|
.values( |
|
|
.values( |
|
|
belt_data_std_content=child.get('belt_data_std_content'), |
|
|
content_onum=child.get('content_onum'), |
|
|
ast_onum=child.get('ast_onum'), |
|
|
ast_onum=child.get('ast_onum'), |
|
|
rela_type=child.get('rela_type'), |
|
|
rela_type=child.get('rela_type'), |
|
|
rela_eff_begn_date=child.get('rela_eff_begn_date'), |
|
|
rela_eff_begn_date=child.get('rela_eff_begn_date'), |
|
@ -626,7 +618,7 @@ class DataStdDao: |
|
|
await db.execute(st) |
|
|
await db.execute(st) |
|
|
await cls.update_leaf_node_flag(db) |
|
|
await cls.update_leaf_node_flag(db) |
|
|
else: |
|
|
else: |
|
|
child['belt_data_std_content'] = belt_data_std_content |
|
|
child['content_onum'] = content_onum |
|
|
db_child = DataAstContentRela(**child) |
|
|
db_child = DataAstContentRela(**child) |
|
|
db.add(db_child) |
|
|
db.add(db_child) |
|
|
await db.flush() |
|
|
await db.flush() |
|
@ -645,7 +637,7 @@ class DataStdDao: |
|
|
content_onums = catalog.content_onums.split(',') |
|
|
content_onums = catalog.content_onums.split(',') |
|
|
await db.execute( |
|
|
await db.execute( |
|
|
update(DataAstContentRela) |
|
|
update(DataAstContentRela) |
|
|
.where(DataAstContentRela.belt_data_std_content.in_(content_onums)) |
|
|
.where(DataAstContentRela.content_onum.in_(content_onums)) |
|
|
.values( |
|
|
.values( |
|
|
rela_status=0, |
|
|
rela_status=0, |
|
|
rela_eff_end_date=datetime.now() |
|
|
rela_eff_end_date=datetime.now() |
|
@ -653,7 +645,7 @@ class DataStdDao: |
|
|
) |
|
|
) |
|
|
await db.execute( |
|
|
await db.execute( |
|
|
update(DataAstContent) |
|
|
update(DataAstContent) |
|
|
.where(DataAstContent.belt_data_std_content.in_(content_onums)) |
|
|
.where(DataAstContent.content_onum.in_(content_onums)) |
|
|
.values( |
|
|
.values( |
|
|
content_stat=0, |
|
|
content_stat=0, |
|
|
upd_time=datetime.now() |
|
|
upd_time=datetime.now() |
|
@ -672,11 +664,11 @@ class DataStdDao: |
|
|
:param catalog: 需要更新的目录字典 |
|
|
:param catalog: 需要更新的目录字典 |
|
|
:return: |
|
|
:return: |
|
|
""" |
|
|
""" |
|
|
# belt_data_std_content = moved_catalog_data['belt_data_std_content'] |
|
|
# content_onum = moved_catalog_data['content_onum'] |
|
|
|
|
|
|
|
|
stmt = ( |
|
|
stmt = ( |
|
|
update(DataAstContent) |
|
|
update(DataAstContent) |
|
|
.where(DataAstContent.belt_data_std_content == moved_catalog_data['belt_data_std_content'] , DataAstContent.supr_content_onum == moved_catalog_data['supr_content_onum']) |
|
|
.where(DataAstContent.content_onum == moved_catalog_data['content_onum'] , DataAstContent.supr_content_onum == moved_catalog_data['supr_content_onum']) |
|
|
.values( |
|
|
.values( |
|
|
supr_content_onum=moved_catalog_data['supr_content_onum_after'], |
|
|
supr_content_onum=moved_catalog_data['supr_content_onum_after'], |
|
|
upd_time=datetime.now() |
|
|
upd_time=datetime.now() |
|
@ -697,9 +689,9 @@ class DataStdDao: |
|
|
|
|
|
|
|
|
# stmt = ( |
|
|
# stmt = ( |
|
|
# update(DataAstContent) |
|
|
# update(DataAstContent) |
|
|
# .where(DataAstContent.belt_data_std_content == merge_catalog_data['belt_data_std_content'] , DataAstContent.supr_content_onum == merge_catalog_data['supr_content_onum']) |
|
|
# .where(DataAstContent.content_onum == merge_catalog_data['content_onum'] , DataAstContent.supr_content_onum == merge_catalog_data['supr_content_onum']) |
|
|
# .values( |
|
|
# .values( |
|
|
# belt_data_std_content=merge_catalog_data['content_onum_after'], |
|
|
# content_onum=merge_catalog_data['content_onum_after'], |
|
|
# supr_content_onum=merge_catalog_data['supr_content_onum_after'], |
|
|
# supr_content_onum=merge_catalog_data['supr_content_onum_after'], |
|
|
# upd_time=datetime.now() |
|
|
# upd_time=datetime.now() |
|
|
# ) ) |
|
|
# ) ) |
|
@ -707,9 +699,9 @@ class DataStdDao: |
|
|
# await db.execute(stmt) |
|
|
# await db.execute(stmt) |
|
|
stmt1 = ( |
|
|
stmt1 = ( |
|
|
update(DataAstContentRela) |
|
|
update(DataAstContentRela) |
|
|
.where( DataAstContentRela.belt_data_std_content == merge_catalog_data['belt_data_std_content'] and DataAstContentRela.rela_status == 1 ) |
|
|
.where( DataAstContentRela.content_onum == merge_catalog_data['content_onum'] and DataAstContentRela.rela_status == 1 ) |
|
|
.values( |
|
|
.values( |
|
|
belt_data_std_content=merge_catalog_data['content_onum_after'], |
|
|
content_onum=merge_catalog_data['content_onum_after'], |
|
|
rela_eff_begn_date=datetime.now() |
|
|
rela_eff_begn_date=datetime.now() |
|
|
) |
|
|
) |
|
|
) |
|
|
) |
|
@ -717,7 +709,7 @@ class DataStdDao: |
|
|
|
|
|
|
|
|
stmt2 = ( |
|
|
stmt2 = ( |
|
|
update(DataAstContent) |
|
|
update(DataAstContent) |
|
|
.where(DataAstContent.belt_data_std_content == merge_catalog_data['belt_data_std_content'] , DataAstContent.supr_content_onum == merge_catalog_data['supr_content_onum']) |
|
|
.where(DataAstContent.content_onum == merge_catalog_data['content_onum'] , DataAstContent.supr_content_onum == merge_catalog_data['supr_content_onum']) |
|
|
.values( content_stat = '0' ) |
|
|
.values( content_stat = '0' ) |
|
|
) |
|
|
) |
|
|
await db.execute(stmt2) |
|
|
await db.execute(stmt2) |
|
@ -735,7 +727,7 @@ class DataStdDao: |
|
|
|
|
|
|
|
|
stmt = ( |
|
|
stmt = ( |
|
|
update(DataAstContentRela) |
|
|
update(DataAstContentRela) |
|
|
.where(DataAstContentRela.rela_onum == removerel_catalog_data['rela_onum'] , DataAstContentRela.belt_data_std_content == removerel_catalog_data['belt_data_std_content']) |
|
|
.where(DataAstContentRela.rela_onum == removerel_catalog_data['rela_onum'] , DataAstContentRela.content_onum == removerel_catalog_data['content_onum']) |
|
|
.values( |
|
|
.values( |
|
|
rela_status=removerel_catalog_data['rela_status'] |
|
|
rela_status=removerel_catalog_data['rela_status'] |
|
|
) ) |
|
|
) ) |
|
@ -756,9 +748,9 @@ class DataStdDao: |
|
|
|
|
|
|
|
|
stmt = ( |
|
|
stmt = ( |
|
|
update(DataAstContentRela) |
|
|
update(DataAstContentRela) |
|
|
.where(DataAstContentRela.rela_onum == moverel_catalog_data['rela_onum'] , DataAstContentRela.belt_data_std_content == moverel_catalog_data['belt_data_std_content']) |
|
|
.where(DataAstContentRela.rela_onum == moverel_catalog_data['rela_onum'] , DataAstContentRela.content_onum == moverel_catalog_data['content_onum']) |
|
|
.values( |
|
|
.values( |
|
|
belt_data_std_content=moverel_catalog_data['content_onum_after'], |
|
|
content_onum=moverel_catalog_data['content_onum_after'], |
|
|
rela_eff_end_date=datetime.now() |
|
|
rela_eff_end_date=datetime.now() |
|
|
) ) |
|
|
) ) |
|
|
|
|
|
|
|
@ -779,16 +771,16 @@ class DataStdDao: |
|
|
# 修改子查询部分 |
|
|
# 修改子查询部分 |
|
|
subquery_t1 = ( |
|
|
subquery_t1 = ( |
|
|
select(DataAstContentRela) |
|
|
select(DataAstContentRela) |
|
|
.where(DataAstContentRela.upd_prsn == query_object.upd_prsn, DataAstContentRela.belt_data_std_content == '2' and DataAstContentRela.rela_status == '1') |
|
|
.where(DataAstContentRela.upd_prsn == query_object.upd_prsn, DataAstContentRela.content_onum == '2' and DataAstContentRela.rela_status == '1') |
|
|
.union_all( |
|
|
.union_all( |
|
|
select(DataAstContentRela) |
|
|
select(DataAstContentRela) |
|
|
.where(DataAstContentRela.belt_data_std_content != '2' and DataAstContentRela.rela_status == '1') |
|
|
.where(DataAstContentRela.content_onum != '2' and DataAstContentRela.rela_status == '1') |
|
|
) |
|
|
) |
|
|
).alias('subquery_t1') # 为子查询分配唯一别名 |
|
|
).alias('subquery_t1') # 为子查询分配唯一别名 |
|
|
|
|
|
|
|
|
query = ( |
|
|
query = ( |
|
|
select( |
|
|
select( |
|
|
DataAstContent.belt_data_std_content, |
|
|
DataAstContent.content_onum, |
|
|
DataAstContent.content_name, |
|
|
DataAstContent.content_name, |
|
|
DataAstContent.content_stat, |
|
|
DataAstContent.content_stat, |
|
|
DataAstContent.content_intr, |
|
|
DataAstContent.content_intr, |
|
@ -807,9 +799,9 @@ class DataStdDao: |
|
|
) |
|
|
) |
|
|
.distinct() |
|
|
.distinct() |
|
|
.select_from(DataAstContent) |
|
|
.select_from(DataAstContent) |
|
|
.outerjoin(subquery_t1, DataAstContent.belt_data_std_content == subquery_t1.c.belt_data_std_content) # 明确使用子查询别名 |
|
|
.outerjoin(subquery_t1, DataAstContent.content_onum == subquery_t1.c.content_onum) # 明确使用子查询别名 |
|
|
.where(DataAstContent.content_stat == 1) |
|
|
.where(DataAstContent.content_stat == 1) |
|
|
.order_by(DataAstContent.belt_data_std_content) |
|
|
.order_by(DataAstContent.content_onum) |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
# 使用分页工具进行查询 |
|
|
# 使用分页工具进行查询 |
|
|