| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- #include "pch.h"
- #include "ElectricEqpmt_TelesignalisationMng.h"
- StationEqpmt_Telesignalisation::StationEqpmt_Telesignalisation()
- {
- m_nMark = 0;
- }
- StationEqpmt_Telesignalisation::~StationEqpmt_Telesignalisation()
- {
- m_vecTelesignalisation.clear();
- }
- void StationEqpmt_Telesignalisation::AddStationEqpmtTelesignalisation( ElectricEqpmt_Telesignalisation& telesignalisation )
- {
- m_vecTelesignalisation.push_back( telesignalisation );
- }
- StationEqpmt_Telesignalisation& StationEqpmt_Telesignalisation::operator=( const StationEqpmt_Telesignalisation& telesignalisation)
- {
- if ( this == &telesignalisation )
- {
- return *this;
- }
- m_vecTelesignalisation.clear();
- m_vecTelesignalisation = telesignalisation.m_vecTelesignalisation;
- return *this;
- }
- void StationEqpmt_Telesignalisation::TelesignalisationInit( CommandQueue* pSendList, int nTrainID )
- {
- //if ( m_nMark != 0 )
- {
- DealTelesignalisationMsg( pSendList, nTrainID, m_nMark );
- }
- }
- void StationEqpmt_Telesignalisation::DealTelesignalisationMsg( CommandQueue* pSendList, int nTrainID, int nMark )
- {
- m_nMark = nMark;
- OCCCOMMAND tmpSendHC;
- memset(&tmpSendHC, 0, sizeof(OCCCOMMAND));
- tmpSendHC.DesSysType=OCC_SYS_DD_CLIENT;
- tmpSendHC.TrainningID = nTrainID;
- tmpSendHC.ScrSysType=OCC_SYS_DD_SVR;
- TELESIGNALISATION telesignalisation;
- memset(&telesignalisation, 0, sizeof(TELESIGNALISATION));
- string strDestEqpmtStrID;
- string strShowText;
- for ( int i = 0; i < m_vecTelesignalisation.size(); i++ )
- {
- telesignalisation.StationID = m_vecTelesignalisation[i].GetStationID();
- telesignalisation.ViewID = m_vecTelesignalisation[i].GetViewID();
- strDestEqpmtStrID = m_vecTelesignalisation[i].m_strEqpmtStrID;
- strncpy( telesignalisation.SourceEqpmtStrID, strDestEqpmtStrID.c_str(), sizeof(telesignalisation.SourceEqpmtStrID));
- strDestEqpmtStrID = m_vecTelesignalisation[i].GetDestEqpmtStrID();
- strncpy( telesignalisation.EqpmtStrID, strDestEqpmtStrID.c_str(), sizeof(telesignalisation.EqpmtStrID));
- telesignalisation.EqpmtStaus = m_vecTelesignalisation[i].GetStatus( nMark );
- strShowText = m_vecTelesignalisation[i].GetShowText(nMark);
- strncpy( telesignalisation.ShowText, strShowText.c_str(), sizeof(telesignalisation.ShowText));
- telesignalisation.Color = m_vecTelesignalisation[i].GetColor( nMark );
- telesignalisation.PropertyPageCtrlID = m_vecTelesignalisation[i].m_nPropertyPageCtrlID;
- telesignalisation.Mark = m_nMark;
- tmpSendHC.setPacketValue(&telesignalisation,OCCCOMMAND::eUpdateTelesignalisation);
- pSendList->push(tmpSendHC);
- }
- }
- ElectricEqpmt_TelesignalisationMng::ElectricEqpmt_TelesignalisationMng()
- {
- }
- ElectricEqpmt_TelesignalisationMng::~ElectricEqpmt_TelesignalisationMng()
- {
- m_mapStationEqpmtTelesignalisation.clear();
- }
- void ElectricEqpmt_TelesignalisationMng::AddStationEqpmtTelesignalisation( ElectricEqpmt_Telesignalisation& telesignalisation, int nMark/* = 0 */)
- {
- string strKey = FormatKey( telesignalisation.m_nProtectID, telesignalisation.m_strEqpmtStrID );
- map<string, StationEqpmt_Telesignalisation>::iterator iter = m_mapStationEqpmtTelesignalisation.find(strKey);
- if ( iter == m_mapStationEqpmtTelesignalisation.end() )
- {
- StationEqpmt_Telesignalisation te;
- te.AddStationEqpmtTelesignalisation(telesignalisation);
- te.m_nMark = nMark;
- m_mapStationEqpmtTelesignalisation.insert( make_pair( strKey, te) );
- }
- else
- {
- iter->second.AddStationEqpmtTelesignalisation(telesignalisation);
- }
- }
- string ElectricEqpmt_TelesignalisationMng::FormatKey( int nProtectID, const string& strEqpmtStrID )
- {
- std::string strRet = "";
- strRet = std::to_string(nProtectID) + "-" + strEqpmtStrID;
- return strRet;
- }
- void ElectricEqpmt_TelesignalisationMng::DealTelesignalisationMsg( CommandQueue* pSendList,int nTrainID, int nProtectID, const string& strEqpmtStrID, int nMark )
- {
- if ( NULL == pSendList || m_mapStationEqpmtTelesignalisation.size() == 0)
- {
- return;
- }
- string strKey = FormatKey( nProtectID, strEqpmtStrID );
- map<string, StationEqpmt_Telesignalisation>::iterator iter = m_mapStationEqpmtTelesignalisation.find(strKey);
- if ( iter == m_mapStationEqpmtTelesignalisation.end() )
- {
- return;
- }
- if ( iter->second.m_vecTelesignalisation.empty() )
- {
- return;
- }
- iter->second.DealTelesignalisationMsg(pSendList, nTrainID, nMark );
- }
- void ElectricEqpmt_TelesignalisationMng::TelesignalisationInit( CommandQueue* pSendList, int nTrainID )
- {
- map<string, StationEqpmt_Telesignalisation>::iterator iter = m_mapStationEqpmtTelesignalisation.begin();
- for ( ; iter != m_mapStationEqpmtTelesignalisation.end(); iter++ )
- {
- iter->second.TelesignalisationInit(pSendList, nTrainID);
- }
- }
|