test1.py 74 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889
  1. # from qcloudsms_py import SmsSingleSender
  2. # from qcloudsms_py.httpclient import HTTPError
  3. # from qcloudsms_py import SmsMultiSender
  4. import os
  5. import django
  6. import sys
  7. BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录
  8. sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir)))
  9. os.environ.setdefault("DJANGO_SETTINGS_MODULE",
  10. "yfwlw_pro.settings") # project_name 项目名称
  11. django.setup()
  12. import json
  13. import time
  14. import requests
  15. import datetime
  16. from apps.ReportManage.all_dict import mobile_list, insect_dict_new, qxz_dict
  17. from apps.AppInfoManage.models import Equip, Equip_type, CBDphoto, Msg_Send, Msg_Conf, Equip_SimInfo, SCDstatus, CBDstatus, RecentCBDdata, MyUser,JKphoto, BZYdata, QXZstatus,QXZdata,\
  18. QXZstatus_New, QXZ_Conf, QXZ_Default_Conf, MyUser, JKphoto, BZYphoto, QXZdata_New, Group, CBDstatus_all, Alarm_record
  19. from apps.SimInfo.views import get_siminfo
  20. import paho.mqtt.client as mqtt
  21. # 短信应用 SDK AppID
  22. appid = 1400227496 # SDK AppID 以1400开头
  23. # 短信应用 SDK AppKey
  24. appkey = "c9aba961bd30072f1e1b9272077abaea"
  25. from requests.auth import HTTPBasicAuth
  26. import xlrd, xlwt
  27. import random
  28. from django.db import transaction
  29. from django.db.models import Q
  30. from django.db.models import Count
  31. import math
  32. import os
  33. import urllib.parse
  34. import urllib.request
  35. import re
  36. from collections import Counter
  37. import datetime
  38. import oss2
  39. import threadpool
  40. # i = CBDstatus.objects.get(equip_id="867814040037265")
  41. # for i in CBDstatus.objects.all():
  42. # print("--->>lng",i.lng)
  43. # print("--->>lat",i.lat)
  44. # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  45. # auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
  46. auth = oss2.Auth('LTAI4G7tFh5Nk4KXZoSPk1D8', 'RV4S2SfbLPoFNjlI4uIOoA0J1LQPQc')
  47. # Endpoint以杭州为例,其它Region请按实际情况填写。
  48. # bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
  49. # bucket = oss2.Bucket(auth, 'https://cbdphoto.oss-cn-hangzhou.aliyuncs.com', 'cbdphoto')
  50. bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', 'cbdpic')
  51. # # 必须以二进制的方式打开文件,因为需要知道文件包含的字节数。
  52. # with open('./1.jpg', 'rb') as fileobj:
  53. # # Seek方法用于指定从第1000个字节位置开始读写。上传时会从您指定的第1000个字节位置开始上传,直到文件结束。
  54. # fileobj.seek(1000, os.SEEK_SET)
  55. # # Tell方法用于返回当前位置。
  56. # current = fileobj.tell()
  57. # bucket.put_object('2.jpg', fileobj)
  58. # aa = bucket.put_object_from_file('10/112234.jpg', '112233.jpg')
  59. # print(aa)
  60. def TimeStampToTime(timestamp):
  61. timeStruct = time.localtime(timestamp)
  62. str_p = time.strftime('%Y-%m-%d %H:%M:%S',timeStruct)
  63. dateTime_p = datetime.datetime.strptime(str_p,'%Y-%m-%d %H:%M:%S')
  64. return dateTime_p
  65. def get_FileCreateTime(filePath):
  66. # filePath = unicode(filePath,'utf8')
  67. t = os.path.getmtime(filePath)
  68. return TimeStampToTime(t)
  69. # for obj in oss2.ObjectIterator(bucket, prefix='202009/865650042837720/'):
  70. # addr = "https://bzypic.oss-cn-hangzhou.aliyuncs.com/" + obj.key
  71. # if BZYphoto.objects.filter(addr=addr).exists():
  72. # print("照片存在")
  73. # else:
  74. # print("照片不存在")
  75. # print(addr)
  76. # for x in Equip.objects.filter(equip_type=3):
  77. # imei = x.equip_id
  78. # equip_obj = x
  79. imei = "869300039256106"
  80. equip_obj = Equip.objects.get(equip_id=imei)
  81. file_dir = "../pyftp/ftp_file/ykm_cbd/%s"%imei
  82. for root, dirs, file in os.walk(file_dir):
  83. if file != [] and "jpg" in file[0]:
  84. # print("当前路径下所有非目录子文件>>",file)
  85. for i in file:
  86. pic_addr_1 = root + "/" + i
  87. pic_addr = pic_addr_1.replace("../","")
  88. picname_1 = get_FileCreateTime(pic_addr_1)
  89. # print("文件时间为",picname_1)
  90. # now = datetime.datetime.now()
  91. addr = pic_addr.split("/")[-1]
  92. if "ALARM_INPUT" in addr or "FACE_BACKGROUND" in addr or "FACE_SNAP" in addr or "MOTION_DETECTION" in addr or "ALARM_INP" in addr:
  93. # print("长addr",addr)
  94. _time = addr.split("_")[2][0:14]
  95. # print("------->>",len(_time))
  96. try:
  97. _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  98. except:
  99. print("时间转化错误alarm")
  100. print("----->>",addr)
  101. _time = picname_1
  102. # print("192.168的时间",pic_addr)
  103. # print("------->>",_time)
  104. # if i.upl_time.hour != _time.hour:
  105. # i.upl_time = _time
  106. # i.save()
  107. elif len(addr) == 18:
  108. _time = addr.split(".")[0][0:14]
  109. _time = _time.split("\r")[0]
  110. try:
  111. _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  112. except:
  113. print("时间转化错误18")
  114. print("----->>",addr)
  115. _time = picname_1
  116. # print("len=18的时间",pic_addr)
  117. # print("------->>",_time)
  118. elif len(addr) == 35:
  119. _time = addr.split("-")[1] + addr.split("-")[2]
  120. _time = _time.split(".")[0]
  121. try:
  122. _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  123. except:
  124. print("时间转化错误18")
  125. print("----->>",addr)
  126. _time = picname_1
  127. # print("len=18的时间",pic_addr)
  128. # print("------->>",_time)
  129. elif ":" in addr:
  130. _year_month = pic_addr.split("/")[-2]
  131. _day = addr.split(".")[0]
  132. _time = _year_month + _day
  133. try:
  134. _time = datetime.datetime.strptime(_time,'%Y%m%d%H:%M:%S')
  135. except:
  136. print("时间转化错误 :")
  137. print("----->>",addr)
  138. _time = get_FileCreateTime(pic_addr_1)
  139. # print("带:的时间",pic_addr)
  140. # print("------->>",_time)
  141. elif "-" in addr and len(addr) < 15:
  142. _year_month = pic_addr.split("/")[-2]
  143. _day = addr.split(".")[0]
  144. _time = _year_month + _day
  145. try:
  146. _time = datetime.datetime.strptime(_time,'%Y%m%d%H-%M-%S')
  147. except:
  148. print("时间转化错误-")
  149. print("----->>",addr)
  150. _time = get_FileCreateTime(pic_addr_1)
  151. # print("带-的时间",pic_addr)
  152. # print("------->>",_time)
  153. elif len(addr) == 10:
  154. _year_month = pic_addr.split("/")[-2]
  155. _day = addr.split(".")[0]
  156. _time = _year_month + _day
  157. try:
  158. _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  159. except:
  160. print("时间转化错误10")
  161. print("----->>",pic_addr)
  162. _time = get_FileCreateTime(pic_addr_1)
  163. # print("len=10的时间",pic_addr)
  164. # print("------->>",_time)
  165. elif "-" in addr and len(addr) > 15:
  166. _addr = addr.split('.')[-2]
  167. _addr = _addr.split('-')
  168. _time = _addr[-2] + _addr[-1]
  169. try:
  170. _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  171. except:
  172. print("时间转化错误--")
  173. print("----->>",pic_addr)
  174. _time = get_FileCreateTime(pic_addr_1)
  175. else:
  176. print("其他addr",addr)
  177. print("其他",pic_addr)
  178. _time = get_FileCreateTime(pic_addr_1)
  179. # time.sleep(1)
  180. if _time.year == 1970:
  181. _time = get_FileCreateTime(pic_addr_1)
  182. strnow = datetime.datetime.strftime(_time,'%Y%m')
  183. picname = datetime.datetime.strftime(_time,'%Y%m%d%H%M%S')
  184. # # bucket_pic = bucket.put_object_from_file(strnow + '/' + imei + '/'+ picname + '.jpg', pic_addr_1)
  185. # print("图片数据库路径为pic_addr",pic_addr)
  186. # new_addr = "https://cbdpic.oss-cn-hangzhou.aliyuncs.com/" + strnow + '/' + imei + '/'+ picname + '.jpg'
  187. new_addr = "http://cbd.yfpyx.com/" + imei + '/' + strnow + '/'+ picname + '.jpg'
  188. exist = bucket.object_exists(imei + '/' + strnow + '/'+ picname + '.jpg')
  189. if exist:
  190. print('object exist')
  191. if CBDphoto.objects.filter(addr=pic_addr).exists():
  192. if CBDphoto.objects.filter(addr=new_addr).exists():
  193. pass
  194. else:
  195. data_obj = RecentCBDdata.objects.get(equip_id=equip_obj)
  196. # CBDphoto.objects.create(equip_id=equip_obj,addr=new_addr,upl_time=_time)
  197. CBDphoto.objects.filter(addr=pic_addr).update(addr=new_addr)
  198. # os.remove(pic_addr_1)
  199. print("图片删除成功")
  200. print("数据库创建链接成功")
  201. else:
  202. if CBDphoto.objects.filter(addr=new_addr).exists():
  203. pass
  204. else:
  205. data_obj = RecentCBDdata.objects.get(equip_id=equip_obj)
  206. # CBDphoto.objects.create(equip_id=equip, addr=img_addr,at=eval(data_obj.cbd_data)['at'],ah=eval(data_obj.cbd_data)['ah'])
  207. CBDphoto.objects.create(equip_id=equip_obj,addr=new_addr,upl_time=_time,at=eval(data_obj.cbd_data)['at'],ah=eval(data_obj.cbd_data)['ah'])
  208. # os.remove(pic_addr_1)
  209. print("图片删除成功")
  210. else:
  211. print('object not exist')
  212. bucket_pic = bucket.put_object_from_file(imei + '/' + strnow + '/'+ picname + '.jpg', pic_addr_1)
  213. print("----------->>>",bucket_pic)
  214. if CBDphoto.objects.filter(addr=pic_addr).exists():
  215. if CBDphoto.objects.filter(addr=new_addr).exists():
  216. pass
  217. else:
  218. data_obj = RecentCBDdata.objects.get(equip_id=equip_obj)
  219. # CBDphoto.objects.create(equip_id=equip, addr=img_addr,at=eval(data_obj.cbd_data)['at'],ah=eval(data_obj.cbd_data)['ah'])
  220. CBDphoto.objects.filter(addr=pic_addr).update(addr=new_addr)
  221. # os.remove(pic_addr_1)
  222. print("图片删除成功")
  223. else:
  224. if CBDphoto.objects.filter(addr=new_addr).exists():
  225. pass
  226. else:
  227. data_obj = RecentCBDdata.objects.get(equip_id=equip_obj)
  228. # CBDphoto.objects.create(equip_id=equip, addr=img_addr,at=eval(data_obj.cbd_data)['at'],ah=eval(data_obj.cbd_data)['ah'])
  229. CBDphoto.objects.create(equip_id=equip_obj,addr=new_addr,upl_time=_time,at=eval(data_obj.cbd_data)['at'],ah=eval(data_obj.cbd_data)['ah'])
  230. # os.remove(pic_addr_1)
  231. print("图片删除成功")
  232. # BZYphoto.objects.create(equip_id=imei,addr=new_addr,upl_time=picname)
  233. print("oss传输成功")
  234. # pool = threadpool.ThreadPool(2)
  235. # req = threadpool.makeRequests(get_image_result, data)
  236. # [pool.putRequest(req) for req in req]
  237. # pool.wait()
  238. # addr = pic_addr.split("/")[-1]
  239. # if "192.168" in addr:
  240. # print("长addr",addr)
  241. # _time = addr.split("_")[2][0:14]
  242. # print("------->>",len(_time))
  243. # try:
  244. # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  245. # except:
  246. # continue
  247. # print(_time)
  248. # # if i.upl_time.hour != _time.hour:
  249. # # i.upl_time = _time
  250. # # i.save()
  251. # elif len(addr) == 18:
  252. # print("短addr",addr)
  253. # _time = addr.split(".")[0][0:14]
  254. # print("------->>",len(_time))
  255. # _time = _time.split("\r")[0]
  256. # try:
  257. # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  258. # except:
  259. # continue
  260. # print("文件链接为",pic_addr_1)
  261. # # picname_1 = get_FileCreateTime(pic_addr_1)
  262. # print("文件时间为",picname_1)
  263. # now = datetime.datetime.now()
  264. # strnow = datetime.datetime.strftime(_time,'%Y%m')
  265. # picname = datetime.datetime.strftime(_time,'%Y%m%d%H%M%S')
  266. # bucket_pic = bucket.put_object_from_file(strnow + '/' + imei + '/'+ picname + '.jpg', pic_addr_1)
  267. # print("图片数据库路径为pic_addr",pic_addr)
  268. # new_addr = "https://bzypic.oss-cn-hangzhou.aliyuncs.com/" + strnow + '/' + imei + '/'+ picname + '.jpg'
  269. # exist = bucket.object_exists(strnow + '/' + imei + '/'+ picname + '.jpg')
  270. # if BZYphoto.objects.filter(addr=pic_addr).exists():
  271. # print("照片存在")
  272. # print("新的照片路径为",new_addr)
  273. # # 返回值为true表示文件存在,false表示文件不存在。
  274. # if exist:
  275. # if BZYphoto.objects.filter(addr=new_addr).exists():
  276. # BZYphoto.objects.filter(addr=new_addr).update(equip_id=equip_obj,upl_time=_time)
  277. # print('object exist')
  278. # BZYphoto.objects.filter(addr=pic_addr).update(equip_id=equip_obj,addr=new_addr,upl_time=_time)
  279. # else:
  280. # BZYphoto.objects.filter(addr=pic_addr).update(equip_id=equip_obj,addr=new_addr,upl_time=_time)
  281. # bucket_pic = bucket.put_object_from_file(strnow + '/' + imei + '/'+ picname + '.jpg', pic_addr_1)
  282. # print("oss传输成功")
  283. # print('object not exist')
  284. # else:
  285. # print("照片不存在")
  286. # # print("图片时间为",get_FileCreateTime(picname))
  287. # if exist:
  288. # if BZYphoto.objects.filter(addr=new_addr).exists():
  289. # BZYphoto.objects.filter(addr=new_addr).update(equip_id=equip_obj,upl_time=_time)
  290. # else:
  291. # print('object exist')
  292. # BZYphoto.objects.create(equip_id=equip_obj,addr=new_addr,upl_time=_time)
  293. # else:
  294. # if BZYphoto.objects.filter(addr=new_addr).exists():
  295. # BZYphoto.objects.filter(addr=new_addr).update(equip_id=equip_obj,upl_time=_time)
  296. # else:
  297. # print('object exist')
  298. # BZYphoto.objects.create(equip_id=equip_obj,addr=new_addr,upl_time=_time)
  299. # # BZYphoto.objects.create(equip_id=imei,addr=new_addr,upl_time=picname)
  300. # bucket_pic = bucket.put_object_from_file(strnow + '/' + imei + '/'+ picname + '.jpg', pic_addr_1)
  301. # print("oss传输成功")
  302. # print('object not exist')
  303. # if CBDphoto.objects.filter(addr=pic_addr).exists():
  304. # print("照片存在")
  305. # else:
  306. # print("图片时间为",get_FileCreateTime(pic_addr_1))
  307. # print("!!!未发现照片入库")
  308. # print("当前图片路径为pic_addr",pic_addr)
  309. # print("最外层文件夹",root)
  310. # print("当前目录路径>>",root) #当前目录路径
  311. # print("当前路径下所有子目录>>",dirs) #当前路径下所有子目录
  312. # print("当前路径下所有非目录子文件>>",file) #当前路径下所有非目录子文件
  313. # if dirs == []:
  314. # if file == []:
  315. # print("当前目录路径>>",root) #当前目录路径
  316. # print("当前路径下所有子目录>>",dirs) #当前路径下所有子目录
  317. # print("当前路径下所有非目录子文件>>",file) #当前路径下所有非目录子文件
  318. # print(imei)
  319. # print("当前路径下所有非目录子文件>>",file)
  320. # print("当前目录------->>",root)
  321. # for roots, dirss, files in os.walk(root):
  322. # print("当前目录路径>>",roots) #当前目录路径
  323. # print("当前路径下所有子目录>>",dirss) #当前路径下所有子目录
  324. # print("当前路径下所有非目录子文件>>",files) #当前路径下所有非目录子文件
  325. # imei = "868956044786428"
  326. # equip_obj = Equip.objects.get(equip_id=imei)
  327. # file_dir = "../pyftp/ftp_file/ykm_cbd/%s"%imei
  328. # for root, dirs, files in os.walk(file_dir):
  329. # print(root)
  330. # # print("当前目录------->>",root)
  331. # for roots, dirss, file in os.walk(root):
  332. # print("当前目录路径>>",roots) #当前目录路径
  333. # print("当前路径下所有子目录>>",dirs) #当前路径下所有子目录
  334. # print("当前路径下所有非目录子文件>>",file) #当前路径下所有非目录子文件
  335. # if file != []:
  336. # for i in file:
  337. # photo_addr = roots + "/" + i
  338. # photo_addr = photo_addr.replace("../","")
  339. # print(photo_addr)
  340. # if CBDphoto.objects.filter(addr=photo_addr).exists():
  341. # print("照片存在")
  342. # pass
  343. # else:
  344. # # addr = photo_addr
  345. # addr = photo_addr.split("/")[-1]
  346. # if "192.168" in addr:
  347. # print("长addr",addr)
  348. # _time = addr.split("_")[2][0:14]
  349. # print("------->>",len(_time))
  350. # try:
  351. # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  352. # except:
  353. # continue
  354. # print(_time)
  355. # # if i.upl_time.hour != _time.hour:
  356. # # i.upl_time = _time
  357. # # i.save()
  358. # elif len(addr) == 18:
  359. # print("短addr",addr)
  360. # _time = addr.split(".")[0][0:14]
  361. # print("------->>",len(_time))
  362. # _time = _time.split("\r")[0]
  363. # try:
  364. # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  365. # except:
  366. # continue
  367. # print(_time)
  368. # # if i.upl_time.hour != _time.hour:
  369. # # i.upl_time = _time
  370. # # i.save()
  371. # print("图片时间为",_time)
  372. # print("图片链接为",photo_addr)
  373. # CBDphoto.objects.create(equip_id=equip_obj,addr=photo_addr,upl_time=_time)
  374. # print('=================================================')
  375. # bzy_list = BZYphoto.objects.filter(equip_id=865650043206644)
  376. # for i in bzy_list:
  377. # if i.upl_time.hour == 17 and i.upl_time.minute == 0:
  378. # print(i.upl_time)
  379. # i.delete()
  380. # for i in BZYphoto.objects.all():
  381. # addr = i.addr.split("/")[-1]
  382. # if "192.168" in addr:
  383. # print("长addr",addr)
  384. # _time = addr.split("_")[2][0:14]
  385. # print("------->>",len(_time))
  386. # try:
  387. # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  388. # except:
  389. # continue
  390. # print(_time)
  391. # if i.upl_time.hour != _time.hour:
  392. # i.upl_time = _time
  393. # i.save()
  394. # elif len(addr) == 18:
  395. # print("短addr",addr)
  396. # _time = addr.split(".")[0][0:14]
  397. # print("------->>",len(_time))
  398. # _time = _time.split("\r")[0]
  399. # try:
  400. # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
  401. # except:
  402. # continue
  403. # print(_time)
  404. # if i.upl_time.hour != _time.hour:
  405. # i.upl_time = _time
  406. # i.save()
  407. # qxz_list = QXZdata_New.objects.filter(equip_id=16064789)[0]
  408. # # for i in qxz_list:
  409. # print(qxz_list.upl_time)
  410. # QXZstatus_New.objects.filter(equip_id=16064789).update(upl_time=qxz_list.upl_time)
  411. # e_id = "868956048888824"
  412. # alarm_list = Alarm_record.objects.all()
  413. # for i in alarm_list:
  414. # # status = eval(i.cbd_status)
  415. # i.e_type = i.equip_id.equip_type.type_id
  416. # i.save()
  417. # alarm_list = Alarm_record.objects.filter(alarm_desc="{'status':0,'type':'offline'}").values().annotate(count=Count('equip_id_id')).values('equip_id_id','count')
  418. # for i in alarm_list:
  419. # print(i)
  420. # _list = []
  421. # equip_list = Equip.objects.filter(Q(equip_type="2") | Q(equip_type="3") | Q(equip_type="4") | Q(equip_type="5"))
  422. # for i in equip_list:
  423. # a_list = Alarm_record.objects.filter(equip_id=i)
  424. # a_list.update(e_type=str(i.equip_type_id))
  425. # print("---------",i)
  426. # print("---------")
  427. # # print(type(alarm_list))
  428. # # for i in alarm_list:
  429. # # _list.append(i['equip_id_id'])
  430. # # print(alarm_list)
  431. # # print(_list)
  432. # b = Counter(alarm_list)
  433. # # # for xx in b:
  434. # # # print(xx)
  435. # # print(type(b))
  436. # print(sorted(b.elements()))
  437. # devices = Alarm_record.objects.filter(alarm_desc="{'status':0,'type':'offline'}")
  438. # # print(devices)
  439. # # print(devices.count())
  440. # data = {}
  441. # for i in devices:
  442. # data.setdefault(i.equip_id_id,[]).append(i.alarm_desc)
  443. # values = {}
  444. # for k,v in data.items():
  445. # values[k] = len(v)
  446. # print(values)
  447. # print(i.equip_id.equip_type.type_id)
  448. # cbd_list = CBDstatus.objects.all()
  449. # for i in cbd_list:
  450. # if i.is_online == "1":
  451. # # print("上报时间",i.upl_time)
  452. # # print("数据时间",RecentCBDdata.objects.get(equip_id=i.equip_id).upl_time)
  453. # aa = i.upl_time
  454. # try:
  455. # bb = RecentCBDdata.objects.get(equip_id=i.equip_id).upl_time
  456. # except:
  457. # continue
  458. # print("状态时间",aa.year,aa.month,aa.day)
  459. # print("数据时间",bb.year,bb.month,bb.day)
  460. # if aa.year != 2020 or aa.month != 6 or aa.day != 28:
  461. # print("执行!")
  462. # staobj = CBDstatus.objects.filter(equip_id=Equip.objects.get(equip_id=i.equip_id))
  463. # # staobj.is_online = "0"
  464. # staobj.update(is_online="0")
  465. # staobj.update(off_time=RecentCBDdata.objects.get(equip_id=i.equip_id).upl_time)
  466. # if aa.year != bb.year or aa.month != bb.month or aa.day != bb.day:
  467. # print("执行!")
  468. # staobj = CBDstatus.objects.filter(equip_id=Equip.objects.get(equip_id=i.equip_id))
  469. # staobj.update(upl_time=RecentCBDdata.objects.get(equip_id=i.equip_id).upl_time)
  470. # aa = CBDstatus.objects.filter(equip_id=Equip.objects.get(equip_id=i.equip_id))
  471. # aa.update(upl_time=i.off_time)
  472. # lists = ["865650044457725"]
  473. # equip = Equip.objects.get(equip_id="868956044831315")
  474. # print(equip)
  475. # photo_addr = " pyftp/ftp_file/bzy_photo/865650043208251/202004/192.168.1.100_01_20200430170516558_ALARM_I.jpg"
  476. # bzys = BZYphoto.objects.create(equip_id=equip, addr=photo_addr)
  477. # print("照片不存在")
  478. # if equip.ftb_addr:
  479. # data = {
  480. # "Image":bzys.addr,
  481. # "imei":bzys.equip_id,
  482. # }
  483. # data = json.dumps(data)
  484. # headers = {"Content-type":"application/json"}
  485. # bzy_photo = requests.post(equip.ftb_addr,data=data,headers=headers)
  486. # book=xlrd.open_workbook('昆虫标定2020.xlsx')
  487. # # book=xlrd.open_workbook('工作表.xlsx')
  488. # # sheet=book.sheet_by_index(0)
  489. # # print(sheet.head())
  490. # sheet=book.sheet_by_name('Sheet1') #根据 sheet名称来
  491. # print(sheet)
  492. # # print(sheet.nrows) #excel里面有多少行
  493. # # print(sheet.ncols) #excel里面有多少列
  494. # # print(sheet.cell(0,12).value) #获取第0行第0列的值
  495. # # print(sheet.row_values(0)) #获取到整行的内容
  496. # # lists = sheet.col_values(21)#获取到整列的内容
  497. # lis = sheet.col_values(0)#获取到整列的内容
  498. # data = []
  499. # date = []
  500. # nu = 0
  501. # for i in lis:
  502. # nu += 1
  503. # lists = re.findall(r'\d+',i)
  504. # data.append(insect_dict_new[lists[0]])
  505. # date.append(lists[1])
  506. # # print(re.findall(r"\d+\.?\d*",i)
  507. # wb = xlwt.Workbook(encoding='utf8')
  508. # sheet = wb.add_sheet('order-sheet',cell_overwrite_ok=True)
  509. # style_heading = xlwt.easyxf()
  510. # # 写入文件标题
  511. # sheet.write(0, 0, '害虫名字', style_heading)
  512. # sheet.write(0, 1, '害虫数量', style_heading)
  513. # data_row = 1
  514. # nu = 0
  515. # for x in range(len(data)):
  516. # sheet.write(data_row, 0, data[x])
  517. # sheet.write(data_row, 1, date[x])
  518. # data_row += 1
  519. # # 写入数据 保存到本地
  520. # user_export = "sexport_file/"
  521. # if os.path.exists(user_export) == False:
  522. # os.makedirs(user_export)
  523. # wb.save(user_export + "昆虫统计表" + ".xls")
  524. # now_time = datetime.datetime.now()
  525. # data = ["865650043206719","865650043207865","865650043189378","865650043202718","865650043206834","865650043207329"]
  526. # def test(imei):
  527. # print(imei)
  528. # # 创建一个文件对象
  529. # wb = xlwt.Workbook(encoding='utf8')
  530. # # 创建一个sheet对象
  531. # end_time = "2020-02-01"
  532. # sheet = wb.add_sheet('order-sheet',cell_overwrite_ok=True)
  533. # cbd_list = CBDphoto.objects.filter(equip_id=imei,upl_time__range=(end_time,now_time))
  534. # print(len(cbd_list))
  535. # #设置文件头的样式,这个不是必须的可以根据自己的需求进行更改
  536. # style_heading = xlwt.easyxf("""
  537. # font:
  538. # name Arial,
  539. # colour_index white,
  540. # bold on,
  541. # height 0xA0;
  542. # align:
  543. # wrap off,
  544. # vert center,
  545. # horiz center;
  546. # pattern:
  547. # pattern solid,
  548. # fore-colour 0x19;
  549. # borders:
  550. # left THIN,
  551. # right THIN,
  552. # top THIN,
  553. # bottom THIN;
  554. # """)
  555. # # 写入文件标题
  556. # sheet.write(0, 0, '设备id', style_heading)
  557. # sheet.write(0, 1, '上传时间', style_heading)
  558. # sheet.write(0, 2, '图片路径', style_heading)
  559. # sheet.write(0, 3, '识别结果', style_heading)
  560. # data_row = 1
  561. # for x in cbd_list:
  562. # pri_time = x.upl_time.strftime('%Y-%m-%d %H:%M:%S')
  563. # sheet.write(data_row, 0, x.equip_id.equip_id)
  564. # sheet.write(data_row, 1, pri_time)
  565. # sheet.write(data_row, 2, x.addr.split("/")[-1])
  566. # sheet.write(data_row, 3, x.indentify_result)
  567. # data_row += 1
  568. # # 写入数据 保存到本地
  569. # user_export = "sexport_file/"
  570. # if os.path.exists(user_export) == False:
  571. # os.makedirs(user_export)
  572. # wb.save(user_export + imei + ".xls")
  573. # if __name__ == '__main__':
  574. # for i in data:
  575. # test(i)
  576. # dat = []
  577. # user_data = user_export + user_name.username + ".xls"
  578. # dat.append({"file": user_data})
  579. # data = json.dumps(dat)
  580. # return HttpResponse(data)
  581. # scd_list = SCDstatus.objects.all()
  582. # cbd_list = CBDstatus.objects.all()
  583. # _list = []
  584. # for i in scd_list:
  585. # if i.lng:
  586. # try:
  587. # res = requests.post("http://api.map.baidu.com/geocoder?location=%s,%s&coord_type=gcj02&output=json"%(i.lat,i.lng))
  588. # city = (eval(res.text))["result"]["addressComponent"]["city"]
  589. # district = (eval(res.text))["result"]["addressComponent"]["district"]
  590. # print(city)
  591. # except:
  592. # continue
  593. # _list.append({"name1":city,"name2":district,"type":2,"equipId":i.equip_id_id,"equipName":i.equip_id.equip_name,"lng":i.lng,"lat":i.lat})
  594. # print(_list)
  595. # title = ["name1","name2","type","equipId","equipName","lng","lat"]
  596. # book = xlwt.Workbook() # 创建一个excel对象
  597. # sheet = book.add_sheet('Sheet1',cell_overwrite_ok=True) # 添加一个sheet页
  598. # for i in range(len(title)): # 遍历列
  599. # # sheet.write(0,i,title[i],style) # 将title数组中的字段写入到0行i列中
  600. # sheet.write(0,i,title[i]) # 将title数组中的字段写入到0行i列中
  601. # # print(sta2)
  602. # for xx in range(len(_list)): # 遍历列表
  603. # sheet.write(xx+1,0,_list[xx]['name1']) # 将equip_id写入到第x+1行,第0列中
  604. # sheet.write(xx+1,1,_list[xx]['name2'])
  605. # sheet.write(xx+1,2,_list[xx]['type'])
  606. # sheet.write(xx+1,3,_list[xx]['equipId'])
  607. # sheet.write(xx+1,4,_list[xx]['equipName'])
  608. # sheet.write(xx+1,5,_list[xx]['lng'])
  609. # sheet.write(xx+1,6,_list[xx]['lat'])
  610. # book.save("654321.xlsx")
  611. # book = xlrd.open_workbook('2020.xlsx')
  612. # sheet=book.sheet_by_name('Sheet2')
  613. # lists = sheet.col_values(0)#获取到整列的内容
  614. # # print(lists)
  615. # user_name = MyUser.objects.get(username="sgnyj")
  616. # list1 = []
  617. # list2 = []
  618. # for i in lists:
  619. # try:
  620. # equip_obj = Equip.objects.get(equip_id=i)
  621. # list1.append(i)
  622. # except Exception as e:
  623. # # print(e)
  624. # list2.append(i)
  625. # print(len(list2))
  626. # print(len(list1))
  627. # lists = []
  628. # for i in list1:
  629. # equip_obj = Equip.objects.get(equip_id=i)
  630. # if equip_obj.equip_user == user_name:
  631. # pass
  632. # elif equip_obj.equip_user:
  633. # print(equip_obj)
  634. # lists.append(equip_obj)
  635. # else:
  636. # equip_obj.equip_user = user_name
  637. # equip_obj.save()
  638. # print(lists)
  639. # print(equip_obj)
  640. # if equip_obj.exists():
  641. # pass
  642. # else:
  643. # print(equip_obj.equip_user)
  644. # # list3 = []
  645. # for i in list2:
  646. # try:
  647. # equip_obj = Equip.objects.get(equip_id=i)
  648. # list3.append(i)
  649. # except Exception as e :
  650. # for i in list1:
  651. # equip_obj = Equip.objects.filter(equip_id=i,equip_user=user_name)
  652. # if equip_obj:
  653. # pass
  654. # else:
  655. # pass
  656. # data = []
  657. # for x in Equip.objects.filter(equip_user=MyUser.objects.get(username="sgnyj")):
  658. # data.append(x.equip_id)
  659. # print(len(data))
  660. # print(len(_list1))
  661. # for xx in _list1:
  662. # if xx not in data:
  663. # print(xx)
  664. # cbdgroup = Group.objects.get(name='测报灯用户')
  665. # # obj = Group.models.get(b_name='xxx')
  666. # uname_obj = MyUser.objects.filter(groups=cbdgroup)
  667. # # groups = Group.objects.filter(user=uname_obj)
  668. # print(uname_obj)
  669. # for i in uname_obj:
  670. # print(i.username)
  671. # while True:
  672. # strtmp = os.popen("systemctl status py_ftp_server.service")
  673. # #print(type(strtmp))
  674. # cmdback = strtmp.read()
  675. # # print("----->>",cmdback)
  676. # if "running" in cmdback:
  677. # print("服务正常运行")
  678. # elif "failed" in cmdback:
  679. # # 需要发送短信的手机号码
  680. # phone_numbers = ["13733763561","18258845915","15225155092"]
  681. # # 短信模板ID,需要在短信控制台中申请
  682. # template_id = 579944 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
  683. # # 签名
  684. # sms_sign = "云飞科技" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
  685. # msender = SmsMultiSender(appid, appkey)
  686. # params = ["ftp",]
  687. # try:
  688. # result = msender.send_with_param(86, phone_numbers,
  689. # template_id, params, sign=sms_sign, extend="", ext="")
  690. # except HTTPError as e:
  691. # print(e)
  692. # except Exception as e:
  693. # print(e)
  694. # print(result)
  695. # print("----发送成功")
  696. # print("服务异常!!!")
  697. # time.sleep(60)
  698. # cbdgroup = Group.objects.get(name='测报灯用户')
  699. # aobj = obj.author_set()
  700. # # 如果你使用了如我上面的related_name='auth' 别名属性,就可以
  701. # # user_list = cbdgroup.myuser.all()
  702. # print(user_list)
  703. # print(random.randint(10,30))
  704. # cbd_list = CBDstatus.objects.all()
  705. # for xx in cbd_list:
  706. # imei = xx.equip_id_id
  707. # e1 = ''
  708. # e2 = ''
  709. # e3 = ''
  710. # e4 = ''
  711. # e5 = ''
  712. # e6 = ''
  713. # e7 = ''
  714. # e8 = ''
  715. # e9 = ''
  716. # e10 = ''
  717. # e11 = ''
  718. # e12 = ''
  719. # e13 = ''
  720. # e14 = ''
  721. # e15 = ''
  722. # e16 = ''
  723. # e17 = ''
  724. # e18 = ''
  725. # e19 = ''
  726. # e20 = ''
  727. # e21 = ''
  728. # e22 = ''
  729. # e23 = ''
  730. # e24 = ''
  731. # e25 = ''
  732. # e26 = ''
  733. # e27 = ''
  734. # e28 = ''
  735. # e29 = ''
  736. # e30 = ''
  737. # conf1 = ''
  738. # conf2 = ''
  739. # conf3 = ''
  740. # conf4 = ''
  741. # conf5 = ''
  742. # conf6 = ''
  743. # conf7 = ''
  744. # conf8 = ''
  745. # conf9 = ''
  746. # conf10 = ''
  747. # conf11 = ''
  748. # conf12 = ''
  749. # conf13 = ''
  750. # conf14 = ''
  751. # conf15 = ''
  752. # conf16 = ''
  753. # conf17 = ''
  754. # conf18 = ''
  755. # conf19 = ''
  756. # conf20 = ''
  757. # conf21 = ''
  758. # conf22 = ''
  759. # conf23 = ''
  760. # conf24 = ''
  761. # conf25 = ''
  762. # conf26 = ''
  763. # conf27 = ''
  764. # conf28 = ''
  765. # conf29 = ''
  766. # conf30 = ''
  767. # qxz_list = Equip.objects.filter(equip_type=5)
  768. # for xx in qxz_list:
  769. # equip_id = xx.equip_id
  770. # # time.sleep(10)
  771. # # equip_id = "16064781"
  772. # # equip_id = "16064809"
  773. # # equip_id = "18054384"
  774. # # equip_id = "16064783"
  775. # # equip_id = "16064789"
  776. # # equip_id = "16064808"
  777. # # equip_id = "16064784"
  778. # # equip_id = "16064781"
  779. # for x in QXZdata.objects.filter(equip_id=equip_id):
  780. # e_id = eval(x.qxz_data)['StationID']
  781. # upl_time = x.upl_time
  782. # # qxz_picture = QXZdata.objects.get(equip_id=e_id).qxz_picture
  783. # qxzdata = eval(x.qxz_data)['data']
  784. # # print(qxzdata)
  785. # for i in qxzdata:
  786. # if i['eKey'] == 'e1':
  787. # e1 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  788. # if e1[0] == "#":
  789. # continue
  790. # elif i['eKey'] == 'e2':
  791. # e2 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  792. # if e2[0] == "#":
  793. # continue
  794. # elif i['eKey'] == 'e3':
  795. # e3 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  796. # if e3[0] == "#":
  797. # continue
  798. # elif i['eKey'] == 'e4':
  799. # e4 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  800. # if e4[0] == "#":
  801. # continue
  802. # elif i['eKey'] == 'e5':
  803. # e5 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  804. # if e5[0] == "#":
  805. # continue
  806. # elif i['eKey'] == 'e6':
  807. # e6 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  808. # if e6[0] == "#":
  809. # continue
  810. # elif i['eKey'] == 'e7':
  811. # e7 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  812. # if e7[0] == "#":
  813. # continue
  814. # elif i['eKey'] == 'e8':
  815. # e8 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  816. # if e8[0] == "#":
  817. # continue
  818. # elif i['eKey'] == 'e9':
  819. # e9 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  820. # if e9[0] == "#":
  821. # continue
  822. # elif i['eKey'] == 'e10':
  823. # e10 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  824. # if e10[0] == "#":
  825. # continue
  826. # elif i['eKey'] == 'e11':
  827. # e11 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  828. # if e11[0] == "#":
  829. # continue
  830. # elif i['eKey'] == 'e12':
  831. # e12 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  832. # if e12[0] == "#":
  833. # continue
  834. # elif i['eKey'] == 'e13':
  835. # e13 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  836. # if e13[0] == "#":
  837. # continue
  838. # elif i['eKey'] == 'e14':
  839. # e14 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  840. # if e14[0] == "#":
  841. # continue
  842. # elif i['eKey'] == 'e15':
  843. # e15 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  844. # if e15[0] == "#":
  845. # continue
  846. # elif i['eKey'] == 'e16':
  847. # e16 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  848. # if e16[0] == "#":
  849. # continue
  850. # elif i['eKey'] == 'e17':
  851. # e17 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  852. # if e17[0] == "#":
  853. # continue
  854. # elif i['eKey'] == 'e18':
  855. # e18 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  856. # if e18[0] == "#":
  857. # continue
  858. # elif i['eKey'] == 'e19':
  859. # e19 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  860. # if e19[0] == "#":
  861. # continue
  862. # elif i['eKey'] == 'e20':
  863. # e20 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  864. # if e20[0] == "#":
  865. # continue
  866. # elif i['eKey'] == 'e21':
  867. # e21 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  868. # if e21[0] == "#":
  869. # continue
  870. # elif i['eKey'] == 'e22':
  871. # e22 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  872. # if e22[0] == "#":
  873. # continue
  874. # elif i['eKey'] == 'e23':
  875. # e23 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  876. # if e23[0] == "#":
  877. # continue
  878. # elif i['eKey'] == 'e24':
  879. # e24 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  880. # if e24[0] == "#":
  881. # continue
  882. # elif i['eKey'] == 'e25':
  883. # e25 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  884. # if e25[0] == "#":
  885. # continue
  886. # elif i['eKey'] == 'e26':
  887. # e26 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  888. # if e26[0] == "#":
  889. # continue
  890. # elif i['eKey'] == 'e27':
  891. # e27 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  892. # if e27[0] == "#":
  893. # continue
  894. # elif i['eKey'] == 'e28':
  895. # e28 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  896. # if e28[0] == "#":
  897. # continue
  898. # elif i['eKey'] == 'e29':
  899. # e29 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  900. # if e29[0] == "#":
  901. # continue
  902. # elif i['eKey'] == 'e30':
  903. # e30 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
  904. # if e30[0] == "#":
  905. # continue
  906. # if QXZdata_New.objects.filter(equip_id=e_id,upl_time=upl_time).exists():
  907. # print("------create default-------")
  908. # else:
  909. # QXZdata_New.objects.create(equip_id_id=e_id,
  910. # e1=e1,e2=e2,e3=e3,e4=e4,e5=e5,e6=e6,e7=e7,e8=e8,e9=e9,e10=e10,
  911. # e11=e11,e12=e12,e13=e13,e14=e14,e15=e15,e16=e16,e17=e17,e18=e18,e19=e19,e20=e20,
  912. # e21=e21,e22=e22,e23=e23,e24=e24,e25=e25,e26=e26,e27=e27,e28=e28,e29=e29,e30=e30,
  913. # upl_time=upl_time)
  914. # print("------create success-------")
  915. # e1 = ''
  916. # e2 = ''
  917. # e3 = ''
  918. # e4 = ''
  919. # e5 = ''
  920. # e6 = ''
  921. # e7 = ''
  922. # e8 = ''
  923. # e9 = ''
  924. # e10 = ''
  925. # e11 = ''
  926. # e12 = ''
  927. # e13 = ''
  928. # e14 = ''
  929. # e15 = ''
  930. # e16 = ''
  931. # e17 = ''
  932. # e18 = ''
  933. # e19 = ''
  934. # e20 = ''
  935. # e21 = ''
  936. # e22 = ''
  937. # e23 = ''
  938. # e24 = ''
  939. # e25 = ''
  940. # e26 = ''
  941. # e27 = ''
  942. # e28 = ''
  943. # e29 = ''
  944. # e30 = ''
  945. #--------------------------------------------------------------------------------------------------------------
  946. # file_dir = "pyftp/ftp_file/bzy_photo/865650042816179"
  947. # print("file_dir",file_dir)
  948. # for root, dirs, files in os.walk(file_dir):
  949. # # print("root-------------->>",root) #当前目录路径
  950. # # print("子目录文件dirs=======>>",dirs) #当前路径下所有子目录
  951. # # print("非子目录文件files========>>",files) #当前路径下所有非目录子文件
  952. # for i in files:
  953. # # if len(i) == 45:
  954. # file = root + "/" + i
  955. # # st = root.split("/")[-1] + i.split(".")[0]
  956. # st = i.split(".")[3].split("_")[2][0:14]
  957. # print("st",st)
  958. # print("file====>>",file)
  959. # try:
  960. # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H%M%S")
  961. # except Exception as eeex:
  962. # print("错误信息为",eeex)
  963. # continue
  964. # # if JKphoto.objects.filter(addr=file).exists():
  965. # # photoobj = JKphoto.objects.get(addr=file)
  966. # # photoobj.upl_time = pic_time
  967. # # photoobj.save()
  968. # # print("照片存在")
  969. # # else:
  970. # # print("照片不存在")
  971. # # try:
  972. # # imei_obj = Equip.objects.get(equip_id=235185770)
  973. # # JKphoto.objects.create(equip_id=imei_obj,addr=file,upl_time=pic_time)
  974. # # except Exception as e:
  975. # # print("错误信息为",e)
  976. # if BZYphoto.objects.filter(addr=file).exists():
  977. # photoobj = BZYphoto.objects.get(addr=file)
  978. # photoobj.upl_time = pic_time
  979. # photoobj.save()
  980. # print("照片存在")
  981. # else:
  982. # print("照片不存在")
  983. # try:
  984. # imei_obj = Equip.objects.get(equip_id=865650042816179)
  985. # BZYphoto.objects.create(equip_id=imei_obj,addr=file,upl_time=pic_time)
  986. # except Exception as e:
  987. # print("错误信息为",e)
  988. #--------------------------------------------------------------------------------------------------------------
  989. # print(root)
  990. # file = file_dir + "/" + i
  991. # jpg_time = time.ctime(os.path.getctime(file))
  992. # print("jpg_time",jpg_time)
  993. # # st = s_time+jpg_time[11:19]
  994. # st = i.split(".")[3].split("_")[2][0:12]
  995. # print("-------------------",i.split(".")[3].split("_")[2][0:14])
  996. # # pic_time_1 = s_time+i.split(".")[0]
  997. # # pic_time_1 = datetime.datetime.strptime(pic_time_1,"%Y%m%d%H-%M-%S")
  998. # # print("-------------------->",pic_time_1)
  999. # # print("-------------------->",type(pic_time_1))
  1000. # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H%M%S")
  1001. # print("类型查看",type(pic_time))
  1002. # print("把字符串转成datetime: ", datetime.datetime.strptime(st,"%Y%m%d%H%M%S"))
  1003. # print("file:",file)
  1004. # if CBDphoto.objects.filter(addr=file).exists():
  1005. # # photoobj = CBDphoto.objects.get(addr=file)
  1006. # # photoobj.upl_time = pic_time_1
  1007. # # photoobj.save()
  1008. # print("照片存在")
  1009. # else:
  1010. # print("照片不存在")
  1011. # try:
  1012. # imei_obj = Equip.objects.get(equip_id=imei)
  1013. # CBDphoto.objects.create(equip_id=imei_obj,addr=file,upl_time=pic_time)
  1014. # except Exception as e:
  1015. # print("错误信息为",e)
  1016. # -------------------------------------------------------MQTT TEST-------------------------------------
  1017. # import threading
  1018. # def cbdthread(e_id):
  1019. # i = 0
  1020. # TASK_TOPIC = '/yfkj/cbd/pub/%s'%e_id # 客户端发布消息主题
  1021. # client_id = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
  1022. # client = mqtt.Client(client_id, transport='tcp')
  1023. # client.connect("39.104.94.153", 1883, 60) # 此处端口默认为1883,通信端口期keepalive默认60
  1024. # client.loop_start()
  1025. # # print("子线程名称输出",threading.currentThread().name)
  1026. # """
  1027. # 客户端发布消息
  1028. # :param message: 消息主体
  1029. # :return:
  1030. # """
  1031. # payload = {"cmd": "status", "ext": {"lux": 0, "lng": "113.61237910001185", "ts": 1, "upds": 0, "lps": 0, "csq": 31, "dver": "5.2HK", "hs": 0, "ws": 0, "rps": 1, "tps": 0, "proj": "DCCBD-2_HK", "stamp": "20200107151511", "vs": 201, "dtype": 3, "imei": "%s"%e_id, "lamp": 0, "lat": "34.80817089999999", "dnds": 0, "gs": 0, "iccid": "898602B62518C0046484"}}
  1032. # # publish(主题:Topic; 消息内容)
  1033. # while True:
  1034. # client.publish(TASK_TOPIC, json.dumps(payload, ensure_ascii=False))
  1035. # print("Successful send message!",e_id)
  1036. # time.sleep(1)
  1037. # print("=============",i)
  1038. # i = i + 1
  1039. # e_id = 10000
  1040. # for i in range(10):
  1041. # t = threading.Thread(target=cbdthread,args=(e_id,))
  1042. # #打印出当前线程的名称和id
  1043. # # print(threading.currentThread().name)
  1044. # # t.setDaemon(True)
  1045. # t.start()
  1046. # e_id = e_id + 1
  1047. # if e_id == 10009:
  1048. # while True:
  1049. # print("主线程名称输出",threading.currentThread().name)
  1050. # thread_num = len(threading.enumerate())
  1051. # print("线程数量是%d" % thread_num)
  1052. # time.sleep(1)
  1053. # -------------------------------------------------------MQTT TEST-------------------------------------
  1054. # print(type(os.path.getsize('F:\\1111.jpg')))
  1055. # msg_conf_list = Msg_Conf.objects.all()
  1056. # for i in msg_conf_list:
  1057. # cbd_obj = Equip.objects.get(equip_id=i.equip_id)
  1058. # equip_name = ""
  1059. # if cbd_obj.equip_name == "" or cbd_obj.equip_name == None:
  1060. # equip_name = cbd_obj.equip_id
  1061. # else:
  1062. # equip_name = cbd_obj.equip_name
  1063. # msgconf = eval(i.conf)
  1064. # # 需要发送短信的手机号码
  1065. # phone_numbers = msgconf["phone"]
  1066. # # 短信模板ID,需要在短信控制台中申请
  1067. # template_id = 431378 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
  1068. # # 签名
  1069. # sms_sign = "云飞科技" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
  1070. # ssender = SmsSingleSender(appid, appkey)
  1071. # params = ["","","由于入冬无虫子,暂时停止短信发送服务,将于明年三月份开启"] # 当模板没有参数时,`params = []`
  1072. # try:
  1073. # result = ssender.send_with_param(86, phone_numbers,
  1074. # template_id, params, sign=sms_sign, extend="", ext="") # 签名参数未提供或者为空时,会使用默认签名发送短信
  1075. # except HTTPError as e:
  1076. # print(e)
  1077. # except Exception as e:
  1078. # print(e)
  1079. # print(result)
  1080. # Msg_Send.objects.create(mobile=msgconf["phone"],equip_id=i.equip_id,send_dec=params,result_desc=result)
  1081. # pest_name = []
  1082. # print("----发送成功",phone_numbers)
  1083. # 账号有效期设置
  1084. # user_obj = MyUser.objects.all()
  1085. # for i in user_obj:
  1086. # if i.date_joined.year == 2019 and i.date_joined.month >= 10:
  1087. # print(i.date_joined)
  1088. # print(i.username)
  1089. # i.expire_date = i.date_joined + datetime.timedelta(days=730)
  1090. # i.save()
  1091. # print("操作成功")
  1092. # # 查看最近有虫子的测报灯
  1093. # one_month = datetime.timedelta(days=30)
  1094. # now_time = datetime.datetime.now()
  1095. # photo_list = CBDphoto.objects.all()
  1096. # for i in photo_list:
  1097. # if now_time - i.upl_time <= one_month and i.indentify_result:
  1098. # print(i.equip_id_id)
  1099. # def iccid_info(iccid):
  1100. # cbd_obj = CBDstatus.objects.all().values()
  1101. # scd_obj = SCDstatus.objects.all().values()
  1102. # dat = []
  1103. # for i in cbd_obj:
  1104. # try:
  1105. # if iccid == eval(i["cbd_status"])["iccid"]:
  1106. # # print(eval(i["cbd_status"])["iccid"])
  1107. # # print(i["off_time"])
  1108. # ic_eq = {"id":i["equip_id_id"],"lng":i["lng"],"lat":i["lat"],"offtime":i["off_time"]}
  1109. # dat.append(ic_eq)
  1110. # except Exception as e:
  1111. # pass
  1112. # for x in scd_obj:
  1113. # try:
  1114. # if iccid == eval(x["scd_status"])["iccid"]:
  1115. # ic_eq = {"id":x["equip_id_id"],"lng":x["lng"],"lat":x["lat"],"offtime":x["off_time"]}
  1116. # dat.append(ic_eq)
  1117. # except Exception as e:
  1118. # pass
  1119. # return dat
  1120. # book=xlrd.open_workbook('河南云飞科技发展有限公司.xlsx')
  1121. # sheet=book.sheet_by_index(0) #根据sheet编号来
  1122. # # sheet=book.sheet_by_name('sheet1') #根据 sheet名称来
  1123. # # print(sheet.nrows) #excel里面有多少行
  1124. # # print(sheet.ncols) #excel里面有多少列
  1125. # # print(sheet.cell(0,0).value) #获取第0行第0列的值
  1126. # # print(sheet.row_values(0)) #获取到整行的内容
  1127. # # print(sheet.col_values(1)) #获取到整列的内容
  1128. # iccid_list = []
  1129. # sta2 = []
  1130. # iccid_excel = sheet.col_values(1)
  1131. # for i in range(len(iccid_excel)):
  1132. # if i == 0:
  1133. # continue
  1134. # # print(iccid_excel[i])
  1135. # # iccid_list.append(iccid_excel[i])
  1136. # # print(iccid_info(iccid_excel[i]))
  1137. # if len(iccid_info(iccid_excel[i])) > 1:
  1138. # # print("此卡用于多个设备需单独记录=====>>",iccid_excel[i])
  1139. # equip_id = "999999"
  1140. # location = ""
  1141. # equip_type = ""
  1142. # equip_user = ""
  1143. # elif len(iccid_info(iccid_excel[i])) == 1:
  1144. # try:
  1145. # equip_id = iccid_info(iccid_excel[i])[0]["id"]
  1146. # except:
  1147. # equip_id = ""
  1148. # try:
  1149. # lat = iccid_info(iccid_excel[i])[0]["lat"]
  1150. # except:
  1151. # lat = ""
  1152. # try:
  1153. # lng = iccid_info(iccid_excel[i])[0]["lng"]
  1154. # except:
  1155. # lng = ""
  1156. # try:
  1157. # equip_type = Equip.objects.get(equip_id=equip_id).equip_type.type_name
  1158. # except:
  1159. # equip_type = ""
  1160. # try:
  1161. # equip_user = Equip.objects.get(equip_id=equip_id).equip_user.username
  1162. # except:
  1163. # equip_user = ""
  1164. # if lat:
  1165. # res = requests.post("http://api.map.baidu.com/geocoder?location=%s,%s&coord_type=gcj02&output=json"%(lat,lng))
  1166. # location = (eval(res.text))["result"]["addressComponent"]["province"]+eval(res.text)["result"]["addressComponent"]["district"]
  1167. # else:
  1168. # location = ""
  1169. # elif len(iccid_info(iccid_excel[i])) == 0:
  1170. # equip_id = "000000"
  1171. # location = ""
  1172. # equip_type = ""
  1173. # equip_user = ""
  1174. # sta2.append({"iccid":iccid_excel[i],"equip_id":equip_id,"location":location,"equip_user":equip_user,"equip_type":equip_type})
  1175. # # print(sta2)
  1176. # title = ["iccid","设备id","设备类型","设备位置","设备用户"]
  1177. # book = xlwt.Workbook() # 创建一个excel对象
  1178. # sheet = book.add_sheet('Sheet1',cell_overwrite_ok=True) # 添加一个sheet页
  1179. # for i in range(len(title)): # 遍历列
  1180. # # sheet.write(0,i,title[i],style) # 将title数组中的字段写入到0行i列中
  1181. # sheet.write(0,15+i,title[i]) # 将title数组中的字段写入到0行i列中
  1182. # # print(sta2)
  1183. # for x in range(len(sta2)): # 遍历列表
  1184. # sheet.write(x+1,15,sta2[x]['iccid']) # 将equip_id写入到第x+1行,第0列中
  1185. # sheet.write(x+1,16,sta2[x]['equip_id'])
  1186. # sheet.write(x+1,17,sta2[x]['equip_type'])
  1187. # sheet.write(x+1,18,sta2[x]['location']) # 设备开关
  1188. # sheet.write(x+1,19,sta2[x]['equip_user'])
  1189. # book.save("123456.xlsx")
  1190. # print(iccid_list)
  1191. # for x in iccid_list:
  1192. # print(x)
  1193. # print(iccid_info(x))
  1194. # time.sleep(1)
  1195. # print(iccid_list[i])
  1196. # for i in range(sheet.nrows): #循环获取每行的内容
  1197. # print(sheet.row_values(i))
  1198. # equip_list = Equip.objects.all()
  1199. # for i in equip_list:
  1200. # print(type(i.equip_type_id))
  1201. # datalist = RecentCBDdata.objects.all()
  1202. # for i in datalist:
  1203. # if i.discern == False:
  1204. # i.disc = 1
  1205. # i.save()
  1206. # elif i.discern == True:
  1207. # i.disc = 0
  1208. # i.save()
  1209. # print("数据导入完毕")
  1210. # 判断测报灯流量卡充值停用账号
  1211. # simlist = Equip_SimInfo.objects.all()
  1212. # for i in simlist:
  1213. # dateTime_p = datetime.datetime.strptime(i.expiry_date,'%Y-%m-%d %H:%M:%S')
  1214. # # 判断sim卡是否30天到期
  1215. # if dateTime_p - datetime.datetime.now() > datetime.timedelta(days=30):
  1216. # pass
  1217. # elif datetime.timedelta(days=0) > dateTime_p - datetime.datetime.now() > datetime.timedelta(days=0):
  1218. # print("发送短信通知")
  1219. # elif dateTime_p - datetime.datetime.now() < datetime.timedelta(days=0):
  1220. # if i.equip_id.equip_type_id == 2:
  1221. # print("杀虫灯")
  1222. # # 判断杀虫灯状态30天内是否有数据
  1223. # if datetime.datetime.now() - SCDstatus.objects.get(equip_id=i.equip_id).upl_time > datetime.timedelta(days=30):
  1224. # pass
  1225. # else:
  1226. # print("停用账号")
  1227. # elif i.equip_id.equip_type_id == 3:
  1228. # print("测报灯")
  1229. # # 判断测报灯状态30天内是否有数据
  1230. # if datetime.datetime.now() - CBDstatus.objects.get(equip_id=i.equip_id).upl_time > datetime.timedelta(days=30):
  1231. # pass
  1232. # else:
  1233. # print("停用账号")
  1234. # end_date = datetime.datetime.now()
  1235. # one_day = datetime.timedelta(days=1)
  1236. # one_day_later = datetime.datetime.now() - one_day
  1237. # print(one_day_later)
  1238. # new_time = "%s-%s-%s %s:%s:%s" %(one_day_later.year,one_day_later.month,one_day_later.day,"19","00","00")
  1239. # start_date = datetime.datetime.strptime(new_time,"%Y-%m-%d %H:%M:%S")
  1240. # cbd_obj = Equip.objects.get(equip_id='86123456789')
  1241. # equip_name = ""
  1242. # if cbd_obj.equip_name == "" or cbd_obj.equip_name == None:
  1243. # equip_name = cbd_obj.equip_id
  1244. # else:
  1245. # equip_name = cbd_obj.equip_name
  1246. # msg_conf_list = Msg_Conf.objects.get(equip_id=cbd_obj)
  1247. # msgconf = eval(msg_conf_list.conf)
  1248. # if msgconf["appointPest"] == "on":
  1249. # pest_num = 0
  1250. # pest_name = []
  1251. # pest_nums = []
  1252. # pest_dict = {}
  1253. # pest_dict_new = {}
  1254. # cbd_list = CBDphoto.objects.filter(equip_id=cbd_obj)
  1255. # for x in cbd_list:
  1256. # if x.indentify_result == None or x.indentify_result == "":
  1257. # pass
  1258. # else:
  1259. # for a in x.indentify_result.split("#"):
  1260. # pest_num = pest_num + int(a.split(",")[1])
  1261. # pest_name.append(int(a.split(",")[0]))
  1262. # pest_nums.append(int(a.split(",")[1]))
  1263. # for xx in range(len(pest_name)):
  1264. # c = {pest_name[xx]:pest_nums[xx]}
  1265. # for d in c:
  1266. # if d in pest_dict:
  1267. # pest_dict[d] = pest_dict[d] + c[d]
  1268. # else:
  1269. # pest_dict.update(c)
  1270. # print(pest_dict)
  1271. # send_dict = {}
  1272. # print(msgconf["appointPestName"].split("#"))
  1273. # print(msgconf["appointPestNum"].split("#"))
  1274. # msg_name = msgconf["appointPestName"].split("#")
  1275. # msg_num = msgconf["appointPestNum"].split("#")
  1276. # for i in range(len(msg_name)):
  1277. # if pest_dict[int(msg_name[i])] > int(msg_num[i]):
  1278. # aaa = {insect_dict_new[msg_name[i]]:"%s头"%int(msg_num[i])}
  1279. # send_dict.update(aaa)
  1280. # print(send_dict)
  1281. # if pest_dict[int(msgconf["appointPestName"])] >= int(msgconf["appointPestNum"]):
  1282. # pass
  1283. # pest_num = 0
  1284. # pest_name = []
  1285. # pest_nums = []
  1286. # pest_dict = {}
  1287. # pest_dict_new = {}
  1288. # equip_obj = Equip.objects.get(equip_id="868575028850321")
  1289. # file_dir = "pyftp/ftp_file/bzy_photo/%s"%868575028850321
  1290. # print("file_dir",file_dir)
  1291. # sta1 = BZYstatus.objects.all()
  1292. # sta3 = []
  1293. # photo_list = []
  1294. # for i in sta1:
  1295. # sta3.append(i.equip_id.equip_id)
  1296. # for imei in sta3:
  1297. # equip_obj = Equip.objects.get(equip_id=imei)
  1298. # file_dir = "pyftp/ftp_file/bzy_photo/%s"%imei
  1299. # # print("file_dir",file_dir)
  1300. # for root, dirs, files in os.walk(file_dir):
  1301. # # print("当前目录为=========>>",root) #当前目录路径
  1302. # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  1303. # if root.endswith(imei):
  1304. # pass
  1305. # else:
  1306. # # print("当前目录------->>",root)
  1307. # for roots, dirss, file in os.walk(root):
  1308. # # print(roots) #当前目录路径
  1309. # # print(dirs) #当前路径下所有子目录
  1310. # # print(file) #当前路径下所有非目录子文件
  1311. # if file != []:
  1312. # for i in file:
  1313. # photo_addr = roots + "/" + i
  1314. # # print(photo_addr)
  1315. # if BZYphoto.objects.filter(addr=photo_addr).exists():
  1316. # # print("照片存在")
  1317. # # print(i[17:29])
  1318. # # print("-----")
  1319. # # sp = datetime.datetime.now().year
  1320. # # sp_str = i.split(str(sp))[1]
  1321. # # # print(sp_str[0:8])
  1322. # # st = str(sp) + sp_str[0:8]
  1323. # # print(st)
  1324. # pass
  1325. # else:
  1326. # print("-----")
  1327. # sp = datetime.datetime.now().year
  1328. # sp_str = i.split(str(sp))[1]
  1329. # # print(sp_str[0:8])
  1330. # st = str(sp) + sp_str[0:8]
  1331. # # st = i[17:29]
  1332. # # print(st)
  1333. # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H%M%S")
  1334. # print(pic_time)
  1335. # BZYphoto.objects.create(equip_id=equip_obj,addr=photo_addr,upl_time=pic_time)
  1336. # sta1 = BZYstatus.objects.all()
  1337. # sta3 = []
  1338. # photo_list = []
  1339. # for i in sta1:
  1340. # sta3.append(i.equip_id.equip_id)
  1341. # for imei in sta3:
  1342. # equip_obj = Equip.objects.get(equip_id=imei)
  1343. # file_dir = "pyftp/ftp_file/bzy_photo/%s"%imei
  1344. # # print("file_dir",file_dir)
  1345. # for root, dirs, files in os.walk(file_dir):
  1346. # # print("当前目录为=========>>",root) #当前目录路径
  1347. # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  1348. # if root.endswith(imei):
  1349. # pass
  1350. # else:
  1351. # # print("当前目录------->>",root)
  1352. # for roots, dirss, file in os.walk(root):
  1353. # # print(roots) #当前目录路径
  1354. # # print(dirs) #当前路径下所有子目录
  1355. # # print(file) #当前路径下所有非目录子文件
  1356. # if file != []:
  1357. # for i in file:
  1358. # photo_addr = roots + "/" + i
  1359. # # print(photo_addr)
  1360. # if BZYphoto.objects.filter(addr=photo_addr).exists():
  1361. # print("照片存在")
  1362. # print(i[16:34])
  1363. # else:
  1364. # # os.path.getctime(photo_addr) # 输出文件的创建时间
  1365. # # print("文件创建时间",os.path.getctime(photo_addr))
  1366. # # timeStamp = os.path.getctime(photo_addr)
  1367. # # timeArray = time.localtime(timeStamp)
  1368. # # otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
  1369. # # print(otherStyleTime)
  1370. # # BZYphoto.objects.create(equip_id=equip_obj,addr=photo_addr)
  1371. # print("-----")
  1372. # print("=========================")
  1373. # # print(photo_list)
  1374. # print("=========================")
  1375. # sta1 = SCDstatus.objects.all()
  1376. # sta2 = CBDstatus.objects.all()
  1377. # # 获取设备列表中的SIM卡的iccid号码:
  1378. # iccids = []
  1379. # # 获取设备的id:
  1380. # equip_ids = []
  1381. # # 获取设备的名称:
  1382. # equip_names = []
  1383. # # 遍历查询流量信息:
  1384. # siminfos = []
  1385. # for i in sta1:
  1386. # try:
  1387. # iccid = eval(i.scd_status)['iccid']
  1388. # except:
  1389. # iccid = ""
  1390. # iccids.append(iccid)
  1391. # equip_ids.append(str(i.equip_id))
  1392. # equip_names.append(str(i.equip_id.equip_name))
  1393. # for i in sta2:
  1394. # try:
  1395. # iccid = eval(i.cbd_status)['iccid']
  1396. # except:
  1397. # iccid = ""
  1398. # iccids.append(iccid)
  1399. # equip_ids.append(str(i.equip_id))
  1400. # equip_names.append(str(i.equip_id.equip_name))
  1401. # print('all iccids :',iccids)
  1402. # print('all equip_ids :',equip_ids)
  1403. # print('all equip_names :',equip_names)
  1404. # print('iccids :',iccids)
  1405. # print('equip_ids :',equip_ids)
  1406. # print('equip_names :',equip_names)
  1407. # # 调用api查到的iccid号:
  1408. # for i in range(len(iccids)):
  1409. # if iccids[i] != "":
  1410. # # print("------",i)
  1411. # # print('iccids :',iccids[i])
  1412. # # print('equip_ids :',equip_ids[i])
  1413. # # print('equip_names :',equip_names[i])
  1414. # res = get_siminfo(iccids[i])
  1415. # sim_res = res.text.encode('utf-8').decode('unicode_escape')
  1416. # if eval(sim_res)["code"] == 0:
  1417. # timeStamp = eval(sim_res)["data"]["expiry_date"]
  1418. # dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
  1419. # otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
  1420. # timeStamp1 = eval(sim_res)["data"]["active_date"]
  1421. # dateArray1 = datetime.datetime.utcfromtimestamp(timeStamp1)
  1422. # otherStyleTime1 = dateArray1.strftime("%Y-%m-%d %H:%M:%S")
  1423. # if Equip_SimInfo.objects.filter(equip_id=equip_ids[i]).exists():
  1424. # siminfo_obj = Equip_SimInfo.objects.get(equip_id=equip_ids[i])
  1425. # siminfo_obj.equip_name = equip_names[i]
  1426. # siminfo_obj.iccid = eval(sim_res)["data"]["iccid"]
  1427. # siminfo_obj.msisdn = eval(sim_res)["data"]["msisdn"]
  1428. # siminfo_obj.imsi = eval(sim_res)["data"]["imsi"]
  1429. # siminfo_obj.sp_code = eval(sim_res)["data"]["sp_code"]
  1430. # siminfo_obj.carrier = eval(sim_res)["data"]["carrier"]
  1431. # siminfo_obj.data_plan = eval(sim_res)["data"]["data_plan"]
  1432. # siminfo_obj.data_usage = eval(sim_res)["data"]["data_usage"]
  1433. # siminfo_obj.account_status = eval(sim_res)["data"]["account_status"]
  1434. # siminfo_obj.expiry_date = otherStyleTime
  1435. # siminfo_obj.active = eval(sim_res)["data"]["active"]
  1436. # siminfo_obj.test_valid_date = eval(sim_res)["data"]["test_valid_date"]
  1437. # siminfo_obj.silent_valid_date = eval(sim_res)["data"]["silent_valid_date"]
  1438. # siminfo_obj.test_used_data_usage = eval(sim_res)["data"]["test_used_data_usage"]
  1439. # siminfo_obj.active_date = otherStyleTime1
  1440. # siminfo_obj.data_balance = eval(sim_res)["data"]["data_balance"]
  1441. # siminfo_obj.outbound_date = eval(sim_res)["data"]["outbound_date"]
  1442. # siminfo_obj.support_sms = eval(sim_res)["data"]["support_sms"]
  1443. # siminfo_obj.upl_time = datetime.datetime.now()
  1444. # siminfo_obj.save()
  1445. # else:
  1446. # Equip_SimInfo.objects.create(
  1447. # equip_id = Equip.objects.get(equip_id=equip_ids[i]),
  1448. # equip_name = equip_names[i],
  1449. # iccid = eval(sim_res)["data"]["iccid"],
  1450. # msisdn = eval(sim_res)["data"]["msisdn"],
  1451. # imsi = eval(sim_res)["data"]["imsi"],
  1452. # sp_code = eval(sim_res)["data"]["sp_code"],
  1453. # carrier = eval(sim_res)["data"]["carrier"],
  1454. # data_plan = eval(sim_res)["data"]["data_plan"],
  1455. # data_usage = eval(sim_res)["data"]["data_usage"],
  1456. # account_status = eval(sim_res)["data"]["account_status"],
  1457. # expiry_date = otherStyleTime,
  1458. # active = eval(sim_res)["data"]["active"],
  1459. # test_valid_date = eval(sim_res)["data"]["test_valid_date"],
  1460. # silent_valid_date = eval(sim_res)["data"]["silent_valid_date"],
  1461. # test_used_data_usage = eval(sim_res)["data"]["test_used_data_usage"],
  1462. # active_date = otherStyleTime1,
  1463. # data_balance = eval(sim_res)["data"]["data_balance"],
  1464. # outbound_date = eval(sim_res)["data"]["outbound_date"],
  1465. # support_sms = eval(sim_res)["data"]["support_sms"]
  1466. # )
  1467. # print("-----sim卡信息更新成功------")
  1468. # 保存调用查询流量的api返回的数据;
  1469. # dat = []
  1470. # for j in list(range(0,siminfo_dict['data']['count'])):
  1471. # equip_iccids.append(siminfo_dict['data']['card_list'][j]['iccid'])
  1472. # # print('equip_iccids:',equip_iccids)
  1473. # for j in list(range(0,len(iccids))):
  1474. # siminfo_dict=eval(siminfo_str)
  1475. # if (iccids[j] in equip_iccids) == True:
  1476. # dat.append(siminfo_dict['data']['card_list'][equip_iccids.index(iccids[j])])
  1477. # else:
  1478. # dat.append({})
  1479. # dat[j]['equip_id']=equip_ids[j]
  1480. # dat[j]['equip_name']=equip_names[j]
  1481. # # print("dat[%d]=%s" %(j,dat[j]))
  1482. # iccids[j] = ""# 每次判断玩将该值清空,防止多个设备用一个SIM卡测试时显示异常;
  1483. # # print('----- iccids :',iccids)
  1484. # print("------------------------",dat)
  1485. # print("dat:",dat)
  1486. # ----------------------------------测报灯图片存在与否判断-----------------------------------
  1487. # sta1 = CBDstatus.objects.all()
  1488. # sta3 = []
  1489. # photo_list = []
  1490. # for i in sta1:
  1491. # sta3.append(i.equip_id.equip_id)
  1492. # for imei in sta3:
  1493. # file_dir = "pyftp/ftp_file/ykm_cbd/%s"%imei
  1494. # # print("file_dir",file_dir)
  1495. # for root, dirs, files in os.walk(file_dir):
  1496. # # print("当前目录为=========>>",root) #当前目录路径
  1497. # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  1498. # if root.endswith(imei):
  1499. # pass
  1500. # else:
  1501. # # print("当前目录------->>",root)
  1502. # for roots, dirss, file in os.walk(root):
  1503. # # print(roots) #当前目录路径
  1504. # # print(dirs) #当前路径下所有子目录
  1505. # # print(file) #当前路径下所有非目录子文件
  1506. # if file != []:
  1507. # for i in file:
  1508. # photo_addr = roots + "/" + i
  1509. # # print(photo_addr)
  1510. # if CBDphoto.objects.filter(addr=photo_addr).exists():
  1511. # print("照片存在")
  1512. # else:
  1513. # photo_list.append(photo_addr)
  1514. # print("=========================")
  1515. # print(photo_list)
  1516. # print("=========================")
  1517. # -----------------------------------------------------------------------------------------------
  1518. # sta1 = BZYstatus.objects.all()
  1519. # sta3 = []
  1520. # photo_list = []
  1521. # for i in sta1:
  1522. # sta3.append(i.equip_id.equip_id)
  1523. # for imei in sta3:
  1524. # file_dir = "pyftp/ftp_file/ykm_cbd/%s"%imei
  1525. # # print("file_dir",file_dir)
  1526. # for root, dirs, files in os.walk(file_dir):
  1527. # # print("当前目录为=========>>",root) #当前目录路径
  1528. # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  1529. # if root.endswith(imei):
  1530. # pass
  1531. # else:
  1532. # # print("当前目录------->>",root)
  1533. # for roots, dirss, file in os.walk(root):
  1534. # # print(roots) #当前目录路径
  1535. # # print(dirs) #当前路径下所有子目录
  1536. # # print(file) #当前路径下所有非目录子文件
  1537. # if file != []:
  1538. # for i in file:
  1539. # photo_addr = roots + "/" + i
  1540. # # print(photo_addr)
  1541. # if CBDphoto.objects.filter(addr=photo_addr).exists():
  1542. # print("照片存在")
  1543. # else:
  1544. # photo_list.append(photo_addr)
  1545. # print("=========================")
  1546. # print(photo_list)
  1547. # print("=========================")
  1548. # try:
  1549. # path = "pyftp/ftp_file/ykm_cbd/%s"%imei
  1550. # lsdir = os.listdir(path)
  1551. # dirs = [i for i in lsdir if os.path.isdir(os.path.join(path, i))]
  1552. # if dirs:
  1553. # for i in dirs:
  1554. # print_files(os.path.join(path, i))
  1555. # files = [i for i in lsdir if os.path.isfile(os.path.join(path,i))]
  1556. # for f in files:
  1557. # print(os.path.join(path, f))
  1558. # except Exception as e:
  1559. # print("=================>>",e)
  1560. # print("文件夹不存在")
  1561. # file_dir = "pyftp/ftp_file/ykm_cbd/%s"%imei
  1562. # print("file_dir",file_dir)
  1563. # for root, dirs, files in os.walk(file_dir):
  1564. # print(root) #当前目录路径
  1565. # print(dirs) #当前路径下所有子目录
  1566. # print(files) #当前路径下所有非目录子文件
  1567. # for i in files:
  1568. # file = file_dir + "/" + i
  1569. # jpg_time = time.ctime(os.path.getctime(file))
  1570. # print("jpg_time",jpg_time)
  1571. # st = s_time+jpg_time[11:19]
  1572. # print("-------------------",i.split(".")[0])
  1573. # pic_time_1 = s_time+i.split(".")[0]
  1574. # pic_time_1 = datetime.datetime.strptime(pic_time_1,"%Y%m%d%H-%M-%S")
  1575. # print("-------------------->",pic_time_1)
  1576. # print("-------------------->",type(pic_time_1))
  1577. # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H:%M:%S")
  1578. # print("类型查看",type(pic_time))
  1579. # print("把字符串转成datetime: ", datetime.datetime.strptime(st,"%Y%m%d%H:%M:%S"))
  1580. # if CBDphoto.objects.filter(addr=file).exists():
  1581. # photoobj = CBDphoto.objects.get(addr=file)
  1582. # photoobj.upl_time = pic_time_1
  1583. # photoobj.save()
  1584. # print("照片存在")
  1585. # else:
  1586. # print("照片不存在")
  1587. # try:
  1588. # imei_obj = Equip.objects.get(equip_id=imei)
  1589. # CBDphoto.objects.create(equip_id=imei_obj,addr=file,upl_time=pic_time)
  1590. # except Exception as e:
  1591. # print("错误信息为",e)
  1592. # a = 0
  1593. # qxz_obj = QXZdata.objects.filter(equip_id="16062023")
  1594. # for i in qxz_obj:
  1595. # a = a + 1
  1596. # i.delete()
  1597. # print("----删除成功%s"%a)
  1598. # =========================================================================================================
  1599. # equip_list = Equip.objects.all()
  1600. # bbb = 0
  1601. # for i in equip_list:
  1602. # photo_list = CBDphoto.objects.filter(equip_id=i.equip_id)
  1603. # status_list = CBDdata.objects.filter(equip_id=i.equip_id)
  1604. # for x in photo_list:
  1605. # for a in status_list:
  1606. # if x.at == None:
  1607. # if a.upl_time.year == x.upl_time.year and a.upl_time.month == x.upl_time.month and a.upl_time.day == x.upl_time.day and a.upl_time.hour == x.upl_time.hour:
  1608. # # print("数据时间==================>",a.upl_time)
  1609. # # print("设备温度==================>",eval(a.cbd_data)["at"])
  1610. # # print("设备湿度==================>",eval(a.cbd_data)["ah"])
  1611. # # print("照片时间==================>",x.upl_time)
  1612. # x.at = eval(a.cbd_data)["at"]
  1613. # x.ah = eval(a.cbd_data)["ah"]
  1614. # x.save()
  1615. # bbb = bbb + 1
  1616. # print(bbb)
  1617. # print("========操作成功=======")
  1618. # =========================================================================================================
  1619. # file_dir="pyftp/ftp_file/bzy_photo/865650042816310/201909"
  1620. # # print("file_dir",file_dir)
  1621. # # bzy_obj = Equip.objects.get(equip_id=imei)
  1622. # for root, dirs, files in os.walk(file_dir):
  1623. # print("当前目录为=========>>",root) #当前目录路径
  1624. # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  1625. # print("当前目录文件为=========>>",files) #当前路径下所有非目录子文件
  1626. # for i in files:
  1627. # photo_addr = file_dir + "/" + i
  1628. # print("文件夹图片路径===========》》",photo_addr)
  1629. # if BZYphoto.objects.filter(addr=photo_addr).exists():
  1630. # print("照片存在")
  1631. # else:
  1632. # print("照片不存在")
  1633. # BZYphoto.objects.create(equip_id=bzy_obj,addr=photo_addr)
  1634. # if root.endswith(imei):
  1635. # pass
  1636. # else:
  1637. # # print("当前目录------->>",root)
  1638. # for roots, dirss, file in os.walk(root):
  1639. # # print(roots) #当前目录路径
  1640. # # print(dirs) #当前路径下所有子目录
  1641. # # print(file) #当前路径下所有非目录子文件
  1642. # if file != []:
  1643. # for i in file:
  1644. # photo_addr = roots + "/" + i
  1645. # # print(photo_addr)
  1646. # if BZYphoto.objects.filter(addr=photo_addr).exists():
  1647. # print("照片存在")
  1648. # else:
  1649. # BZYphoto.objects.create(equip_id=bzy_obj,addr=photo_addr)
  1650. # ---------------------------丁艳青定制设备----------------------------------------------------------
  1651. # one_day = datetime.timedelta(days=1)
  1652. # minut = datetime.timedelta(minutes=random.choice(range(20,34)))
  1653. # start_time = '2019-07-29 19:00:08'
  1654. # start_time = datetime.datetime.strptime(start_time,'%Y-%m-%d %H:%M:%S')
  1655. # a = 1
  1656. # b = 1
  1657. # photo_list = CBDphoto.objects.filter(equip_id="865650040895753")
  1658. # for i in photo_list:
  1659. # i.upl_time = start_time + datetime.timedelta(days=b) + datetime.timedelta(minutes=random.choice(range(20,34))) * a
  1660. # i.save()
  1661. # a = a + 1
  1662. # print("修改次数",a)
  1663. # if a == 5:
  1664. # print("---跨天")
  1665. # b = b + 1
  1666. # i.upl_time = start_time + datetime.timedelta(days=b) + datetime.timedelta(minutes=random.choice(range(20,34)))
  1667. # i.save()
  1668. # a = 0
  1669. # data_obj = RecentCBDdata.objects.get(equip_id="865650042837894")
  1670. # print(eval(data_obj.cbd_data)['at'])
  1671. # scd_list = RecentSCDdata.objects.all().values()
  1672. # for i in scd_list:
  1673. # try:
  1674. # if eval(i['scd_data'])['lng'] == 0:
  1675. # print(i['equip_id_id'])
  1676. # except:
  1677. # print("---报错设备号为:",i['equip_id_id'])
  1678. # print("-----lng-------",eval(i['scd_data'])['lng'])