Ejemplo n.º 1
0
        public static string GetString(EnumSMSInfoType type)
        {
            switch (type)
            {
                case EnumSMSInfoType.All:
                    return "";
                case EnumSMSInfoType.Time:
                    return "定时提示";
                case EnumSMSInfoType.Mark:
                    return "定点提示";
                case EnumSMSInfoType.Area:
                    return "区域提示";
                case EnumSMSInfoType.OverSpeed:
                    return "超速提示";
                case EnumSMSInfoType.NormalSpeed:
                    return "车速恢复提示";
                case EnumSMSInfoType.OpenDoor:
                    return "开门提示";
                case EnumSMSInfoType.Rob:
                    return "劫车报警";
                case EnumSMSInfoType.StopCarOverTime:
                    return "停车超时提示";
                case EnumSMSInfoType.BreakElectricity:
                    return "断电报警";
                case EnumSMSInfoType.StopCarAccOn:
                    return "停车未熄火超时提示";
                case EnumSMSInfoType.FatigueDriving:
                    return "疲劳驾驶提醒";
                case EnumSMSInfoType.NoMoney:
                    return "零余额提示";
                case EnumSMSInfoType.LowMoney:
                    return "低余额提示";
                case EnumSMSInfoType.FixedRoute:
                    return "偏移路线提示";
                case EnumSMSInfoType.Temperature:
                    return "温度提示";
                case EnumSMSInfoType.OilReduce:
                    return "油量异常减少提示";
                case EnumSMSInfoType.OutWorkTimeRun:
                    return "车辆非工作时间行驶提示";
                case EnumSMSInfoType.OilAdd:
                    return "加油提示";
                case EnumSMSInfoType.Dropped:
                    return "掉线提示";
                default:
                    return ((int)type).ToString();
            }

        }
Ejemplo n.º 2
0
 public EWebSMSInfo Add(string[] arrUsers, string title, string content,Guid vehicleCode, EnumSMSInfoType type)
 {
     EWebSMSInfo info = new EWebSMSInfo();
     info.Content = content;
     info.Title = title;
     info.Type = (int)type;
     info.VehicleCode = vehicleCode;
     info.SMSAndUser = new List<EWebSMSAndUser>();
     for (int i = 0; i < arrUsers.Length; i++)
     {
         EWebSMSAndUser user = new EWebSMSAndUser();
         user.ReceiveTime = DateTime.Now;
         user.ReceiveUserCode = arrUsers[i];
         user.SMSInfoType = (int)type;
         info.SMSAndUser.Add(user);
     }
     
     Add(info);
     IList<EWebSMSAndUser_New> ltResult = ConvertEntity(info);
     Add(ltResult);
     return info;
 }
Ejemplo n.º 3
0
        protected virtual void ModifyRunningState(EVehicleRunningState existRunningState, EnumAlertState alertModifyState, EnumSMSInfoType alarmType)
        {
            if (existRunningState == null) return;

            // 有记录且报警状态不同,修改报警状态
            if (alertModifyState == EnumAlertState.Alerting)
            {
                existRunningState.State = (int)EnumRunningState.Alarming;
                existRunningState.AlarmType = (int)alarmType;
                return;
            }

            // 报警恢复时,删除记录(即重置,重置后AlertHandlerService会将该记录删除)
            if (alertModifyState == EnumAlertState.Resume && existRunningState.AlarmType == (int)alarmType)
            {
                existRunningState.State = (int)EnumRunningState.Running;
                existRunningState.AlarmType = null;
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 检查当前车辆的当前状态,
        /// 如果当前状态的报警类型与参数alarmType一致,则还原State为Running,
        /// 否则不进行任何处理
        /// </summary>
        /// <param name="existRunningState"></param>
        /// <param name="alarmType"></param>
        protected virtual void RemoveRunningState(EVehicleRunningState existRunningState, EnumSMSInfoType alarmType)
        {
            if (existRunningState == null) return;

            if (existRunningState.State == (int)EnumRunningState.Alarming && existRunningState.AlarmType == (int)alarmType)
            {
                existRunningState.State = (int)EnumRunningState.Running;
                existRunningState.AlarmType = null;
            }
        }
 protected virtual void DeleteAlarmRunningState(EnumSMSInfoType alarmType, Guid vehicleCode)
 {
     try
     {
         IVehicleRunningStateManager manager = new VehicleRunningStateManager();
         var vehicleRunningState = manager.Get(vehicleCode);
         if (vehicleRunningState != null && vehicleRunningState.State == (int)EnumRunningState.Alarming
             && vehicleRunningState.AlarmType == (int)alarmType)
         {
             manager.Delete(vehicleRunningState);
         }
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
     }
 }
        //private string GetMessage(EBaseAlertReport alert)
        //{
        //    string title;
        //    string content;
        //    if (alert.EnumAlertState == EnumAlertState.Alerting)
        //    {
        //        title = alert.GetAlertTitle();
        //        content = alert.GetAlertMessage();
        //    }
        //    else
        //    {
        //        title = alert.GetResumeAlertTitle();
        //        content = alert.GetResumeAlertMessage();
        //    }

        //    return string.Format("[{0}],{1},{2}", title, content, alert.ReceiveUserList);
        //}
 

 
        #endregion

        #region 设置GPS平台报警状态统计


        public virtual void SetRunningState(EnumAlertState alertState, EnumSMSInfoType alarmType, Guid vehicleCode)
        {
            try
            {
                IVehicleRunningStateManager manager = new VehicleRunningStateManager();
                var vehicleRunningState = manager.Get(vehicleCode);
                if (alertState == EnumAlertState.Alerting)
                {
                    if (vehicleRunningState == null)            //没有记录时,保存新记录
                    {
                        vehicleRunningState = new EVehicleRunningState();
                        vehicleRunningState.AlarmType = (int)alarmType;
                        vehicleRunningState.State = (int)EnumRunningState.Alarming;
                        vehicleRunningState.VehicleCode = vehicleCode;
                        manager.Add(vehicleRunningState);
                    }
                    else
                    {
                        if (vehicleRunningState.AlarmType != (int)alarmType)   //有记录且报警状态不同,修改报警状态
                        {
                            vehicleRunningState.State = (int)EnumRunningState.Alarming;
                            vehicleRunningState.AlarmType = (int)alarmType;
                            manager.Update(vehicleRunningState);
                        }
                    }
                }
                else
                {
                    if (vehicleRunningState != null)
                    {
                        if (vehicleRunningState.AlarmType == (int)alarmType)    //报警恢复时,删除记录
                        {
                            manager.Delete(vehicleRunningState);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
        }