瀏覽代碼

更新数据

yf_yzl 2 年之前
父節點
當前提交
ad8f7e5942
共有 1 個文件被更改,包括 95 次插入138 次删除
  1. 95 138
      smartfarming/api/views/weather/weather.py

+ 95 - 138
smartfarming/api/views/weather/weather.py

@@ -8,7 +8,7 @@ import datetime
 import time
 import logging
 from django.forms.models import model_to_dict
-from django.db.models import Q
+from django.db.models import Q, Max, Min
 from django.conf import settings
 from kedong.decoration import kedong_deco, PortError
 from smartfarming.models.device import MongoDevice, MongoCBDData
@@ -493,49 +493,6 @@ def qxz_day_data(request):
     参数:
     device_id               必传(string)
 
-    返回值:
-    {
-        "data": {
-            "conf": {
-            "e1":x.e1,"e2":x.e2,"e3":x.e3,"e4":x.e4,"e5":x.e5,
-            "e6":x.e6,"e7":x.e7,"e8":x.e8,"e9":x.e9,"e10":x.e10,
-            "e11":x.e11,"e12":x.e12,"e13":x.e13,"e14":x.e14,
-            "e15":x.e15,"e16":x.e16,"e17":x.e17,"e18":x.e18,
-            "e19":x.e19,"e20":x.e20,"e21":x.e21,"e22":x.e22,
-            "e23":x.e23,"e24":x.e24,"e25":x.e25,"e26":x.e26,
-            "e27":x.e27,"e28":x.e28,"e29":x.e29,"e30":x.e30
-            },
-            "nums": 0,
-            "data": [
-                {
-                "e1":qxz_list.e1,"e2":qxz_list.e2,"e3":qxz_list.e3,"e4":qxz_list.e4,"e5":qxz_list.e5,
-                "e6":qxz_list.e6,"e7":qxz_list.e7,"e8":qxz_list.e8,"e9":qxz_list.e9,"e10":qxz_list.e10,
-                "e11":qxz_list.e11,"e12":qxz_list.e12,"e13":qxz_list.e13,"e14":qxz_list.e14,
-                "e15":qxz_list.e15,"e16":qxz_list.e16,"e17":qxz_list.e17,"e18":qxz_list.e18,
-                "e19":qxz_list.e19,"e20":qxz_list.e20,"e21":qxz_list.e21,"e22":qxz_list.e22,
-                "e23":qxz_list.e23,"e24":qxz_list.e24,"e25":qxz_list.e25,"e26":qxz_list.e26,
-                "e27":qxz_list.e27,"e28":qxz_list.e28,"e29":qxz_list.e29,"e30":qxz_list.e30, 
-                "upl_time":qxz_list.upl_time.strftime('%Y-%m-%d %H:%M:%S')
-                },
-                {
-                "e1":qxz_list.e1,"e2":qxz_list.e2,"e3":qxz_list.e3,"e4":qxz_list.e4,"e5":qxz_list.e5,
-                "e6":qxz_list.e6,"e7":qxz_list.e7,"e8":qxz_list.e8,"e9":qxz_list.e9,"e10":qxz_list.e10,
-                "e11":qxz_list.e11,"e12":qxz_list.e12,"e13":qxz_list.e13,"e14":qxz_list.e14,
-                "e15":qxz_list.e15,"e16":qxz_list.e16,"e17":qxz_list.e17,"e18":qxz_list.e18,
-                "e19":qxz_list.e19,"e20":qxz_list.e20,"e21":qxz_list.e21,"e22":qxz_list.e22,
-                "e23":qxz_list.e23,"e24":qxz_list.e24,"e25":qxz_list.e25,"e26":qxz_list.e26,
-                "e27":qxz_list.e27,"e28":qxz_list.e28,"e29":qxz_list.e29,"e30":qxz_list.e30, 
-                "upl_time":qxz_list.upl_time.strftime('%Y-%m-%d %H:%M:%S')
-                },...
-            ]
-            }
-        "params": {},
-        "formError": {},
-        "errorCode": 0,
-        "message": "",
-    
-    }
-
     """
     device_id = request.POST.get("device_id")
     qxz_dict_1 = copy.deepcopy(qxz_dict)    # 如果不拷贝 后面折线图修改字典会导致字典内容变化   从而造成数据错误
@@ -735,100 +692,100 @@ def qxz_day_data(request):
                 "e23":x.e23,"e24":x.e24,"e25":x.e25,"e26":x.e26,
                 "e27":x.e27,"e28":x.e28,"e29":x.e29,"e30":x.e30}
     data = []
-    # try:
-    if e1 != []:
-        config = qxz_configs(conf,i['e1'],"e1")
-        data.append({"max":max(e1),"maxtime":e1_time[e1.index(max(e1))],"min":min(e1),"mintime":e1_time[e1.index(min(e1))],"enum":config,"ekey":i['e1'].split('#')[2]})
-    if e2 != []:
-        config = qxz_configs(conf,i['e2'],"e2")
-        data.append({"max":max(e2),"maxtime":e2_time[e2.index(max(e2))],"min":min(e2),"mintime":e2_time[e2.index(min(e2))],"enum":config,"ekey":i['e2'].split('#')[2]})
-    if e3 != []:
-        config = qxz_configs(conf,i['e3'],"e3")
-        data.append({"max":max(e3),"maxtime":e3_time[e3.index(max(e3))],"min":min(e3),"mintime":e3_time[e3.index(min(e3))],"enum":config,"ekey":i['e3'].split('#')[2]})
-    if e4 != []:
-        config = qxz_configs(conf,i['e4'],"e4")
-        data.append({"max":max(e4),"maxtime":e4_time[e4.index(max(e4))],"min":min(e4),"mintime":e4_time[e4.index(min(e4))],"enum":config,"ekey":i['e4'].split('#')[2]})
-    if e5 != []:
-        config = qxz_configs(conf,i['e5'],"e5")
-        data.append({"max":max(e5),"maxtime":e5_time[e5.index(max(e5))],"min":min(e5),"mintime":e5_time[e5.index(min(e5))],"enum":config,"ekey":i['e5'].split('#')[2]})
-    if e6 != []:
-        config = qxz_configs(conf,i['e6'],"e6")
-        data.append({"max":max(e6),"maxtime":e6_time[e6.index(max(e6))],"min":min(e6),"mintime":e6_time[e6.index(min(e6))],"enum":config,"ekey":i['e6'].split('#')[2]})
-    if e7 != []:
-        config = qxz_configs(conf,i['e7'],"e7")
-        data.append({"max":max(e7),"maxtime":e7_time[e7.index(max(e7))],"min":min(e7),"mintime":e7_time[e7.index(min(e7))],"enum":config,"ekey":i['e7'].split('#')[2]})
-    if e8 != []:
-        config = qxz_configs(conf,i['e8'],"e8")
-        data.append({"max":max(e8),"maxtime":e8_time[e8.index(max(e8))],"min":min(e8),"mintime":e8_time[e8.index(min(e8))],"enum":config,"ekey":i['e8'].split('#')[2]})
-    if e9 != []:
-        config = qxz_configs(conf,i['e9'],"e9")
-        data.append({"max":max(e9),"maxtime":e9_time[e9.index(max(e9))],"min":min(e9),"mintime":e9_time[e9.index(min(e9))],"enum":config,"ekey":i['e9'].split('#')[2]})
-    if e10 != []:
-        config = qxz_configs(conf,i['e10'],"e10")
-        data.append({"max":max(e10),"maxtime":e10_time[e10.index(max(e10))],"min":min(e10),"mintime":e10_time[e10.index(min(e10))],"enum":config,"ekey":i['e10'].split('#')[2]})
-    if e11 != []:
-        config = qxz_configs(conf,i['e11'],"e11")
-        data.append({"max":max(e11),"maxtime":e11_time[e11.index(max(e11))],"min":min(e11),"mintime":e11_time[e11.index(min(e11))],"enum":config,"ekey":i['e11'].split('#')[2]})
-    if e12 != []:
-        config = qxz_configs(conf,i['e12'],"e12")
-        data.append({"max":max(e12),"maxtime":e12_time[e12.index(max(e12))],"min":min(e12),"mintime":e12_time[e12.index(min(e12))],"enum":config,"ekey":i['e12'].split('#')[2]})
-    if e13 != []:
-        config = qxz_configs(conf,i['e13'],"e13")
-        data.append({"max":max(e13),"maxtime":e13_time[e13.index(max(e13))],"min":min(e13),"mintime":e13_time[e13.index(min(e13))],"enum":config,"ekey":i['e13'].split('#')[2]})
-    if e14 != []:
-        config = qxz_configs(conf,i['e14'],"e14")
-        data.append({"max":max(e14),"maxtime":e14_time[e14.index(max(e14))],"min":min(e14),"mintime":e14_time[e14.index(min(e14))],"enum":config,"ekey":i['e14'].split('#')[2]})
-    if e15 != []:
-        config = qxz_configs(conf,i['e15'],"e15")
-        data.append({"max":max(e15),"maxtime":e15_time[e15.index(max(e15))],"min":min(e15),"mintime":e15_time[e15.index(min(e15))],"enum":config,"ekey":i['e15'].split('#')[2]})
-    if e16 != []:
-        config = qxz_configs(conf,i['e16'],"e16")
-        data.append({"max":max(e16),"maxtime":e16_time[e16.index(max(e16))],"min":min(e16),"mintime":e16_time[e16.index(min(e16))],"enum":config,"ekey":i['e16'].split('#')[2]})
-    if e17 != []:
-        config = qxz_configs(conf,i['e17'],"e17")
-        data.append({"max":max(e17),"maxtime":e17_time[e17.index(max(e17))],"min":min(e17),"mintime":e17_time[e17.index(min(e17))],"enum":config,"ekey":i['e17'].split('#')[2]})
-    if e18 != []:
-        config = qxz_configs(conf,i['e18'],"e18")
-        data.append({"max":max(e18),"maxtime":e18_time[e18.index(max(e18))],"min":min(e18),"mintime":e18_time[e18.index(min(e18))],"enum":config,"ekey":i['e18'].split('#')[2]})
-    if e19 != []:
-        config = qxz_configs(conf,i['e19'],"e19")
-        data.append({"max":max(e19),"maxtime":e19_time[e19.index(max(e19))],"min":min(e19),"mintime":e19_time[e19.index(min(e19))],"enum":config,"ekey":i['e19'].split('#')[2]})
-    if e20 != []:
-        config = qxz_configs(conf,i['e20'],"e20")
-        data.append({"max":max(e20),"maxtime":e20_time[e20.index(max(e20))],"min":min(e20),"mintime":e20_time[e20.index(min(e20))],"enum":config,"ekey":i['e20'].split('#')[2]})
-    if e21 != []:
-        config = qxz_configs(conf,i['e21'],"e21")
-        data.append({"max":max(e21),"maxtime":e21_time[e21.index(max(e21))],"min":min(e21),"mintime":e21_time[e21.index(min(e21))],"enum":config,"ekey":i['e21'].split('#')[2]})
-    if e22 != []:
-        config = qxz_configs(conf,i['e22'],"e22")
-        data.append({"max":max(e22),"maxtime":e22_time[e22.index(max(e22))],"min":min(e22),"mintime":e22_time[e22.index(min(e22))],"enum":config,"ekey":i['e22'].split('#')[2]})
-    if e23 != []:
-        config = qxz_configs(conf,i['e23'],"e23")
-        data.append({"max":max(e23),"maxtime":e23_time[e23.index(max(e23))],"min":min(e23),"mintime":e23_time[e23.index(min(e23))],"enum":config,"ekey":i['e23'].split('#')[2]})
-    if e24 != []:
-        config = qxz_configs(conf,i['e24'],"e24")
-        data.append({"max":max(e24),"maxtime":e24_time[e24.index(max(e24))],"min":min(e24),"mintime":e24_time[e24.index(min(e24))],"enum":config,"ekey":i['e24'].split('#')[2]})
-    if e25 != []:
-        config = qxz_configs(conf,i['e25'],"e25")
-        data.append({"max":max(e25),"maxtime":e25_time[e25.index(max(e25))],"min":min(e25),"mintime":e25_time[e25.index(min(e25))],"enum":config,"ekey":i['e25'].split('#')[2]})
-    if e26 != []:
-        config = qxz_configs(conf,i['e26'],"e26")
-        data.append({"max":max(e26),"maxtime":e26_time[e26.index(max(e26))],"min":min(e26),"mintime":e26_time[e26.index(min(e26))],"enum":config,"ekey":i['e26'].split('#')[2]})
-    if e27 != []:
-        config = qxz_configs(conf,i['e27'],"e27")
-        data.append({"max":max(e27),"maxtime":e27_time[e27.index(max(e27))],"min":min(e27),"mintime":e27_time[e27.index(min(e27))],"enum":config,"ekey":i['e27'].split('#')[2]})
-    if e28 != []:
-        config = qxz_configs(conf,i['e28'],"e28")
-        data.append({"max":max(e28),"maxtime":e28_time[e28.index(max(e28))],"min":min(e28),"mintime":e28_time[e28.index(min(e28))],"enum":config,"ekey":i['e28'].split('#')[2]})
-    if e29 != []:
-        config = qxz_configs(conf,i['e29'],"e29")
-        data.append({"max":max(e29),"maxtime":e29_time[e29.index(max(e29))],"min":min(e29),"mintime":e29_time[e29.index(min(e29))],"enum":config,"ekey":i['e29'].split('#')[2]})
-    if e30 != []:
-        config = qxz_configs(conf,i['e30'],"e30")
-        data.append({"max":max(e30),"maxtime":e30_time[e30.index(max(e30))],"min":min(e30),"mintime":e30_time[e30.index(min(e30))],"enum":config,"ekey":i['e30'].split('#')[2]})
-    # except Exception as e:
-    #     logger.error(f"气象站24h数据:{e}")
-    #     raise PortError(" ", "计算数据失败,稍后重试")
+    try:
+        if e1 != []:
+            config = qxz_configs(conf,i['e1'],"e1")
+            data.append({"max":max(e1),"maxtime":e1_time[e1.index(max(e1))],"min":min(e1),"mintime":e1_time[e1.index(min(e1))],"enum":config,"ekey":i['e1'].split('#')[2]})
+        if e2 != []:
+            config = qxz_configs(conf,i['e2'],"e2")
+            data.append({"max":max(e2),"maxtime":e2_time[e2.index(max(e2))],"min":min(e2),"mintime":e2_time[e2.index(min(e2))],"enum":config,"ekey":i['e2'].split('#')[2]})
+        if e3 != []:
+            config = qxz_configs(conf,i['e3'],"e3")
+            data.append({"max":max(e3),"maxtime":e3_time[e3.index(max(e3))],"min":min(e3),"mintime":e3_time[e3.index(min(e3))],"enum":config,"ekey":i['e3'].split('#')[2]})
+        if e4 != []:
+            config = qxz_configs(conf,i['e4'],"e4")
+            data.append({"max":max(e4),"maxtime":e4_time[e4.index(max(e4))],"min":min(e4),"mintime":e4_time[e4.index(min(e4))],"enum":config,"ekey":i['e4'].split('#')[2]})
+        if e5 != []:
+            config = qxz_configs(conf,i['e5'],"e5")
+            data.append({"max":max(e5),"maxtime":e5_time[e5.index(max(e5))],"min":min(e5),"mintime":e5_time[e5.index(min(e5))],"enum":config,"ekey":i['e5'].split('#')[2]})
+        if e6 != []:
+            config = qxz_configs(conf,i['e6'],"e6")
+            data.append({"max":max(e6),"maxtime":e6_time[e6.index(max(e6))],"min":min(e6),"mintime":e6_time[e6.index(min(e6))],"enum":config,"ekey":i['e6'].split('#')[2]})
+        if e7 != []:
+            config = qxz_configs(conf,i['e7'],"e7")
+            data.append({"max":max(e7),"maxtime":e7_time[e7.index(max(e7))],"min":min(e7),"mintime":e7_time[e7.index(min(e7))],"enum":config,"ekey":i['e7'].split('#')[2]})
+        if e8 != []:
+            config = qxz_configs(conf,i['e8'],"e8")
+            data.append({"max":max(e8),"maxtime":e8_time[e8.index(max(e8))],"min":min(e8),"mintime":e8_time[e8.index(min(e8))],"enum":config,"ekey":i['e8'].split('#')[2]})
+        if e9 != []:
+            config = qxz_configs(conf,i['e9'],"e9")
+            data.append({"max":max(e9),"maxtime":e9_time[e9.index(max(e9))],"min":min(e9),"mintime":e9_time[e9.index(min(e9))],"enum":config,"ekey":i['e9'].split('#')[2]})
+        if e10 != []:
+            config = qxz_configs(conf,i['e10'],"e10")
+            data.append({"max":max(e10),"maxtime":e10_time[e10.index(max(e10))],"min":min(e10),"mintime":e10_time[e10.index(min(e10))],"enum":config,"ekey":i['e10'].split('#')[2]})
+        if e11 != []:
+            config = qxz_configs(conf,i['e11'],"e11")
+            data.append({"max":max(e11),"maxtime":e11_time[e11.index(max(e11))],"min":min(e11),"mintime":e11_time[e11.index(min(e11))],"enum":config,"ekey":i['e11'].split('#')[2]})
+        if e12 != []:
+            config = qxz_configs(conf,i['e12'],"e12")
+            data.append({"max":max(e12),"maxtime":e12_time[e12.index(max(e12))],"min":min(e12),"mintime":e12_time[e12.index(min(e12))],"enum":config,"ekey":i['e12'].split('#')[2]})
+        if e13 != []:
+            config = qxz_configs(conf,i['e13'],"e13")
+            data.append({"max":max(e13),"maxtime":e13_time[e13.index(max(e13))],"min":min(e13),"mintime":e13_time[e13.index(min(e13))],"enum":config,"ekey":i['e13'].split('#')[2]})
+        if e14 != []:
+            config = qxz_configs(conf,i['e14'],"e14")
+            data.append({"max":max(e14),"maxtime":e14_time[e14.index(max(e14))],"min":min(e14),"mintime":e14_time[e14.index(min(e14))],"enum":config,"ekey":i['e14'].split('#')[2]})
+        if e15 != []:
+            config = qxz_configs(conf,i['e15'],"e15")
+            data.append({"max":max(e15),"maxtime":e15_time[e15.index(max(e15))],"min":min(e15),"mintime":e15_time[e15.index(min(e15))],"enum":config,"ekey":i['e15'].split('#')[2]})
+        if e16 != []:
+            config = qxz_configs(conf,i['e16'],"e16")
+            data.append({"max":max(e16),"maxtime":e16_time[e16.index(max(e16))],"min":min(e16),"mintime":e16_time[e16.index(min(e16))],"enum":config,"ekey":i['e16'].split('#')[2]})
+        if e17 != []:
+            config = qxz_configs(conf,i['e17'],"e17")
+            data.append({"max":max(e17),"maxtime":e17_time[e17.index(max(e17))],"min":min(e17),"mintime":e17_time[e17.index(min(e17))],"enum":config,"ekey":i['e17'].split('#')[2]})
+        if e18 != []:
+            config = qxz_configs(conf,i['e18'],"e18")
+            data.append({"max":max(e18),"maxtime":e18_time[e18.index(max(e18))],"min":min(e18),"mintime":e18_time[e18.index(min(e18))],"enum":config,"ekey":i['e18'].split('#')[2]})
+        if e19 != []:
+            config = qxz_configs(conf,i['e19'],"e19")
+            data.append({"max":max(e19),"maxtime":e19_time[e19.index(max(e19))],"min":min(e19),"mintime":e19_time[e19.index(min(e19))],"enum":config,"ekey":i['e19'].split('#')[2]})
+        if e20 != []:
+            config = qxz_configs(conf,i['e20'],"e20")
+            data.append({"max":max(e20),"maxtime":e20_time[e20.index(max(e20))],"min":min(e20),"mintime":e20_time[e20.index(min(e20))],"enum":config,"ekey":i['e20'].split('#')[2]})
+        if e21 != []:
+            config = qxz_configs(conf,i['e21'],"e21")
+            data.append({"max":max(e21),"maxtime":e21_time[e21.index(max(e21))],"min":min(e21),"mintime":e21_time[e21.index(min(e21))],"enum":config,"ekey":i['e21'].split('#')[2]})
+        if e22 != []:
+            config = qxz_configs(conf,i['e22'],"e22")
+            data.append({"max":max(e22),"maxtime":e22_time[e22.index(max(e22))],"min":min(e22),"mintime":e22_time[e22.index(min(e22))],"enum":config,"ekey":i['e22'].split('#')[2]})
+        if e23 != []:
+            config = qxz_configs(conf,i['e23'],"e23")
+            data.append({"max":max(e23),"maxtime":e23_time[e23.index(max(e23))],"min":min(e23),"mintime":e23_time[e23.index(min(e23))],"enum":config,"ekey":i['e23'].split('#')[2]})
+        if e24 != []:
+            config = qxz_configs(conf,i['e24'],"e24")
+            data.append({"max":max(e24),"maxtime":e24_time[e24.index(max(e24))],"min":min(e24),"mintime":e24_time[e24.index(min(e24))],"enum":config,"ekey":i['e24'].split('#')[2]})
+        if e25 != []:
+            config = qxz_configs(conf,i['e25'],"e25")
+            data.append({"max":max(e25),"maxtime":e25_time[e25.index(max(e25))],"min":min(e25),"mintime":e25_time[e25.index(min(e25))],"enum":config,"ekey":i['e25'].split('#')[2]})
+        if e26 != []:
+            config = qxz_configs(conf,i['e26'],"e26")
+            data.append({"max":max(e26),"maxtime":e26_time[e26.index(max(e26))],"min":min(e26),"mintime":e26_time[e26.index(min(e26))],"enum":config,"ekey":i['e26'].split('#')[2]})
+        if e27 != []:
+            config = qxz_configs(conf,i['e27'],"e27")
+            data.append({"max":max(e27),"maxtime":e27_time[e27.index(max(e27))],"min":min(e27),"mintime":e27_time[e27.index(min(e27))],"enum":config,"ekey":i['e27'].split('#')[2]})
+        if e28 != []:
+            config = qxz_configs(conf,i['e28'],"e28")
+            data.append({"max":max(e28),"maxtime":e28_time[e28.index(max(e28))],"min":min(e28),"mintime":e28_time[e28.index(min(e28))],"enum":config,"ekey":i['e28'].split('#')[2]})
+        if e29 != []:
+            config = qxz_configs(conf,i['e29'],"e29")
+            data.append({"max":max(e29),"maxtime":e29_time[e29.index(max(e29))],"min":min(e29),"mintime":e29_time[e29.index(min(e29))],"enum":config,"ekey":i['e29'].split('#')[2]})
+        if e30 != []:
+            config = qxz_configs(conf,i['e30'],"e30")
+            data.append({"max":max(e30),"maxtime":e30_time[e30.index(max(e30))],"min":min(e30),"mintime":e30_time[e30.index(min(e30))],"enum":config,"ekey":i['e30'].split('#')[2]})
+    except Exception as e:
+        logger.error(f"气象站24h数据:{e}")
+        raise PortError(" ", "计算数据失败,稍后重试")
     dat = {"data":data,"conf":conf}
     return dat