test_analysis_report.py
2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
"""
测试分析报告生成功能
"""
import sys
sys.path.insert(0, "src")
from fw_pms_ai.agent.analysis_report_node import generate_analysis_report_node
def test_generate_analysis_report():
"""测试为 AI-FB34CA0EE6C4 生成分析报告"""
# 模拟数据
part_ratios = [
{"part_code": "C211F280503-1800-AA", "part_name": "牌照灯总成",
"valid_storage_cnt": 0, "avg_sales_cnt": 2, "out_stock_cnt": 5, "cost_price": 14},
{"part_code": "TEST-001", "part_name": "测试配件1",
"valid_storage_cnt": 10, "avg_sales_cnt": 0, "out_stock_cnt": 0, "cost_price": 100},
{"part_code": "TEST-002", "part_name": "测试配件2",
"valid_storage_cnt": 0, "avg_sales_cnt": 0.5, "out_stock_cnt": 0, "cost_price": 50},
]
part_results = [
{"part_code": "C211F280503-1800-AA", "part_name": "牌照灯总成",
"total_suggest_cnt": 4, "total_suggest_amount": 56.0, "priority": 1},
]
allocated_details = [
{"part_code": "C211F280503-1800-AA", "suggest_cnt": 4, "suggest_amount": 56.0},
]
# 构建 state
state = {
"task_no": "AI-FB34CA0EE6C4",
"group_id": 2,
"dealer_grouping_id": 48,
"dealer_grouping_name": "测试分组",
"brand_grouping_id": None,
"statistics_date": "2026-02-05",
"part_ratios": part_ratios,
"part_results": part_results,
"allocated_details": allocated_details,
}
print("开始生成分析报告...")
result = generate_analysis_report_node(state)
if "error" in result.get("analysis_report", {}):
print(f"\n❌ 生成失败: {result['analysis_report']['error']}")
return False
else:
print(f"\n✅ 分析报告生成成功!")
report = result.get("analysis_report", {})
print(f" - replenishment_insights: {str(report.get('replenishment_insights', ''))[:100]}...")
print(f" - urgency_assessment: {str(report.get('urgency_assessment', ''))[:100]}...")
return True
if __name__ == "__main__":
test_generate_analysis_report()