fix: 修复特来电尖峰平谷电量对应问题,电量求和保留三位小数
Coze-Commit-Type: user Coze-User-ID: 3722323274763196 Coze-Conversation-ID: 9894087
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user