|
@@ -1,9 +1,7 @@
|
|
import datetime
|
|
import datetime
|
|
-import json,pymysql
|
|
|
|
-import os
|
|
|
|
|
|
+import json
|
|
import time
|
|
import time
|
|
from MyUtils.MysqlUtils import MysqlUtils
|
|
from MyUtils.MysqlUtils import MysqlUtils
|
|
-from MyUtils.Dingtalk import send_message
|
|
|
|
from MyUtils.DmprwdUtil import get_query_data
|
|
from MyUtils.DmprwdUtil import get_query_data
|
|
import pytz
|
|
import pytz
|
|
|
|
|
|
@@ -16,8 +14,7 @@ with open("config.json", "r") as f:
|
|
data = json.load(f)
|
|
data = json.load(f)
|
|
mysql = data["mysql"]
|
|
mysql = data["mysql"]
|
|
my_database = mysql["database"]
|
|
my_database = mysql["database"]
|
|
- dingding = data["dingding"]
|
|
|
|
- at_mobiles = data["at_mobiles"]
|
|
|
|
|
|
+ buildings = data["buildings"]
|
|
|
|
|
|
def datetime_now():
|
|
def datetime_now():
|
|
# datetime_now = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
|
|
# datetime_now = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
|
|
@@ -28,64 +25,73 @@ def datetime_now():
|
|
return datetime_now
|
|
return datetime_now
|
|
|
|
|
|
|
|
|
|
-building = "1101080259"
|
|
|
|
-def transfer_energy():
|
|
|
|
- print("同步%s项目数据" % (building))
|
|
|
|
- while True:
|
|
|
|
- project_id = "Pj" + building
|
|
|
|
- time_now = datetime.datetime.fromtimestamp(int(time.time()),
|
|
|
|
- pytz.timezone('Asia/Shanghai')).strftime('%H:%M:%S')
|
|
|
|
- am_set_time = "08:00:00"
|
|
|
|
- pm_set_time = "22:00:00"
|
|
|
|
- if time_now == am_set_time or time_now ==pm_set_time:#此处设置每天定时的时间
|
|
|
|
- today = datetime.date.today().strftime("%Y%m%d")+"000000"
|
|
|
|
- yesterday = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")+"000000"
|
|
|
|
- today_date = datetime.date.today().strftime("%Y%m%d")
|
|
|
|
- yesterday_date = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- # #连接mysql
|
|
|
|
- MysqlUtil = MysqlUtils(**mysql)
|
|
|
|
- #获取能耗数据
|
|
|
|
- datas = get_query_data(yesterday,today)
|
|
|
|
|
|
+print("%s 等待下次执行..."%datetime_now())
|
|
|
|
+while True:
|
|
|
|
+ time_now = datetime.datetime.fromtimestamp(int(time.time()),
|
|
|
|
+ pytz.timezone('Asia/Shanghai')).strftime('%H:%M:%S')
|
|
|
|
+ am_set_time = "08:00:00"
|
|
|
|
+ pm_set_time = "22:00:00"
|
|
|
|
+ if time_now == am_set_time or time_now == pm_set_time: # 此处设置每天定时的时间
|
|
|
|
+ today = datetime.date.today().strftime("%Y%m%d") + "000000"
|
|
|
|
+ yesterday = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d") + "000000"
|
|
|
|
+ today_date = datetime.date.today().strftime("%Y%m%d")
|
|
|
|
+ yesterday_date = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
|
|
|
|
+ # #连接mysql
|
|
|
|
+ MysqlUtil = MysqlUtils(**mysql)
|
|
|
|
+ #循环项目查询
|
|
|
|
+ for building in buildings:
|
|
|
|
+ project_id = "Pj"+building["building"]
|
|
|
|
+ groupcode = building["groupcode"]
|
|
|
|
+ energyid = building["energyid"]
|
|
|
|
+ rwdid = building["rwdid"]
|
|
|
|
+ energy_total = rwdid["energy_total"]
|
|
|
|
+ energy_light = rwdid["energy_light"]
|
|
|
|
+ energy_ac_termial = rwdid["energy_ac_termial"]
|
|
|
|
+ energy_cooling = rwdid["energy_cooling"]
|
|
|
|
+ energy_heating = rwdid["energy_heating"]
|
|
|
|
+ print("%s 开始查询%s项目数据"%(datetime_now(),project_id))
|
|
|
|
+ # 获取能耗数据
|
|
|
|
+ datas = get_query_data(yesterday, today,groupcode, project_id,energy_total,energy_light,energy_cooling,energy_heating,energy_ac_termial)
|
|
if datas:
|
|
if datas:
|
|
# 删除昨天数据
|
|
# 删除昨天数据
|
|
- print("%s,开始删除%s的数据..." % (datetime_now(), yesterday))
|
|
|
|
|
|
+ print("%s,开始删除%s项目%s的数据..." % (datetime_now(),project_id, yesterday))
|
|
delete_sql = DELETE_SQL % (project_id, yesterday_date, today_date)
|
|
delete_sql = DELETE_SQL % (project_id, yesterday_date, today_date)
|
|
MysqlUtil.update(delete_sql)
|
|
MysqlUtil.update(delete_sql)
|
|
objectids = [i["objectId"] for i in datas]
|
|
objectids = [i["objectId"] for i in datas]
|
|
print(objectids)
|
|
print(objectids)
|
|
- energy_cooling = "0"
|
|
|
|
- energy_heating = "0"
|
|
|
|
- energy_ac_terminal = "0"
|
|
|
|
- energy_light = "0"
|
|
|
|
- sum_data_value = "0"
|
|
|
|
|
|
+ sum_data_value_data = "0"
|
|
|
|
+ energy_heating_data = "0"
|
|
|
|
+ energy_ac_terminal_data = "0"
|
|
|
|
+ energy_light_data = "0"
|
|
|
|
+ energy_cooling_data = "0"
|
|
for i in datas:
|
|
for i in datas:
|
|
print(i)
|
|
print(i)
|
|
- #总电耗
|
|
|
|
- if i["objectId"] == "Vo1101080259f2481ca3604644399f1dacb84e20adae":
|
|
|
|
- sum_data_value = i["ipValue"]
|
|
|
|
- #冷热源
|
|
|
|
- if i["objectId"] == "Vo1101080259e6dcf338d9be4bbf826f659b0b5a9ab2":
|
|
|
|
- energy_cooling = i["ipValue"]
|
|
|
|
- #空调末端
|
|
|
|
- if i["objectId"] == "Vo11010802590eaef68d3289452d86d89fbee721e6df":
|
|
|
|
- energy_ac_terminal = i["ipValue"]
|
|
|
|
- #照明
|
|
|
|
- if i["objectId"] == "Vo110108025953894df8d4ae4dbeb7c81ced7df3f83e":
|
|
|
|
- energy_light = i["ipValue"]
|
|
|
|
-
|
|
|
|
- energy_other = float(sum_data_value) - float(energy_cooling) - float(energy_heating)- float(energy_light) - float(energy_ac_terminal)
|
|
|
|
|
|
+ # 总电耗
|
|
|
|
+ if i["objectId"] == energy_total:
|
|
|
|
+ sum_data_value_data = i["ipValue"]
|
|
|
|
+ # 冷
|
|
|
|
+ if i["objectId"] == energy_cooling:
|
|
|
|
+ energy_cooling_data = i["ipValue"]
|
|
|
|
+ # 热
|
|
|
|
+ if i["objectId"] == energy_heating:
|
|
|
|
+ energy_heating_data = i["ipValue"]
|
|
|
|
+ # 空调末端
|
|
|
|
+ if i["objectId"] == energy_ac_termial:
|
|
|
|
+ energy_ac_terminal_data = i["ipValue"]
|
|
|
|
+ # 照明
|
|
|
|
+ if i["objectId"] == energy_light:
|
|
|
|
+ energy_light_data = i["ipValue"]
|
|
|
|
+ energy_other = float(sum_data_value_data) - float(energy_cooling_data) - float(energy_heating_data) - float(energy_light_data) - float(
|
|
|
|
+ energy_ac_terminal_data)
|
|
sql = "('%s','%s','%s','%s','%s','%s','%s','%s','%s')" % (
|
|
sql = "('%s','%s','%s','%s','%s','%s','%s','%s','%s')" % (
|
|
- project_id, yesterday_date, energy_cooling, energy_heating, energy_ac_terminal, energy_light, energy_other,
|
|
|
|
|
|
+ project_id, yesterday_date, energy_cooling_data, energy_heating_data, energy_ac_terminal_data, energy_light_data, energy_other,
|
|
datetime_now(), datetime_now())
|
|
datetime_now(), datetime_now())
|
|
inser_sql = INSERT_SQL % (my_database, "energy_week_day") + sql
|
|
inser_sql = INSERT_SQL % (my_database, "energy_week_day") + sql
|
|
- print("%s,开始插入数据..." % datetime_now())
|
|
|
|
|
|
+ print("%s,开始插入%s项目%s数据..." % (datetime_now(),project_id,yesterday))
|
|
MysqlUtil.update(inser_sql)
|
|
MysqlUtil.update(inser_sql)
|
|
else:
|
|
else:
|
|
- print("%s,没有查询到数据...")
|
|
|
|
-
|
|
|
|
- MysqlUtil.close()
|
|
|
|
|
|
+ print("%s,没有查询到%s项目%s的数据..."%(datetime_now(),project_id,yesterday))
|
|
|
|
|
|
-if __name__ == '__main__':
|
|
|
|
- transfer_energy()
|
|
|
|
|
|
+ MysqlUtil.close()
|
|
|
|
+ print("%s 完成%s的数据插入"%(datetime_now(),yesterday))
|
|
|
|
+ time.sleep(2)
|