| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889 |
- # from qcloudsms_py import SmsSingleSender
- # from qcloudsms_py.httpclient import HTTPError
- # from qcloudsms_py import SmsMultiSender
- import os
- import django
- import sys
- BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录
- sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir)))
- os.environ.setdefault("DJANGO_SETTINGS_MODULE",
- "yfwlw_pro.settings") # project_name 项目名称
- django.setup()
- import json
- import time
- import requests
- import datetime
- from apps.ReportManage.all_dict import mobile_list, insect_dict_new, qxz_dict
- from apps.AppInfoManage.models import Equip, Equip_type, CBDphoto, Msg_Send, Msg_Conf, Equip_SimInfo, SCDstatus, CBDstatus, RecentCBDdata, MyUser,JKphoto, BZYdata, QXZstatus,QXZdata,\
- QXZstatus_New, QXZ_Conf, QXZ_Default_Conf, MyUser, JKphoto, BZYphoto, QXZdata_New, Group, CBDstatus_all, Alarm_record
- from apps.SimInfo.views import get_siminfo
- import paho.mqtt.client as mqtt
- # 短信应用 SDK AppID
- appid = 1400227496 # SDK AppID 以1400开头
- # 短信应用 SDK AppKey
- appkey = "c9aba961bd30072f1e1b9272077abaea"
- from requests.auth import HTTPBasicAuth
- import xlrd, xlwt
- import random
- from django.db import transaction
- from django.db.models import Q
- from django.db.models import Count
- import math
- import os
- import urllib.parse
- import urllib.request
- import re
- from collections import Counter
- import datetime
- import oss2
- import threadpool
- # i = CBDstatus.objects.get(equip_id="867814040037265")
- # for i in CBDstatus.objects.all():
- # print("--->>lng",i.lng)
- # print("--->>lat",i.lat)
- # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
- # auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
- auth = oss2.Auth('LTAI4G7tFh5Nk4KXZoSPk1D8', 'RV4S2SfbLPoFNjlI4uIOoA0J1LQPQc')
- # Endpoint以杭州为例,其它Region请按实际情况填写。
- # bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
- # bucket = oss2.Bucket(auth, 'https://cbdphoto.oss-cn-hangzhou.aliyuncs.com', 'cbdphoto')
- bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', 'cbdpic')
- # # 必须以二进制的方式打开文件,因为需要知道文件包含的字节数。
- # with open('./1.jpg', 'rb') as fileobj:
- # # Seek方法用于指定从第1000个字节位置开始读写。上传时会从您指定的第1000个字节位置开始上传,直到文件结束。
- # fileobj.seek(1000, os.SEEK_SET)
- # # Tell方法用于返回当前位置。
- # current = fileobj.tell()
- # bucket.put_object('2.jpg', fileobj)
-
- # aa = bucket.put_object_from_file('10/112234.jpg', '112233.jpg')
- # print(aa)
- def TimeStampToTime(timestamp):
- timeStruct = time.localtime(timestamp)
- str_p = time.strftime('%Y-%m-%d %H:%M:%S',timeStruct)
- dateTime_p = datetime.datetime.strptime(str_p,'%Y-%m-%d %H:%M:%S')
- return dateTime_p
- def get_FileCreateTime(filePath):
- # filePath = unicode(filePath,'utf8')
- t = os.path.getmtime(filePath)
- return TimeStampToTime(t)
- # for obj in oss2.ObjectIterator(bucket, prefix='202009/865650042837720/'):
- # addr = "https://bzypic.oss-cn-hangzhou.aliyuncs.com/" + obj.key
- # if BZYphoto.objects.filter(addr=addr).exists():
- # print("照片存在")
- # else:
- # print("照片不存在")
- # print(addr)
- # for x in Equip.objects.filter(equip_type=3):
- # imei = x.equip_id
- # equip_obj = x
- imei = "869300039256106"
- equip_obj = Equip.objects.get(equip_id=imei)
- file_dir = "../pyftp/ftp_file/ykm_cbd/%s"%imei
- for root, dirs, file in os.walk(file_dir):
- if file != [] and "jpg" in file[0]:
- # print("当前路径下所有非目录子文件>>",file)
- for i in file:
- pic_addr_1 = root + "/" + i
-
- pic_addr = pic_addr_1.replace("../","")
- picname_1 = get_FileCreateTime(pic_addr_1)
- # print("文件时间为",picname_1)
- # now = datetime.datetime.now()
-
-
- addr = pic_addr.split("/")[-1]
- 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:
- # print("长addr",addr)
- _time = addr.split("_")[2][0:14]
- # print("------->>",len(_time))
- try:
- _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- except:
- print("时间转化错误alarm")
- print("----->>",addr)
- _time = picname_1
- # print("192.168的时间",pic_addr)
- # print("------->>",_time)
- # if i.upl_time.hour != _time.hour:
- # i.upl_time = _time
- # i.save()
- elif len(addr) == 18:
-
- _time = addr.split(".")[0][0:14]
-
- _time = _time.split("\r")[0]
- try:
- _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- except:
- print("时间转化错误18")
- print("----->>",addr)
- _time = picname_1
- # print("len=18的时间",pic_addr)
- # print("------->>",_time)
- elif len(addr) == 35:
- _time = addr.split("-")[1] + addr.split("-")[2]
- _time = _time.split(".")[0]
- try:
- _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- except:
- print("时间转化错误18")
- print("----->>",addr)
- _time = picname_1
- # print("len=18的时间",pic_addr)
- # print("------->>",_time)
- elif ":" in addr:
- _year_month = pic_addr.split("/")[-2]
- _day = addr.split(".")[0]
- _time = _year_month + _day
- try:
- _time = datetime.datetime.strptime(_time,'%Y%m%d%H:%M:%S')
- except:
- print("时间转化错误 :")
- print("----->>",addr)
- _time = get_FileCreateTime(pic_addr_1)
- # print("带:的时间",pic_addr)
- # print("------->>",_time)
- elif "-" in addr and len(addr) < 15:
- _year_month = pic_addr.split("/")[-2]
- _day = addr.split(".")[0]
- _time = _year_month + _day
- try:
- _time = datetime.datetime.strptime(_time,'%Y%m%d%H-%M-%S')
- except:
- print("时间转化错误-")
- print("----->>",addr)
- _time = get_FileCreateTime(pic_addr_1)
- # print("带-的时间",pic_addr)
- # print("------->>",_time)
- elif len(addr) == 10:
- _year_month = pic_addr.split("/")[-2]
- _day = addr.split(".")[0]
- _time = _year_month + _day
- try:
- _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- except:
- print("时间转化错误10")
- print("----->>",pic_addr)
- _time = get_FileCreateTime(pic_addr_1)
- # print("len=10的时间",pic_addr)
- # print("------->>",_time)
- elif "-" in addr and len(addr) > 15:
- _addr = addr.split('.')[-2]
- _addr = _addr.split('-')
- _time = _addr[-2] + _addr[-1]
- try:
- _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- except:
- print("时间转化错误--")
- print("----->>",pic_addr)
- _time = get_FileCreateTime(pic_addr_1)
- else:
- print("其他addr",addr)
- print("其他",pic_addr)
- _time = get_FileCreateTime(pic_addr_1)
- # time.sleep(1)
- if _time.year == 1970:
- _time = get_FileCreateTime(pic_addr_1)
-
- strnow = datetime.datetime.strftime(_time,'%Y%m')
- picname = datetime.datetime.strftime(_time,'%Y%m%d%H%M%S')
-
- # # bucket_pic = bucket.put_object_from_file(strnow + '/' + imei + '/'+ picname + '.jpg', pic_addr_1)
- # print("图片数据库路径为pic_addr",pic_addr)
-
- # new_addr = "https://cbdpic.oss-cn-hangzhou.aliyuncs.com/" + strnow + '/' + imei + '/'+ picname + '.jpg'
- new_addr = "http://cbd.yfpyx.com/" + imei + '/' + strnow + '/'+ picname + '.jpg'
-
- exist = bucket.object_exists(imei + '/' + strnow + '/'+ picname + '.jpg')
-
- if exist:
- print('object exist')
- if CBDphoto.objects.filter(addr=pic_addr).exists():
- if CBDphoto.objects.filter(addr=new_addr).exists():
- pass
- else:
- data_obj = RecentCBDdata.objects.get(equip_id=equip_obj)
- # CBDphoto.objects.create(equip_id=equip_obj,addr=new_addr,upl_time=_time)
- CBDphoto.objects.filter(addr=pic_addr).update(addr=new_addr)
- # os.remove(pic_addr_1)
- print("图片删除成功")
- print("数据库创建链接成功")
- else:
- if CBDphoto.objects.filter(addr=new_addr).exists():
- pass
- else:
- data_obj = RecentCBDdata.objects.get(equip_id=equip_obj)
- # CBDphoto.objects.create(equip_id=equip, addr=img_addr,at=eval(data_obj.cbd_data)['at'],ah=eval(data_obj.cbd_data)['ah'])
- 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'])
- # os.remove(pic_addr_1)
- print("图片删除成功")
- else:
- print('object not exist')
- bucket_pic = bucket.put_object_from_file(imei + '/' + strnow + '/'+ picname + '.jpg', pic_addr_1)
- print("----------->>>",bucket_pic)
- if CBDphoto.objects.filter(addr=pic_addr).exists():
- if CBDphoto.objects.filter(addr=new_addr).exists():
- pass
- else:
- data_obj = RecentCBDdata.objects.get(equip_id=equip_obj)
- # CBDphoto.objects.create(equip_id=equip, addr=img_addr,at=eval(data_obj.cbd_data)['at'],ah=eval(data_obj.cbd_data)['ah'])
- CBDphoto.objects.filter(addr=pic_addr).update(addr=new_addr)
- # os.remove(pic_addr_1)
- print("图片删除成功")
- else:
- if CBDphoto.objects.filter(addr=new_addr).exists():
- pass
- else:
- data_obj = RecentCBDdata.objects.get(equip_id=equip_obj)
- # CBDphoto.objects.create(equip_id=equip, addr=img_addr,at=eval(data_obj.cbd_data)['at'],ah=eval(data_obj.cbd_data)['ah'])
- 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'])
- # os.remove(pic_addr_1)
- print("图片删除成功")
- # BZYphoto.objects.create(equip_id=imei,addr=new_addr,upl_time=picname)
- print("oss传输成功")
-
- # pool = threadpool.ThreadPool(2)
- # req = threadpool.makeRequests(get_image_result, data)
- # [pool.putRequest(req) for req in req]
- # pool.wait()
- # addr = pic_addr.split("/")[-1]
- # if "192.168" in addr:
- # print("长addr",addr)
- # _time = addr.split("_")[2][0:14]
- # print("------->>",len(_time))
- # try:
- # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- # except:
- # continue
- # print(_time)
- # # if i.upl_time.hour != _time.hour:
- # # i.upl_time = _time
- # # i.save()
- # elif len(addr) == 18:
- # print("短addr",addr)
- # _time = addr.split(".")[0][0:14]
- # print("------->>",len(_time))
- # _time = _time.split("\r")[0]
- # try:
- # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- # except:
- # continue
- # print("文件链接为",pic_addr_1)
- # # picname_1 = get_FileCreateTime(pic_addr_1)
- # print("文件时间为",picname_1)
- # now = datetime.datetime.now()
- # strnow = datetime.datetime.strftime(_time,'%Y%m')
- # picname = datetime.datetime.strftime(_time,'%Y%m%d%H%M%S')
- # bucket_pic = bucket.put_object_from_file(strnow + '/' + imei + '/'+ picname + '.jpg', pic_addr_1)
- # print("图片数据库路径为pic_addr",pic_addr)
-
- # new_addr = "https://bzypic.oss-cn-hangzhou.aliyuncs.com/" + strnow + '/' + imei + '/'+ picname + '.jpg'
-
- # exist = bucket.object_exists(strnow + '/' + imei + '/'+ picname + '.jpg')
-
-
-
- # if BZYphoto.objects.filter(addr=pic_addr).exists():
- # print("照片存在")
- # print("新的照片路径为",new_addr)
- # # 返回值为true表示文件存在,false表示文件不存在。
- # if exist:
- # if BZYphoto.objects.filter(addr=new_addr).exists():
- # BZYphoto.objects.filter(addr=new_addr).update(equip_id=equip_obj,upl_time=_time)
- # print('object exist')
- # BZYphoto.objects.filter(addr=pic_addr).update(equip_id=equip_obj,addr=new_addr,upl_time=_time)
- # else:
- # BZYphoto.objects.filter(addr=pic_addr).update(equip_id=equip_obj,addr=new_addr,upl_time=_time)
- # bucket_pic = bucket.put_object_from_file(strnow + '/' + imei + '/'+ picname + '.jpg', pic_addr_1)
- # print("oss传输成功")
- # print('object not exist')
- # else:
- # print("照片不存在")
- # # print("图片时间为",get_FileCreateTime(picname))
- # if exist:
- # if BZYphoto.objects.filter(addr=new_addr).exists():
- # BZYphoto.objects.filter(addr=new_addr).update(equip_id=equip_obj,upl_time=_time)
- # else:
- # print('object exist')
- # BZYphoto.objects.create(equip_id=equip_obj,addr=new_addr,upl_time=_time)
- # else:
- # if BZYphoto.objects.filter(addr=new_addr).exists():
- # BZYphoto.objects.filter(addr=new_addr).update(equip_id=equip_obj,upl_time=_time)
- # else:
- # print('object exist')
- # BZYphoto.objects.create(equip_id=equip_obj,addr=new_addr,upl_time=_time)
- # # BZYphoto.objects.create(equip_id=imei,addr=new_addr,upl_time=picname)
- # bucket_pic = bucket.put_object_from_file(strnow + '/' + imei + '/'+ picname + '.jpg', pic_addr_1)
- # print("oss传输成功")
- # print('object not exist')
-
-
- # if CBDphoto.objects.filter(addr=pic_addr).exists():
- # print("照片存在")
- # else:
- # print("图片时间为",get_FileCreateTime(pic_addr_1))
-
- # print("!!!未发现照片入库")
- # print("当前图片路径为pic_addr",pic_addr)
- # print("最外层文件夹",root)
- # print("当前目录路径>>",root) #当前目录路径
- # print("当前路径下所有子目录>>",dirs) #当前路径下所有子目录
- # print("当前路径下所有非目录子文件>>",file) #当前路径下所有非目录子文件
- # if dirs == []:
- # if file == []:
- # print("当前目录路径>>",root) #当前目录路径
- # print("当前路径下所有子目录>>",dirs) #当前路径下所有子目录
- # print("当前路径下所有非目录子文件>>",file) #当前路径下所有非目录子文件
- # print(imei)
- # print("当前路径下所有非目录子文件>>",file)
- # print("当前目录------->>",root)
- # for roots, dirss, files in os.walk(root):
- # print("当前目录路径>>",roots) #当前目录路径
- # print("当前路径下所有子目录>>",dirss) #当前路径下所有子目录
- # print("当前路径下所有非目录子文件>>",files) #当前路径下所有非目录子文件
- # imei = "868956044786428"
- # equip_obj = Equip.objects.get(equip_id=imei)
- # file_dir = "../pyftp/ftp_file/ykm_cbd/%s"%imei
- # for root, dirs, files in os.walk(file_dir):
- # print(root)
- # # print("当前目录------->>",root)
- # for roots, dirss, file in os.walk(root):
- # print("当前目录路径>>",roots) #当前目录路径
- # print("当前路径下所有子目录>>",dirs) #当前路径下所有子目录
- # print("当前路径下所有非目录子文件>>",file) #当前路径下所有非目录子文件
- # if file != []:
- # for i in file:
- # photo_addr = roots + "/" + i
- # photo_addr = photo_addr.replace("../","")
- # print(photo_addr)
- # if CBDphoto.objects.filter(addr=photo_addr).exists():
- # print("照片存在")
- # pass
- # else:
- # # addr = photo_addr
- # addr = photo_addr.split("/")[-1]
- # if "192.168" in addr:
- # print("长addr",addr)
- # _time = addr.split("_")[2][0:14]
- # print("------->>",len(_time))
- # try:
- # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- # except:
- # continue
- # print(_time)
- # # if i.upl_time.hour != _time.hour:
- # # i.upl_time = _time
- # # i.save()
- # elif len(addr) == 18:
- # print("短addr",addr)
- # _time = addr.split(".")[0][0:14]
- # print("------->>",len(_time))
- # _time = _time.split("\r")[0]
- # try:
- # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- # except:
- # continue
- # print(_time)
- # # if i.upl_time.hour != _time.hour:
- # # i.upl_time = _time
- # # i.save()
- # print("图片时间为",_time)
- # print("图片链接为",photo_addr)
- # CBDphoto.objects.create(equip_id=equip_obj,addr=photo_addr,upl_time=_time)
- # print('=================================================')
- # bzy_list = BZYphoto.objects.filter(equip_id=865650043206644)
- # for i in bzy_list:
- # if i.upl_time.hour == 17 and i.upl_time.minute == 0:
- # print(i.upl_time)
- # i.delete()
- # for i in BZYphoto.objects.all():
- # addr = i.addr.split("/")[-1]
- # if "192.168" in addr:
- # print("长addr",addr)
- # _time = addr.split("_")[2][0:14]
- # print("------->>",len(_time))
- # try:
- # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- # except:
- # continue
- # print(_time)
- # if i.upl_time.hour != _time.hour:
- # i.upl_time = _time
- # i.save()
- # elif len(addr) == 18:
- # print("短addr",addr)
- # _time = addr.split(".")[0][0:14]
- # print("------->>",len(_time))
- # _time = _time.split("\r")[0]
- # try:
- # _time = datetime.datetime.strptime(_time,'%Y%m%d%H%M%S')
- # except:
- # continue
- # print(_time)
- # if i.upl_time.hour != _time.hour:
- # i.upl_time = _time
- # i.save()
- # qxz_list = QXZdata_New.objects.filter(equip_id=16064789)[0]
- # # for i in qxz_list:
- # print(qxz_list.upl_time)
- # QXZstatus_New.objects.filter(equip_id=16064789).update(upl_time=qxz_list.upl_time)
- # e_id = "868956048888824"
- # alarm_list = Alarm_record.objects.all()
- # for i in alarm_list:
- # # status = eval(i.cbd_status)
- # i.e_type = i.equip_id.equip_type.type_id
- # i.save()
- # alarm_list = Alarm_record.objects.filter(alarm_desc="{'status':0,'type':'offline'}").values().annotate(count=Count('equip_id_id')).values('equip_id_id','count')
- # for i in alarm_list:
- # print(i)
- # _list = []
- # equip_list = Equip.objects.filter(Q(equip_type="2") | Q(equip_type="3") | Q(equip_type="4") | Q(equip_type="5"))
- # for i in equip_list:
- # a_list = Alarm_record.objects.filter(equip_id=i)
- # a_list.update(e_type=str(i.equip_type_id))
- # print("---------",i)
- # print("---------")
- # # print(type(alarm_list))
- # # for i in alarm_list:
- # # _list.append(i['equip_id_id'])
- # # print(alarm_list)
- # # print(_list)
- # b = Counter(alarm_list)
- # # # for xx in b:
- # # # print(xx)
- # # print(type(b))
- # print(sorted(b.elements()))
- # devices = Alarm_record.objects.filter(alarm_desc="{'status':0,'type':'offline'}")
- # # print(devices)
- # # print(devices.count())
- # data = {}
- # for i in devices:
- # data.setdefault(i.equip_id_id,[]).append(i.alarm_desc)
- # values = {}
- # for k,v in data.items():
- # values[k] = len(v)
- # print(values)
-
-
- # print(i.equip_id.equip_type.type_id)
- # cbd_list = CBDstatus.objects.all()
- # for i in cbd_list:
- # if i.is_online == "1":
- # # print("上报时间",i.upl_time)
- # # print("数据时间",RecentCBDdata.objects.get(equip_id=i.equip_id).upl_time)
- # aa = i.upl_time
- # try:
- # bb = RecentCBDdata.objects.get(equip_id=i.equip_id).upl_time
- # except:
- # continue
- # print("状态时间",aa.year,aa.month,aa.day)
- # print("数据时间",bb.year,bb.month,bb.day)
- # if aa.year != 2020 or aa.month != 6 or aa.day != 28:
- # print("执行!")
- # staobj = CBDstatus.objects.filter(equip_id=Equip.objects.get(equip_id=i.equip_id))
- # # staobj.is_online = "0"
- # staobj.update(is_online="0")
- # staobj.update(off_time=RecentCBDdata.objects.get(equip_id=i.equip_id).upl_time)
- # if aa.year != bb.year or aa.month != bb.month or aa.day != bb.day:
- # print("执行!")
- # staobj = CBDstatus.objects.filter(equip_id=Equip.objects.get(equip_id=i.equip_id))
- # staobj.update(upl_time=RecentCBDdata.objects.get(equip_id=i.equip_id).upl_time)
- # aa = CBDstatus.objects.filter(equip_id=Equip.objects.get(equip_id=i.equip_id))
- # aa.update(upl_time=i.off_time)
- # lists = ["865650044457725"]
- # equip = Equip.objects.get(equip_id="868956044831315")
- # print(equip)
- # photo_addr = " pyftp/ftp_file/bzy_photo/865650043208251/202004/192.168.1.100_01_20200430170516558_ALARM_I.jpg"
- # bzys = BZYphoto.objects.create(equip_id=equip, addr=photo_addr)
- # print("照片不存在")
- # if equip.ftb_addr:
- # data = {
- # "Image":bzys.addr,
- # "imei":bzys.equip_id,
- # }
- # data = json.dumps(data)
- # headers = {"Content-type":"application/json"}
- # bzy_photo = requests.post(equip.ftb_addr,data=data,headers=headers)
- # book=xlrd.open_workbook('昆虫标定2020.xlsx')
- # # book=xlrd.open_workbook('工作表.xlsx')
- # # sheet=book.sheet_by_index(0)
- # # print(sheet.head())
- # sheet=book.sheet_by_name('Sheet1') #根据 sheet名称来
- # print(sheet)
- # # print(sheet.nrows) #excel里面有多少行
- # # print(sheet.ncols) #excel里面有多少列
- # # print(sheet.cell(0,12).value) #获取第0行第0列的值
- # # print(sheet.row_values(0)) #获取到整行的内容
- # # lists = sheet.col_values(21)#获取到整列的内容
- # lis = sheet.col_values(0)#获取到整列的内容
- # data = []
- # date = []
- # nu = 0
- # for i in lis:
- # nu += 1
- # lists = re.findall(r'\d+',i)
- # data.append(insect_dict_new[lists[0]])
- # date.append(lists[1])
- # # print(re.findall(r"\d+\.?\d*",i)
- # wb = xlwt.Workbook(encoding='utf8')
- # sheet = wb.add_sheet('order-sheet',cell_overwrite_ok=True)
- # style_heading = xlwt.easyxf()
- # # 写入文件标题
- # sheet.write(0, 0, '害虫名字', style_heading)
- # sheet.write(0, 1, '害虫数量', style_heading)
- # data_row = 1
- # nu = 0
- # for x in range(len(data)):
- # sheet.write(data_row, 0, data[x])
- # sheet.write(data_row, 1, date[x])
- # data_row += 1
- # # 写入数据 保存到本地
- # user_export = "sexport_file/"
- # if os.path.exists(user_export) == False:
- # os.makedirs(user_export)
- # wb.save(user_export + "昆虫统计表" + ".xls")
- # now_time = datetime.datetime.now()
- # data = ["865650043206719","865650043207865","865650043189378","865650043202718","865650043206834","865650043207329"]
- # def test(imei):
- # print(imei)
- # # 创建一个文件对象
- # wb = xlwt.Workbook(encoding='utf8')
- # # 创建一个sheet对象
- # end_time = "2020-02-01"
- # sheet = wb.add_sheet('order-sheet',cell_overwrite_ok=True)
- # cbd_list = CBDphoto.objects.filter(equip_id=imei,upl_time__range=(end_time,now_time))
- # print(len(cbd_list))
- # #设置文件头的样式,这个不是必须的可以根据自己的需求进行更改
- # style_heading = xlwt.easyxf("""
- # font:
- # name Arial,
- # colour_index white,
- # bold on,
- # height 0xA0;
- # align:
- # wrap off,
- # vert center,
- # horiz center;
- # pattern:
- # pattern solid,
- # fore-colour 0x19;
- # borders:
- # left THIN,
- # right THIN,
- # top THIN,
- # bottom THIN;
- # """)
- # # 写入文件标题
- # sheet.write(0, 0, '设备id', style_heading)
- # sheet.write(0, 1, '上传时间', style_heading)
- # sheet.write(0, 2, '图片路径', style_heading)
- # sheet.write(0, 3, '识别结果', style_heading)
-
- # data_row = 1
- # for x in cbd_list:
- # pri_time = x.upl_time.strftime('%Y-%m-%d %H:%M:%S')
- # sheet.write(data_row, 0, x.equip_id.equip_id)
- # sheet.write(data_row, 1, pri_time)
- # sheet.write(data_row, 2, x.addr.split("/")[-1])
- # sheet.write(data_row, 3, x.indentify_result)
- # data_row += 1
- # # 写入数据 保存到本地
- # user_export = "sexport_file/"
- # if os.path.exists(user_export) == False:
- # os.makedirs(user_export)
- # wb.save(user_export + imei + ".xls")
- # if __name__ == '__main__':
- # for i in data:
- # test(i)
- # dat = []
- # user_data = user_export + user_name.username + ".xls"
- # dat.append({"file": user_data})
- # data = json.dumps(dat)
- # return HttpResponse(data)
- # scd_list = SCDstatus.objects.all()
- # cbd_list = CBDstatus.objects.all()
- # _list = []
- # for i in scd_list:
- # if i.lng:
- # try:
- # res = requests.post("http://api.map.baidu.com/geocoder?location=%s,%s&coord_type=gcj02&output=json"%(i.lat,i.lng))
- # city = (eval(res.text))["result"]["addressComponent"]["city"]
- # district = (eval(res.text))["result"]["addressComponent"]["district"]
- # print(city)
- # except:
- # continue
- # _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})
- # print(_list)
- # title = ["name1","name2","type","equipId","equipName","lng","lat"]
- # book = xlwt.Workbook() # 创建一个excel对象
- # sheet = book.add_sheet('Sheet1',cell_overwrite_ok=True) # 添加一个sheet页
- # for i in range(len(title)): # 遍历列
- # # sheet.write(0,i,title[i],style) # 将title数组中的字段写入到0行i列中
- # sheet.write(0,i,title[i]) # 将title数组中的字段写入到0行i列中
- # # print(sta2)
- # for xx in range(len(_list)): # 遍历列表
- # sheet.write(xx+1,0,_list[xx]['name1']) # 将equip_id写入到第x+1行,第0列中
- # sheet.write(xx+1,1,_list[xx]['name2'])
- # sheet.write(xx+1,2,_list[xx]['type'])
- # sheet.write(xx+1,3,_list[xx]['equipId'])
- # sheet.write(xx+1,4,_list[xx]['equipName'])
- # sheet.write(xx+1,5,_list[xx]['lng'])
- # sheet.write(xx+1,6,_list[xx]['lat'])
- # book.save("654321.xlsx")
- # book = xlrd.open_workbook('2020.xlsx')
- # sheet=book.sheet_by_name('Sheet2')
- # lists = sheet.col_values(0)#获取到整列的内容
- # # print(lists)
- # user_name = MyUser.objects.get(username="sgnyj")
- # list1 = []
- # list2 = []
- # for i in lists:
- # try:
- # equip_obj = Equip.objects.get(equip_id=i)
- # list1.append(i)
- # except Exception as e:
- # # print(e)
- # list2.append(i)
- # print(len(list2))
- # print(len(list1))
- # lists = []
- # for i in list1:
- # equip_obj = Equip.objects.get(equip_id=i)
- # if equip_obj.equip_user == user_name:
- # pass
- # elif equip_obj.equip_user:
- # print(equip_obj)
- # lists.append(equip_obj)
- # else:
- # equip_obj.equip_user = user_name
- # equip_obj.save()
- # print(lists)
- # print(equip_obj)
- # if equip_obj.exists():
- # pass
- # else:
- # print(equip_obj.equip_user)
- # # list3 = []
- # for i in list2:
- # try:
- # equip_obj = Equip.objects.get(equip_id=i)
- # list3.append(i)
- # except Exception as e :
- # for i in list1:
- # equip_obj = Equip.objects.filter(equip_id=i,equip_user=user_name)
- # if equip_obj:
- # pass
- # else:
- # pass
- # data = []
- # for x in Equip.objects.filter(equip_user=MyUser.objects.get(username="sgnyj")):
- # data.append(x.equip_id)
- # print(len(data))
- # print(len(_list1))
- # for xx in _list1:
- # if xx not in data:
- # print(xx)
- # cbdgroup = Group.objects.get(name='测报灯用户')
- # # obj = Group.models.get(b_name='xxx')
- # uname_obj = MyUser.objects.filter(groups=cbdgroup)
- # # groups = Group.objects.filter(user=uname_obj)
- # print(uname_obj)
- # for i in uname_obj:
- # print(i.username)
- # while True:
- # strtmp = os.popen("systemctl status py_ftp_server.service")
- # #print(type(strtmp))
- # cmdback = strtmp.read()
- # # print("----->>",cmdback)
- # if "running" in cmdback:
- # print("服务正常运行")
- # elif "failed" in cmdback:
- # # 需要发送短信的手机号码
- # phone_numbers = ["13733763561","18258845915","15225155092"]
- # # 短信模板ID,需要在短信控制台中申请
- # template_id = 579944 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
- # # 签名
- # sms_sign = "云飞科技" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
- # msender = SmsMultiSender(appid, appkey)
- # params = ["ftp",]
- # try:
- # result = msender.send_with_param(86, phone_numbers,
- # template_id, params, sign=sms_sign, extend="", ext="")
- # except HTTPError as e:
- # print(e)
- # except Exception as e:
- # print(e)
- # print(result)
- # print("----发送成功")
- # print("服务异常!!!")
- # time.sleep(60)
- # cbdgroup = Group.objects.get(name='测报灯用户')
- # aobj = obj.author_set()
-
- # # 如果你使用了如我上面的related_name='auth' 别名属性,就可以
- # # user_list = cbdgroup.myuser.all()
- # print(user_list)
- # print(random.randint(10,30))
- # cbd_list = CBDstatus.objects.all()
- # for xx in cbd_list:
- # imei = xx.equip_id_id
- # e1 = ''
- # e2 = ''
- # e3 = ''
- # e4 = ''
- # e5 = ''
- # e6 = ''
- # e7 = ''
- # e8 = ''
- # e9 = ''
- # e10 = ''
- # e11 = ''
- # e12 = ''
- # e13 = ''
- # e14 = ''
- # e15 = ''
- # e16 = ''
- # e17 = ''
- # e18 = ''
- # e19 = ''
- # e20 = ''
- # e21 = ''
- # e22 = ''
- # e23 = ''
- # e24 = ''
- # e25 = ''
- # e26 = ''
- # e27 = ''
- # e28 = ''
- # e29 = ''
- # e30 = ''
- # conf1 = ''
- # conf2 = ''
- # conf3 = ''
- # conf4 = ''
- # conf5 = ''
- # conf6 = ''
- # conf7 = ''
- # conf8 = ''
- # conf9 = ''
- # conf10 = ''
- # conf11 = ''
- # conf12 = ''
- # conf13 = ''
- # conf14 = ''
- # conf15 = ''
- # conf16 = ''
- # conf17 = ''
- # conf18 = ''
- # conf19 = ''
- # conf20 = ''
- # conf21 = ''
- # conf22 = ''
- # conf23 = ''
- # conf24 = ''
- # conf25 = ''
- # conf26 = ''
- # conf27 = ''
- # conf28 = ''
- # conf29 = ''
- # conf30 = ''
- # qxz_list = Equip.objects.filter(equip_type=5)
- # for xx in qxz_list:
- # equip_id = xx.equip_id
- # # time.sleep(10)
- # # equip_id = "16064781"
- # # equip_id = "16064809"
- # # equip_id = "18054384"
- # # equip_id = "16064783"
- # # equip_id = "16064789"
- # # equip_id = "16064808"
- # # equip_id = "16064784"
- # # equip_id = "16064781"
- # for x in QXZdata.objects.filter(equip_id=equip_id):
- # e_id = eval(x.qxz_data)['StationID']
- # upl_time = x.upl_time
- # # qxz_picture = QXZdata.objects.get(equip_id=e_id).qxz_picture
- # qxzdata = eval(x.qxz_data)['data']
- # # print(qxzdata)
- # for i in qxzdata:
- # if i['eKey'] == 'e1':
- # e1 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e1[0] == "#":
- # continue
- # elif i['eKey'] == 'e2':
- # e2 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e2[0] == "#":
- # continue
- # elif i['eKey'] == 'e3':
- # e3 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e3[0] == "#":
- # continue
- # elif i['eKey'] == 'e4':
- # e4 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e4[0] == "#":
- # continue
- # elif i['eKey'] == 'e5':
- # e5 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e5[0] == "#":
- # continue
- # elif i['eKey'] == 'e6':
- # e6 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e6[0] == "#":
- # continue
- # elif i['eKey'] == 'e7':
- # e7 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e7[0] == "#":
- # continue
- # elif i['eKey'] == 'e8':
- # e8 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e8[0] == "#":
- # continue
- # elif i['eKey'] == 'e9':
- # e9 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e9[0] == "#":
- # continue
- # elif i['eKey'] == 'e10':
- # e10 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e10[0] == "#":
- # continue
- # elif i['eKey'] == 'e11':
- # e11 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e11[0] == "#":
- # continue
- # elif i['eKey'] == 'e12':
- # e12 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e12[0] == "#":
- # continue
- # elif i['eKey'] == 'e13':
- # e13 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e13[0] == "#":
- # continue
- # elif i['eKey'] == 'e14':
- # e14 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e14[0] == "#":
- # continue
- # elif i['eKey'] == 'e15':
- # e15 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e15[0] == "#":
- # continue
- # elif i['eKey'] == 'e16':
- # e16 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e16[0] == "#":
- # continue
- # elif i['eKey'] == 'e17':
- # e17 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e17[0] == "#":
- # continue
- # elif i['eKey'] == 'e18':
- # e18 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e18[0] == "#":
- # continue
- # elif i['eKey'] == 'e19':
- # e19 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e19[0] == "#":
- # continue
- # elif i['eKey'] == 'e20':
- # e20 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e20[0] == "#":
- # continue
- # elif i['eKey'] == 'e21':
- # e21 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e21[0] == "#":
- # continue
- # elif i['eKey'] == 'e22':
- # e22 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e22[0] == "#":
- # continue
- # elif i['eKey'] == 'e23':
- # e23 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e23[0] == "#":
- # continue
- # elif i['eKey'] == 'e24':
- # e24 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e24[0] == "#":
- # continue
- # elif i['eKey'] == 'e25':
- # e25 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e25[0] == "#":
- # continue
- # elif i['eKey'] == 'e26':
- # e26 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e26[0] == "#":
- # continue
- # elif i['eKey'] == 'e27':
- # e27 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e27[0] == "#":
- # continue
- # elif i['eKey'] == 'e28':
- # e28 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e28[0] == "#":
- # continue
- # elif i['eKey'] == 'e29':
- # e29 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e29[0] == "#":
- # continue
- # elif i['eKey'] == 'e30':
- # e30 = str(i['eValue']) + '#' + str(i['eNum']) + '#' + str(i['eKey'])
- # if e30[0] == "#":
- # continue
- # if QXZdata_New.objects.filter(equip_id=e_id,upl_time=upl_time).exists():
- # print("------create default-------")
- # else:
- # QXZdata_New.objects.create(equip_id_id=e_id,
- # e1=e1,e2=e2,e3=e3,e4=e4,e5=e5,e6=e6,e7=e7,e8=e8,e9=e9,e10=e10,
- # e11=e11,e12=e12,e13=e13,e14=e14,e15=e15,e16=e16,e17=e17,e18=e18,e19=e19,e20=e20,
- # e21=e21,e22=e22,e23=e23,e24=e24,e25=e25,e26=e26,e27=e27,e28=e28,e29=e29,e30=e30,
- # upl_time=upl_time)
- # print("------create success-------")
- # e1 = ''
- # e2 = ''
- # e3 = ''
- # e4 = ''
- # e5 = ''
- # e6 = ''
- # e7 = ''
- # e8 = ''
- # e9 = ''
- # e10 = ''
- # e11 = ''
- # e12 = ''
- # e13 = ''
- # e14 = ''
- # e15 = ''
- # e16 = ''
- # e17 = ''
- # e18 = ''
- # e19 = ''
- # e20 = ''
- # e21 = ''
- # e22 = ''
- # e23 = ''
- # e24 = ''
- # e25 = ''
- # e26 = ''
- # e27 = ''
- # e28 = ''
- # e29 = ''
- # e30 = ''
- #--------------------------------------------------------------------------------------------------------------
- # file_dir = "pyftp/ftp_file/bzy_photo/865650042816179"
- # print("file_dir",file_dir)
- # for root, dirs, files in os.walk(file_dir):
- # # print("root-------------->>",root) #当前目录路径
- # # print("子目录文件dirs=======>>",dirs) #当前路径下所有子目录
- # # print("非子目录文件files========>>",files) #当前路径下所有非目录子文件
- # for i in files:
- # # if len(i) == 45:
- # file = root + "/" + i
- # # st = root.split("/")[-1] + i.split(".")[0]
- # st = i.split(".")[3].split("_")[2][0:14]
- # print("st",st)
- # print("file====>>",file)
- # try:
- # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H%M%S")
- # except Exception as eeex:
- # print("错误信息为",eeex)
- # continue
- # # if JKphoto.objects.filter(addr=file).exists():
- # # photoobj = JKphoto.objects.get(addr=file)
- # # photoobj.upl_time = pic_time
- # # photoobj.save()
- # # print("照片存在")
- # # else:
- # # print("照片不存在")
- # # try:
- # # imei_obj = Equip.objects.get(equip_id=235185770)
- # # JKphoto.objects.create(equip_id=imei_obj,addr=file,upl_time=pic_time)
- # # except Exception as e:
- # # print("错误信息为",e)
- # if BZYphoto.objects.filter(addr=file).exists():
- # photoobj = BZYphoto.objects.get(addr=file)
- # photoobj.upl_time = pic_time
- # photoobj.save()
- # print("照片存在")
- # else:
- # print("照片不存在")
- # try:
- # imei_obj = Equip.objects.get(equip_id=865650042816179)
- # BZYphoto.objects.create(equip_id=imei_obj,addr=file,upl_time=pic_time)
- # except Exception as e:
- # print("错误信息为",e)
- #--------------------------------------------------------------------------------------------------------------
- # print(root)
- # file = file_dir + "/" + i
- # jpg_time = time.ctime(os.path.getctime(file))
- # print("jpg_time",jpg_time)
- # # st = s_time+jpg_time[11:19]
- # st = i.split(".")[3].split("_")[2][0:12]
- # print("-------------------",i.split(".")[3].split("_")[2][0:14])
- # # pic_time_1 = s_time+i.split(".")[0]
- # # pic_time_1 = datetime.datetime.strptime(pic_time_1,"%Y%m%d%H-%M-%S")
- # # print("-------------------->",pic_time_1)
- # # print("-------------------->",type(pic_time_1))
- # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H%M%S")
- # print("类型查看",type(pic_time))
- # print("把字符串转成datetime: ", datetime.datetime.strptime(st,"%Y%m%d%H%M%S"))
- # print("file:",file)
- # if CBDphoto.objects.filter(addr=file).exists():
- # # photoobj = CBDphoto.objects.get(addr=file)
- # # photoobj.upl_time = pic_time_1
- # # photoobj.save()
- # print("照片存在")
- # else:
- # print("照片不存在")
- # try:
- # imei_obj = Equip.objects.get(equip_id=imei)
- # CBDphoto.objects.create(equip_id=imei_obj,addr=file,upl_time=pic_time)
- # except Exception as e:
- # print("错误信息为",e)
- # -------------------------------------------------------MQTT TEST-------------------------------------
- # import threading
- # def cbdthread(e_id):
- # i = 0
- # TASK_TOPIC = '/yfkj/cbd/pub/%s'%e_id # 客户端发布消息主题
- # client_id = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
- # client = mqtt.Client(client_id, transport='tcp')
- # client.connect("39.104.94.153", 1883, 60) # 此处端口默认为1883,通信端口期keepalive默认60
- # client.loop_start()
- # # print("子线程名称输出",threading.currentThread().name)
- # """
- # 客户端发布消息
- # :param message: 消息主体
- # :return:
- # """
- # 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"}}
- # # publish(主题:Topic; 消息内容)
- # while True:
- # client.publish(TASK_TOPIC, json.dumps(payload, ensure_ascii=False))
- # print("Successful send message!",e_id)
- # time.sleep(1)
- # print("=============",i)
- # i = i + 1
- # e_id = 10000
- # for i in range(10):
- # t = threading.Thread(target=cbdthread,args=(e_id,))
- # #打印出当前线程的名称和id
- # # print(threading.currentThread().name)
- # # t.setDaemon(True)
- # t.start()
- # e_id = e_id + 1
- # if e_id == 10009:
- # while True:
- # print("主线程名称输出",threading.currentThread().name)
- # thread_num = len(threading.enumerate())
- # print("线程数量是%d" % thread_num)
- # time.sleep(1)
- # -------------------------------------------------------MQTT TEST-------------------------------------
-
-
- # print(type(os.path.getsize('F:\\1111.jpg')))
- # msg_conf_list = Msg_Conf.objects.all()
- # for i in msg_conf_list:
- # cbd_obj = Equip.objects.get(equip_id=i.equip_id)
- # equip_name = ""
- # if cbd_obj.equip_name == "" or cbd_obj.equip_name == None:
- # equip_name = cbd_obj.equip_id
- # else:
- # equip_name = cbd_obj.equip_name
- # msgconf = eval(i.conf)
- # # 需要发送短信的手机号码
- # phone_numbers = msgconf["phone"]
- # # 短信模板ID,需要在短信控制台中申请
- # template_id = 431378 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
- # # 签名
- # sms_sign = "云飞科技" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
- # ssender = SmsSingleSender(appid, appkey)
- # params = ["","","由于入冬无虫子,暂时停止短信发送服务,将于明年三月份开启"] # 当模板没有参数时,`params = []`
- # try:
- # result = ssender.send_with_param(86, phone_numbers,
- # template_id, params, sign=sms_sign, extend="", ext="") # 签名参数未提供或者为空时,会使用默认签名发送短信
- # except HTTPError as e:
- # print(e)
- # except Exception as e:
- # print(e)
- # print(result)
- # Msg_Send.objects.create(mobile=msgconf["phone"],equip_id=i.equip_id,send_dec=params,result_desc=result)
- # pest_name = []
- # print("----发送成功",phone_numbers)
- # 账号有效期设置
- # user_obj = MyUser.objects.all()
- # for i in user_obj:
- # if i.date_joined.year == 2019 and i.date_joined.month >= 10:
- # print(i.date_joined)
- # print(i.username)
- # i.expire_date = i.date_joined + datetime.timedelta(days=730)
- # i.save()
- # print("操作成功")
- # # 查看最近有虫子的测报灯
- # one_month = datetime.timedelta(days=30)
- # now_time = datetime.datetime.now()
- # photo_list = CBDphoto.objects.all()
- # for i in photo_list:
- # if now_time - i.upl_time <= one_month and i.indentify_result:
- # print(i.equip_id_id)
- # def iccid_info(iccid):
- # cbd_obj = CBDstatus.objects.all().values()
- # scd_obj = SCDstatus.objects.all().values()
- # dat = []
- # for i in cbd_obj:
- # try:
- # if iccid == eval(i["cbd_status"])["iccid"]:
- # # print(eval(i["cbd_status"])["iccid"])
- # # print(i["off_time"])
- # ic_eq = {"id":i["equip_id_id"],"lng":i["lng"],"lat":i["lat"],"offtime":i["off_time"]}
- # dat.append(ic_eq)
- # except Exception as e:
- # pass
- # for x in scd_obj:
- # try:
- # if iccid == eval(x["scd_status"])["iccid"]:
- # ic_eq = {"id":x["equip_id_id"],"lng":x["lng"],"lat":x["lat"],"offtime":x["off_time"]}
- # dat.append(ic_eq)
- # except Exception as e:
- # pass
- # return dat
-
- # book=xlrd.open_workbook('河南云飞科技发展有限公司.xlsx')
- # sheet=book.sheet_by_index(0) #根据sheet编号来
- # # sheet=book.sheet_by_name('sheet1') #根据 sheet名称来
- # # print(sheet.nrows) #excel里面有多少行
- # # print(sheet.ncols) #excel里面有多少列
- # # print(sheet.cell(0,0).value) #获取第0行第0列的值
- # # print(sheet.row_values(0)) #获取到整行的内容
- # # print(sheet.col_values(1)) #获取到整列的内容
- # iccid_list = []
- # sta2 = []
- # iccid_excel = sheet.col_values(1)
- # for i in range(len(iccid_excel)):
- # if i == 0:
- # continue
- # # print(iccid_excel[i])
- # # iccid_list.append(iccid_excel[i])
- # # print(iccid_info(iccid_excel[i]))
- # if len(iccid_info(iccid_excel[i])) > 1:
- # # print("此卡用于多个设备需单独记录=====>>",iccid_excel[i])
- # equip_id = "999999"
- # location = ""
- # equip_type = ""
- # equip_user = ""
- # elif len(iccid_info(iccid_excel[i])) == 1:
- # try:
- # equip_id = iccid_info(iccid_excel[i])[0]["id"]
- # except:
- # equip_id = ""
- # try:
- # lat = iccid_info(iccid_excel[i])[0]["lat"]
- # except:
- # lat = ""
- # try:
- # lng = iccid_info(iccid_excel[i])[0]["lng"]
- # except:
- # lng = ""
- # try:
- # equip_type = Equip.objects.get(equip_id=equip_id).equip_type.type_name
- # except:
- # equip_type = ""
- # try:
- # equip_user = Equip.objects.get(equip_id=equip_id).equip_user.username
- # except:
- # equip_user = ""
- # if lat:
- # res = requests.post("http://api.map.baidu.com/geocoder?location=%s,%s&coord_type=gcj02&output=json"%(lat,lng))
- # location = (eval(res.text))["result"]["addressComponent"]["province"]+eval(res.text)["result"]["addressComponent"]["district"]
- # else:
- # location = ""
- # elif len(iccid_info(iccid_excel[i])) == 0:
- # equip_id = "000000"
- # location = ""
- # equip_type = ""
- # equip_user = ""
- # sta2.append({"iccid":iccid_excel[i],"equip_id":equip_id,"location":location,"equip_user":equip_user,"equip_type":equip_type})
- # # print(sta2)
- # title = ["iccid","设备id","设备类型","设备位置","设备用户"]
- # book = xlwt.Workbook() # 创建一个excel对象
- # sheet = book.add_sheet('Sheet1',cell_overwrite_ok=True) # 添加一个sheet页
- # for i in range(len(title)): # 遍历列
- # # sheet.write(0,i,title[i],style) # 将title数组中的字段写入到0行i列中
- # sheet.write(0,15+i,title[i]) # 将title数组中的字段写入到0行i列中
- # # print(sta2)
- # for x in range(len(sta2)): # 遍历列表
- # sheet.write(x+1,15,sta2[x]['iccid']) # 将equip_id写入到第x+1行,第0列中
- # sheet.write(x+1,16,sta2[x]['equip_id'])
- # sheet.write(x+1,17,sta2[x]['equip_type'])
- # sheet.write(x+1,18,sta2[x]['location']) # 设备开关
- # sheet.write(x+1,19,sta2[x]['equip_user'])
- # book.save("123456.xlsx")
- # print(iccid_list)
- # for x in iccid_list:
- # print(x)
- # print(iccid_info(x))
- # time.sleep(1)
- # print(iccid_list[i])
- # for i in range(sheet.nrows): #循环获取每行的内容
- # print(sheet.row_values(i))
- # equip_list = Equip.objects.all()
- # for i in equip_list:
- # print(type(i.equip_type_id))
- # datalist = RecentCBDdata.objects.all()
- # for i in datalist:
- # if i.discern == False:
- # i.disc = 1
- # i.save()
- # elif i.discern == True:
- # i.disc = 0
- # i.save()
- # print("数据导入完毕")
- # 判断测报灯流量卡充值停用账号
- # simlist = Equip_SimInfo.objects.all()
- # for i in simlist:
- # dateTime_p = datetime.datetime.strptime(i.expiry_date,'%Y-%m-%d %H:%M:%S')
- # # 判断sim卡是否30天到期
- # if dateTime_p - datetime.datetime.now() > datetime.timedelta(days=30):
- # pass
- # elif datetime.timedelta(days=0) > dateTime_p - datetime.datetime.now() > datetime.timedelta(days=0):
- # print("发送短信通知")
- # elif dateTime_p - datetime.datetime.now() < datetime.timedelta(days=0):
- # if i.equip_id.equip_type_id == 2:
- # print("杀虫灯")
- # # 判断杀虫灯状态30天内是否有数据
- # if datetime.datetime.now() - SCDstatus.objects.get(equip_id=i.equip_id).upl_time > datetime.timedelta(days=30):
- # pass
- # else:
- # print("停用账号")
- # elif i.equip_id.equip_type_id == 3:
- # print("测报灯")
- # # 判断测报灯状态30天内是否有数据
- # if datetime.datetime.now() - CBDstatus.objects.get(equip_id=i.equip_id).upl_time > datetime.timedelta(days=30):
- # pass
- # else:
- # print("停用账号")
- # end_date = datetime.datetime.now()
- # one_day = datetime.timedelta(days=1)
- # one_day_later = datetime.datetime.now() - one_day
- # print(one_day_later)
- # new_time = "%s-%s-%s %s:%s:%s" %(one_day_later.year,one_day_later.month,one_day_later.day,"19","00","00")
- # start_date = datetime.datetime.strptime(new_time,"%Y-%m-%d %H:%M:%S")
- # cbd_obj = Equip.objects.get(equip_id='86123456789')
- # equip_name = ""
- # if cbd_obj.equip_name == "" or cbd_obj.equip_name == None:
- # equip_name = cbd_obj.equip_id
- # else:
- # equip_name = cbd_obj.equip_name
- # msg_conf_list = Msg_Conf.objects.get(equip_id=cbd_obj)
- # msgconf = eval(msg_conf_list.conf)
- # if msgconf["appointPest"] == "on":
- # pest_num = 0
- # pest_name = []
- # pest_nums = []
- # pest_dict = {}
- # pest_dict_new = {}
- # cbd_list = CBDphoto.objects.filter(equip_id=cbd_obj)
- # for x in cbd_list:
- # if x.indentify_result == None or x.indentify_result == "":
- # pass
- # else:
- # for a in x.indentify_result.split("#"):
- # pest_num = pest_num + int(a.split(",")[1])
- # pest_name.append(int(a.split(",")[0]))
- # pest_nums.append(int(a.split(",")[1]))
- # for xx in range(len(pest_name)):
- # c = {pest_name[xx]:pest_nums[xx]}
- # for d in c:
- # if d in pest_dict:
- # pest_dict[d] = pest_dict[d] + c[d]
- # else:
- # pest_dict.update(c)
- # print(pest_dict)
- # send_dict = {}
- # print(msgconf["appointPestName"].split("#"))
- # print(msgconf["appointPestNum"].split("#"))
- # msg_name = msgconf["appointPestName"].split("#")
- # msg_num = msgconf["appointPestNum"].split("#")
- # for i in range(len(msg_name)):
- # if pest_dict[int(msg_name[i])] > int(msg_num[i]):
- # aaa = {insect_dict_new[msg_name[i]]:"%s头"%int(msg_num[i])}
- # send_dict.update(aaa)
- # print(send_dict)
- # if pest_dict[int(msgconf["appointPestName"])] >= int(msgconf["appointPestNum"]):
- # pass
- # pest_num = 0
- # pest_name = []
- # pest_nums = []
- # pest_dict = {}
- # pest_dict_new = {}
- # equip_obj = Equip.objects.get(equip_id="868575028850321")
- # file_dir = "pyftp/ftp_file/bzy_photo/%s"%868575028850321
- # print("file_dir",file_dir)
- # sta1 = BZYstatus.objects.all()
- # sta3 = []
- # photo_list = []
- # for i in sta1:
- # sta3.append(i.equip_id.equip_id)
- # for imei in sta3:
- # equip_obj = Equip.objects.get(equip_id=imei)
- # file_dir = "pyftp/ftp_file/bzy_photo/%s"%imei
- # # print("file_dir",file_dir)
- # for root, dirs, files in os.walk(file_dir):
- # # print("当前目录为=========>>",root) #当前目录路径
- # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
- # if root.endswith(imei):
- # pass
- # else:
- # # print("当前目录------->>",root)
- # for roots, dirss, file in os.walk(root):
- # # print(roots) #当前目录路径
- # # print(dirs) #当前路径下所有子目录
- # # print(file) #当前路径下所有非目录子文件
- # if file != []:
- # for i in file:
- # photo_addr = roots + "/" + i
- # # print(photo_addr)
- # if BZYphoto.objects.filter(addr=photo_addr).exists():
- # # print("照片存在")
- # # print(i[17:29])
- # # print("-----")
- # # sp = datetime.datetime.now().year
- # # sp_str = i.split(str(sp))[1]
- # # # print(sp_str[0:8])
- # # st = str(sp) + sp_str[0:8]
- # # print(st)
- # pass
- # else:
- # print("-----")
- # sp = datetime.datetime.now().year
- # sp_str = i.split(str(sp))[1]
- # # print(sp_str[0:8])
- # st = str(sp) + sp_str[0:8]
- # # st = i[17:29]
- # # print(st)
- # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H%M%S")
- # print(pic_time)
- # BZYphoto.objects.create(equip_id=equip_obj,addr=photo_addr,upl_time=pic_time)
- # sta1 = BZYstatus.objects.all()
- # sta3 = []
- # photo_list = []
- # for i in sta1:
- # sta3.append(i.equip_id.equip_id)
- # for imei in sta3:
- # equip_obj = Equip.objects.get(equip_id=imei)
- # file_dir = "pyftp/ftp_file/bzy_photo/%s"%imei
- # # print("file_dir",file_dir)
- # for root, dirs, files in os.walk(file_dir):
- # # print("当前目录为=========>>",root) #当前目录路径
- # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
- # if root.endswith(imei):
- # pass
- # else:
- # # print("当前目录------->>",root)
- # for roots, dirss, file in os.walk(root):
- # # print(roots) #当前目录路径
- # # print(dirs) #当前路径下所有子目录
- # # print(file) #当前路径下所有非目录子文件
- # if file != []:
- # for i in file:
- # photo_addr = roots + "/" + i
- # # print(photo_addr)
- # if BZYphoto.objects.filter(addr=photo_addr).exists():
- # print("照片存在")
- # print(i[16:34])
- # else:
- # # os.path.getctime(photo_addr) # 输出文件的创建时间
- # # print("文件创建时间",os.path.getctime(photo_addr))
- # # timeStamp = os.path.getctime(photo_addr)
- # # timeArray = time.localtime(timeStamp)
- # # otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
- # # print(otherStyleTime)
- # # BZYphoto.objects.create(equip_id=equip_obj,addr=photo_addr)
- # print("-----")
- # print("=========================")
- # # print(photo_list)
- # print("=========================")
- # sta1 = SCDstatus.objects.all()
- # sta2 = CBDstatus.objects.all()
- # # 获取设备列表中的SIM卡的iccid号码:
- # iccids = []
- # # 获取设备的id:
- # equip_ids = []
- # # 获取设备的名称:
- # equip_names = []
- # # 遍历查询流量信息:
- # siminfos = []
- # for i in sta1:
- # try:
- # iccid = eval(i.scd_status)['iccid']
- # except:
- # iccid = ""
- # iccids.append(iccid)
- # equip_ids.append(str(i.equip_id))
- # equip_names.append(str(i.equip_id.equip_name))
- # for i in sta2:
- # try:
- # iccid = eval(i.cbd_status)['iccid']
- # except:
- # iccid = ""
- # iccids.append(iccid)
- # equip_ids.append(str(i.equip_id))
- # equip_names.append(str(i.equip_id.equip_name))
- # print('all iccids :',iccids)
- # print('all equip_ids :',equip_ids)
- # print('all equip_names :',equip_names)
- # print('iccids :',iccids)
- # print('equip_ids :',equip_ids)
- # print('equip_names :',equip_names)
- # # 调用api查到的iccid号:
- # for i in range(len(iccids)):
- # if iccids[i] != "":
- # # print("------",i)
- # # print('iccids :',iccids[i])
- # # print('equip_ids :',equip_ids[i])
- # # print('equip_names :',equip_names[i])
- # res = get_siminfo(iccids[i])
- # sim_res = res.text.encode('utf-8').decode('unicode_escape')
- # if eval(sim_res)["code"] == 0:
- # timeStamp = eval(sim_res)["data"]["expiry_date"]
- # dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
- # otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
-
- # timeStamp1 = eval(sim_res)["data"]["active_date"]
- # dateArray1 = datetime.datetime.utcfromtimestamp(timeStamp1)
- # otherStyleTime1 = dateArray1.strftime("%Y-%m-%d %H:%M:%S")
- # if Equip_SimInfo.objects.filter(equip_id=equip_ids[i]).exists():
- # siminfo_obj = Equip_SimInfo.objects.get(equip_id=equip_ids[i])
- # siminfo_obj.equip_name = equip_names[i]
- # siminfo_obj.iccid = eval(sim_res)["data"]["iccid"]
- # siminfo_obj.msisdn = eval(sim_res)["data"]["msisdn"]
- # siminfo_obj.imsi = eval(sim_res)["data"]["imsi"]
- # siminfo_obj.sp_code = eval(sim_res)["data"]["sp_code"]
- # siminfo_obj.carrier = eval(sim_res)["data"]["carrier"]
- # siminfo_obj.data_plan = eval(sim_res)["data"]["data_plan"]
- # siminfo_obj.data_usage = eval(sim_res)["data"]["data_usage"]
- # siminfo_obj.account_status = eval(sim_res)["data"]["account_status"]
- # siminfo_obj.expiry_date = otherStyleTime
- # siminfo_obj.active = eval(sim_res)["data"]["active"]
- # siminfo_obj.test_valid_date = eval(sim_res)["data"]["test_valid_date"]
- # siminfo_obj.silent_valid_date = eval(sim_res)["data"]["silent_valid_date"]
- # siminfo_obj.test_used_data_usage = eval(sim_res)["data"]["test_used_data_usage"]
- # siminfo_obj.active_date = otherStyleTime1
- # siminfo_obj.data_balance = eval(sim_res)["data"]["data_balance"]
- # siminfo_obj.outbound_date = eval(sim_res)["data"]["outbound_date"]
- # siminfo_obj.support_sms = eval(sim_res)["data"]["support_sms"]
- # siminfo_obj.upl_time = datetime.datetime.now()
- # siminfo_obj.save()
- # else:
- # Equip_SimInfo.objects.create(
- # equip_id = Equip.objects.get(equip_id=equip_ids[i]),
- # equip_name = equip_names[i],
- # iccid = eval(sim_res)["data"]["iccid"],
- # msisdn = eval(sim_res)["data"]["msisdn"],
- # imsi = eval(sim_res)["data"]["imsi"],
- # sp_code = eval(sim_res)["data"]["sp_code"],
- # carrier = eval(sim_res)["data"]["carrier"],
- # data_plan = eval(sim_res)["data"]["data_plan"],
- # data_usage = eval(sim_res)["data"]["data_usage"],
- # account_status = eval(sim_res)["data"]["account_status"],
- # expiry_date = otherStyleTime,
- # active = eval(sim_res)["data"]["active"],
- # test_valid_date = eval(sim_res)["data"]["test_valid_date"],
- # silent_valid_date = eval(sim_res)["data"]["silent_valid_date"],
- # test_used_data_usage = eval(sim_res)["data"]["test_used_data_usage"],
- # active_date = otherStyleTime1,
- # data_balance = eval(sim_res)["data"]["data_balance"],
- # outbound_date = eval(sim_res)["data"]["outbound_date"],
- # support_sms = eval(sim_res)["data"]["support_sms"]
- # )
- # print("-----sim卡信息更新成功------")
- # 保存调用查询流量的api返回的数据;
- # dat = []
- # for j in list(range(0,siminfo_dict['data']['count'])):
- # equip_iccids.append(siminfo_dict['data']['card_list'][j]['iccid'])
- # # print('equip_iccids:',equip_iccids)
- # for j in list(range(0,len(iccids))):
- # siminfo_dict=eval(siminfo_str)
- # if (iccids[j] in equip_iccids) == True:
- # dat.append(siminfo_dict['data']['card_list'][equip_iccids.index(iccids[j])])
- # else:
- # dat.append({})
- # dat[j]['equip_id']=equip_ids[j]
- # dat[j]['equip_name']=equip_names[j]
- # # print("dat[%d]=%s" %(j,dat[j]))
- # iccids[j] = ""# 每次判断玩将该值清空,防止多个设备用一个SIM卡测试时显示异常;
- # # print('----- iccids :',iccids)
- # print("------------------------",dat)
- # print("dat:",dat)
- # ----------------------------------测报灯图片存在与否判断-----------------------------------
- # sta1 = CBDstatus.objects.all()
- # sta3 = []
- # photo_list = []
- # for i in sta1:
- # sta3.append(i.equip_id.equip_id)
- # for imei in sta3:
- # file_dir = "pyftp/ftp_file/ykm_cbd/%s"%imei
- # # print("file_dir",file_dir)
- # for root, dirs, files in os.walk(file_dir):
- # # print("当前目录为=========>>",root) #当前目录路径
- # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
- # if root.endswith(imei):
- # pass
- # else:
- # # print("当前目录------->>",root)
- # for roots, dirss, file in os.walk(root):
- # # print(roots) #当前目录路径
- # # print(dirs) #当前路径下所有子目录
- # # print(file) #当前路径下所有非目录子文件
- # if file != []:
- # for i in file:
- # photo_addr = roots + "/" + i
- # # print(photo_addr)
- # if CBDphoto.objects.filter(addr=photo_addr).exists():
- # print("照片存在")
- # else:
- # photo_list.append(photo_addr)
- # print("=========================")
- # print(photo_list)
- # print("=========================")
- # -----------------------------------------------------------------------------------------------
- # sta1 = BZYstatus.objects.all()
- # sta3 = []
- # photo_list = []
- # for i in sta1:
- # sta3.append(i.equip_id.equip_id)
- # for imei in sta3:
- # file_dir = "pyftp/ftp_file/ykm_cbd/%s"%imei
- # # print("file_dir",file_dir)
- # for root, dirs, files in os.walk(file_dir):
- # # print("当前目录为=========>>",root) #当前目录路径
- # # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
- # if root.endswith(imei):
- # pass
- # else:
- # # print("当前目录------->>",root)
- # for roots, dirss, file in os.walk(root):
- # # print(roots) #当前目录路径
- # # print(dirs) #当前路径下所有子目录
- # # print(file) #当前路径下所有非目录子文件
- # if file != []:
- # for i in file:
- # photo_addr = roots + "/" + i
- # # print(photo_addr)
- # if CBDphoto.objects.filter(addr=photo_addr).exists():
- # print("照片存在")
- # else:
- # photo_list.append(photo_addr)
- # print("=========================")
- # print(photo_list)
- # print("=========================")
-
- # try:
- # path = "pyftp/ftp_file/ykm_cbd/%s"%imei
- # lsdir = os.listdir(path)
- # dirs = [i for i in lsdir if os.path.isdir(os.path.join(path, i))]
- # if dirs:
- # for i in dirs:
- # print_files(os.path.join(path, i))
- # files = [i for i in lsdir if os.path.isfile(os.path.join(path,i))]
- # for f in files:
- # print(os.path.join(path, f))
- # except Exception as e:
- # print("=================>>",e)
- # print("文件夹不存在")
- # file_dir = "pyftp/ftp_file/ykm_cbd/%s"%imei
- # print("file_dir",file_dir)
- # for root, dirs, files in os.walk(file_dir):
- # print(root) #当前目录路径
- # print(dirs) #当前路径下所有子目录
- # print(files) #当前路径下所有非目录子文件
- # for i in files:
- # file = file_dir + "/" + i
- # jpg_time = time.ctime(os.path.getctime(file))
- # print("jpg_time",jpg_time)
- # st = s_time+jpg_time[11:19]
- # print("-------------------",i.split(".")[0])
- # pic_time_1 = s_time+i.split(".")[0]
- # pic_time_1 = datetime.datetime.strptime(pic_time_1,"%Y%m%d%H-%M-%S")
- # print("-------------------->",pic_time_1)
- # print("-------------------->",type(pic_time_1))
- # pic_time = datetime.datetime.strptime(st,"%Y%m%d%H:%M:%S")
- # print("类型查看",type(pic_time))
- # print("把字符串转成datetime: ", datetime.datetime.strptime(st,"%Y%m%d%H:%M:%S"))
- # if CBDphoto.objects.filter(addr=file).exists():
- # photoobj = CBDphoto.objects.get(addr=file)
- # photoobj.upl_time = pic_time_1
- # photoobj.save()
- # print("照片存在")
- # else:
- # print("照片不存在")
- # try:
- # imei_obj = Equip.objects.get(equip_id=imei)
- # CBDphoto.objects.create(equip_id=imei_obj,addr=file,upl_time=pic_time)
- # except Exception as e:
- # print("错误信息为",e)
- # a = 0
- # qxz_obj = QXZdata.objects.filter(equip_id="16062023")
- # for i in qxz_obj:
- # a = a + 1
- # i.delete()
- # print("----删除成功%s"%a)
- # =========================================================================================================
- # equip_list = Equip.objects.all()
- # bbb = 0
- # for i in equip_list:
- # photo_list = CBDphoto.objects.filter(equip_id=i.equip_id)
- # status_list = CBDdata.objects.filter(equip_id=i.equip_id)
- # for x in photo_list:
- # for a in status_list:
- # if x.at == None:
- # 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:
- # # print("数据时间==================>",a.upl_time)
- # # print("设备温度==================>",eval(a.cbd_data)["at"])
- # # print("设备湿度==================>",eval(a.cbd_data)["ah"])
- # # print("照片时间==================>",x.upl_time)
- # x.at = eval(a.cbd_data)["at"]
- # x.ah = eval(a.cbd_data)["ah"]
- # x.save()
- # bbb = bbb + 1
- # print(bbb)
- # print("========操作成功=======")
- # =========================================================================================================
- # file_dir="pyftp/ftp_file/bzy_photo/865650042816310/201909"
- # # print("file_dir",file_dir)
- # # bzy_obj = Equip.objects.get(equip_id=imei)
- # for root, dirs, files in os.walk(file_dir):
- # print("当前目录为=========>>",root) #当前目录路径
- # print("当前子目录为=========>>",dirs) #当前路径下所有子目录
- # print("当前目录文件为=========>>",files) #当前路径下所有非目录子文件
- # for i in files:
- # photo_addr = file_dir + "/" + i
- # print("文件夹图片路径===========》》",photo_addr)
- # if BZYphoto.objects.filter(addr=photo_addr).exists():
- # print("照片存在")
- # else:
- # print("照片不存在")
- # BZYphoto.objects.create(equip_id=bzy_obj,addr=photo_addr)
- # if root.endswith(imei):
- # pass
- # else:
- # # print("当前目录------->>",root)
- # for roots, dirss, file in os.walk(root):
- # # print(roots) #当前目录路径
- # # print(dirs) #当前路径下所有子目录
- # # print(file) #当前路径下所有非目录子文件
- # if file != []:
- # for i in file:
- # photo_addr = roots + "/" + i
- # # print(photo_addr)
- # if BZYphoto.objects.filter(addr=photo_addr).exists():
- # print("照片存在")
- # else:
- # BZYphoto.objects.create(equip_id=bzy_obj,addr=photo_addr)
- # ---------------------------丁艳青定制设备----------------------------------------------------------
- # one_day = datetime.timedelta(days=1)
- # minut = datetime.timedelta(minutes=random.choice(range(20,34)))
- # start_time = '2019-07-29 19:00:08'
- # start_time = datetime.datetime.strptime(start_time,'%Y-%m-%d %H:%M:%S')
- # a = 1
- # b = 1
- # photo_list = CBDphoto.objects.filter(equip_id="865650040895753")
- # for i in photo_list:
- # i.upl_time = start_time + datetime.timedelta(days=b) + datetime.timedelta(minutes=random.choice(range(20,34))) * a
- # i.save()
- # a = a + 1
- # print("修改次数",a)
- # if a == 5:
- # print("---跨天")
- # b = b + 1
- # i.upl_time = start_time + datetime.timedelta(days=b) + datetime.timedelta(minutes=random.choice(range(20,34)))
- # i.save()
- # a = 0
- # data_obj = RecentCBDdata.objects.get(equip_id="865650042837894")
- # print(eval(data_obj.cbd_data)['at'])
- # scd_list = RecentSCDdata.objects.all().values()
- # for i in scd_list:
- # try:
- # if eval(i['scd_data'])['lng'] == 0:
- # print(i['equip_id_id'])
- # except:
- # print("---报错设备号为:",i['equip_id_id'])
- # print("-----lng-------",eval(i['scd_data'])['lng'])
|