core.cpp 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include "core.h"
  2. #include "smartlightshm.h"
  3. Core::Core(QObject *parent) : QObject(parent)
  4. {
  5. logThread = new LogThread(this);
  6. logThread->start();
  7. dbThread = new DatabaseThread(this);
  8. connect(dbThread,&DatabaseThread::sql_log,this,&Core::sql_log);
  9. server = new SmartLightServer(this);
  10. connect(server,&SmartLightServer::CommData,this,&Core::CommData);
  11. connect(server,&SmartLightServer::getEAlarm,this,&Core::getEAlarm);
  12. intServer = new InterfaceServer(this);
  13. connect(intServer,&InterfaceServer::SetResetRequest,this,&Core::resetRequest);
  14. connect(intServer,&InterfaceServer::SetRequestRealTimeData,this,&Core::requestRealTimeData);
  15. connect(intServer,&InterfaceServer::SetRequestSetParameters,this,&Core::requestSetParameters);
  16. connect(intServer,&InterfaceServer::SetCommData,this,&Core::CommData);
  17. //平台接口数据信号
  18. wssServer = new WssServer(this);
  19. connect(wssServer,&WssServer::resetRequest,this,&Core::resetRequest);
  20. connect(wssServer,&WssServer::requestRealTimeData,this,&Core::requestRealTimeData);
  21. connect(wssServer,&WssServer::requestSetParameters,this,&Core::requestSetParameters);
  22. connect(wssServer,&WssServer::CommData,this,&Core::CommData);
  23. wssServer->start();
  24. dbThread->start();
  25. }
  26. void Core::start()
  27. {
  28. server->start();
  29. intServer->start();
  30. }
  31. void Core::CommData(QString deviceID, int dir, QString data)
  32. {
  33. logThread->appendData(data);
  34. wssServer->subReport(deviceID,dir,false,false,data);
  35. if(dir==11){
  36. sql_log("++++++setEchoString++++++");
  37. intServer->setEchoString(deviceID,data);
  38. }
  39. }
  40. void Core::resetRequest(QString deviceID, int commandType, int parameterType, int pseq)
  41. {
  42. CommData(deviceID, 2, "======================tcp====================");
  43. server->mk_ResetList_qry(deviceID,commandType,parameterType,pseq);
  44. }
  45. void Core::requestRealTimeData(QString deviceID, int commandType, int parameterType, int pn, int queryNumber, int startPoint)
  46. {
  47. server->mk_realtime_qry(deviceID,commandType,parameterType,pn,queryNumber,startPoint);
  48. }
  49. void Core::requestSetParameters(QString deviceID, int commandType, int parameterType, QString tmp)
  50. {
  51. CommData(deviceID, 2, "======================ceshi====================");
  52. server->mk_set_parameters_qry(deviceID,commandType,parameterType,tmp);
  53. }
  54. void Core::getEAlarm(QString DeviceCode, int erc, int sta, int arg1, int arg2, int arg3, float value, float v2, QString others, QDateTime t)
  55. {
  56. dbThread->appendSql(DatabaseThread::RecSql,QString("insert into err_rec (id , device_id, erc, sta, arg1, arg2, arg3, value, value2, others, time1, time2) values (NULL, '%1', %2, %3, %4, %5, %6, %7, %8, '%9', %10, '%11')")
  57. .arg(DeviceCode).arg(erc).arg(sta).arg(arg1).arg(arg2).arg(arg3).arg(QString::number(value,'g',3)).arg(QString::number(v2,'g',3)).arg(others).arg(t.toTime_t()).arg(t.toString("yyyy-MM-dd HH:mm:ss")));
  58. }
  59. void Core::sql_log(QString log)
  60. {
  61. logThread->appendData(log);
  62. }