From fa39418ea72d59ad85b595bb0c91f0366b4249e7 Mon Sep 17 00:00:00 2001 From: user9994793890 <3722323274763196-user9994793890@noreply.coze.cn> Date: Mon, 13 Jul 2026 12:56:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=89=B9=E6=9D=A5?= =?UTF-8?q?=E7=94=B5=E5=B0=96=E5=B3=B0=E5=B9=B3=E8=B0=B7=E7=94=B5=E9=87=8F?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E9=97=AE=E9=A2=98=EF=BC=8C=E7=94=B5=E9=87=8F?= =?UTF-8?q?=E6=B1=82=E5=92=8C=E4=BF=9D=E7=95=99=E4=B8=89=E4=BD=8D=E5=B0=8F?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Coze-Commit-Type: user Coze-User-ID: 3722323274763196 Coze-Conversation-ID: 9894087 --- lib/report_generator.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/report_generator.py b/lib/report_generator.py index 5415412..0fbe383 100644 --- a/lib/report_generator.py +++ b/lib/report_generator.py @@ -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):