Commit 8c390c1f by tinywell

厂商设备在线率优化

parent 68cb482d
...@@ -71,7 +71,7 @@ class RegionRateArgs(BaseModel): ...@@ -71,7 +71,7 @@ class RegionRateArgs(BaseModel):
end_time: str = Field("", description="结束时间 (YYYY-MM-DD)") end_time: str = Field("", description="结束时间 (YYYY-MM-DD)")
month_statistics: bool = Field(False, description="是否按月度查看一年内的在线率统计结果,默认不需要") month_statistics: bool = Field(False, description="是否按月度查看一年内的在线率统计结果,默认不需要")
device_items: str = Field("", description="监测项集合,多个逗号隔开,支持:滑坡仪、设备、传感器、雨量、地表位移、裂缝、倾角、加速度、土壤含水率、泥水位,默认为空") device_items: str = Field("", description="监测项集合,多个逗号隔开,支持:滑坡仪、设备、传感器、雨量、地表位移、裂缝、倾角、加速度、土壤含水率、泥水位,默认为空")
manufacturer_name: str = Field("", description="设备厂商,默认为空") manufacturer_name: str = Field("", description="指定设备厂商,默认为空")
class RegionRateTool(BaseRateTool): class RegionRateTool(BaseRateTool):
"""查询全国或者特定地区设备在线率的工具""" """查询全国或者特定地区设备在线率的工具"""
...@@ -126,7 +126,7 @@ class RegionRateTool(BaseRateTool): ...@@ -126,7 +126,7 @@ class RegionRateTool(BaseRateTool):
result_data.append(rate_date) result_data.append(rate_date)
sorted_data = [result_data[0]] sorted_data = [result_data[0]]
if len(result_data) > 1: 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()) table_header = list(result_data[0].keys())
...@@ -142,6 +142,7 @@ class RegionRateTool(BaseRateTool): ...@@ -142,6 +142,7 @@ class RegionRateTool(BaseRateTool):
data = { data = {
'region': region_name, 'region': region_name,
'region_code': code, 'region_code': code,
'summary': f"找到符合条件的数据 {len(result_data)} 条",
'rate_data': result_data, 'rate_data': result_data,
} }
...@@ -168,7 +169,7 @@ class RegionRateTool(BaseRateTool): ...@@ -168,7 +169,7 @@ class RegionRateTool(BaseRateTool):
result_data = {} result_data = {}
for index, item in enumerate(df.resultdata): for index, item in enumerate(df.resultdata):
month_data = self._extract_rate_data(item) 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]) result_data = sorted(result_data.items(), key=lambda x: x[0])
...@@ -188,6 +189,7 @@ class RegionRateTool(BaseRateTool): ...@@ -188,6 +189,7 @@ class RegionRateTool(BaseRateTool):
data = { data = {
'region': region_name, 'region': region_name,
'region_code': code, 'region_code': code,
'summary': f"找到符合条件的数据 {len(result_data)} 条,包含{year}年{result_data.keys()}月份的数据",
'rate_data': result_data '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