test2.py 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. from operator import itemgetter
  2. from django.db.models import Q
  3. from io import BytesIO
  4. from PIL import Image
  5. import re
  6. import socket
  7. import xlwt
  8. import xlrd
  9. import os
  10. import django
  11. import sys
  12. BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录
  13. sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir)))
  14. os.environ.setdefault("DJANGO_SETTINGS_MODULE",
  15. "yfwlw_pro.settings") # project_name 项目名称
  16. django.setup()
  17. from django.db import transaction
  18. import random
  19. import shutil
  20. import cv2
  21. from imutils import paths
  22. from requests.auth import HTTPBasicAuth
  23. import paho.mqtt.client as mqtt
  24. # from apps.SimInfo.views import get_siminfo
  25. from apps.AppInfoManage.models import Alarm_record, BZYdata, BZYphoto, CBDphoto, CBDphoto_desc, CBDstatus, CBDstatus_all, Equip, Equip_SimInfo, Equip_type, JKdata, JKphoto, JKphoto, Msg_Conf, Msg_Send, MyUser, QXZ_Conf, QXZ_Default_Conf, QXZdata, QXZdata_New, QXZstatus, QXZstatus_New, RecentCBDdata, RecentSCDdata, SCDdata, SCDstatus, SCDstatus_all, SCDstatus_all, User_Log, YBQstatus
  26. from apps.ReportManage.all_dict import mobile_list, insect_dict_new, qxz_dict
  27. import datetime
  28. import requests
  29. import time
  30. import json
  31. from qcloudsms_py import SmsSingleSender
  32. from qcloudsms_py.httpclient import HTTPError
  33. from qcloudsms_py import SmsMultiSender
  34. # 短信应用 SDK AppID
  35. appid = 1400227496 # SDK AppID 以1400开头
  36. # 短信应用 SDK AppKey
  37. appkey = "c9aba961bd30072f1e1b9272077abaea"
  38. # print(random.randint(10,30))
  39. # 测试1
  40. # --------------------------------------------------------------
  41. # 10.17号 统计发出去的杀虫灯是否在线, 调出环境温湿度不等于25、30,不在线的
  42. book1 = xlwt.Workbook() # 创建一个excel对象
  43. sheet1 = book1.add_sheet('Sheet1', cell_overwrite_ok=True) # 添加一个sheet页
  44. sheet2 = book1.add_sheet('Sheet2', cell_overwrite_ok=True) # 添加一个sheet页
  45. title = ["设备号", "在线状态", "温度", "湿度"]
  46. for x in range(len(title)):
  47. sheet1.write(0, x, title[x])
  48. sheet2.write(0, x, title[x])
  49. book = xlrd.open_workbook('scd.xlsx')
  50. # book=xlrd.open_workbook('2020.07.13.xlsx')
  51. sheet = book.sheet_by_name('Sheet1')
  52. lists = sheet.col_values(0) # 获取到整列的内容
  53. data = [] # 未找到的设备
  54. # # lists = []
  55. date = [] # 设备离线
  56. datp = [] # 温湿度异常
  57. dat = [] # 境温湿度等于25、30
  58. da = [] # 在线的设备
  59. for i in lists:
  60. try:
  61. scd_status = RecentSCDdata.objects.get(equip_id=i)
  62. scd_data = eval(scd_status.scd_data)
  63. equip_list = SCDstatus.objects.get(equip_id=i)
  64. res = requests.post("http://api.map.baidu.com/geocoder?location=%s,%s&coord_type=gcj02&output=json" %
  65. (scd_data["lat"], scd_data["lng"]))
  66. addr = (eval(res.text))["result"]["addressComponent"]
  67. district = addr["district"]
  68. is_online = equip_list.is_online
  69. if district not in ["惠济区", "金水区"]:
  70. pass
  71. # print("设备所在地:", district)
  72. # if is_online == "0":
  73. # dap = [i,is_online,scd_data["at"],scd_data["ah"]]
  74. # print("离线的设备:",dap)
  75. # date.append(dap)
  76. # else:
  77. # da.append(i)
  78. # if scd_data["at"] == "25.0" and scd_data["ah"] == "30.0":
  79. # dape = [i, is_online, scd_data["at"], scd_data["ah"]]
  80. # datp.append(dape)
  81. else:
  82. # print(type(is_online))
  83. if is_online == "0":
  84. dat.append({"equip":i,"addr":district})
  85. else:
  86. da.append({"equip":i,"addr":district})
  87. except:
  88. data.append(i)
  89. # print("未在线设备个数:", len(dat))
  90. # print("在线设备个数:", len(da))
  91. print("未在线设备:", dat)
  92. print("在线设备:", da)
  93. # print(len(date))
  94. # print(len(dape))
  95. # for y in range(len(date)):
  96. # for i in range(len(date[y])):
  97. # sheet1.write(y+1, i, date[y][i])
  98. # book1.save("5.xlsx")
  99. # for y in range(len(datp)):
  100. # for i in range(len(datp[y])):
  101. # sheet2.write(y+1, i, datp[y][i])
  102. # book1.save("6.xlsx")
  103. # print("平台上未找到设备号", data)
  104. # print("在惠济区、金水区设备", dat)
  105. # ---------------------------------------------------------------
  106. # # 9.10号分配邱玲195台设备
  107. # username = MyUser.objects.get(username="南京睿泽生物技术有限公司")
  108. # book=xlrd.open_workbook('邱玲.xlsx')
  109. # sheet=book.sheet_by_name('Sheet1')
  110. # lists = sheet.col_values(0)#获取到整列的内容
  111. # datt = [] #已绑定用户
  112. # dat = [] #未找到设备号
  113. # for i in lists:
  114. # equip_list = Equip.objects.filter(equip_id=str(int(i)))
  115. # if equip_list:
  116. # for x in equip_list:
  117. # if x.equip_user:
  118. # datt.append(x.equip_id)
  119. # else:
  120. # x.equip_user = username
  121. # x.save()
  122. # else:
  123. # dat.append(str(int(i)))
  124. # print("设备已绑定用户=====",datt)
  125. # print("未找到设备号=====",dat)