GrpcPrint/PrintS/Config/bean/CommunicationCfg.cpp
2024-03-19 17:45:12 +08:00

153 lines
5.6 KiB
C++

#include "CommunicationCfg.h"
CommunicationCfg::CommunicationCfg()
{
m_MachineId = 0;
m_ClientCode = "";
m_Name = "";
m_Type = COM;
m_IP = "0.0.0.0";
m_Port = 10000;
m_Addr = 1;
m_COM = "COM1";
m_BaudRate = 9600;
m_Parity = 0;
m_DataBits = 8;
m_StopBits = 1;
m_Interval = 1000;
m_AlarmTimeoutTimes = 3;
m_Enable = false;
memset(m_szIp, '\0', sizeof(m_szIp));
memset(m_szCom, '\0', sizeof(m_szCom));
}
CommunicationCfg::CommunicationCfg(int mid, string cc, string name, int type)
:m_MachineId(mid)
, m_ClientCode(cc)
, m_Name(name)
, m_Type(type)
{
m_IP = "0.0.0.0";
m_Port = 10000;
m_Addr = 1;
m_COM = "COM1";
m_BaudRate = 9600;
m_Parity = 0;
m_DataBits = 8;
m_StopBits = 1;
m_Interval = 1000;
m_AlarmTimeoutTimes = 3;
m_Enable = true;
memset(m_szIp, '\0', sizeof(m_szIp));
memset(m_szCom, '\0', sizeof(m_szCom));
}
void CommunicationCfg::GetUpdateSql(vector<string>& ups)
{
char buffer[512];
string sql = "UPDATE " + TABLE_NAME + " SET " + FIELD_PARAM_VALUE + "='%s' WHERE " + FIELD_MACHINE_ID + "=%d AND " + FIELD_PARAM_CODE + "='%s' AND " + FIELD_CLIENT_CODE + "='" + m_ClientCode + "'";
sprintf_s(buffer, sizeof(buffer), sql.c_str(), m_Name.c_str(), m_MachineId, PARAM_NAME.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), to_string(m_Type).c_str(), m_MachineId, PARAM_TYPE.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), m_IP.c_str(), m_MachineId, PARAM_IP.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), to_string(m_Port).c_str(), m_MachineId, PARAM_PORT.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), to_string(m_Addr).c_str(), m_MachineId, PARAM_ADDR.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), m_COM.c_str(), m_MachineId, PARAM_COM.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), to_string(m_BaudRate).c_str(), m_MachineId, PARAM_BAUD_RATE.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), to_string(m_DataBits).c_str(), m_MachineId, PARAM_DATABITS.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), to_string(m_StopBits).c_str(), m_MachineId, PARAM_STOPBITS.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), to_string(m_Interval).c_str(), m_MachineId, PARAM_INTERVAL.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), to_string(m_AlarmTimeoutTimes).c_str(), m_MachineId, PARAM_ALARM_TIMEOUT_TIMES.c_str());
ups.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), m_Enable ? "1" : "0", m_MachineId, PARAM_ENABLE.c_str());
ups.push_back(buffer);
}
void CommunicationCfg::GetInitInsertSql(vector<string>& ins)
{
char buffer[512];
string sql = "INSERT INTO " + TABLE_NAME + "(" + FIELD_MACHINE_ID + "," + FIELD_CLIENT_CODE + "," + FIELD_PARAM_CODE + "," + FIELD_PARAM_VALUE + ") VALUES(" + to_string(m_MachineId) + "," + m_ClientCode + ",'%s','%s'";
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_NAME.c_str(), m_Name.c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_TYPE.c_str(), to_string(m_Type).c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_IP.c_str(), m_IP.c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_PORT.c_str(), to_string(m_Port).c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_ADDR.c_str(), to_string(m_Addr).c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_COM.c_str(), m_COM.c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_BAUD_RATE.c_str(), to_string(m_BaudRate).c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_PARITY.c_str(), to_string(m_Parity).c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_DATABITS.c_str(), to_string(m_DataBits).c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_STOPBITS.c_str(), to_string(m_StopBits).c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_INTERVAL.c_str(), to_string(m_Interval).c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_ALARM_TIMEOUT_TIMES.c_str(), to_string(m_AlarmTimeoutTimes).c_str());
ins.push_back(buffer);
sprintf_s(buffer, sizeof(buffer), sql.c_str(), PARAM_ENABLE.c_str(), m_Enable ? "1" : "0");
ins.push_back(buffer);
}
const string CommunicationCfg::TABLE_NAME = "CommunicationCfg";
const string CommunicationCfg::FIELD_MACHINE_ID = "MachineId";
const string CommunicationCfg::FIELD_CLIENT_CODE = "ClientCode";
const string CommunicationCfg::FIELD_PARAM_CODE = "ParamCode";
const string CommunicationCfg::FIELD_PARAM_VALUE = "ParamValue";
const string CommunicationCfg::PARAM_NAME = "Name";
const string CommunicationCfg::PARAM_TYPE = "Type";
const string CommunicationCfg::PARAM_IP = "IP";
const string CommunicationCfg::PARAM_PORT = "Port";
const string CommunicationCfg::PARAM_ADDR = "Addr";
const string CommunicationCfg::PARAM_COM = "Com";
const string CommunicationCfg::PARAM_BAUD_RATE = "BaudRate";
const string CommunicationCfg::PARAM_PARITY = "Parity";
const string CommunicationCfg::PARAM_DATABITS = "Databits";
const string CommunicationCfg::PARAM_STOPBITS = "Stopbits";
const string CommunicationCfg::PARAM_INTERVAL = "Interval";
const string CommunicationCfg::PARAM_ALARM_TIMEOUT_TIMES = "AlarmTimeoutTimes";
const string CommunicationCfg::PARAM_ENABLE = "enable";