| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #include "pch.h"
- #include "ElectricEqpmt_Breaker_400V_Circuit.h"
- CElectricEqpmt_Breaker_400V_Circuit::CElectricEqpmt_Breaker_400V_Circuit(void)
- {
- SetSubType(Electric_Breaker_Circuit);
- }
- CElectricEqpmt_Breaker_400V_Circuit::~CElectricEqpmt_Breaker_400V_Circuit(void)
- {
- }
- int CElectricEqpmt_Breaker_400V_Circuit::CheckEqpmtCtrlCase(int status,ELEEQPMTMAP& ElectricEqpmtMap,int stdid,int subsysid,int trianid,int stationid,int viewid,int CtrlType, int nMark)
- {
- // 真实设备反馈状态变化,不进行校验直接更新
- if (OperClient_RealSys == nMark || OperClient_RealSynch == nMark)
- {
- return DH_CmdReplyStatus_Pass;
- }
- // 400V母联断路器手动操作,三合两闭处理逻辑
- int nRetStatus = DH_CmdReplyStatus_Pass;
- ELEEQPMTMAP::iterator iterBolt = ElectricEqpmtMap.find(GetAutoBoltID());
- if (iterBolt != ElectricEqpmtMap.end() )
- {
- ElectricEqpmt_PowerBolt* pEqpmtBolt = (ElectricEqpmt_PowerBolt*)iterBolt->second;
- if ( pEqpmtBolt != NULL )
- {
- if (GetStatus()==Electric_Eqpmt_Status_OFF && GetRelationBreakerType()==EQPMT_RELATIONTYPE_AUTOBOLT && GetSubType()==Electric_Breaker_Circuit)
- {
- nRetStatus = pEqpmtBolt->GetEqpmtCtrlCaseStatus_CircuitBreaker_OnByHand(status,ElectricEqpmtMap);
- }
- if ( nRetStatus == DH_CmdReplyStatus_Deny )
- {
- if (trianid>0)
- {
- std::stringstream ss;
- ss << GetEqpmentName() << " 操作禁止";
- std::string retstr = ss.str();
- DHSVRREPLY CheckReplyMsg;
- memset(&CheckReplyMsg,0,sizeof(DHSVRREPLY)) ;
- strncpy(CheckReplyMsg.ReplyText, retstr.c_str(), sizeof(CheckReplyMsg.ReplyText));
- CheckReplyMsg.CmdID = OCCCOMMAND::eUpdateOperCheck;
- string strName=GetEqpmentID();
- strncpy(CheckReplyMsg.EqpmtStrID, strName.c_str(), sizeof(CheckReplyMsg.EqpmtStrID));
- CheckReplyMsg.CtrlLock=GetControlLock();
- CheckReplyMsg.StdID = stdid;
- CheckReplyMsg.EqpmtStatus =nRetStatus;
- CheckReplyMsg.StationID=stationid;
- CheckReplyMsg.ViewID = viewid;
- CheckReplyMsg.SubSysID = subsysid;
- OCCCOMMAND NetOrder;
- NetOrder.DesSysType = OCC_SYS_DD_CLIENT;
- NetOrder.ScrSysType = OCC_SYS_DD_SVR;
- NetOrder.TrainningID = trianid;
- NetOrder.setPacketValue(&CheckReplyMsg,OCCCOMMAND::eUpdateSvrReply);
- p_SendList->push(NetOrder);
- return nRetStatus;
- }
- }
- }
- }
- return CElectricEqpmt_SwicthEqpmt::CheckEqpmtCtrlCase(status, ElectricEqpmtMap, stdid, subsysid, trianid, stationid, viewid, CtrlType, nMark);
- }
|