59 lines
1.9 KiB
Python
59 lines
1.9 KiB
Python
from flask import Blueprint, request
|
||
|
||
from Report.ReportImpl import GenerateReport
|
||
from Utils.ErrorUtil import ReturnConditionCheckFailed
|
||
from common.scripts import verify_token
|
||
|
||
report_route = Blueprint('report', __name__)
|
||
|
||
|
||
@report_route.route('/gen_general_rating_report', methods=['POST'])
|
||
@verify_token
|
||
def report_pdf():
|
||
"""生成综信评价报告"""
|
||
try:
|
||
generate = GenerateReport()
|
||
generate.cid = request.json['cid']
|
||
generate.rid = request.json['rid']
|
||
generate.name = request.json['company']
|
||
info, status = generate.generate_cc_rating_report()
|
||
return info, status
|
||
except ReturnConditionCheckFailed as e:
|
||
e.log_error()
|
||
return {"info": e.failed_info}, e.status_code
|
||
except KeyError:
|
||
return {"info": "参数异常"}, 400
|
||
|
||
|
||
@report_route.route('/generate_esg_report', methods=['POST'])
|
||
@verify_token
|
||
def report_esg_pdf():
|
||
"""生成ESG报告PDF"""
|
||
try:
|
||
generate = GenerateReport()
|
||
generate.cid = request.json['cid']
|
||
generate.rid = request.json['rid']
|
||
generate.name = request.json['company']
|
||
info, status = generate.generate_esg_rating_report()
|
||
return info, status
|
||
except ReturnConditionCheckFailed as e:
|
||
e.log_error()
|
||
return {"info": e.failed_info}, e.status_code
|
||
except KeyError:
|
||
return {"info": "参数异常"}, 400
|
||
|
||
|
||
@report_route.route('/generate_pdf_report', methods=['POST'])
|
||
@verify_token
|
||
def repor_common_pdf():
|
||
"""生成PDF报告(管理端使用)"""
|
||
try:
|
||
text_model = request.json['text_model']
|
||
generate = GenerateReport()
|
||
info, status = generate.generate_admin_report(text_model)
|
||
return info, status
|
||
except ReturnConditionCheckFailed as e:
|
||
e.log_error()
|
||
return {"info": e.failed_info}, e.status_code
|
||
except KeyError:
|
||
return {"info": "参数异常"}, 400 |