|
@@ -33,8 +33,21 @@ async def get_inspection_task_list(
|
|
|
user_id = Depends(valid_access_token)
|
|
|
):
|
|
|
try:
|
|
|
- sql=f"""SELECT row_number() OVER (PARTITION BY cn ORDER BY `T1`.`create_time` {sort} ) as `序号`,T2.area as `区县`,T2.township as `镇街`,T2.address as `站点地址`,T1.windspeed as `风速`,T1.windlevel as `风速等级`,T2.longitude as `站点经度`,T2.latitude as `站点纬度`,T1.`code` as `站点编号`,T1.create_time as `测速时间` FROM (SELECT *,row_number() OVER (PARTITION BY `govdata_wind_speed_data_info`.`code` ORDER BY `govdata_wind_speed_data_info`.`windspeed` {sort} )as cn FROM sharedb.`govdata_wind_speed_data_info`
|
|
|
-where create_time>= NOW() - INTERVAL {timeOption} HOUR and IF('{area}'='',1=1,area_name='{area}') )T1 LEFT JOIN sharedb.govdata_wind_stand_address T2 on T1.`code`=T2.`code` and IF('{township}'='',1=1,T2.township='{township}') ORDER BY `T1`.`create_time` {sort}"""
|
|
|
+ sql=f"""SELECT row_number() OVER ( ORDER BY `T1`.`windspeed` {sort} ) as `序号`,T2.area as `区县`,T2.township as `镇街`,T2.address as `站点地址`,T1.windspeed as `风速`,CASE WHEN T1.windspeed<0.3 THEN 0
|
|
|
+ WHEN 0.3<=T1.windspeed and T1.windspeed<=1.5 THEN 1
|
|
|
+ WHEN 1.6<=T1.windspeed and T1.windspeed<=3.3 THEN 2
|
|
|
+ WHEN 3.4<=T1.windspeed and T1.windspeed<=5.4 THEN 3
|
|
|
+ WHEN 5.5<=T1.windspeed and T1.windspeed<=7.9 THEN 4
|
|
|
+ WHEN 8.0<=T1.windspeed and T1.windspeed<=10.7 THEN 5
|
|
|
+ WHEN 10.8<=T1.windspeed and T1.windspeed<=13.8 THEN 6
|
|
|
+ WHEN 13.9<=T1.windspeed and T1.windspeed<=17.1 THEN 7
|
|
|
+ WHEN 17.2<=T1.windspeed and T1.windspeed<=20.7 THEN 8
|
|
|
+ WHEN 20.8<=T1.windspeed and T1.windspeed<=24.4 THEN 9
|
|
|
+ WHEN 24.5<=T1.windspeed and T1.windspeed<=28.4 THEN 10
|
|
|
+ WHEN 28.5<=T1.windspeed and T1.windspeed<=32.6 THEN 11
|
|
|
+ ELSE 12 END as `风速等级`,T2.longitude as `站点经度`,T2.latitude as `站点纬度`,T1.`code` as `站点编号` FROM (SELECT `code`,ROUND(SUM(windspeed)/COUNT(1),1)as windspeed FROM sharedb.`govdata_wind_speed_data_info`
|
|
|
+where create_time>= NOW() - INTERVAL {timeOption} HOUR and {'1=1' if area == '' else f"area_name='{area}'"} and del_flag<>'2' GROUP BY `code`)T1 LEFT JOIN sharedb.govdata_wind_stand_address T2 on T1.`code`=T2.`code` ORDER BY `T1`.`windspeed` {sort}"""
|
|
|
+ # print(sql)
|
|
|
da = db.execute(sql).fetchall()
|
|
|
outlist = [dict(row) for row in da]
|
|
|
# 返回结果
|
|
@@ -74,7 +87,7 @@ def get_windspeed_data(db,timeOption):
|
|
|
A.windspeed,
|
|
|
B.`address`,
|
|
|
ROW_NUMBER() OVER (PARTITION BY A.windlevel ORDER BY A.windspeed DESC) AS rn
|
|
|
- FROM sharedb.govdata_wind_speed_data_info A JOIN sharedb.govdata_wind_stand_address B on A.`code`=B.`code` where A.create_time >= NOW() - INTERVAL {timeOption} HOUR
|
|
|
+ FROM sharedb.govdata_wind_speed_data_info A JOIN sharedb.govdata_wind_stand_address B on A.`code`=B.`code` where A.create_time >= NOW() - INTERVAL {timeOption} HOUR and A.del_flag<>'2'
|
|
|
),
|
|
|
max_per_level AS (
|
|
|
SELECT windlevel, windspeed AS maxspeed, address AS maxspeed_standaddress
|
|
@@ -86,7 +99,7 @@ summary AS (
|
|
|
windlevel,
|
|
|
COUNT(*) AS cnt,
|
|
|
ROUND(COUNT(*) * 100 / SUM(COUNT(*)) OVER (), 2) AS ratio
|
|
|
- FROM sharedb.govdata_wind_speed_data_info
|
|
|
+ FROM sharedb.govdata_wind_speed_data_info where del_flag<>'2'
|
|
|
GROUP BY windlevel
|
|
|
)
|
|
|
SELECT
|