ElectricEqpmt_StationThreeLoadCut.cpp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #include "pch.h"
  2. #include "ElectricEqpmt_StationThreeLoadCut.h"
  3. ElectricEqpmt_StationThreeLoadCut::ElectricEqpmt_StationThreeLoadCut()
  4. {
  5. }
  6. ElectricEqpmt_StationThreeLoadCut::~ElectricEqpmt_StationThreeLoadCut()
  7. {
  8. }
  9. void ElectricEqpmt_StationThreeLoadCut::EqpmtCtrl( int status,ELEEQPMTMAP& ElectricEqpmtMap,string Stdid,int CtrlType, int nMark /*= 0*/ )
  10. {
  11. BaseElectricEqpmt::EqpmtCtrl(status, ElectricEqpmtMap, Stdid, CtrlType, nMark);
  12. if ( GetStatus() == status )
  13. {
  14. return;
  15. }
  16. //xyx屏蔽begin
  17. //string text;
  18. //if ( Electric_Eqpmt_Status_OFF == status )
  19. //{
  20. // text.Format("%s %s 投入/退出 退出",GetBaseTypeName(),GetEqpmentName() );
  21. //}
  22. //else if ( Electric_Eqpmt_Status_ON == status )
  23. //{
  24. // text.Format("%s %s 投入/退出 投入",GetBaseTypeName(),GetEqpmentName() );
  25. //}
  26. //SendMsgNotice(GetSourceStationID(),GetRegion(),2,DH_MSGCATEGORY_SOE,text,GetEqpmentID());
  27. //xyx屏蔽end
  28. //xyx修改begin
  29. string EqpmtTypeName = GetBaseTypeName(); //设备类型名称
  30. string EqpmtName = GetEqpmentName(); //设备名称
  31. int EqpmtSourceStatonID = GetSourceStationID(); //设备所属车站ID
  32. int EqpmtType = GetBaseType(); //设备类型
  33. if ( Electric_Eqpmt_Status_OFF == status )
  34. {
  35. int nActType1 = ElcAlarm_TripActType_Open; //“退出”类型
  36. UpdateAlarmType(EqpmtType,EqpmtTypeName,EqpmtName,EqpmtSourceStatonID,nActType1);
  37. }
  38. else if ( Electric_Eqpmt_Status_ON == status )
  39. {
  40. int nActType2 = ElcAlarm_TripActType_Close; //“投入”类型
  41. UpdateAlarmType(EqpmtType,EqpmtTypeName,EqpmtName,EqpmtSourceStatonID,nActType2);
  42. }
  43. //xyx修改end
  44. UpdateEqpmtStatus(ElectricEqpmtMap, status,CtrlType);
  45. }
  46. int ElectricEqpmt_StationThreeLoadCut::CheckEqpmtCtrlCase( int status,map<string,BaseElectricEqpmt*>& ElectricEqpmtMap,int stdid,int subsysid,int trianid,int stationid,int viewid )
  47. {
  48. if (trianid>0)
  49. {
  50. DHSVRREPLY CheckReplyMsg;
  51. memset(&CheckReplyMsg,0,sizeof(DHSVRREPLY)) ;
  52. string retstr = "";
  53. int retstatus = DH_CmdReplyStatus_Pass;
  54. strncpy(CheckReplyMsg.ReplyText,retstr.c_str(), sizeof(CheckReplyMsg.ReplyText));
  55. CheckReplyMsg.CmdID = OCCCOMMAND::eUpdateOperCheck;
  56. //strcpy(CheckReplyMsg.EqpmtStrID,GetEqpmentID().GetBuffer(GUID_LEN));
  57. //GetEqpmentID().ReleaseBuffer(GUID_LEN);
  58. string strID=GetEqpmentID();
  59. strncpy(CheckReplyMsg.EqpmtStrID,strID.c_str(), sizeof(CheckReplyMsg.EqpmtStrID));
  60. CheckReplyMsg.CtrlLock=GetControlLock();
  61. CheckReplyMsg.StdID = stdid;
  62. CheckReplyMsg.EqpmtStatus =retstatus;
  63. CheckReplyMsg.StationID=stationid;
  64. CheckReplyMsg.ViewID = viewid;
  65. CheckReplyMsg.SubSysID = subsysid;
  66. OCCCOMMAND NetOrder;
  67. NetOrder.DesSysType = OCC_SYS_DD_CLIENT;
  68. NetOrder.ScrSysType = OCC_SYS_DD_SVR;
  69. NetOrder.TrainningID = trianid;
  70. NetOrder.setPacketValue(&CheckReplyMsg,OCCCOMMAND::eUpdateSvrReply);
  71. p_SendList->push(NetOrder);
  72. }
  73. return DH_CmdReplyStatus_Pass;
  74. }