Merge branch 'ck' into 'master'

update 根据rid级联删除评价相关数据

See merge request root/tfse_admin!22
This commit is contained in:
王思川 2022-03-02 06:58:08 +00:00
commit da724d2bfd
5 changed files with 66 additions and 11 deletions

View File

@ -86,7 +86,7 @@ def delete_macroscopic_pdf(fid):
def find_macroscopic_report_records(industry, time, skip, limit): def find_macroscopic_report_records(industry, time, skip, limit):
""" """
根据id删除宏观报告 根据行业查询宏观报告
Parameters: Parameters:
industry: 行业名称 industry: 行业名称
time: 上传日期 time: 上传日期

View File

@ -1,4 +1,6 @@
import pymongo import pymongo
from bson import ObjectId
from gridfs import GridFS
client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018)) client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018))
@ -48,6 +50,23 @@ def update_user_info_by_cid(cid, data):
return info return info
def update_data(param1, param2, param3, param4):
"""
更新用户信息
Parameters:
param1: str 数据库
param2: str 数据集
param3: obj 查询条件
param4: obj 更新数据
Returns:
info: 更新结果
"""
collection = client[param1][param2]
res = collection.update_one(param3, {"$set": param4})
info = res.raw_result['updatedExisting']
return info
def find_user_info_by_cid(cid): def find_user_info_by_cid(cid):
""" """
更新用户信息 更新用户信息
@ -60,3 +79,19 @@ def find_user_info_by_cid(cid):
data = collection.find({"企业ID": cid}, {'_id': False}) data = collection.find({"企业ID": cid}, {'_id': False})
record = list(data) record = list(data)
return record return record
def delete_pdf(param1, param2, param3):
"""
根据id删除报告/证书
Parameters:
param1: 数据库
param2: 数据集
param3: 文件fid
Returns:
record: 删除结果
"""
database = param1
collection = param2
fs = GridFS(client[database], collection)
fs.delete(ObjectId(param3))

View File

@ -2,12 +2,13 @@ import json
import requests import requests
from TestCenter.tc_db import update_user_info_by_cid, find_user_info_by_cid, delete_data, find_data from TestCenter.tc_db import update_user_info_by_cid, find_user_info_by_cid, delete_data, find_data, update_data, \
delete_pdf
def delete_rid_cascade_scripts(rid): def delete_rid_cascade_scripts(rid):
""" """
级联删除与评价ID有关的所有数据 级联删除与评价ID有关的评价数据
1.删除评价报告 1.删除评价报告
2.删除评价结果 2.删除评价结果
3.删除综合评价填报 3.删除综合评价填报
@ -19,11 +20,28 @@ def delete_rid_cascade_scripts(rid):
res: True 执行结果 res: True 执行结果
""" """
delete_data('评价', '报告数据', {"评价ID": rid}) rids = find_data('评价', '评价记录', {'评价ID': rid})
delete_data('评价', '评价结果', {"评价ID": rid}) if rids:
delete_data('评价', '综合评价填报', {"评价ID": rid}) if rids[0]['进行状态'] == '完成':
delete_data('评价', '评价记录', {"评价ID": rid}) # 删除报告/证书
delete_data('评价', '风险数据', {"评价ID": rid}) report_id = rids[0]['报告fid']
delete_pdf('评价', '综合信用报告', report_id)
certificate_id = rids[0]['报告fid']
delete_pdf('评价', '评价证书', certificate_id)
# 更新此条数据
insert = {'进行状态': '进行', '评价结果': None, '评价时间': None, '报告fid': None, '证书fid': None}
res = update_data('评价', '评价记录', {'评价ID': rid}, insert)
if res:
delete_data('评价', '评价结果', {'评价ID': rid})
delete_data('评价', '报告数据', {'评价ID': rid})
return '删除成功'
else:
return '评价记录数据重置失败'
else:
return '不能删除正在进行的评价记录'
else:
return '未查询到此rid相关记录'
return True return True

View File

@ -21,7 +21,8 @@ class TestObj:
""" """
级联删除与评价ID有关的所有数据 级联删除与评价ID有关的所有数据
""" """
delete_rid_cascade_scripts(self.rid) info = delete_rid_cascade_scripts(self.rid)
return info
def company_verify(self): def company_verify(self):
""" """

View File

@ -18,8 +18,9 @@ def delete_rid_cascade_route():
""" """
test_obj = TestObj() test_obj = TestObj()
test_obj.rid = request.json['rid'] test_obj.rid = request.json['rid']
test_obj.delete_rid_cascade() info = test_obj.delete_rid_cascade()
return {"info": "删除成功"}, 200 status = 200 if info == '删除成功' else 210
return {"info": info}, status
@test_route.route('/delete_cid_cascade', methods=['POST']) @test_route.route('/delete_cid_cascade', methods=['POST'])