Commit 8c390c1f by tinywell

厂商设备在线率优化

parent 68cb482d
......@@ -71,7 +71,7 @@ class RegionRateArgs(BaseModel):
end_time: str = Field("", description="结束时间 (YYYY-MM-DD)")
month_statistics: bool = Field(False, description="是否按月度查看一年内的在线率统计结果,默认不需要")
device_items: str = Field("", description="监测项集合,多个逗号隔开,支持:滑坡仪、设备、传感器、雨量、地表位移、裂缝、倾角、加速度、土壤含水率、泥水位,默认为空")
manufacturer_name: str = Field("", description="设备厂商,默认为空")
manufacturer_name: str = Field("", description="指定设备厂商,默认为空")
class RegionRateTool(BaseRateTool):
"""查询全国或者特定地区设备在线率的工具"""
......@@ -126,7 +126,7 @@ class RegionRateTool(BaseRateTool):
result_data.append(rate_date)
sorted_data = [result_data[0]]
if len(result_data) > 1:
sorted_data.extend(sorted(result_data[1:], key=lambda x: x['在线率']))
sorted_data.extend(sorted(result_data[1:], key=lambda x: x['设备在线率']))
# 将数据改成表格形式,表头提取之后,数据一行行显示
table_header = list(result_data[0].keys())
......@@ -142,6 +142,7 @@ class RegionRateTool(BaseRateTool):
data = {
'region': region_name,
'region_code': code,
'summary': f"找到符合条件的数据 {len(result_data)} 条",
'rate_data': result_data,
}
......@@ -168,7 +169,7 @@ class RegionRateTool(BaseRateTool):
result_data = {}
for index, item in enumerate(df.resultdata):
month_data = self._extract_rate_data(item)
result_data[item['month']] = month_data
result_data[f"{item['month']}月"] = month_data
# 排序
result_data = sorted(result_data.items(), key=lambda x: x[0])
......@@ -188,6 +189,7 @@ class RegionRateTool(BaseRateTool):
data = {
'region': region_name,
'region_code': code,
'summary': f"找到符合条件的数据 {len(result_data)} 条,包含{year}年{result_data.keys()}月份的数据",
'rate_data': result_data
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment