|
|
|
import os
|
|
|
|
from peewee import *
|
|
|
|
|
|
|
|
from utils.DBModels.BaseModel import *
|
|
|
|
from utils.DBModels.ClientModels import Project, ClientDB
|
|
|
|
from utils.DBModels.DeviceParModels import *
|
|
|
|
from utils import Globals
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Client(object):
|
|
|
|
"""客户端逻辑类"""
|
|
|
|
def __init__(self):
|
|
|
|
super(Client, self).__init__()
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def initDB(self):
|
|
|
|
dbPath = os.path.join('db', 'client.db')
|
|
|
|
if os.path.isfile(dbPath):
|
|
|
|
self.clientDB = SqliteDatabase(dbPath)
|
|
|
|
client_proxy.initialize(self.clientDB)
|
|
|
|
self.clientDB.connect()
|
|
|
|
else:
|
|
|
|
self.clientDB = SqliteDatabase(dbPath)
|
|
|
|
client_proxy.initialize(self.clientDB)
|
|
|
|
modelsArr = [
|
|
|
|
Project,
|
|
|
|
ClientDB,
|
|
|
|
PressureTranslationBlock,
|
|
|
|
PhysicalBlock,
|
|
|
|
AIFunctionBlock,
|
|
|
|
TemperatureTranslationBlock,
|
|
|
|
LevelTranslationBlock,
|
|
|
|
FlowTranslationBlock,
|
|
|
|
WiKaLevelTranslationBlock,
|
|
|
|
KaiFengFlowTranslationBlock,
|
|
|
|
UnitTable
|
|
|
|
]
|
|
|
|
self.clientDB.connect()
|
|
|
|
self.clientDB.create_tables(modelsArr, safe = True)
|
|
|
|
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def close(self):
|
|
|
|
from model.ProjectModel.ProjectManage import ProjectManage
|
|
|
|
popen = Globals.getValue('popen')
|
|
|
|
popenBeat = Globals.getValue('beatPopen')
|
|
|
|
histroyMan = Globals.getValue('historyDBManage')
|
|
|
|
histroyMan.close()
|
|
|
|
if popen:
|
|
|
|
popen.kill()
|
|
|
|
if popenBeat:
|
|
|
|
popenBeat.kill()
|
|
|
|
proType = Globals.getValue('currentProType')
|
|
|
|
ProjectManage.closePopen()
|
|
|
|
if proType == '7':
|
|
|
|
Globals.getValue('FFThread').quitThread()
|
|
|
|
return
|
|
|
|
elif proType == '5':
|
|
|
|
RTDTCThread= Globals.getValue('RTDTCThread')
|
|
|
|
RTDTCThread.quitThread()
|
|
|
|
return
|
|
|
|
elif proType in ['6']:
|
|
|
|
AnalogThread = Globals.getValue('AnalogThread')
|
|
|
|
AnalogThread.quitThread()
|
|
|
|
return
|
|
|
|
elif proType in ['8']:
|
|
|
|
FFSimulateThread = Globals.getValue('FFSimulateThread')
|
|
|
|
FFSimulateThread.quitThread()
|
|
|
|
return
|
|
|
|
elif proType in ['9']:
|
|
|
|
HartSimulateThread = Globals.getValue('HartSimulateThread')
|
|
|
|
HartSimulateThread.quitThread()
|
|
|
|
return
|
|
|
|
|
|
|
|
# Client.initDB()
|