|
|
@ -260,17 +260,19 @@ class DataCatalogDAO: |
|
|
await db.execute(stmt) |
|
|
await db.execute(stmt) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@classmethod |
|
|
@classmethod |
|
|
async def edit_catalog_child_dao(cls, db: AsyncSession, catalog: dict): |
|
|
async def edit_catalog_child_dao(cls, db: AsyncSession, catalog: dict): |
|
|
""" |
|
|
""" |
|
|
编辑目录数据库操作 |
|
|
编辑目录数据库操作(子节点先删除再新增) |
|
|
|
|
|
|
|
|
:param db: orm对象 |
|
|
:param db: orm对象 |
|
|
:param catalog: 需要更新的目录字典 |
|
|
:param catalog: 需要更新的目录字典(包含 children 列表) |
|
|
:return: |
|
|
|
|
|
""" |
|
|
""" |
|
|
content_onum = catalog['content_onum'] |
|
|
content_onum = catalog['content_onum'] |
|
|
|
|
|
|
|
|
|
|
|
# ---------- 更新主目录 ---------- |
|
|
stmt = ( |
|
|
stmt = ( |
|
|
update(DataAstContent) |
|
|
update(DataAstContent) |
|
|
.where(DataAstContent.content_onum == content_onum) |
|
|
.where(DataAstContent.content_onum == content_onum) |
|
|
@ -283,35 +285,25 @@ class DataCatalogDAO: |
|
|
leaf_node_flag=catalog['leaf_node_flag'], |
|
|
leaf_node_flag=catalog['leaf_node_flag'], |
|
|
upd_prsn=catalog['upd_prsn'], |
|
|
upd_prsn=catalog['upd_prsn'], |
|
|
upd_time=datetime.now() |
|
|
upd_time=datetime.now() |
|
|
) ) |
|
|
) |
|
|
|
|
|
) |
|
|
await db.execute(stmt) |
|
|
await db.execute(stmt) |
|
|
|
|
|
|
|
|
# 处理子关系 |
|
|
# ---------- 删除原有子关系 ---------- |
|
|
for child in catalog.get('children', []): |
|
|
delete_stmt = ( |
|
|
rela_onum = child.get('rela_onum') |
|
|
delete(DataAstContentRela) |
|
|
if rela_onum: |
|
|
.where(DataAstContentRela.content_onum == content_onum) |
|
|
st = ( |
|
|
|
|
|
update(DataAstContentRela) |
|
|
|
|
|
.where(DataAstContentRela.rela_onum == rela_onum) |
|
|
|
|
|
.values( |
|
|
|
|
|
content_onum=child.get('content_onum'), |
|
|
|
|
|
ast_onum=child.get('ast_onum'), |
|
|
|
|
|
rela_type=child.get('rela_type'), |
|
|
|
|
|
rela_eff_begn_date=child.get('rela_eff_begn_date'), |
|
|
|
|
|
rela_eff_end_date=child.get('rela_eff_end_date'), |
|
|
|
|
|
upd_prsn=child.get('upd_prsn')) |
|
|
|
|
|
) |
|
|
) |
|
|
|
|
|
await db.execute(delete_stmt) |
|
|
|
|
|
|
|
|
await db.execute(st) |
|
|
# ---------- 新增子关系 ---------- |
|
|
await cls.update_leaf_node_flag(db) |
|
|
for child in catalog.get('children', []): |
|
|
else: |
|
|
|
|
|
child['content_onum'] = content_onum |
|
|
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 cls.update_leaf_node_flag(db) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 更新叶子节点状态 |
|
|
|
|
|
await cls.update_leaf_node_flag(db) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|