test.py 64 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631
  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, JKphoto, Alarm_record, SCDdata, SCDstatus_all, QXZdata_New, CBDphoto_desc,BZYphoto, JKdata, User_Log, CBDstatus_all,\
  19. SCDstatus_all, YBQstatus
  20. from apps.SimInfo.views import get_siminfo
  21. import paho.mqtt.client as mqtt
  22. # 短信应用 SDK AppID
  23. appid = 1400227496 # SDK AppID 以1400开头
  24. # 短信应用 SDK AppKey
  25. appkey = "c9aba961bd30072f1e1b9272077abaea"
  26. from requests.auth import HTTPBasicAuth
  27. from imutils import paths
  28. import cv2
  29. import shutil
  30. import random
  31. from django.db import transaction
  32. # print(random.randint(10,30))
  33. # 测试1
  34. import xlrd
  35. import xlwt
  36. import socket
  37. import re
  38. import random
  39. from PIL import Image
  40. from io import BytesIO
  41. #8.12号生成测报灯识别图片
  42. equip_list = [
  43. "865650044618979",
  44. "865650044542088",
  45. "867814040035020",
  46. "867814040006732",
  47. "867814040033694",
  48. "865650044455844",
  49. "865650044519359",
  50. "865650044463053",
  51. "865650044591457",
  52. "865650044585053",
  53. "865650044591630",
  54. "865650044620793",
  55. "865650044451181",
  56. "865650044451058",
  57. "865650044557524",
  58. "865650044560056",
  59. ]
  60. url = 'http://60.166.14.184:9143/upload'
  61. for i in equip_list:
  62. cbd_list = CBDphoto.objects.filter(equip_id=i)
  63. lng = CBDstatus.objects.get(equip_id=i).lng
  64. lat = CBDstatus.objects.get(equip_id=i).lat
  65. for x in cbd_list:
  66. print("原图",x.addr)
  67. print("识别后的图片",x.indentify_photo)
  68. if x.indentify_photo:
  69. tes = x.indentify_photo.split("/")
  70. try:
  71. # print("/home/web/yfwlw/" + x.addr)
  72. print("/data/yfwlw/" + x.addr)
  73. # 测试服务器路径
  74. # imageFile = {'imageFile':('pic.jpg',open("/home/web/yfwlw/" + x.addr,'rb'),'image/jpeg')}
  75. imageFile = {'imageFile':('pic.jpg',open("/data/yfwlw/" + x.addr,'rb'),'image/jpeg')}
  76. data = {'longitude':lng,'latitude':lat}
  77. print('data:',data)
  78. res = requests.post(url,data=data,files=imageFile,timeout=10)
  79. print("res:",res.text)
  80. resp = json.loads(res.text)
  81. print("resp------------",resp)
  82. img_src = resp["returnResult"]["returnImageUrl"]
  83. response = requests.get(img_src)
  84. print("img_src-------------",img_src)
  85. print(response)
  86. code = 1
  87. except Exception as e:
  88. print(e)
  89. code = 0
  90. if code == 1:
  91. try:
  92. if resp["returnResult"]["returnStatus"] == "0":
  93. print("识别结果为空,不进行保存")
  94. else:
  95. # 将识别结果中的链接中的图片存入本地 测试服务器
  96. # pic_dir_1 = "/home/web/yfwlw/result_pyftp/ftp_file/ykm_cbd/" + i + "/"
  97. #正式服务器
  98. pic_dir_1 = "/data/yfwlw/result_pyftp/ftp_file/ykm_cbd/" + i + "/"
  99. print("pic_dir_1:",pic_dir_1)
  100. if os.path.exists(pic_dir_1) == False:
  101. os.makedirs(pic_dir_1)
  102. response = requests.get(img_src)
  103. image = Image.open(BytesIO(response.content))
  104. insect_image_addr = pic_dir_1 + tes[-1]
  105. print("insect_image_addr:",insect_image_addr)
  106. image.save(insect_image_addr)
  107. print("------------------图片保存成功")
  108. except Exception as e:
  109. print(e)
  110. # equip_obj = Equip.objects.get(equip_id="867814040037125")
  111. # cbd_photo_list = CBDphoto.objects.filter(equip_id="869300039253749")
  112. # for i in cbd_photo_list:
  113. # addr = i.addr.replace("869300039253749","867814040037125")
  114. # i.equip_id = equip_obj
  115. # i.addr = addr
  116. # i.save()
  117. # _list = YBQstatus.objects.all()
  118. # for i in _list:
  119. # # print(eval(i.ybq_status)['iccid'])
  120. # iccid = eval(i.ybq_status)['iccid']
  121. # if len(iccid) == 20:
  122. # print(iccid)
  123. # sta1 = RecentCBDdata.objects.all().values()
  124. # for x in sta1:
  125. # print("lng",eval(x['cbd_data'])['lng'])
  126. # print("lat",eval(x['cbd_data'])['lat'])
  127. # try:
  128. # sta2.append({
  129. # "equip_id": x['equip_id_id'],
  130. # "equip_type": 3,
  131. # "equip_name": x['equip_name'],
  132. # "gps": eval(x['cbd_data'])['gps'],
  133. # "lng": eval(x['cbd_data'])['lng'],
  134. # "lat": eval(x['cbd_data'])['lat']
  135. # })
  136. # except:
  137. # sta2.append({
  138. # "equip_id": x['equip_id_id'],
  139. # "equip_type": 3,
  140. # "equip_name": x['equip_name'],
  141. # "gps": 2,
  142. # "lng": eval(x['cbd_data'])['lng'],
  143. # "lat": eval(x['cbd_data'])['lat']
  144. # })
  145. # dver = "5.9.9-03(1)HK"
  146. # _list = "5.9.9-03HK"
  147. # a = re.sub('\\(.*?\\)','',_list)
  148. # print(a)
  149. #7.3号 分配账号脚本
  150. # equip_list = Equip.objects.filter(equip_id=i)
  151. # if equip_list:
  152. # for x in equip_list:
  153. # if x.equip_user:
  154. # datt.append(x.equip_id)
  155. # else:
  156. # x.equip_user = username
  157. # x.save()
  158. # else:
  159. # dat.append(i)
  160. # print("设备已绑定用户=====",datt)
  161. # print("未找到设备号=====",dat)
  162. # start_time = '2020-01-01'
  163. # end_time = '2020-05-30'
  164. # start_time = datetime.datetime.strptime(start_time,'%Y-%m-%d')
  165. # end_time = datetime.datetime.strptime(end_time,'%Y-%m-%d')
  166. # print(start_time)
  167. # _list = []
  168. # equip_list = Equip.objects.filter(equip_type=3,equip_add_time__range=(start_time,end_time))
  169. # for i in equip_list:
  170. # if CBDphoto.objects.filter(equip_id=i,upl_time__range=(start_time,end_time)).exists():
  171. # print("有照片")
  172. # _list.append(i.equip_id)
  173. # print("====>>",i.equip_id)
  174. # print(_list)
  175. # start_time = '2020-04-20'
  176. # end_time = '2020-05-30'
  177. # start_time = datetime.datetime.strptime(start_time,'%Y-%m-%d')
  178. # end_time = datetime.datetime.strptime(end_time,'%Y-%m-%d')
  179. # Equip.objects.get(equip_id=866714042686849).delete()
  180. # print("操作成功")
  181. # 物联网自动虫情信息采集设备(4.0)  对应的版本是5版本带HK的,如5.9.9HK
  182. # 物联网自动虫情信息采集设备(3.0)  对应的版本是4版本带re,hk的,如4.2.37re,4.1HK
  183. # 物联网自动虫情信息采集设备(2.0)  对应版本是1,2,3版本,如1.0.0;2.2.14;3.2.0
  184. # 自动虫情测报灯(1.0)             对应有4版本,5版本带ZP
  185. # 高空测报灯(1.0)                 对应4版本带GK,5版本的高空和转盘使用同一版本号,无法区分.
  186. # 糖醋测报                          对应1版本带TC,
  187. # 简易高空                          对应5版本带gk(区分大小写)
  188. # 定制版本                          其他版本
  189. # _list = CBDstatus.objects.all()
  190. # for i in _list:
  191. # print("equip_id",i.equip_id)
  192. # try:
  193. # cbddataobj = RecentCBDdata.objects.get(equip_id=i.equip_id)
  194. # except:
  195. # continue
  196. # # print(eval(i.cbd_status)['dver'])
  197. # dver = eval(i.cbd_status)['dver']
  198. # if dver.startswith("5") and dver.endswith("HK"):
  199. # i.etype = "4.0测报灯"
  200. # i.save()
  201. # cbddataobj.etype = "4.0测报灯"
  202. # cbddataobj.save()
  203. # print("4.0测报灯",dver)
  204. # elif dver.startswith("4") and dver.endswith("HK"):
  205. # i.etype = "3.0测报灯"
  206. # i.save()
  207. # cbddataobj.etype = "3.0测报灯"
  208. # cbddataobj.save()
  209. # print("3.0测报灯",dver)
  210. # elif dver.startswith("4") and dver.endswith("re"):
  211. # i.etype = "3.0测报灯"
  212. # i.save()
  213. # cbddataobj.etype = "3.0测报灯"
  214. # cbddataobj.save()
  215. # print("3.0测报灯",dver)
  216. # elif dver.startswith("1") or dver.startswith("2") or dver.startswith("3"):
  217. # i.etype = "2.0测报灯"
  218. # i.save()
  219. # cbddataobj.etype = "2.0测报灯"
  220. # cbddataobj.save()
  221. # print("2.0测报灯",dver)
  222. # elif dver.endswith("ZP"):
  223. # i.etype = "1.0测报灯"
  224. # i.save()
  225. # cbddataobj.etype = "1.0测报灯"
  226. # cbddataobj.save()
  227. # print("1.0测报灯",dver)
  228. # elif dver.startswith("4") and dver.endswith("GK"):
  229. # i.etype = "高空测报灯"
  230. # i.save()
  231. # cbddataobj.etype = "高空测报灯"
  232. # cbddataobj.save()
  233. # print("高空测报灯",dver)
  234. # elif dver.endswith("TC"):
  235. # i.etype = "糖醋测报灯"
  236. # i.save()
  237. # cbddataobj.etype = "糖醋测报灯"
  238. # cbddataobj.save()
  239. # print("糖醋测报灯",dver)
  240. # elif dver.startswith("5") and dver.endswith("gk"):
  241. # i.etype = "简易高空测报灯"
  242. # i.save()
  243. # cbddataobj.etype = "简易高空测报灯"
  244. # cbddataobj.save()
  245. # print("简易高空测报灯",dver)
  246. # def on_connect(client, userdata, flags, rc):
  247. # print("Connected with result code "+str(rc))
  248. # client.subscribe("api/v1/iot/dragon/868956044807455") # 订阅消息
  249. # def on_message(client, userdata, msg):
  250. # print("主题:"+msg.topic+" 消息:"+str(msg.payload.decode('utf-8')))
  251. # def on_subscribe(client, userdata, mid, granted_qos):
  252. # print("On Subscribed: qos = %d" % granted_qos)
  253. # def on_disconnect(client, userdata, rc):
  254. # if rc != 0:
  255. # print("Unexpected disconnection %s" % rc)
  256. # # HOST = "aftrnmynhcbc5elv-master-nlb-FI.jvessel-open-hb.jdcloud.com"
  257. # # HOST = "120.27.222.26"
  258. # HOST = "39.104.94.153"
  259. # PORT = 1883
  260. # # client_id = "1083421xxxxx" # 没有就不写,此处部分内容用xxx代替原内容,下同
  261. # client_id = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
  262. # data = {
  263. # "devId": "868956044807455",
  264. # "ossPath": "http:\/\/120.27.222.26\/pyftp\/ftp_file\/ykm_cbd\/868956044807455\/192.168.1.100_01_20200612104405264_ALARM_INPUT.jpg",
  265. # "collectDT": "2020-06-12 10:43:05",
  266. # "manuCode": "10014",
  267. # "result": "",
  268. # "resultImage": ""
  269. # }
  270. # param = json.dumps(data)
  271. # client = mqtt.Client(client_id)
  272. # client.username_pw_set("868956044807455", "")
  273. # client.on_connect = on_connect
  274. # client.on_message = on_message
  275. # client.on_subscribe = on_subscribe
  276. # client.on_disconnect = on_disconnect
  277. # aa = client.connect(HOST, PORT, 60)
  278. # print("---------->>",aa)
  279. # client.publish("api/v1/iot/dragon/868956044807455", payload=param, qos=0) # 发送消息
  280. # client.loop_start()
  281. # print("执行完毕")
  282. # data = {
  283. # "devId": "868956044807455",
  284. # "ossPath": "http:\/\/120.27.222.26\/pyftp\/ftp_file\/ykm_cbd\/868956044807455\/192.168.1.100_01_20200612104405263_ALARM_INPUT.jpg",
  285. # "collectDT": "2020-06-12 10:43:05",
  286. # "manuCode": "10014",
  287. # "result": "",
  288. # "resultImage": ""
  289. # }
  290. # TASK_TOPIC = 'api/v1/iot/dragon/868956044807455' # 客户端发布消息主题
  291. # """
  292. # 客户端发布消息
  293. # :param message: 消息主体
  294. # :return:
  295. # """
  296. # payload = data
  297. # # publish(主题:Topic; 消息内容)
  298. # client_id = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
  299. # client = mqtt.Client(client_id, transport='tcp')
  300. # client.username_pw_set("868956044807455", "868956044807455")
  301. # # client.connect("aftrnmynhcbc5elv-master-nlb-FI.jvessel-open-hb.jdcloud.com", 1883, 60) # 此处端口默认为1883,通信端口期keepalive默认60
  302. # client.connect("120.27.222.26", 1883, 60) # 此处端口默认为1883,通信端口期keepalive默认60
  303. # aa = client.publish(TASK_TOPIC, json.dumps(payload, ensure_ascii=False, qos=0))
  304. # bb = client.loop_start()
  305. # print(bb)
  306. # print(aa)
  307. # print("京东信息发送成功",data)
  308. # print(datetime.datetime.now())
  309. # data = []
  310. # data1 = []
  311. # simlist = Equip_SimInfo.objects.filter(data_plan="10",account_status="3")
  312. # for i in simlist:
  313. # print("------->>",i.iccid)
  314. # data1.append({"equip_id":i.equip_id_id,"equip_type":i.equip_type,"iccid":i.iccid,"data_usage":i.data_usage,"data_balance":i.data_balance})
  315. # title = ["设备id","设备类型","iccid","已用","剩余"]
  316. # book = xlwt.Workbook() # 创建一个excel对象
  317. # sheet = book.add_sheet('Sheet1',cell_overwrite_ok=True) # 添加一个sheet页
  318. # for i in range(len(title)): # 遍历列
  319. # # sheet.write(0,i,title[i],style) # 将title数组中的字段写入到0行i列中
  320. # sheet.write(0,i,title[i]) # 将title数组中的字段写入到0行i列中
  321. # # print(sta2)
  322. # for xx in range(len(data1)): # 遍历列表
  323. # if data1[xx]['equip_type'] == "3":
  324. # _type = "测报灯"
  325. # # off_time = datetime.datetime.strftime(data1[xx]['off_time'],'%Y-%m-%d')
  326. # else:
  327. # _type = "杀虫灯"
  328. # # off_time = ""
  329. # # creat_time = datetime.datetime.strftime(data1[xx]['creat_time'],'%Y-%m-%d')
  330. # sheet.write(xx+1,0,data1[xx]['equip_id']) # 将equip_id写入到第x+1行,第0列中
  331. # sheet.write(xx+1,1,_type)
  332. # sheet.write(xx+1,2,data1[xx]['iccid'])
  333. # sheet.write(xx+1,3,data1[xx]['data_usage'])
  334. # sheet.write(xx+1,4,data1[xx]['data_balance'])
  335. # book.save("654321.xlsx")
  336. # one_month = datetime.timedelta(days=30)
  337. # nowtime = datetime.datetime.now()
  338. # end_time = nowtime
  339. # start_time = nowtime - one_month
  340. # print(start_time)
  341. # aabbcc = Alarm_record.objects.all().exclude(alarm_time__range=(start_time,end_time)).delete()
  342. # for i in aabbcc:
  343. # i.delete()
  344. # print(i.alarm_time)
  345. # print(CBDstatus.objects.get(equip_id_id="865650044552954").rtuinfo)
  346. # def mkdir(path):
  347. # # 去除首位空格
  348. # path=path.strip()
  349. # # 去除尾部 \ 符号
  350. # path=path.rstrip("\\")
  351. # # 判断路径是否存在
  352. # # 存在 True
  353. # # 不存在 False
  354. # isExists=os.path.exists(path)
  355. # # 判断结果
  356. # if not isExists:
  357. # # 如果不存在则创建目录
  358. # # 创建目录操作函数
  359. # os.makedirs(path)
  360. # print(path+' 创建成功')
  361. # return True
  362. # else:
  363. # # 如果目录存在则不创建,并提示目录已存在
  364. # print(path+' 目录已存在')
  365. # return False
  366. # def variance_of_laplacian(image):
  367. # # 拉普拉斯的方差
  368. # return cv2.Laplacian(image, cv2.CV_64F).var()
  369. # imei = "865650043208251"
  370. # print('=================================================')
  371. # print("<-----imei:\n" + imei + ';\n')
  372. # print("Message:\n" + "http:bzyphoto" + "----->\n")
  373. # print("%s"%datetime.datetime.now())
  374. # print('=================================================')
  375. # pic_name = datetime.datetime.now().strftime('%Y%m')
  376. # try:
  377. # pic_name = datetime.datetime.now().strftime('%Y%m')
  378. # args = "pyftp/ftp_file/bzy_test/" + imei
  379. # cv_num_list = []
  380. # file_list1 = list(paths.list_images(args))
  381. # print("\n===========================")
  382. # print("file_list1:",file_list1)
  383. # print("type file_list1:",type(file_list1))
  384. # cv_num_list1 = []
  385. # for imagePath1 in file_list1[::]:
  386. # # fm = get_value(imagePath)
  387. # # 孢子仪图片过小删除
  388. # if os.path.getsize(imagePath1) <= 10:
  389. # file_list1.remove(imagePath1)
  390. # img1 = cv2.imread(imagePath1)
  391. # img1 = cv2.resize(img1, (800, 600))
  392. # gray = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
  393. # # 创建SIFT对象
  394. # sift = cv2.xfeatures2d.SIFT_create()
  395. # keypoints, descriptor = sift.detectAndCompute(gray, None)
  396. # img1 = cv2.drawKeypoints(image=img1, outImage=img1, keypoints=keypoints,flags=cv2.DRAW_MATCHES_FLAGS_DEFAULT, color=(0, 0, 255))
  397. # fm1 = len(keypoints)
  398. # cv_num_list1.append(fm1)
  399. # # 打印清晰度值:
  400. # print("fm1",fm1)
  401. # # 打印文件路径
  402. # print("imagePath1",imagePath1)
  403. # file_cv_tuple1 = tuple(zip(cv_num_list1,file_list1))
  404. # print("file_cv_tuple1:\n",file_cv_tuple1)
  405. # print("=========================================/n")
  406. # file_cv_tuple_list1 = list(file_cv_tuple1)
  407. # print("file_cv_tuple_list1:\n",file_cv_tuple_list1)
  408. # print("*****************************************/n")
  409. # # 按照清晰度排序:, reverse=True降序
  410. # result1 = sorted(file_cv_tuple_list1, key=lambda s: s[0],reverse=True)
  411. # print("result1:\n",result1)
  412. # # 切片取清晰度最高的前五张图片:
  413. # result1_5 = result1[0:3]
  414. # # result5 = result[0:1]
  415. # print("result1_5:\n",result1_5)
  416. # pic_name = datetime.datetime.now().strftime('%Y%m')
  417. # # 定义要创建的目录:
  418. # mkpath="./pyftp/ftp_file/bzy_photo/" + imei + "/" + pic_name
  419. # # 调用函数,创建目录:
  420. # mkdir(mkpath)
  421. # for i in result1_5:
  422. # # for i in result5:
  423. # #i值:(137.06453470539032, 'images\\192.168.2.64_01_20190802095315882_ALARM_INPUT.jpg')
  424. # print("file path:",i[1])
  425. # #复制文件:
  426. # shutil.copy(i[1],mkpath)
  427. # # os.system("rm ./pyftp/ftp_file/bzy_test/%s/*.jpg -rf"%imei)
  428. # os.system("mv ./pyftp/ftp_file/bzy_test/%s ./pyftp/ftp_file/bzy_test/%s_%s"%(imei,imei,datetime.datetime.now().strftime("%Y%m%d%H%M%S")))
  429. # print("-----------------image move success----------------------")
  430. # equip = Equip.objects.get(equip_id=imei)
  431. # file_dir="pyftp/ftp_file/bzy_photo/" + imei + "/" + pic_name
  432. # for root, dirs, files in os.walk(file_dir):
  433. # print("当前目录为=========>>",root) #当前目录路径
  434. # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  435. # print("当前目录文件为=========>>",files) #当前路径下所有非目录子文件
  436. # for i in files:
  437. # photo_addr = file_dir + "/" + i
  438. # print("文件夹图片路径===========》》",photo_addr)
  439. # if BZYphoto.objects.filter(addr=photo_addr).exists():
  440. # print("照片存在")
  441. # else:
  442. # BZYphoto.objects.create(equip_id=equip, addr=photo_addr)
  443. # print("照片不存在")
  444. # except Exception as a:
  445. # print('=================================================')
  446. # print("<-----imei:\n" + imei + ';\n')
  447. # print("Message:\n" + "http:bzyphoto" + "----->\n")
  448. # print("%s"%datetime.datetime.now())
  449. # print("==========%s========"%a)
  450. # print("-----------------image move default----------------------")
  451. # lat = "37.56"
  452. # lng = "115.28"
  453. # data = []
  454. # data1 = []
  455. # # res = requests.post("http://api.map.baidu.com/geocoder?location=%s,%s&coord_type=gcj02&output=json"%(lat,lng))
  456. # # location = (eval(res.text))["result"]["addressComponent"]["province"]+eval(res.text)["result"]["addressComponent"]["district"]
  457. # # print(location)
  458. # # 大新县农业农村局
  459. # # user_obj = MyUser.objects.get(username="大新县农业农村局")
  460. # for i in CBDstatus.objects.all().values():
  461. # try:
  462. # lng = i["lng"]
  463. # lat = i["lat"]
  464. # except:
  465. # lng = ""
  466. # lat = ""
  467. # print("设备版本号",eval(i["cbd_status"])["dver"].split(".")[0])
  468. # print("照片是否存在",CBDphoto.objects.filter(equip_id=i["equip_id_id"]).exists())
  469. # if eval(i["cbd_status"])["dver"].split(".")[0] == "5" and CBDphoto.objects.filter(equip_id=i["equip_id_id"]).exists():
  470. # data.append({"equip_id":i["equip_id_id"],"lng":lng,"lat":lat,"is_online":i["is_online"],"off_time":i["off_time"],"creat_time":Equip.objects.get(equip_id=i["equip_id_id"]).equip_add_time})
  471. # # print(data)
  472. # for x in data:
  473. # if x["lat"]:
  474. # res = requests.post("http://api.map.baidu.com/geocoder?location=%s,%s&coord_type=gcj02&output=json"%(x["lat"],x["lng"]))
  475. # try:
  476. # print(eval(res.text))
  477. # print((eval(res.text))["result"]["addressComponent"]["province"])
  478. # # print((eval(res.text))["result"]["formatted_address"])
  479. # except:
  480. # continue
  481. # # if (eval(res.text))["result"]["addressComponent"]["province"] == "河南省":
  482. # location = (eval(res.text))["result"]["addressComponent"]["province"] + (eval(res.text))["result"]["addressComponent"]["city"] + (eval(res.text))["result"]["addressComponent"]["district"]
  483. # # location = (eval(res.text))["result"]["formatted_address"]
  484. # data1.append({"equip_id":x["equip_id"],"location":location,"is_online":x["is_online"],"off_time":x["off_time"],"creat_time":x["creat_time"]})
  485. # # print(data1)
  486. # title = ["设备id","设备位置","是否在线","离线时间","设备创建时间"]
  487. # book = xlwt.Workbook() # 创建一个excel对象
  488. # sheet = book.add_sheet('Sheet1',cell_overwrite_ok=True) # 添加一个sheet页
  489. # for i in range(len(title)): # 遍历列
  490. # # sheet.write(0,i,title[i],style) # 将title数组中的字段写入到0行i列中
  491. # sheet.write(0,i,title[i]) # 将title数组中的字段写入到0行i列中
  492. # # print(sta2)
  493. # for xx in range(len(data1)): # 遍历列表
  494. # if data1[xx]['is_online'] == "0":
  495. # is_online = "离线"
  496. # off_time = datetime.datetime.strftime(data1[xx]['off_time'],'%Y-%m-%d')
  497. # else:
  498. # is_online = "在线"
  499. # off_time = ""
  500. # creat_time = datetime.datetime.strftime(data1[xx]['creat_time'],'%Y-%m-%d')
  501. # sheet.write(xx+1,0,data1[xx]['equip_id']) # 将equip_id写入到第x+1行,第0列中
  502. # sheet.write(xx+1,1,data1[xx]['location'])
  503. # sheet.write(xx+1,2,is_online)
  504. # sheet.write(xx+1,3,off_time)
  505. # sheet.write(xx+1,4,creat_time)
  506. # book.save("654321.xlsx")
  507. # sta = [{'equip_id': '865650043164355', 'location': '河北省易县'}, {'equip_id': '865650042837811', 'location': '河北省桥西区'}, {'equip_id': '860344048820691', 'location': '河北省武强县'}, {'equip_id': '865650041090206', 'location': '河北省武强县'}, {'equip_id': '865650041021268', 'location': '河北省武强县'}, {'equip_id': '868575028847277', 'location': '河北省赤城县'}, {'equip_id': '865650041020971', 'location': '河北省深州市'}, {'equip_id': '865650041089497', 'location': '河北省迁安市'}, {'equip_id': '868575028850214', 'location': '河北省涉县'}, {'equip_id': '860344048805221', 'location': '河北省易县'}, {'equip_id': '868575028846592', 'location': '河北省围场满族蒙古族自治县'}, {'equip_id': '868575028857953', 'location': '河北省曲周县'}, {'equip_id': '868575028850917', 'location': '河北省围场满族蒙古族自治县'}, {'equip_id': '868575028847798', 'location': '河北省曹妃甸区'}, {'equip_id': '869300039255967', 'location': '河北省晋州市'}, {'equip_id': '868575028855387', 'location': '河北省曹妃甸区'}, {'equip_id': '868575028869040', 'location': '河北省平泉县'}, {'equip_id': '868575028850925', 'location': '河北省隆尧县'}, {'equip_id': '868575028868927', 'location': '河北省隆尧县'}, {'equip_id': '868575028855148', 'location': '河北省玉田县'}, {'equip_id': '868575028845875', 'location': '河北省辛集市'}, {'equip_id': '868575028850479', 'location': '河北省赵县'}, {'equip_id': '868575028846048', 'location': '河北省围场满族蒙古族自治县'}, {'equip_id': '868575028847640', 'location': '河北省曲周县'}, {'equip_id': '868575028846089', 'location': '河北省香河县'}, {'equip_id': '868575028858035', 'location': '河北省围场满族蒙古族自治县'}, {'equip_id': '868575028857656', 'location': '河北省阜城县'}, {'equip_id': '868575028810101', 'location': '河北省永清县'}, {'equip_id': '868575028868463', 'location': '河北省赤城县'}, {'equip_id': '869300039256064', 'location': '河北省玉田县'}, {'equip_id': '869300039255900', 'location': '河北省迁西县'}, {'equip_id': '868575028857318', 'location': '河北省辛集市'}, {'equip_id': '868575028850727', 'location': '河北省承德县'}]
  508. # print(len(sta))
  509. # imei = "D75675201"
  510. # file_dir = "../pyftp/ftp_file/jk_photo1/%s"%imei
  511. # print("file_dir",file_dir)
  512. # for root, dirs, files in os.walk(file_dir):
  513. # for i in files:
  514. # file = root + "/" + i
  515. # # st = root.split("/")[-1] + i.split(".")[0]
  516. # file = file[3:]
  517. # st = i.split(".")[3].split("_")[2][0:14]
  518. # print("st",st)
  519. # print("file====>>",file)
  520. # try:
  521. # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H%M%S")
  522. # except Exception as eeex:
  523. # print("错误信息为",eeex)
  524. # continue
  525. # if JKphoto.objects.filter(addr=file).exists():
  526. # photoobj = JKphoto.objects.get(addr=file)
  527. # photoobj.upl_time = pic_time
  528. # photoobj.save()
  529. # print("照片存在")
  530. # else:
  531. # print("照片不存在")
  532. # try:
  533. # imei_obj = Equip.objects.get(equip_id=imei)
  534. # JKphoto.objects.create(equip_id=imei_obj,addr=file,upl_time=pic_time)
  535. # except Exception as e:
  536. # print("错误信息为",e)
  537. # equip_obj = Equip.objects.get(equip_id=160648091112227)
  538. # equip_obj2 = QXZstatus_New.objects.get(equip_id=16064809)
  539. # conf_obj = QXZ_Conf.objects.get(equip_id=16064809)
  540. # conf_obj2 = QXZ_Default_Conf.objects.get(equip_id=16064809)
  541. # aa = QXZstatus_New.objects.create(equip_id=equip_obj,e1=equip_obj2.e1,e2=equip_obj2.e2,e3=equip_obj2.e3,e4=equip_obj2.e4,e5=equip_obj2.e5,e6=equip_obj2.e6,e7=equip_obj2.e7,e8=equip_obj2.e8,e9=equip_obj2.e9,e10=equip_obj2.e10,e11=equip_obj2.e11,e12=equip_obj2.e12,e13=equip_obj2.e13,e14=equip_obj2.e14,e15=equip_obj2.e15,e16=equip_obj2.e16)
  542. # bb = QXZdata_New.objects.create(equip_id=equip_obj,e1=equip_obj2.e1,e2=equip_obj2.e2,e3=equip_obj2.e3,e4=equip_obj2.e4,e5=equip_obj2.e5,e6=equip_obj2.e6,e7=equip_obj2.e7,e8=equip_obj2.e8,e9=equip_obj2.e9,e10=equip_obj2.e10,e11=equip_obj2.e11,e12=equip_obj2.e12,e13=equip_obj2.e13,e14=equip_obj2.e14,e15=equip_obj2.e15,e16=equip_obj2.e16)
  543. # cc = QXZ_Conf.objects.create(equip_id=equip_obj,e1=conf_obj.e1,e2=conf_obj.e2,e3=conf_obj.e3,e4=conf_obj.e4,e5=conf_obj.e5,e6=conf_obj.e6,e7=conf_obj.e7,e8=conf_obj.e8,e9=conf_obj.e9,e10=conf_obj.e10,e11=conf_obj.e11,e12=conf_obj.e12,e13=conf_obj.e13,e14=conf_obj.e14,e15=conf_obj.e15,e16=conf_obj.e16)
  544. # dd = QXZ_Default_Conf.objects.create(equip_id=equip_obj,e1=conf_obj2.e1,e2=conf_obj2.e2,e3=conf_obj2.e3,e4=conf_obj2.e4,e5=conf_obj2.e5,e6=conf_obj2.e6,e7=conf_obj2.e7,e8=conf_obj2.e8,e9=conf_obj2.e9,e10=conf_obj2.e10,e11=conf_obj2.e11,e12=conf_obj2.e12,e13=conf_obj2.e13,e14=conf_obj2.e14,e15=conf_obj2.e15,e16=conf_obj2.e16)
  545. # print("操作完毕")
  546. # print(QXZstatus_New.objects.get(equip_id_id=16064808).upl_time)
  547. # workbook = xlrd.open_workbook('物联网杀虫灯发货统计(2).xlsx')
  548. # print(workbook.sheet_names())
  549. # sheet11 = workbook.sheet_by_name('11 月发货统计')
  550. # nro = sheet11.nrows
  551. # print(nro)
  552. # list_e = []
  553. # user_obj = MyUser.objects.get(username="大新县农业农村局")
  554. # cell_a = sheet11.cell(0,2).value # 括号内第一位数字为行,第二位为列
  555. # for i in range(146):
  556. # cell_a = sheet11.cell(i,2).value
  557. # # print(cell_a)
  558. # try:
  559. # equip_obj = Equip.objects.get(equip_id=cell_a)
  560. # equip_obj.equip_user = user_obj
  561. # equip_obj.save()
  562. # print("分配成功")
  563. # except:
  564. # print("设备不存在")
  565. # print(cell_a)
  566. # list_e.append(cell_a)
  567. # print(list_e)
  568. # list_e = []
  569. # for i in CBDstatus.objects.all():
  570. # is_hk = eval(i.cbd_status)["dver"]
  571. # # print(is_hk)
  572. # if "HK" in is_hk:
  573. # print(is_hk)
  574. # list_e.append(i)
  575. # # else:
  576. # # print("不是hk")
  577. # # print(list_e)
  578. # list_n = []
  579. # for x in list_e:
  580. # # print(x.simid)
  581. # if x.simid:
  582. # print("===>>",x.equip_id_id)
  583. # equip_obj2 = RecentCBDdata.objects.get(equip_id_id=x.equip_id_id)
  584. # equip_obj = CBDstatus.objects.filter(equip_id_id=x.equip_id_id).update(upl_time=equip_obj2.upl_time)
  585. # print("操作成功")
  586. # else:
  587. # # print("为空的设备",x.equip_id_id)
  588. # # list_n.append(x.equip_id_id)
  589. # # x.simid = '12345678901234567890'
  590. # # x.save()
  591. # equip_obj2 = RecentCBDdata.objects.get(equip_id_id=x.equip_id_id)
  592. # equip_obj = CBDstatus.objects.filter(equip_id_id=x.equip_id_id).update(upl_time=equip_obj2.upl_time)
  593. # print("操作成功")
  594. # print(list_n)
  595. # equip_obj2 = RecentCBDdata.objects.get(equip_id_id=i)
  596. # equip_obj = CBDstatus.objects.filter(equip_id_id=i).update(upl_time=equip_obj2.upl_time)
  597. # e1 = ''
  598. # e2 = ''
  599. # e3 = ''
  600. # e4 = ''
  601. # e5 = ''
  602. # e6 = ''
  603. # e7 = ''
  604. # e8 = ''
  605. # e9 = ''
  606. # e10 = ''
  607. # e11 = ''
  608. # e12 = ''
  609. # e13 = ''
  610. # e14 = ''
  611. # e15 = ''
  612. # e16 = ''
  613. # e17 = ''
  614. # e18 = ''
  615. # e19 = ''
  616. # e20 = ''
  617. # e21 = ''
  618. # e22 = ''
  619. # e23 = ''
  620. # e24 = ''
  621. # e25 = ''
  622. # e26 = ''
  623. # e27 = ''
  624. # e28 = ''
  625. # e29 = ''
  626. # e30 = ''
  627. # conf1 = ''
  628. # conf2 = ''
  629. # conf3 = ''
  630. # conf4 = ''
  631. # conf5 = ''
  632. # conf6 = ''
  633. # conf7 = ''
  634. # conf8 = ''
  635. # conf9 = ''
  636. # conf10 = ''
  637. # conf11 = ''
  638. # conf12 = ''
  639. # conf13 = ''
  640. # conf14 = ''
  641. # conf15 = ''
  642. # conf16 = ''
  643. # conf17 = ''
  644. # conf18 = ''
  645. # conf19 = ''
  646. # conf20 = ''
  647. # conf21 = ''
  648. # conf22 = ''
  649. # conf23 = ''
  650. # conf24 = ''
  651. # conf25 = ''
  652. # conf26 = ''
  653. # conf27 = ''
  654. # conf28 = ''
  655. # conf29 = ''
  656. # conf30 = ''
  657. # for x in QXZstatus.objects.all():
  658. # e_id = x.equip_id_id
  659. # upl_time = QXZstatus.objects.get(equip_id=e_id).upl_time
  660. # qxz_picture = QXZstatus.objects.get(equip_id=e_id).qxz_picture
  661. # qxzstatus = eval(QXZstatus.objects.get(equip_id=e_id).qxz_status)['data']
  662. # for i in qxzstatus:
  663. # if i['eKey'] == 'e1':
  664. # e1 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  665. # conf1 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  666. # elif i['eKey'] == 'e2':
  667. # e2 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  668. # conf2 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  669. # elif i['eKey'] == 'e3':
  670. # e3 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  671. # conf3 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  672. # elif i['eKey'] == 'e4':
  673. # e4 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  674. # conf4 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  675. # elif i['eKey'] == 'e5':
  676. # e5 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  677. # conf5 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  678. # elif i['eKey'] == 'e6':
  679. # e6 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  680. # conf6 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  681. # elif i['eKey'] == 'e7':
  682. # e7 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  683. # conf7 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  684. # elif i['eKey'] == 'e8':
  685. # e8 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  686. # conf8 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  687. # elif i['eKey'] == 'e9':
  688. # e9 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  689. # conf9 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  690. # elif i['eKey'] == 'e10':
  691. # e10 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  692. # conf10 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  693. # elif i['eKey'] == 'e11':
  694. # e11 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  695. # conf11 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  696. # elif i['eKey'] == 'e12':
  697. # e12 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  698. # conf12 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  699. # elif i['eKey'] == 'e13':
  700. # e13 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  701. # conf13 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  702. # elif i['eKey'] == 'e14':
  703. # e14 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  704. # conf14 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  705. # elif i['eKey'] == 'e15':
  706. # e15 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  707. # conf15 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  708. # elif i['eKey'] == 'e16':
  709. # e16 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  710. # conf16 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  711. # elif i['eKey'] == 'e17':
  712. # e17 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  713. # conf17 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  714. # elif i['eKey'] == 'e18':
  715. # e18 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  716. # conf18 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  717. # elif i['eKey'] == 'e19':
  718. # e19 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  719. # conf19 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  720. # elif i['eKey'] == 'e20':
  721. # e20 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  722. # conf20 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  723. # elif i['eKey'] == 'e21':
  724. # e21 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  725. # conf21 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  726. # elif i['eKey'] == 'e22':
  727. # e22 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  728. # conf22 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  729. # elif i['eKey'] == 'e23':
  730. # e23 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  731. # conf23 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  732. # elif i['eKey'] == 'e24':
  733. # e24 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  734. # conf24 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  735. # elif i['eKey'] == 'e25':
  736. # e25 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  737. # conf25 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  738. # elif i['eKey'] == 'e26':
  739. # e26 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  740. # conf26 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  741. # elif i['eKey'] == 'e27':
  742. # e27 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  743. # conf27 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  744. # elif i['eKey'] == 'e28':
  745. # e28 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  746. # conf28 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  747. # elif i['eKey'] == 'e29':
  748. # e29 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  749. # conf29 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  750. # elif i['eKey'] == 'e30':
  751. # e30 = i['eValue'] + '#' + i['eNum'] + '#' + i['eKey']
  752. # conf30 = qxz_dict[i['eNum']][1] + '#' + qxz_dict[i['eNum']][2]
  753. # if QXZstatus_New.objects.filter(equip_id=e_id).exists():
  754. # print("------create default-------")
  755. # else:
  756. # QXZstatus_New.objects.create(equip_id_id=e_id,
  757. # e1=e1,e2=e2,e3=e3,e4=e4,e5=e5,e6=e6,e7=e7,e8=e8,e9=e9,e10=e10,
  758. # e11=e11,e12=e12,e13=e13,e14=e14,e15=e15,e16=e16,e17=e17,e18=e18,e19=e19,e20=e20,
  759. # e21=e21,e22=e22,e23=e23,e24=e24,e25=e25,e26=e26,e27=e27,e28=e28,e29=e29,e30=e30,
  760. # upl_time=upl_time,qxz_picture=qxz_picture)
  761. # print("------create success-------")
  762. # e1 = ''
  763. # e2 = ''
  764. # e3 = ''
  765. # e4 = ''
  766. # e5 = ''
  767. # e6 = ''
  768. # e7 = ''
  769. # e8 = ''
  770. # e9 = ''
  771. # e10 = ''
  772. # e11 = ''
  773. # e12 = ''
  774. # e13 = ''
  775. # e14 = ''
  776. # e15 = ''
  777. # e16 = ''
  778. # e17 = ''
  779. # e18 = ''
  780. # e19 = ''
  781. # e20 = ''
  782. # e21 = ''
  783. # e22 = ''
  784. # e23 = ''
  785. # e24 = ''
  786. # e25 = ''
  787. # e26 = ''
  788. # e27 = ''
  789. # e28 = ''
  790. # e29 = ''
  791. # e30 = ''
  792. # if QXZ_Conf.objects.filter(equip_id=e_id).exists():
  793. # print("------conf create default-------")
  794. # else:
  795. # QXZ_Conf.objects.create(equip_id_id=e_id,
  796. # e1=conf1,e2=conf2,e3=conf3,e4=conf4,e5=conf5,e6=conf6,e7=conf7,e8=conf8,e9=conf9,e10=conf10,
  797. # e11=conf11,e12=conf12,e13=conf13,e14=conf14,e15=conf15,e16=conf16,e17=conf17,e18=conf18,e19=conf19,e20=conf20,
  798. # e21=conf21,e22=conf22,e23=conf23,e24=conf24,e25=conf25,e26=conf26,e27=conf27,e28=conf28,e29=conf29,e30=conf30)
  799. # QXZ_Default_Conf.objects.create(equip_id_id=e_id,
  800. # e1=conf1,e2=conf2,e3=conf3,e4=conf4,e5=conf5,e6=conf6,e7=conf7,e8=conf8,e9=conf9,e10=conf10,
  801. # e11=conf11,e12=conf12,e13=conf13,e14=conf14,e15=conf15,e16=conf16,e17=conf17,e18=conf18,e19=conf19,e20=conf20,
  802. # e21=conf21,e22=conf22,e23=conf23,e24=conf24,e25=conf25,e26=conf26,e27=conf27,e28=conf28,e29=conf29,e30=conf30)
  803. # print("------conf create success-------")
  804. # conf1 = ''
  805. # conf2 = ''
  806. # conf3 = ''
  807. # conf4 = ''
  808. # conf5 = ''
  809. # conf6 = ''
  810. # conf7 = ''
  811. # conf8 = ''
  812. # conf9 = ''
  813. # conf10 = ''
  814. # conf11 = ''
  815. # conf12 = ''
  816. # conf13 = ''
  817. # conf14 = ''
  818. # conf15 = ''
  819. # conf16 = ''
  820. # conf17 = ''
  821. # conf18 = ''
  822. # conf19 = ''
  823. # conf20 = ''
  824. # conf21 = ''
  825. # conf22 = ''
  826. # conf23 = ''
  827. # conf24 = ''
  828. # conf25 = ''
  829. # conf26 = ''
  830. # conf27 = ''
  831. # conf28 = ''
  832. # conf29 = ''
  833. # conf30 = ''
  834. # -------------------------------------------------------MQTT TEST-------------------------------------
  835. # import threading
  836. # def cbdthread(e_id):
  837. # i = 0
  838. # TASK_TOPIC = '/yfkj/cbd/pub/%s'%e_id # 客户端发布消息主题
  839. # client_id = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
  840. # client = mqtt.Client(client_id, transport='tcp')
  841. # client.connect("39.104.94.153", 1883, 60) # 此处端口默认为1883,通信端口期keepalive默认60
  842. # client.loop_start()
  843. # # print("子线程名称输出",threading.currentThread().name)
  844. # """
  845. # 客户端发布消息
  846. # :param message: 消息主体
  847. # :return:
  848. # """
  849. # 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"}}
  850. # # publish(主题:Topic; 消息内容)
  851. # while True:
  852. # client.publish(TASK_TOPIC, json.dumps(payload, ensure_ascii=False))
  853. # print("Successful send message!",e_id)
  854. # time.sleep(1)
  855. # print("=============",i)
  856. # i = i + 1
  857. # e_id = 10000
  858. # for i in range(10):
  859. # t = threading.Thread(target=cbdthread,args=(e_id,))
  860. # #打印出当前线程的名称和id
  861. # # print(threading.currentThread().name)
  862. # # t.setDaemon(True)
  863. # t.start()
  864. # e_id = e_id + 1
  865. # if e_id == 10009:
  866. # while True:
  867. # print("主线程名称输出",threading.currentThread().name)
  868. # thread_num = len(threading.enumerate())
  869. # print("线程数量是%d" % thread_num)
  870. # time.sleep(1)
  871. # -------------------------------------------------------MQTT TEST-------------------------------------
  872. # print(type(os.path.getsize('F:\\1111.jpg')))
  873. # msg_conf_list = Msg_Conf.objects.all()
  874. # for i in msg_conf_list:
  875. # cbd_obj = Equip.objects.get(equip_id=i.equip_id)
  876. # equip_name = ""
  877. # if cbd_obj.equip_name == "" or cbd_obj.equip_name == None:
  878. # equip_name = cbd_obj.equip_id
  879. # else:
  880. # equip_name = cbd_obj.equip_name
  881. # msgconf = eval(i.conf)
  882. # # 需要发送短信的手机号码
  883. # phone_numbers = msgconf["phone"]
  884. # # 短信模板ID,需要在短信控制台中申请
  885. # template_id = 431378 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
  886. # # 签名
  887. # sms_sign = "云飞科技" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
  888. # ssender = SmsSingleSender(appid, appkey)
  889. # params = ["","","由于入冬无虫子,暂时停止短信发送服务,将于明年三月份开启"] # 当模板没有参数时,`params = []`
  890. # try:
  891. # result = ssender.send_with_param(86, phone_numbers,
  892. # template_id, params, sign=sms_sign, extend="", ext="") # 签名参数未提供或者为空时,会使用默认签名发送短信
  893. # except HTTPError as e:
  894. # print(e)
  895. # except Exception as e:
  896. # print(e)
  897. # print(result)
  898. # Msg_Send.objects.create(mobile=msgconf["phone"],equip_id=i.equip_id,send_dec=params,result_desc=result)
  899. # pest_name = []
  900. # print("----发送成功",phone_numbers)
  901. # 账号有效期设置
  902. # user_obj = MyUser.objects.all()
  903. # for i in user_obj:
  904. # if i.date_joined.year == 2019 and i.date_joined.month >= 10:
  905. # print(i.date_joined)
  906. # print(i.username)
  907. # i.expire_date = i.date_joined + datetime.timedelta(days=730)
  908. # i.save()
  909. # print("操作成功")
  910. # # 查看最近有虫子的测报灯
  911. # one_month = datetime.timedelta(days=30)
  912. # now_time = datetime.datetime.now()
  913. # photo_list = CBDphoto.objects.all()
  914. # for i in photo_list:
  915. # if now_time - i.upl_time <= one_month and i.indentify_result:
  916. # print(i.equip_id_id)
  917. # book=xlrd.open_workbook('F:\\12.2河南云飞恢复续费.xlsx')
  918. # sheet=book.sheet_by_index(0) #根据sheet编号来
  919. # # sheet=book.sheet_by_name('sheet1') #根据 sheet名称来
  920. # # print(sheet.nrows) #excel里面有多少行
  921. # # print(sheet.ncols) #excel里面有多少列
  922. # # print(sheet.cell(0,0).value) #获取第0行第0列的值
  923. # # print(sheet.row_values(0)) #获取到整行的内容
  924. # # print(sheet.col_values(1)) #获取到整列的内容
  925. # iccid_list = sheet.col_values(1)
  926. # for i in range(len(iccid_list)):
  927. # if i == 0:
  928. # continue
  929. # print(iccid_list[i])
  930. # # print(iccid_list[i])
  931. # # for i in range(sheet.nrows): #循环获取每行的内容
  932. # # print(sheet.row_values(i))
  933. # equip_list = Equip.objects.all()
  934. # for i in equip_list:
  935. # print(type(i.equip_type_id))
  936. # datalist = RecentCBDdata.objects.all()
  937. # for i in datalist:
  938. # if i.discern == False:
  939. # i.disc = 1
  940. # i.save()
  941. # elif i.discern == True:
  942. # i.disc = 0
  943. # i.save()
  944. # print("数据导入完毕")
  945. # 判断测报灯流量卡充值停用账号
  946. # simlist = Equip_SimInfo.objects.all()
  947. # for i in simlist:
  948. # dateTime_p = datetime.datetime.strptime(i.expiry_date,'%Y-%m-%d %H:%M:%S')
  949. # # 判断sim卡是否30天到期
  950. # if dateTime_p - datetime.datetime.now() > datetime.timedelta(days=30):
  951. # pass
  952. # elif datetime.timedelta(days=0) > dateTime_p - datetime.datetime.now() > datetime.timedelta(days=0):
  953. # print("发送短信通知")
  954. # elif dateTime_p - datetime.datetime.now() < datetime.timedelta(days=0):
  955. # if i.equip_id.equip_type_id == 2:
  956. # print("杀虫灯")
  957. # # 判断杀虫灯状态30天内是否有数据
  958. # if datetime.datetime.now() - SCDstatus.objects.get(equip_id=i.equip_id).upl_time > datetime.timedelta(days=30):
  959. # pass
  960. # else:
  961. # print("停用账号")
  962. # elif i.equip_id.equip_type_id == 3:
  963. # print("测报灯")
  964. # # 判断测报灯状态30天内是否有数据
  965. # if datetime.datetime.now() - CBDstatus.objects.get(equip_id=i.equip_id).upl_time > datetime.timedelta(days=30):
  966. # pass
  967. # else:
  968. # print("停用账号")
  969. # end_date = datetime.datetime.now()
  970. # one_day = datetime.timedelta(days=1)
  971. # one_day_later = datetime.datetime.now() - one_day
  972. # print(one_day_later)
  973. # new_time = "%s-%s-%s %s:%s:%s" %(one_day_later.year,one_day_later.month,one_day_later.day,"19","00","00")
  974. # start_date = datetime.datetime.strptime(new_time,"%Y-%m-%d %H:%M:%S")
  975. # cbd_obj = Equip.objects.get(equip_id='86123456789')
  976. # equip_name = ""
  977. # if cbd_obj.equip_name == "" or cbd_obj.equip_name == None:
  978. # equip_name = cbd_obj.equip_id
  979. # else:
  980. # equip_name = cbd_obj.equip_name
  981. # msg_conf_list = Msg_Conf.objects.get(equip_id=cbd_obj)
  982. # msgconf = eval(msg_conf_list.conf)
  983. # if msgconf["appointPest"] == "on":
  984. # pest_num = 0
  985. # pest_name = []
  986. # pest_nums = []
  987. # pest_dict = {}
  988. # pest_dict_new = {}
  989. # cbd_list = CBDphoto.objects.filter(equip_id=cbd_obj)
  990. # for x in cbd_list:
  991. # if x.indentify_result == None or x.indentify_result == "":
  992. # pass
  993. # else:
  994. # for a in x.indentify_result.split("#"):
  995. # pest_num = pest_num + int(a.split(",")[1])
  996. # pest_name.append(int(a.split(",")[0]))
  997. # pest_nums.append(int(a.split(",")[1]))
  998. # for xx in range(len(pest_name)):
  999. # c = {pest_name[xx]:pest_nums[xx]}
  1000. # for d in c:
  1001. # if d in pest_dict:
  1002. # pest_dict[d] = pest_dict[d] + c[d]
  1003. # else:
  1004. # pest_dict.update(c)
  1005. # print(pest_dict)
  1006. # send_dict = {}
  1007. # print(msgconf["appointPestName"].split("#"))
  1008. # print(msgconf["appointPestNum"].split("#"))
  1009. # msg_name = msgconf["appointPestName"].split("#")
  1010. # msg_num = msgconf["appointPestNum"].split("#")
  1011. # for i in range(len(msg_name)):
  1012. # if pest_dict[int(msg_name[i])] > int(msg_num[i]):
  1013. # aaa = {insect_dict_new[msg_name[i]]:"%s头"%int(msg_num[i])}
  1014. # send_dict.update(aaa)
  1015. # print(send_dict)
  1016. # if pest_dict[int(msgconf["appointPestName"])] >= int(msgconf["appointPestNum"]):
  1017. # pass
  1018. # pest_num = 0
  1019. # pest_name = []
  1020. # pest_nums = []
  1021. # pest_dict = {}
  1022. # pest_dict_new = {}
  1023. # equip_obj = Equip.objects.get(equip_id="868575028850321")
  1024. # file_dir = "pyftp/ftp_file/bzy_photo/%s"%868575028850321
  1025. # print("file_dir",file_dir)
  1026. # sta1 = BZYstatus.objects.all()
  1027. # sta3 = []
  1028. # photo_list = []
  1029. # for i in sta1:
  1030. # sta3.append(i.equip_id.equip_id)
  1031. # for imei in sta3:
  1032. # equip_obj = Equip.objects.get(equip_id=imei)
  1033. # file_dir = "pyftp/ftp_file/bzy_photo/%s"%imei
  1034. # # print("file_dir",file_dir)
  1035. # for root, dirs, files in os.walk(file_dir):
  1036. # # print("当前目录为=========>>",root) #当前目录路径
  1037. # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  1038. # if root.endswith(imei):
  1039. # pass
  1040. # else:
  1041. # # print("当前目录------->>",root)
  1042. # for roots, dirss, file in os.walk(root):
  1043. # # print(roots) #当前目录路径
  1044. # # print(dirs) #当前路径下所有子目录
  1045. # # print(file) #当前路径下所有非目录子文件
  1046. # if file != []:
  1047. # for i in file:
  1048. # photo_addr = roots + "/" + i
  1049. # # print(photo_addr)
  1050. # if BZYphoto.objects.filter(addr=photo_addr).exists():
  1051. # # print("照片存在")
  1052. # # print(i[17:29])
  1053. # # print("-----")
  1054. # # sp = datetime.datetime.now().year
  1055. # # sp_str = i.split(str(sp))[1]
  1056. # # # print(sp_str[0:8])
  1057. # # st = str(sp) + sp_str[0:8]
  1058. # # print(st)
  1059. # pass
  1060. # else:
  1061. # print("-----")
  1062. # sp = datetime.datetime.now().year
  1063. # sp_str = i.split(str(sp))[1]
  1064. # # print(sp_str[0:8])
  1065. # st = str(sp) + sp_str[0:8]
  1066. # # st = i[17:29]
  1067. # # print(st)
  1068. # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H%M%S")
  1069. # print(pic_time)
  1070. # BZYphoto.objects.create(equip_id=equip_obj,addr=photo_addr,upl_time=pic_time)
  1071. # sta1 = BZYstatus.objects.all()
  1072. # sta3 = []
  1073. # photo_list = []
  1074. # for i in sta1:
  1075. # sta3.append(i.equip_id.equip_id)
  1076. # for imei in sta3:
  1077. # equip_obj = Equip.objects.get(equip_id=imei)
  1078. # file_dir = "pyftp/ftp_file/bzy_photo/%s"%imei
  1079. # # print("file_dir",file_dir)
  1080. # for root, dirs, files in os.walk(file_dir):
  1081. # # print("当前目录为=========>>",root) #当前目录路径
  1082. # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  1083. # if root.endswith(imei):
  1084. # pass
  1085. # else:
  1086. # # print("当前目录------->>",root)
  1087. # for roots, dirss, file in os.walk(root):
  1088. # # print(roots) #当前目录路径
  1089. # # print(dirs) #当前路径下所有子目录
  1090. # # print(file) #当前路径下所有非目录子文件
  1091. # if file != []:
  1092. # for i in file:
  1093. # photo_addr = roots + "/" + i
  1094. # # print(photo_addr)
  1095. # if BZYphoto.objects.filter(addr=photo_addr).exists():
  1096. # print("照片存在")
  1097. # print(i[16:34])
  1098. # else:
  1099. # # os.path.getctime(photo_addr) # 输出文件的创建时间
  1100. # # print("文件创建时间",os.path.getctime(photo_addr))
  1101. # # timeStamp = os.path.getctime(photo_addr)
  1102. # # timeArray = time.localtime(timeStamp)
  1103. # # otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
  1104. # # print(otherStyleTime)
  1105. # # BZYphoto.objects.create(equip_id=equip_obj,addr=photo_addr)
  1106. # print("-----")
  1107. # print("=========================")
  1108. # # print(photo_list)
  1109. # print("=========================")
  1110. # sta1 = SCDstatus.objects.all()
  1111. # sta2 = CBDstatus.objects.all()
  1112. # # 获取设备列表中的SIM卡的iccid号码:
  1113. # iccids = []
  1114. # # 获取设备的id:
  1115. # equip_ids = []
  1116. # # 获取设备的名称:
  1117. # equip_names = []
  1118. # # 遍历查询流量信息:
  1119. # siminfos = []
  1120. # for i in sta1:
  1121. # try:
  1122. # iccid = eval(i.scd_status)['iccid']
  1123. # except:
  1124. # iccid = ""
  1125. # iccids.append(iccid)
  1126. # equip_ids.append(str(i.equip_id))
  1127. # equip_names.append(str(i.equip_id.equip_name))
  1128. # for i in sta2:
  1129. # try:
  1130. # iccid = eval(i.cbd_status)['iccid']
  1131. # except:
  1132. # iccid = ""
  1133. # iccids.append(iccid)
  1134. # equip_ids.append(str(i.equip_id))
  1135. # equip_names.append(str(i.equip_id.equip_name))
  1136. # print('all iccids :',iccids)
  1137. # print('all equip_ids :',equip_ids)
  1138. # print('all equip_names :',equip_names)
  1139. # print('iccids :',iccids)
  1140. # print('equip_ids :',equip_ids)
  1141. # print('equip_names :',equip_names)
  1142. # # 调用api查到的iccid号:
  1143. # for i in range(len(iccids)):
  1144. # if iccids[i] != "":
  1145. # # print("------",i)
  1146. # # print('iccids :',iccids[i])
  1147. # # print('equip_ids :',equip_ids[i])
  1148. # # print('equip_names :',equip_names[i])
  1149. # res = get_siminfo(iccids[i])
  1150. # sim_res = res.text.encode('utf-8').decode('unicode_escape')
  1151. # if eval(sim_res)["code"] == 0:
  1152. # timeStamp = eval(sim_res)["data"]["expiry_date"]
  1153. # dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
  1154. # otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
  1155. # timeStamp1 = eval(sim_res)["data"]["active_date"]
  1156. # dateArray1 = datetime.datetime.utcfromtimestamp(timeStamp1)
  1157. # otherStyleTime1 = dateArray1.strftime("%Y-%m-%d %H:%M:%S")
  1158. # if Equip_SimInfo.objects.filter(equip_id=equip_ids[i]).exists():
  1159. # siminfo_obj = Equip_SimInfo.objects.get(equip_id=equip_ids[i])
  1160. # siminfo_obj.equip_name = equip_names[i]
  1161. # siminfo_obj.iccid = eval(sim_res)["data"]["iccid"]
  1162. # siminfo_obj.msisdn = eval(sim_res)["data"]["msisdn"]
  1163. # siminfo_obj.imsi = eval(sim_res)["data"]["imsi"]
  1164. # siminfo_obj.sp_code = eval(sim_res)["data"]["sp_code"]
  1165. # siminfo_obj.carrier = eval(sim_res)["data"]["carrier"]
  1166. # siminfo_obj.data_plan = eval(sim_res)["data"]["data_plan"]
  1167. # siminfo_obj.data_usage = eval(sim_res)["data"]["data_usage"]
  1168. # siminfo_obj.account_status = eval(sim_res)["data"]["account_status"]
  1169. # siminfo_obj.expiry_date = otherStyleTime
  1170. # siminfo_obj.active = eval(sim_res)["data"]["active"]
  1171. # siminfo_obj.test_valid_date = eval(sim_res)["data"]["test_valid_date"]
  1172. # siminfo_obj.silent_valid_date = eval(sim_res)["data"]["silent_valid_date"]
  1173. # siminfo_obj.test_used_data_usage = eval(sim_res)["data"]["test_used_data_usage"]
  1174. # siminfo_obj.active_date = otherStyleTime1
  1175. # siminfo_obj.data_balance = eval(sim_res)["data"]["data_balance"]
  1176. # siminfo_obj.outbound_date = eval(sim_res)["data"]["outbound_date"]
  1177. # siminfo_obj.support_sms = eval(sim_res)["data"]["support_sms"]
  1178. # siminfo_obj.upl_time = datetime.datetime.now()
  1179. # siminfo_obj.save()
  1180. # else:
  1181. # Equip_SimInfo.objects.create(
  1182. # equip_id = Equip.objects.get(equip_id=equip_ids[i]),
  1183. # equip_name = equip_names[i],
  1184. # iccid = eval(sim_res)["data"]["iccid"],
  1185. # msisdn = eval(sim_res)["data"]["msisdn"],
  1186. # imsi = eval(sim_res)["data"]["imsi"],
  1187. # sp_code = eval(sim_res)["data"]["sp_code"],
  1188. # carrier = eval(sim_res)["data"]["carrier"],
  1189. # data_plan = eval(sim_res)["data"]["data_plan"],
  1190. # data_usage = eval(sim_res)["data"]["data_usage"],
  1191. # account_status = eval(sim_res)["data"]["account_status"],
  1192. # expiry_date = otherStyleTime,
  1193. # active = eval(sim_res)["data"]["active"],
  1194. # test_valid_date = eval(sim_res)["data"]["test_valid_date"],
  1195. # silent_valid_date = eval(sim_res)["data"]["silent_valid_date"],
  1196. # test_used_data_usage = eval(sim_res)["data"]["test_used_data_usage"],
  1197. # active_date = otherStyleTime1,
  1198. # data_balance = eval(sim_res)["data"]["data_balance"],
  1199. # outbound_date = eval(sim_res)["data"]["outbound_date"],
  1200. # support_sms = eval(sim_res)["data"]["support_sms"]
  1201. # )
  1202. # print("-----sim卡信息更新成功------")
  1203. # 保存调用查询流量的api返回的数据;
  1204. # dat = []
  1205. # for j in list(range(0,siminfo_dict['data']['count'])):
  1206. # equip_iccids.append(siminfo_dict['data']['card_list'][j]['iccid'])
  1207. # # print('equip_iccids:',equip_iccids)
  1208. # for j in list(range(0,len(iccids))):
  1209. # siminfo_dict=eval(siminfo_str)
  1210. # if (iccids[j] in equip_iccids) == True:
  1211. # dat.append(siminfo_dict['data']['card_list'][equip_iccids.index(iccids[j])])
  1212. # else:
  1213. # dat.append({})
  1214. # dat[j]['equip_id']=equip_ids[j]
  1215. # dat[j]['equip_name']=equip_names[j]
  1216. # # print("dat[%d]=%s" %(j,dat[j]))
  1217. # iccids[j] = ""# 每次判断玩将该值清空,防止多个设备用一个SIM卡测试时显示异常;
  1218. # # print('----- iccids :',iccids)
  1219. # print("------------------------",dat)
  1220. # print("dat:",dat)
  1221. # ----------------------------------测报灯图片存在与否判断-----------------------------------
  1222. # sta1 = CBDstatus.objects.all()
  1223. # sta3 = []
  1224. # photo_list = []
  1225. # for i in sta1:
  1226. # sta3.append(i.equip_id.equip_id)
  1227. # for imei in sta3:
  1228. # file_dir = "pyftp/ftp_file/ykm_cbd/%s"%imei
  1229. # # print("file_dir",file_dir)
  1230. # for root, dirs, files in os.walk(file_dir):
  1231. # # print("当前目录为=========>>",root) #当前目录路径
  1232. # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  1233. # if root.endswith(imei):
  1234. # pass
  1235. # else:
  1236. # # print("当前目录------->>",root)
  1237. # for roots, dirss, file in os.walk(root):
  1238. # # print(roots) #当前目录路径
  1239. # # print(dirs) #当前路径下所有子目录
  1240. # # print(file) #当前路径下所有非目录子文件
  1241. # if file != []:
  1242. # for i in file:
  1243. # photo_addr = roots + "/" + i
  1244. # # print(photo_addr)
  1245. # if CBDphoto.objects.filter(addr=photo_addr).exists():
  1246. # print("照片存在")
  1247. # else:
  1248. # photo_list.append(photo_addr)
  1249. # print("=========================")
  1250. # print(photo_list)
  1251. # print("=========================")
  1252. # -----------------------------------------------------------------------------------------------
  1253. # sta1 = BZYstatus.objects.all()
  1254. # sta3 = []
  1255. # photo_list = []
  1256. # for i in sta1:
  1257. # sta3.append(i.equip_id.equip_id)
  1258. # for imei in sta3:
  1259. # file_dir = "pyftp/ftp_file/ykm_cbd/%s"%imei
  1260. # # print("file_dir",file_dir)
  1261. # for root, dirs, files in os.walk(file_dir):
  1262. # # print("当前目录为=========>>",root) #当前目录路径
  1263. # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  1264. # if root.endswith(imei):
  1265. # pass
  1266. # else:
  1267. # # print("当前目录------->>",root)
  1268. # for roots, dirss, file in os.walk(root):
  1269. # # print(roots) #当前目录路径
  1270. # # print(dirs) #当前路径下所有子目录
  1271. # # print(file) #当前路径下所有非目录子文件
  1272. # if file != []:
  1273. # for i in file:
  1274. # photo_addr = roots + "/" + i
  1275. # # print(photo_addr)
  1276. # if CBDphoto.objects.filter(addr=photo_addr).exists():
  1277. # print("照片存在")
  1278. # else:
  1279. # photo_list.append(photo_addr)
  1280. # print("=========================")
  1281. # print(photo_list)
  1282. # print("=========================")
  1283. # try:
  1284. # path = "pyftp/ftp_file/ykm_cbd/%s"%imei
  1285. # lsdir = os.listdir(path)
  1286. # dirs = [i for i in lsdir if os.path.isdir(os.path.join(path, i))]
  1287. # if dirs:
  1288. # for i in dirs:
  1289. # print_files(os.path.join(path, i))
  1290. # files = [i for i in lsdir if os.path.isfile(os.path.join(path,i))]
  1291. # for f in files:
  1292. # print(os.path.join(path, f))
  1293. # except Exception as e:
  1294. # print("=================>>",e)
  1295. # print("文件夹不存在")
  1296. # file_dir = "pyftp/ftp_file/ykm_cbd/%s"%imei
  1297. # print("file_dir",file_dir)
  1298. # for root, dirs, files in os.walk(file_dir):
  1299. # print(root) #当前目录路径
  1300. # print(dirs) #当前路径下所有子目录
  1301. # print(files) #当前路径下所有非目录子文件
  1302. # for i in files:
  1303. # file = file_dir + "/" + i
  1304. # jpg_time = time.ctime(os.path.getctime(file))
  1305. # print("jpg_time",jpg_time)
  1306. # st = s_time+jpg_time[11:19]
  1307. # print("-------------------",i.split(".")[0])
  1308. # pic_time_1 = s_time+i.split(".")[0]
  1309. # pic_time_1 = datetime.datetime.strptime(pic_time_1,"%Y%m%d%H-%M-%S")
  1310. # print("-------------------->",pic_time_1)
  1311. # print("-------------------->",type(pic_time_1))
  1312. # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H:%M:%S")
  1313. # print("类型查看",type(pic_time))
  1314. # print("把字符串转成datetime: ", datetime.datetime.strptime(st,"%Y%m%d%H:%M:%S"))
  1315. # if CBDphoto.objects.filter(addr=file).exists():
  1316. # photoobj = CBDphoto.objects.get(addr=file)
  1317. # photoobj.upl_time = pic_time_1
  1318. # photoobj.save()
  1319. # print("照片存在")
  1320. # else:
  1321. # print("照片不存在")
  1322. # try:
  1323. # imei_obj = Equip.objects.get(equip_id=imei)
  1324. # CBDphoto.objects.create(equip_id=imei_obj,addr=file,upl_time=pic_time)
  1325. # except Exception as e:
  1326. # print("错误信息为",e)
  1327. # a = 0
  1328. # qxz_obj = QXZdata.objects.filter(equip_id="16062023")
  1329. # for i in qxz_obj:
  1330. # a = a + 1
  1331. # i.delete()
  1332. # print("----删除成功%s"%a)
  1333. # =========================================================================================================
  1334. # equip_list = Equip.objects.all()
  1335. # bbb = 0
  1336. # for i in equip_list:
  1337. # photo_list = CBDphoto.objects.filter(equip_id=i.equip_id)
  1338. # status_list = CBDdata.objects.filter(equip_id=i.equip_id)
  1339. # for x in photo_list:
  1340. # for a in status_list:
  1341. # if x.at == None:
  1342. # 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:
  1343. # # print("数据时间==================>",a.upl_time)
  1344. # # print("设备温度==================>",eval(a.cbd_data)["at"])
  1345. # # print("设备湿度==================>",eval(a.cbd_data)["ah"])
  1346. # # print("照片时间==================>",x.upl_time)
  1347. # x.at = eval(a.cbd_data)["at"]
  1348. # x.ah = eval(a.cbd_data)["ah"]
  1349. # x.save()
  1350. # bbb = bbb + 1
  1351. # print(bbb)
  1352. # print("========操作成功=======")
  1353. # =========================================================================================================
  1354. # file_dir="pyftp/ftp_file/bzy_photo/865650042816310/201909"
  1355. # # print("file_dir",file_dir)
  1356. # # bzy_obj = Equip.objects.get(equip_id=imei)
  1357. # for root, dirs, files in os.walk(file_dir):
  1358. # print("当前目录为=========>>",root) #当前目录路径
  1359. # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
  1360. # print("当前目录文件为=========>>",files) #当前路径下所有非目录子文件
  1361. # for i in files:
  1362. # photo_addr = file_dir + "/" + i
  1363. # print("文件夹图片路径===========》》",photo_addr)
  1364. # if BZYphoto.objects.filter(addr=photo_addr).exists():
  1365. # print("照片存在")
  1366. # else:
  1367. # print("照片不存在")
  1368. # BZYphoto.objects.create(equip_id=bzy_obj,addr=photo_addr)
  1369. # if root.endswith(imei):
  1370. # pass
  1371. # else:
  1372. # # print("当前目录------->>",root)
  1373. # for roots, dirss, file in os.walk(root):
  1374. # # print(roots) #当前目录路径
  1375. # # print(dirs) #当前路径下所有子目录
  1376. # # print(file) #当前路径下所有非目录子文件
  1377. # if file != []:
  1378. # for i in file:
  1379. # photo_addr = roots + "/" + i
  1380. # # print(photo_addr)
  1381. # if BZYphoto.objects.filter(addr=photo_addr).exists():
  1382. # print("照片存在")
  1383. # else:
  1384. # BZYphoto.objects.create(equip_id=bzy_obj,addr=photo_addr)
  1385. # ---------------------------丁艳青定制设备----------------------------------------------------------
  1386. # one_day = datetime.timedelta(days=1)
  1387. # minut = datetime.timedelta(minutes=random.choice(range(20,34)))
  1388. # start_time = '2019-07-29 19:00:08'
  1389. # start_time = datetime.datetime.strptime(start_time,'%Y-%m-%d %H:%M:%S')
  1390. # a = 1
  1391. # b = 1
  1392. # photo_list = CBDphoto.objects.filter(equip_id="865650040895753")
  1393. # for i in photo_list:
  1394. # i.upl_time = start_time + datetime.timedelta(days=b) + datetime.timedelta(minutes=random.choice(range(20,34))) * a
  1395. # i.save()
  1396. # a = a + 1
  1397. # print("修改次数",a)
  1398. # if a == 5:
  1399. # print("---跨天")
  1400. # b = b + 1
  1401. # i.upl_time = start_time + datetime.timedelta(days=b) + datetime.timedelta(minutes=random.choice(range(20,34)))
  1402. # i.save()
  1403. # a = 0
  1404. # data_obj = RecentCBDdata.objects.get(equip_id="865650042837894")
  1405. # print(eval(data_obj.cbd_data)['at'])
  1406. # scd_list = RecentSCDdata.objects.all().values()
  1407. # for i in scd_list:
  1408. # try:
  1409. # if eval(i['scd_data'])['lng'] == 0:
  1410. # print(i['equip_id_id'])
  1411. # except:
  1412. # print("---报错设备号为:",i['equip_id_id'])
  1413. # print("-----lng-------",eval(i['scd_data'])['lng'])