2021-11-22 14:53:29 +08:00
|
|
|
import json
|
|
|
|
import os
|
|
|
|
|
2021-12-07 15:28:49 +08:00
|
|
|
from flask import Blueprint, request, Response
|
2021-11-19 14:38:49 +08:00
|
|
|
|
2021-12-07 15:28:49 +08:00
|
|
|
from Report.PdfReport import ReportGenerator
|
|
|
|
from Report.ReportModel import ReportModel
|
|
|
|
from Report.db import upload_pdf, download_pdf
|
|
|
|
from Report.path_tool import get_gen_report_path
|
2021-11-19 14:38:49 +08:00
|
|
|
|
|
|
|
report_route = Blueprint('result', __name__)
|
|
|
|
|
|
|
|
|
|
|
|
@report_route.route('/gen_pdf', methods=['POST'])
|
|
|
|
def gen_pdf():
|
2021-11-22 14:53:29 +08:00
|
|
|
with open("static/test_data/report_template.json", "r", encoding="utf-8") as f:
|
|
|
|
data = json.load(f)
|
2021-11-19 14:38:49 +08:00
|
|
|
req = request.json
|
|
|
|
name = req['企业名称']
|
2021-11-22 14:53:29 +08:00
|
|
|
text_model = ReportModel(req_json=req, tep_json=data).report_vlaues()
|
|
|
|
# 生成报告保存到static临时文件夹
|
2021-11-19 14:38:49 +08:00
|
|
|
pdf_report = ReportGenerator(name=name, text_model=text_model)
|
|
|
|
pdf_report.gen_report()
|
|
|
|
|
2021-11-22 14:53:29 +08:00
|
|
|
# 将报告pdf保存到数据库并删掉本地报告
|
|
|
|
file_id = upload_pdf(name)
|
|
|
|
if file_id:
|
|
|
|
file_path = get_gen_report_path(name=name)
|
|
|
|
os.remove(file_path)
|
|
|
|
file = download_pdf(file_id)
|
|
|
|
response = Response(file, content_type='application/pdf')
|
|
|
|
|
|
|
|
return response
|
|
|
|
|
|
|
|
|
2021-11-19 14:38:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|