报告为空设为--
This commit is contained in:
parent
cd6ec47a9e
commit
ef61dbe4b7
|
@ -1,9 +1,11 @@
|
|||
import datetime
|
||||
import json
|
||||
from pathlib import Path
|
||||
from urllib.parse import quote
|
||||
|
||||
import requests
|
||||
from fastapi import APIRouter, Depends, HTTPException, Response
|
||||
from sqlalchemy import func, distinct
|
||||
from sqlalchemy.orm import Session
|
||||
from starlette.responses import FileResponse
|
||||
|
||||
|
@ -168,7 +170,7 @@ def get_report(req: schemas.GetReport, db: Session = Depends(common_db.get_db),
|
|||
token_data: auth_util.tokenDataModel = Depends(auth_util.token_data_depend)
|
||||
):
|
||||
data = load_report_need_data(db, req.id)
|
||||
json.dump(data,open('ttt.json','w',encoding='utf-8'),ensure_ascii=False)
|
||||
json.dump(data, open('ttt.json', 'w', encoding='utf-8'), ensure_ascii=False)
|
||||
response = requests.post(f'{conf["rate_utils"]["host"]}/api/report_generation/generation', json.dumps(
|
||||
data), timeout=15)
|
||||
# print(response.json())
|
||||
|
@ -205,4 +207,62 @@ def get_report(req: schemas.GetReport, db: Session = Depends(common_db.get_db),
|
|||
raise HTTPException(status_code=404, detail="未找到报告文件,路径不存在")
|
||||
return FileResponse(Path("./" + file.file_url),
|
||||
headers={"Content-Disposition": f"attachment; filename={quote(file.file_name)}"})
|
||||
|
||||
|
||||
#########
|
||||
|
||||
|
||||
@router.post("/company_rate/get_dashboard_data", summary="获取看板数据")
|
||||
def get_dashboard_data(db: Session = Depends(common_db.get_db),
|
||||
token_data: auth_util.tokenDataModel = Depends(auth_util.token_data_depend)):
|
||||
企业总数 = db.query(CompanyUser).filter(CompanyUser.verified == True).count()
|
||||
昨日新增 = db.query(CompanyUser).filter(CompanyUser.verified == True, func.date(
|
||||
CompanyUser.create_time) == datetime.datetime.now().date()).count()
|
||||
待处理申请 = db.query(CompanyRate).filter(CompanyRate.man_data.isnot(None),
|
||||
CompanyRate.mgr_data_state != '已就绪').count()
|
||||
申请企业数 = db.query((distinct(CompanyRate.company_name))).filter(CompanyRate.man_data.isnot(None),
|
||||
CompanyRate.mgr_data_state != '已就绪',
|
||||
).count()
|
||||
待评级企业 = db.query((distinct(CompanyRate.company_name))).filter(CompanyRate.man_data.isnot(None),
|
||||
CompanyRate.mgr_data_state != '已就绪').count()
|
||||
总申请数 = db.query(CompanyRate).filter(CompanyRate.man_data.isnot(None)).count()
|
||||
待披露企业 = db.query(CompanyRate).filter(CompanyRate.rate_state == '已评级',
|
||||
CompanyRate.publish_state != '已披露').count()
|
||||
披露企业数 = db.query(CompanyRate).filter(CompanyRate.publish_state == '已披露').count()
|
||||
|
||||
已披露企业评级等级扇形数据 = [[item[0],item[1]] for item in
|
||||
db.query(CompanyRate.rate_level, func.count(CompanyRate.rate_level)).filter(
|
||||
CompanyRate.publish_state == '已披露').group_by(
|
||||
CompanyRate.rate_level).all()]
|
||||
|
||||
|
||||
# 计算七天前的日期
|
||||
seven_days_ago = datetime.datetime.now() - datetime.timedelta(days=7)
|
||||
|
||||
# 查询七天内每天创建的评级申请数量
|
||||
daily_user_counts = db.query(
|
||||
func.date(CompanyRate.create_time).label('date'),
|
||||
func.count(CompanyRate.id).label('count')
|
||||
).filter(
|
||||
CompanyRate.create_time >= seven_days_ago
|
||||
).group_by(
|
||||
func.date(CompanyRate.create_time)
|
||||
).order_by(
|
||||
func.date(CompanyRate.create_time)
|
||||
).all()
|
||||
七日评级申请趋势数据 = [[item.date, item.count] for item in daily_user_counts]
|
||||
|
||||
data = {
|
||||
"企业总数": 企业总数,
|
||||
"昨日新增": 昨日新增,
|
||||
"待处理申请": 待处理申请,
|
||||
"申请企业数": 申请企业数,
|
||||
"待评级企业": 待评级企业,
|
||||
"总申请数": 总申请数,
|
||||
"待披露企业": 待披露企业,
|
||||
"披露企业数": 披露企业数,
|
||||
"七日评级申请趋势数据": 七日评级申请趋势数据,
|
||||
"已披露企业评级等级扇形数据": 已披露企业评级等级扇形数据
|
||||
}
|
||||
print(data)
|
||||
return data
|
||||
|
|
Loading…
Reference in New Issue