|
|
@@ -517,6 +517,7 @@ class StatisticsCRUD:
|
|
|
) -> Dict[str, Any]:
|
|
|
"""获取仪表盘汇总数据(运营工作台;含待办摘要、最新订单、预警数等,字段驼峰)"""
|
|
|
today = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)
|
|
|
+ tomorrow_start = today + timedelta(days=1)
|
|
|
month_start = today.replace(day=1)
|
|
|
yesterday_start = today - timedelta(days=1)
|
|
|
region_clause = StatisticsCRUD._dashboard_order_region_clause(region_id)
|
|
|
@@ -579,9 +580,15 @@ class StatisticsCRUD:
|
|
|
)
|
|
|
delivery_warning_count = warn_q.count()
|
|
|
|
|
|
- # 待处理报价:已提交、待运营侧处理的报价单
|
|
|
+ # 今日新提交报价:状态为已提交,且提交时间(无则用创建时间)落在当日 0 点~次日 0 点
|
|
|
+ quot_submitted_at = func.coalesce(BizQuotation.submit_time, BizQuotation.create_at)
|
|
|
sub_quot_q = db.query(BizQuotation).filter(
|
|
|
- and_(BizQuotation.is_del == 0, BizQuotation.status == "submitted")
|
|
|
+ and_(
|
|
|
+ BizQuotation.is_del == 0,
|
|
|
+ BizQuotation.status == "submitted",
|
|
|
+ quot_submitted_at >= today,
|
|
|
+ quot_submitted_at < tomorrow_start,
|
|
|
+ )
|
|
|
)
|
|
|
if region_id:
|
|
|
sub_quot_q = sub_quot_q.filter(BizQuotation.region_id == region_id)
|
|
|
@@ -593,6 +600,8 @@ class StatisticsCRUD:
|
|
|
.filter(
|
|
|
BizQuotation.is_del == 0,
|
|
|
BizQuotation.status == "submitted",
|
|
|
+ quot_submitted_at >= today,
|
|
|
+ quot_submitted_at < tomorrow_start,
|
|
|
BizInquiry.is_del == 0,
|
|
|
*([BizQuotation.region_id == region_id] if region_id else []),
|
|
|
)
|
|
|
@@ -731,7 +740,7 @@ class StatisticsCRUD:
|
|
|
todo_snapshots = [
|
|
|
{
|
|
|
"type": "quotation",
|
|
|
- "title": "待处理报价",
|
|
|
+ "title": "今日新提交报价",
|
|
|
"count": pending_quotation_count,
|
|
|
"items": quotation_lines,
|
|
|
},
|