fix: 修复特来电尖峰平谷电量对应问题,电量求和保留三位小数

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
This commit is contained in:
user9994793890
2026-07-13 12:56:36 +08:00
parent 4bee3041bc
commit fa39418ea7

View File

@@ -384,8 +384,12 @@ def generate_daily_report(config_id, start_time=None, end_time=None):
print(f"[日报生成] 时段配置: {time_periods_config}")
time_period_electricity = calculate_time_period_electricity(orders, time_periods_config)
# 将分时段电量添加到订单数据中
# 将分时段电量添加到订单数据中(仅对驿来特订单,特来电订单已有数据)
for order in orders:
# 特来电订单已有尖峰平谷电量数据,不需要重新计算
if order.get('data_source') == '特来电':
continue
order_no = order.get('order_no')
if order_no and order_no in time_period_electricity:
ep = time_period_electricity[order_no]
@@ -396,12 +400,12 @@ def generate_daily_report(config_id, start_time=None, end_time=None):
print(f"[日报生成] 已计算 {len(time_period_electricity)} 条订单的分时段电量")
# 计算求和
# 计算求和(保留三位小数)
sum_results = {}
for field in sum_fields:
if field in orders[0]:
total = sum(float(order.get(field, 0) or 0) for order in orders)
sum_results[field] = total
sum_results[field] = round(total, 3)
# 构建ID到名称的映射
id_name_maps = build_id_to_name_map(orders, selected_fields)
@@ -582,7 +586,7 @@ def generate_excel(orders, selected_fields, sum_fields, sum_results,
cell = ws.cell(row=sum_row, column=col_idx)
cell.value = sum_results[field]
cell.font = Font(bold=True)
cell.number_format = '0.00'
cell.number_format = '0.000' # 保留三位小数
# 调整列宽
for col_idx, field in enumerate(selected_fields, 1):