public ActionResult WarningContent(string hallNo) { var list = Warning_DAL.GetVirtualMon(hallNo); #region 管理情况 var mang = new ManagementInfoModel(); var total = getVirtualMonDto(list, 1, 1).VALUE; var online = getVirtualMonDto(list, 1, 2).VALUE; mang.TotalNum = total.ToInt(); mang.OnlineNum = online.ToInt(); mang.OpenRate = total == 0 ? 0 : online / total; mang.HandleNum = getVirtualMonDto(list, 1, 3).VALUE.ToInt(); mang.HandleRate = total == 0 ? 0 : getVirtualMonDto(list, 1, 3).VALUE / total; mang.PoliceNum = getVirtualMonDto(list, 1, 4).VALUE.ToInt(); mang.ComplaintsNum = getVirtualMonDto(list, 1, 5).VALUE.ToInt(); mang.SecondaryHandleNum = getVirtualMonDto(list, 1, 6).VALUE.ToInt(); mang.CityNum = getVirtualMonDto(list, 1, 7).VALUE.ToInt(); ViewBag.Management = mang; #endregion #region 大厅排队情况 var que = new QueuingSituationModel(); que.Total = getVirtualMonDto(list, 2, 1).VALUE.ToInt(); que.WaitingNum = getVirtualMonDto(list, 2, 2).VALUE.ToInt(); //等候达标率=(正在等候人次-等候超时人数)/正在等候人次 que.WaitingRate = getVirtualMonDto(list, 2, 2).VALUE == 0 ? 0 : (getVirtualMonDto(list, 2, 2).VALUE - getVirtualMonDto(list, 2, 10).VALUE) / getVirtualMonDto(list, 2, 2).VALUE; //窗口饱和度= 当前等候人数 / 在线窗口数 var p = mang.OnlineNum == 0 ? 0 : getVirtualMonDto(list, 2, 2).VALUE / mang.OnlineNum; que.WindowPate = SaturationEnum.未饱和; if (p > getVirtualMonDto(list, 2, 5).VALUE) { que.WindowPate = SaturationEnum.极度饱和; } else if (p > getVirtualMonDto(list, 2, 4).VALUE) { que.WindowPate = SaturationEnum.非常饱和; } else if (p > getVirtualMonDto(list, 2, 3).VALUE) { que.WindowPate = SaturationEnum.饱和; } //大厅饱和度=总出票数/大厅容量 var hp = getVirtualMonDto(list, 2, 6).VALUE == 0 ? 0 : getVirtualMonDto(list, 2, 1).VALUE / getVirtualMonDto(list, 2, 6).VALUE; que.HallPate = SaturationEnum.未饱和; if (hp > getVirtualMonDto(list, 2, 9).VALUE) { que.HallPate = SaturationEnum.极度饱和; } else if (hp > getVirtualMonDto(list, 2, 8).VALUE) { que.HallPate = SaturationEnum.非常饱和; } else if (hp > getVirtualMonDto(list, 2, 7).VALUE) { que.HallPate = SaturationEnum.饱和; } //等候超时率=等候超时人数/正在等候人次 que.WaitingTimeoutPate = getVirtualMonDto(list, 2, 2).VALUE == 0 ? 0 : getVirtualMonDto(list, 2, 10).VALUE / getVirtualMonDto(list, 2, 2).VALUE; //等待超时人次预警 que.WaitingTimeout = AlarmLevelEnum.正常; var a = getVirtualMonDto(list, 2, 13).VALUE; if (que.WaitingTimeoutPate > a) { que.WaitingTimeout = AlarmLevelEnum.红色预警; } else if (que.WaitingTimeoutPate > getVirtualMonDto(list, 2, 12).VALUE) { que.WaitingTimeout = AlarmLevelEnum.橙色预警; } else if (que.WaitingTimeoutPate > getVirtualMonDto(list, 2, 11).VALUE) { que.WaitingTimeout = AlarmLevelEnum.黄色预警; } //平均等候时间=总等候时间/正在等候人次 que.AverageTime = (getVirtualMonDto(list, 2, 2).VALUE == 0 ? 0 : getVirtualMonDto(list, 2, 14).VALUE / getVirtualMonDto(list, 2, 2).VALUE).ToInt(); ViewBag.QueuingSituation = que; #endregion #region 务情况 var service = new ServiceInfoModel(); service.AcceptedNum = getVirtualMonDto(list, 3, 1).VALUE.ToInt(); service.OnServiceNum = getVirtualMonDto(list, 3, 2).VALUE.ToInt(); //超时办结率= 超时业务笔数/已受理业务笔数 service.TimeoutRate = getVirtualMonDto(list, 3, 2).VALUE == 0 ? 0 : getVirtualMonDto(list, 3, 3).VALUE / getVirtualMonDto(list, 3, 2).VALUE; //超时办结率= 超时业务笔数/已受理业务笔数 service.OnTimeRate = getVirtualMonDto(list, 3, 2).VALUE == 0 ? 0 : (getVirtualMonDto(list, 3, 2).VALUE - getVirtualMonDto(list, 3, 3).VALUE) / getVirtualMonDto(list, 3, 2).VALUE; service.TimeoutServiceWarning = AlarmLevelEnum.正常; if (getVirtualMonDto(list, 3, 3).VALUE > getVirtualMonDto(list, 3, 11).VALUE) { service.TimeoutServiceWarning = AlarmLevelEnum.红色预警; } else if (getVirtualMonDto(list, 3, 3).VALUE > getVirtualMonDto(list, 3, 10).VALUE) { service.TimeoutServiceWarning = AlarmLevelEnum.橙色预警; } else if (getVirtualMonDto(list, 3, 3).VALUE > getVirtualMonDto(list, 3, 9).VALUE) { service.TimeoutServiceWarning = AlarmLevelEnum.黄色预警; } service.LeaveNum = getVirtualMonDto(list, 3, 12).VALUE.ToInt(); //总呼叫号数/弃号数 service.LeaveRate = getVirtualMonDto(list, 2, 1).VALUE == 0 ? 0 : getVirtualMonDto(list, 3, 12).VALUE / getVirtualMonDto(list, 2, 1).VALUE; service.LeaveWarning = AlarmLevelEnum.正常; if (service.LeaveRate > getVirtualMonDto(list, 3, 16).VALUE) { service.LeaveWarning = AlarmLevelEnum.红色预警; } else if (service.LeaveRate > getVirtualMonDto(list, 3, 15).VALUE) { service.LeaveWarning = AlarmLevelEnum.橙色预警; } else if (service.LeaveRate > getVirtualMonDto(list, 3, 14).VALUE) { service.LeaveWarning = AlarmLevelEnum.黄色预警; } service.OneMoreServiceNum = getVirtualMonDto(list, 3, 17).VALUE.ToInt(); ViewBag.Service = service; #endregion #region 纳税人评价情况 var ev = new EvaluationInfoModel(); ev.Total = getVirtualMonDto(list, 4, 1).VALUE.ToInt(); ev.UnTotal = getVirtualMonDto(list, 4, 2).VALUE.ToInt(); ev.PoorNum = getVirtualMonDto(list, 4, 3).VALUE.ToInt(); //未评价率=未评价总数/(评价总数+未评价总数) var tt = (getVirtualMonDto(list, 4, 2).VALUE + getVirtualMonDto(list, 4, 1).VALUE); ev.UnEvaluationRate = tt == 0 ? 0 : getVirtualMonDto(list, 4, 2).VALUE / tt; //满意率=(评价总数-差评数)/评价总数 ev.SatisfactionRate = getVirtualMonDto(list, 4, 1).VALUE == 0 ? 0 : (getVirtualMonDto(list, 4, 1).VALUE - getVirtualMonDto(list, 4, 3).VALUE) / getVirtualMonDto(list, 4, 1).VALUE; //差评率=差评数/评价总数 ev.BadRate = getVirtualMonDto(list, 4, 1).VALUE == 0 ? 0 : getVirtualMonDto(list, 4, 3).VALUE / getVirtualMonDto(list, 4, 1).VALUE; ev.BadWarning = AlarmLevelEnum.正常; if (getVirtualMonDto(list, 4, 3).VALUE > getVirtualMonDto(list, 4, 6).VALUE) { ev.BadWarning = AlarmLevelEnum.红色预警; } else if (getVirtualMonDto(list, 4, 3).VALUE > getVirtualMonDto(list, 4, 5).VALUE) { ev.BadWarning = AlarmLevelEnum.橙色预警; } else if (getVirtualMonDto(list, 4, 3).VALUE > getVirtualMonDto(list, 4, 4).VALUE) { ev.BadWarning = AlarmLevelEnum.黄色预警; } ViewBag.EvaluationSituation = ev; #endregion return(View()); }
public ActionResult AllWarningContent(string orgId) { var list = Warning_DAL.VirtualMonHall(orgId); return(View(list)); }