You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
1.7 KiB
Python

2 years ago
import sys
import os
import datetime
from peewee import *
import json
from utils.DBModels.BaseModel import BaseModel
sys.path.append('../')
sys.path.append('../../../')
2 years ago
class JSONField(TextField):
def db_value(self, value):
return json.dumps(value)
def python_value(self, value):
if value is not None:
return json.loads(value)
2 years ago
class DeviceDB(BaseModel):
deviceName = CharField()
proType = CharField()
masterSlaveModel = CharField()
2 years ago
areaJson = JSONField()
2 years ago
pvUpperLimit = CharField()
pvLowerLimit = CharField()
pvUnit = CharField()
2 years ago
createTime = CharField()
# 查询设备是否存在
@classmethod
def getByName(cls, deviceName):
try:
return cls.get(cls.deviceName == str(deviceName))
except Exception as e:
2 years ago
return
2 years ago
# 删除设备
@classmethod
def deleteDevice(cls, deviceName):
try:
query = cls.delete().where(cls.deviceName == deviceName)
query.execute()
return 'ok'
except Exception as e:
2 years ago
return
2 years ago
# 添加设备
2 years ago
2 years ago
def addDevice(self, deviceName, proType, masterSlaveModel=masterSlaveModel, areaJson=json.dumps([]), pvUpperLimit=pvUpperLimit, pvLowerLimit=pvLowerLimit, pvUnit=pvUnit):
2 years ago
self.deviceName = deviceName
self.proType = proType
self.masterSlaveModel = masterSlaveModel
self.areaJson = areaJson
2 years ago
self.pvUpperLimit = pvUpperLimit
self.pvLowerLimit = pvLowerLimit
self.pvUnit = pvUnit
2 years ago
self.createTime = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
# print(self.createTime)
self.save()
2 years ago
2 years ago
2 years ago