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(); } }
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; }
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; } }
/// <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); } }