| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #include "pch.h"
- #include "ElectricEqpmt_Breaker_400V_Input.h"
- CElectricEqpmt_Breaker_400V_Input::CElectricEqpmt_Breaker_400V_Input(void)
- {
- SetSubType(Electric_Breaker_Input);
- }
- CElectricEqpmt_Breaker_400V_Input::~CElectricEqpmt_Breaker_400V_Input(void)
- {
- }
- int CElectricEqpmt_Breaker_400V_Input::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 && GetSubType()==Electric_Breaker_Input)
- {
- //左进线断路器手动操作校验
- if (GetRelationBreakerType()==EQPMT_RELATIONTYPE_AUTOBOLTLSWITCH)
- {
- nRetStatus = pEqpmtBolt->GetEqpmtCtrlCaseStatus_LInputBreaker_OnByHand(status,ElectricEqpmtMap);
- }
- //右进线断路器手动操作校验
- else if (GetRelationBreakerType()==EQPMT_RELATIONTYPE_AUTOBOLTRSWITCH)
- {
- nRetStatus = pEqpmtBolt->GetEqpmtCtrlCaseStatus_RInputBreaker_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);
- }
|