#pragma once #include using namespace std; #include "EvalueItemBaseDefine.h" //事件触发方式定义 enum EventTriggerType { EventTriggerType_Null = -1, //无效 EventTriggerType_Manual = 0, //人工触发 EventTriggerType_Time = 1, //时间触发 EventTriggerType_Position = 2, //位置触发 EventTriggerType_Condition = 3, //条件触发 EventTriggerType_MultiType = 4, //组合触发 }; //评价方式定义 enum EvaluateType { EvaluateType_Null = -1, //未知 EvaluateType_Subjective = 0, //主观评价 EvaluateType_Objective = 1, //客观评价 }; //课程类型定义 enum CourseTypeDefine { CourseType_Null = 0, CourseType_Training = 1, CourseType_Examination = 2, CourseType_Test = 3, }; //课程面向主要培训对象定义 enum MajorTypeDefine { MajorType_Null = 0, MajorType_XD = 101, MajorType_DD = 102, MajorType_HD = 103, MajorType_CD = 104, MajorType_WD = 105, MajorType_Station = 201, MajorType_Union = 100, }; //课程作业类型定义 enum TrainingTypeDefine { TrainingType_Null = 0, TrainingType_BasicOper = 1, TrainingType_FaultDeal = 2, }; //课程面向主要培训对象定义 enum MajorLevelTypeDefine { MajorLevelType_Null = -1, MajorLevelType_BasicLevel = 1, MajorLevelType_MediumLevel = 2, MajorLevelType_HighLevel = 3, MajorLevelType_Technician = 4, MajorLevelType_HighTechnician = 5, }; //基本事件类型定义 enum EventType { EventType_Null = -1, //未知 EventType_TrainFault = 0, //列车故障 EventType_EnvirChange = 1, //环境变化 EventType_emergency = 2, //突发事件 EventType_XD = 10, //行调相关 EventType_DD = 11, //电调相关 EventType_HD = 12, //环调相关 EventType_CheZhan = 13, //车站相关 }; //数据类型定义 enum ParaDataType { ParaDataType_Null = -1, //未知 ParaDataType_Int = 1, //整形 ParaDataType_Float = 2, //浮点型 ParaDataType_String = 3, //字符型 }; //评价条目类型 added by zhangjiahua enum ItemType { Item_Type_XD = 1, //行调 Item_Type_DD = 2, //电调 Item_Type_HD = 3, //环调 Item_Type_CZ = 4, //车站 }; //行调操作条目类型 added by zhangjiahua enum XD_Operate_Item { XD_Operate_Item_ModeSwitch = 1, //模式切换 XD_Operate_Item_RouteOperate = 2, //进路操作 XD_Operate_Item_SignalOperate = 3, //信号机操作 XD_Operate_Item_TrackOperate = 4, //区段操作 XD_Operate_Item_BranchOperate = 5, //道岔操作 XD_Operate_Item_PlatOperate = 6, //站台操作 XD_Operate_Item_TrainOperate = 7, //列车操作 XD_Operate_Item_TurnBackOperate = 8, //折返操作 XD_Operate_Item_VoiceCommu = 9, //语音通讯 XD_Operate_Item_CenSta = 10, //车站操作 }; //电调操作条目类型 added by zhangjiahua enum DD_Operate_Item { DD_Operate_Item_SwitchEqpmt = 1, //开关设备操作 DD_Operate_Item_PermissionChange = 2, //控制权限转换 }; //电调开关设备操作条目类型 added by zhangjiahua enum DD_Operate_Item_Switch { Switch_Off = 1, //分闸 Switch_On = 2, //合闸 Switch_RemoteLock_Off = 3, //遥信封锁分 Switch_RemoteLock_On = 4, //遥信封锁合 Switch_RemoteLock_Local = 5, //遥信封锁就地 Switch_RemoteLock_Unlock = 6, //遥信解锁 Switch_Contol_Lock = 7, //控制闭锁 Switch_Contol_UnLock = 8, //闭锁解除 Switch_Protect_Reset = 9, //故障复归 Switch_HanderLock_Test = 10, //手车封锁试验 Switch_HanderLock_Work = 11, //手车封锁工作 Switch_EqpmtFixedArea_Set = 12, //设备定值操作 }; //电调开关设备操作条目类型 added by zhangjiahua enum DD_Operate_Item_Perssion { Permission_OCC = 1, //OCC控制 Permission_Station = 2, //变电所控制 }; enum HD_Operate_Item { HD_Operate_Item_ModeCtrl = 1, //设备模式控制操作 HD_Operate_Item_TimeTabCtrl = 2, //设备时间表控制操作 HD_Operate_Item_BASEqpmtCtrl = 3, //设备控制 HD_Operate_Item_BASEqpmtExamine = 4, //设备维修操作 HD_Operate_Item_SetValue = 5, //设备频率开度设置操作 HD_Operate_Item_LightGroupCtrl = 6, //照明场景控制操作 HD_Operate_Item_PoolCtrl = 7, //给排水设备控制操作 HD_Operate_Item_PISCtrl = 8, //PIS系统控制操作 HD_Operate_Item_FasCtrl = 9, //车站火灾处理 HD_Operate_Item_SectionFireCtrl = 11, //列车区间火灾处理 HD_Operate_Item_StationAttack = 12, //车站、列车毒气袭击处理 HD_Operate_Item_RailwayWaterAccumulation = 13, //线路积水处理 HD_Operate_Item_IBPCtrl =14 //IBP盘操作反馈 }; enum HD_Operate_Item_Second { HD_Operate_Item_ModeCtrl_Recover = 2, //火灾阻塞复位按钮进行火灾模式复位 HD_Operate_Item_ModeCtrl_Run = 4, //目标模式执行 HD_Operate_Item_TimeTabCtrl_Run = 3, //系统控制菜单选择时间表 HD_Operate_Item_BASEqpmtCtrl_Check = 3, //设备控制校验 HD_Operate_Item_BASEqpmtCtrl_Oper = 4, //设备状态更新 HD_Operate_Item_BASEqpmtExamine_Set = 4, //设备检修状态设置 HD_Operate_Item_SetValue_Check = 2, // HD_Operate_Item_SetValue_Value = 3, //设置频率/开度值 HD_Operate_Item_LightGroupCtrl_Read = 3, //读取照明数据 HD_Operate_Item_LightGroupCtrl_Save = 4, //保存照明数据 HD_Operate_Item_LightGroupCtrl_Run = 5, //执行照明数据 HD_Operate_Item_PoolCtrl_Check = 2, //水泵控制校验 HD_Operate_Item_PoolCtrl_State = 3, //水泵设备开启 HD_Operate_Item_SectionFireCtrl_Light = 5, //区间事故照明 HD_Operate_Item_RailwayWaterAccumulation_Status = 2, //设置 区间消防电动蝶阀 HD_Operate_Item_IBPCtrl_ModeExecute = 1, //IBP盘火灾模式执行 HD_Operate_Item_IBPCtrl_ModeReset = 2, //IBP盘火灾模式复位 HD_Operate_Item_IBPCtrl_AFCRelease = 3, //IBP盘AFC紧急释放 HD_Operate_Item_IBPCtrl_AFCReset = 4 //IBP盘AFC恢复 }; //行调进路操作条目 added by zhangjiahua enum XD_Operate_Item_Route { XD_Operate_Item_Route_Build = 1, //进路建立 XD_Operate_Item_Route_Cancle = 2, //进路取消 XD_Operate_Item_Route_ManRelease = 3, //进路总人解 XD_Operate_Item_Route_Control_Man = 4, //进路交人工控 XD_Operate_Item_Route_Control_Auto = 5, //进路交自动控 XD_Operate_Item_Route_Pilot = 7, //开放引导信号 }; //行调轨道区段操作条目 added by zhangjiahua enum XD_Operate_Item_Track { XD_Operate_Item_Track_Trace_Cut = 1, //区段跟踪切除 XD_Operate_Item_Track_Trace_Set = 2, //区段跟踪激活 XD_Operate_Item_Track_Confirm_Axle = 3, //确认计轴有效 XD_Operate_Item_Track_SingleLock = 4, //区段封锁 XD_Operate_Item_Track_SingleUnLock = 5, //区段解锁 XD_Operate_Item_Track_UnLock = 6, //区故解 }; //行调道岔操作条目 added by zhangjiahua enum XD_Operate_Item_Signal { XD_Operate_Item_Signal_OpenAgain = 1, //信号重开 XD_Operate_Item_Route_AutoRoute_Set = 2, //设置自动通过进路 XD_Operate_Item_Route_AutoRoute_Cancle = 3, //取消自动通过进路 XD_Operate_Item_Signal_PlanListCheck_Set = 4, //计划顺序检查设置 XD_Operate_Item_Signal_PlanListCheck_Cancle = 5, //计划顺序检查取消 XD_Operate_Item_Signal_SingleLock = 6, //信号机单锁 XD_Operate_Item_Signal_SingleUnLock = 7, //信号机解锁 XD_Operate_Item_Signal_Release = 8, //信号机总人解 }; //行调道岔操作条目 added by zhangjiahua enum XD_Operate_Item_Switch { XD_Operate_Item_Switch_Positive = 1, //道岔定位 XD_Operate_Item_Switch_Negative = 2, //道岔反位 XD_Operate_Item_Switch_SingleLock = 3, //道岔单锁 XD_Operate_Item_Switch_SingleUnLock = 4, //道岔单解 XD_Operate_Item_Switch_Release = 5, //道岔总人解 XD_Operate_Item_Switch_Block = 6, //道岔封锁 XD_Operate_Item_Switch_UnBlock = 7, //道岔解封 XD_Operate_Item_Switch_AxleCount_Reset = 8, //道岔计轴预复位 }; //行调站台操作条目 added by zhangjiahua enum XD_Operate_Item_Plat { XD_Operate_Item_Plat_HoldTrain_Set = 1, //设置扣车 XD_Operate_Item_Plat_HoldTrain_Cancle = 2, //取消扣车 XD_Operate_Item_Plat_SkipStop_Set = 3, //设置跳停 XD_Operate_Item_Plat_SkipStop_Cancle = 4, //取消跳停 XD_Operate_Item_Plat_SendTrain_Advance = 5, //提前发车 XD_Operate_Item_Plat_Enable_Auto_HoldTrain = 6, //设置区间列车数量限制 XD_Operate_Item_Plat_Disable_Auto_HoldTrain = 7, //取消区间列车数量限制 XD_Operate_Item_Plat_Set_StopTime = 8, //设置停站时间 XD_Operate_Item_Plat_ClearPassanger_Set = 9, //设置站台清客 XD_Operate_Item_Plat_ClearPassanger_Cancle = 10, //取消站台清客 }; // 基本事件信息 struct BASE_EVENT { int nEventID; //事件号 int nEventType; //事件类型 int EventSubType1; //事件子类型1 int EventSubType2; //事件子类型2 int AssociParaType[5]; //关联参数-类型 BOOL bIsGeneralFlag; //是否是视景通用类 std::string EventTypeName; //事件类型名称 std::string EventSubType1Name; //事件子类型1名称 std::string EventSubType2Name; //事件子类型2名称 BASE_EVENT() { nEventID = -1; //事件号 nEventType = -1; //事件类型 EventSubType1 = -1; //事件子类型1 EventSubType2 = -1; //事件子类型2 for ( int nIndex = 0; nIndex < 5; nIndex++ ) { AssociParaType[nIndex] = ParaDataType_Null; //关联参数-类型 } bIsGeneralFlag = FALSE; //是否通用事件 EventTypeName = ""; //事件类型名称 EventSubType1Name = ""; //事件子类型1名称 EventSubType2Name = ""; //事件子类型2名称 } }; typedef map Map_BasicEvent; // 课程事件信息 struct COURSE_EVENT //课程预置事件信息 { int nEventIndex; //事件索引 int nBasicEventID; //基本事件号 int nTriggerType; //触发方式 std::string Str_EventName; //事件名称 std::string Str_AssociPara[5]; //关联参数 int nTriggerCondition[8]; //触发条件 BOOL bSetFlag; //设置标志(设置/取消) BOOL bTriggerStatus; //触发状态(已触发/未触发) BOOL bIsManTriggerFlag; //人工触发标志(人工/自动) BASE_EVENT* m_pBaseEvent; //基本事件对象 COURSE_EVENT() { nEventIndex = -1; //事件编号 nBasicEventID = -1; //基本事件号 Str_EventName = ""; //事件名称 nTriggerType = -1; //触发方式 bSetFlag = TRUE; //设置标志 bTriggerStatus = FALSE; //触发状态 bIsManTriggerFlag = FALSE; //人工触发标志 m_pBaseEvent = NULL; for ( int nIndex = 0; nIndex < 5; nIndex++ ) { Str_AssociPara[nIndex] = ""; //关联参数 } for ( int nIndex = 0; nIndex < 8; nIndex++ ) { nTriggerCondition[nIndex] = -1; //触发条件 } } }; typedef map Map_CourseEvent; typedef map Map_TrainUpdate;