2024-05-22 15:58:54 +08:00
# include " CommunicationCfg.h "
2024-06-04 17:49:56 +08:00
# include "../utils/StringHelper.h"
2024-03-19 17:45:12 +08:00
CommunicationCfg : : CommunicationCfg ( )
2024-06-04 14:08:12 +08:00
: m_MachineId ( new IntData ( " MachineId " , u8 " " , 0 ) )
, m_ClientCode ( new StrData ( " ClientCode " , u8 " " , " " ) )
, m_Name ( new StrData ( " Name " ) )
, m_Type ( new IntData ( " Type " , u8 " " , COM ) )
, m_IP ( new StrData ( " IP " , u8 " IP " , " 0.0.0.0 " ) )
, m_Port ( new IntData ( " Port " , u8 " port " , 10000 ) )
, m_Addr ( new UcharData ( " Addr " , u8 " Addr " , 1 ) )
, m_COM ( new StrData ( " COM " , u8 " COM " , " COM1 " ) )
, m_BaudRate ( new IntData ( " BaudRate " , u8 " 波特率 " , 9600 ) )
, m_Parity ( new IntData ( " Parity " ) )
, m_DataBits ( new IntData ( " DataBits " , u8 " " , 8 ) )
, m_StopBits ( new IntData ( " StopBits " , u8 " " , 1 ) )
, m_Interval ( new UIntData ( " Interval " , u8 " " , 1000 ) )
, m_AlarmTimeoutTimes ( new UIntData ( " AlarmTimeoutTimes " , u8 " " , 3 ) )
, m_Enable ( new BoolData ( " Enable " , u8 " " , false ) )
, m_szIp ( new StrData ( " szIp " ) )
, m_szCom ( new StrData ( " szCom " ) )
, m_ShowContent ( new StrData ( " ShowContent " , u8 " " ) )
2024-03-19 17:45:12 +08:00
{
}
2024-05-22 15:58:54 +08:00
CommunicationCfg : : CommunicationCfg ( int mid , string cc , string name , const string & sContent , int type )
2024-06-04 14:08:12 +08:00
: m_MachineId ( new IntData ( " MachineId " , u8 " " , mid ) )
2024-06-04 17:49:56 +08:00
, m_ClientCode ( new StrData ( " ClientCode " , u8 " 编码 " , cc ) )
2024-06-04 14:08:12 +08:00
, m_Name ( new StrData ( " Name " , u8 " " , name ) )
, m_Type ( new IntData ( " Type " , u8 " " , type ) )
, m_IP ( new StrData ( " IP " , u8 " IP " , " 0.0.0.0 " ) )
, m_Port ( new IntData ( " Port " , u8 " port " , 10000 ) )
, m_Addr ( new UcharData ( " Addr " , u8 " Addr " , 1 ) )
, m_COM ( new StrData ( " COM " , u8 " COM " , " COM1 " ) )
, m_BaudRate ( new IntData ( " BaudRate " , u8 " 波特率 " , 9600 ) )
, m_Parity ( new IntData ( " Parity " ) )
, m_DataBits ( new IntData ( " DataBits " , u8 " " , 8 ) )
, m_StopBits ( new IntData ( " StopBits " , u8 " " , 1 ) )
, m_Interval ( new UIntData ( " Interval " , u8 " " , 1000 ) )
, m_AlarmTimeoutTimes ( new UIntData ( " AlarmTimeoutTimes " , u8 " " , 3 ) )
, m_Enable ( new BoolData ( " Enable " , u8 " " , true ) )
, m_szIp ( new StrData ( " szIp " ) )
, m_szCom ( new StrData ( " szCom " ) )
, m_ShowContent ( new StrData ( " ShowContent " , u8 " " , sContent ) )
2024-03-19 17:45:12 +08:00
{
2024-06-04 14:08:12 +08:00
size_t ptrSize = sizeof ( nullptr ) ; //指针大小
void * startPtr = & m_startFlag + 1 ;
size_t count = ( ( size_t ) & m_endFlag - ( size_t ) startPtr ) / ptrSize ;
InsertMp ( startPtr , count , " _ " + cc ) ;
2024-03-19 17:45:12 +08:00
}
void CommunicationCfg : : GetUpdateSql ( vector < string > & ups )
{
char buffer [ 512 ] ;
2024-06-04 14:08:12 +08:00
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 - > GetValueStr ( ) + " ' " ;
2024-03-19 17:45:12 +08:00
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , m_Name - > GetValueStr ( ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_NAME . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , to_string ( m_Type - > GetValue ( ) ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_TYPE . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , m_IP - > GetValueStr ( ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_IP . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , to_string ( m_Port - > GetValue ( ) ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_PORT . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , to_string ( m_Addr - > GetValue ( ) ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_ADDR . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , m_COM - > GetValueStr ( ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_COM . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , to_string ( m_BaudRate - > GetValue ( ) ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_BAUD_RATE . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , to_string ( m_DataBits - > GetValue ( ) ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_DATABITS . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , to_string ( m_StopBits - > GetValue ( ) ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_STOPBITS . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , to_string ( m_Interval - > GetValue ( ) ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_INTERVAL . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , to_string ( m_AlarmTimeoutTimes - > GetValue ( ) ) . c_str ( ) , m_MachineId - > GetValue ( ) , PARAM_ALARM_TIMEOUT_TIMES . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , m_Enable - > GetValue ( ) ? " 1 " : " 0 " , m_MachineId - > GetValue ( ) , PARAM_ENABLE . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ups . push_back ( buffer ) ;
}
void CommunicationCfg : : GetInitInsertSql ( vector < string > & ins )
{
char buffer [ 512 ] ;
2024-06-04 14:08:12 +08:00
string sql = " INSERT INTO " + TABLE_NAME + " ( " + FIELD_MACHINE_ID + " , " + FIELD_CLIENT_CODE + " , " + FIELD_PARAM_CODE + " , " + FIELD_PARAM_VALUE + " ) VALUES( " + to_string ( m_MachineId - > GetValue ( ) ) + " , " + m_ClientCode - > GetValueStr ( ) + " ,'%s','%s' " ;
2024-03-19 17:45:12 +08:00
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_NAME . c_str ( ) , m_Name - > GetValueStr ( ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_TYPE . c_str ( ) , to_string ( m_Type - > GetValue ( ) ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_IP . c_str ( ) , m_IP - > GetValueStr ( ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_PORT . c_str ( ) , to_string ( m_Port - > GetValue ( ) ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_ADDR . c_str ( ) , to_string ( m_Addr - > GetValue ( ) ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_COM . c_str ( ) , m_COM - > GetValueStr ( ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_BAUD_RATE . c_str ( ) , to_string ( m_BaudRate - > GetValue ( ) ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_PARITY . c_str ( ) , to_string ( m_Parity - > GetValue ( ) ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_DATABITS . c_str ( ) , to_string ( m_DataBits - > GetValue ( ) ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_STOPBITS . c_str ( ) , to_string ( m_StopBits - > GetValue ( ) ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_INTERVAL . c_str ( ) , to_string ( m_Interval - > GetValue ( ) ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_ALARM_TIMEOUT_TIMES . c_str ( ) , to_string ( m_AlarmTimeoutTimes - > GetValue ( ) ) . c_str ( ) ) ;
2024-03-19 17:45:12 +08:00
ins . push_back ( buffer ) ;
2024-06-04 14:08:12 +08:00
sprintf_s ( buffer , sizeof ( buffer ) , sql . c_str ( ) , PARAM_ENABLE . c_str ( ) , m_Enable - > GetValue ( ) ? " 1 " : " 0 " ) ;
2024-03-19 17:45:12 +08:00
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 " ;