/// <summary> /// 作业实时分布统计表 /// </summary> /// <returns></returns> public ActionResult GetWorkRealTimeTableJson() { DistrictBLL districtbll = new DistrictBLL(); List <DistrictEntity> AreaList = districtbll.GetListByOrgIdAndParentId("", "0"); List <SafeworkcontrolEntity> WorkList = safeworkcontrolbll.GetNowWork(); List <KbssEntity> klist = new List <KbssEntity>(); int Znum = 0; foreach (var item in AreaList) { KbssEntity kbs = new KbssEntity(); kbs.Name = item.DistrictName; kbs.Num = WorkList.Where(a => a.Taskregioncode.Contains(item.DistrictCode)).Count(); kbs.DistrictCode = item.DistrictCode; Znum += kbs.Num; kbs.OnNum = WorkList.Where(a => a.Taskregioncode.Contains(item.DistrictCode)).Count(); klist.Add(kbs); } for (int j = 0; j < klist.Count; j++) { double Proportion = 0; if (Znum != 0) { Proportion = (double)klist[j].Num / Znum; Proportion = Proportion * 100; } klist[j].OnNum = Znum; klist[j].OnProportion = Proportion.ToString("0") + "%"; } return(Content(klist.ToJson())); }
public ActionResult GetLableStatistics() { var data = basebll.GetPageList(""); DistrictBLL districtbll = new DistrictBLL(); List <DistrictEntity> AreaList = districtbll.GetListByOrgIdAndParentId("", "0"); List <KbsEntity> klist = new List <KbsEntity>(); int Znum = 0; foreach (var item in AreaList) { KbsEntity kbs = new KbsEntity(); kbs.Name = item.DistrictName; kbs.Num = data.Where(a => a.AreaCode.Contains(item.DistrictCode)).Count(); Znum += kbs.Num; kbs.Num2 = kbs.Num; klist.Add(kbs); } for (int j = 0; j < klist.Count; j++) { double Proportion = 0; if (Znum != 0) { Proportion = (double)klist[j].Num / Znum; Proportion = Proportion * 100; } klist[j].Proportion = Proportion.ToString("0") + "%"; } return(Content(klist.ToJson())); }
public string GetLableChart() { List <object[]> list = new List <object[]>(); var data = basebll.GetPageList(""); DistrictBLL districtbll = new DistrictBLL(); List <DistrictEntity> AreaList = districtbll.GetListByOrgIdAndParentId("", "0"); List <KbsEntity> klist = new List <KbsEntity>(); foreach (var item in AreaList) { int num = 0; num = data.Where(it => it.AreaCode.Contains(item.DistrictCode)).Count(); object[] arr = { item.DistrictName, num }; if (num > 0) { list.Add(arr); } } return(Newtonsoft.Json.JsonConvert.SerializeObject(list)); }
public ActionResult GetCameraStatistics() { var data = kbscameramanagebll.GetPageList("").Where(a => a.CameraTypeId == 0); DistrictBLL districtbll = new DistrictBLL(); List <DistrictEntity> AreaList = districtbll.GetListByOrgIdAndParentId("", "0"); List <KbssEntity> klist = new List <KbssEntity>(); int Znum = 0; foreach (var item in AreaList) { KbssEntity kbs = new KbssEntity(); kbs.Name = item.DistrictName; kbs.Num = data.Where(a => a.AreaCode.Contains(item.DistrictCode)).Count(); kbs.DistrictCode = item.DistrictCode; Znum += kbs.Num; kbs.OnNum = data.Where(a => a.AreaCode.Contains(item.DistrictCode) && a.State == "在线").Count(); kbs.OffNum = data.Where(a => a.AreaCode.Contains(item.DistrictCode) && a.State == "离线").Count(); klist.Add(kbs); } for (int j = 0; j < klist.Count; j++) { double Proportion = 0; double offProportion = 0; double OnProportion = 0; if (Znum != 0) { Proportion = (double)klist[j].Num / Znum; offProportion = (double)klist[j].OffNum / Znum; OnProportion = (double)klist[j].OnNum / Znum; Proportion = Proportion * 100; offProportion = offProportion * 100; OnProportion = OnProportion * 100; } klist[j].Count = Znum; klist[j].OnProportion = OnProportion.ToString("0") + "%"; klist[j].OfflineProportion = offProportion.ToString("0") + "%"; klist[j].Proportion = Proportion.ToString("0") + "%"; } return(Content(klist.ToJson())); }
public string ImportCamera() { int error = 0; string message = "请选择格式正确的文件再导入!"; string falseMessage = ""; int count = HttpContext.Request.Files.Count; if (count > 0) { HttpPostedFileBase file = HttpContext.Request.Files[0]; if (string.IsNullOrEmpty(file.FileName)) { return(message); } if (!(file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xls") || file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xlsx"))) { return(message); } string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + System.IO.Path.GetExtension(file.FileName); file.SaveAs(Server.MapPath("~/Resource/temp/" + fileName)); DataTable dt = ExcelHelper.ExcelImport(Server.MapPath("~/Resource/temp/" + fileName)); int order = 1; DistrictBLL districtbll = new DistrictBLL(); List <DistrictEntity> AreaList = districtbll.GetListByOrgIdAndParentId("", ""); DataItemDetailBLL dataItemDetailBLL = new DataItemDetailBLL(); List <DataItemModel> data = dataItemDetailBLL.GetDataItemListByItemCode("'CameraType'").ToList(); for (int i = 0; i < dt.Rows.Count; i++) { string CameraID = dt.Rows[i][0].ToString(); string CameraName = dt.Rows[i][1].ToString(); string CameraType = dt.Rows[i][2].ToString(); string CameraTypeId = ""; //区域 string AreaName = dt.Rows[i][3].ToString(); string AreaValue = ""; string AreaCode = ""; //楼层编号 string FloorNo = dt.Rows[i][4].ToString(); string CameraPoint = dt.Rows[i][5].ToString(); string CameraIp = dt.Rows[i][6].ToString(); if (string.IsNullOrEmpty(CameraID)) { falseMessage += "</br>" + "第" + (i + 2) + "摄像头ID为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraName)) { falseMessage += "</br>" + "第" + (i + 2) + "摄像头名称为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraType)) { falseMessage += "</br>" + "第" + (i + 2) + "摄像头类别为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(AreaName)) { falseMessage += "</br>" + "第" + (i + 2) + "区域名称为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(FloorNo)) { falseMessage += "</br>" + "第" + (i + 2) + "楼层编号为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraPoint)) { falseMessage += "</br>" + "第" + (i + 2) + "摄像头坐标为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraIp)) { falseMessage += "</br>" + "第" + (i + 2) + "IP地址为空,未能导入."; error++; continue; } var IP = @"(^(\d+)\.(\d+)\.(\d+)\.(\d+)$)";//@"/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g"; var point = @"(^\d{1,9}(.\d{1,2});\d{1,9}(.\d{1,2})$)"; ////验证是否是IP if (!Regex.IsMatch(CameraIp, IP)) { falseMessage += "</br>" + "第" + (i + 2) + "行IP地址格式填写错误,未能导入."; error++; continue; } ////验证是否是坐标 if (!Regex.IsMatch(CameraPoint, point)) { falseMessage += "</br>" + "第" + (i + 2) + "行坐标格式填写错误,格式应为xx.xx;xx.xx,未能导入."; error++; continue; } var ct = data.Where(it => it.ItemName == CameraType).FirstOrDefault(); if (ct == null) { falseMessage += "</br>" + "第" + (i + 2) + "行摄像头类别填写错误,未找到对应的摄像头类别,未能导入."; error++; continue; } CameraTypeId = ct.ItemValue; var area = AreaList.Where(it => it.DistrictName == AreaName).FirstOrDefault(); if (area == null) { falseMessage += "</br>" + "第" + (i + 2) + "行区域名称填写错误,未找到对应的区域,未能导入."; error++; continue; } AreaValue = area.DistrictID; AreaCode = area.DistrictCode; KbscameramanageEntity kbs = new KbscameramanageEntity(); kbs.AreaCode = AreaCode; kbs.AreaName = AreaName; kbs.CameraId = CameraID; kbs.CameraName = CameraName; kbs.CameraType = CameraType; kbs.FloorNo = FloorNo; kbs.OperuserName = OperatorProvider.Provider.Current().UserName; kbs.AreaId = AreaValue; kbs.CameraIP = CameraIp; kbs.CameraPoint = CameraPoint; kbs.CameraTypeId = Convert.ToInt32(CameraTypeId); kbs.State = "在线"; try { kbscameramanagebll.SaveForm("", kbs); } catch { error++; } } count = dt.Rows.Count; message = "共有" + count + "条记录,成功导入" + (count - error) + "条,失败" + error + "条"; message += "</br>" + falseMessage; } return(message); }
public string ImportStation() { int error = 0; string message = "请选择格式正确的文件再导入!"; string falseMessage = ""; int count = HttpContext.Request.Files.Count; if (count > 0) { HttpPostedFileBase file = HttpContext.Request.Files[0]; if (string.IsNullOrEmpty(file.FileName)) { return(message); } if (!(file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xls") || file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xlsx"))) { return(message); } string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + System.IO.Path.GetExtension(file.FileName); file.SaveAs(Server.MapPath("~/Resource/temp/" + fileName)); DataTable dt = ExcelHelper.ExcelImport(Server.MapPath("~/Resource/temp/" + fileName)); int order = 1; DistrictBLL districtbll = new DistrictBLL(); List <DistrictEntity> AreaList = districtbll.GetListByOrgIdAndParentId("", ""); for (int i = 0; i < dt.Rows.Count; i++) { string CameraID = dt.Rows[i][0].ToString(); string CameraName = dt.Rows[i][1].ToString(); string CameraType = dt.Rows[i][2].ToString(); //区域 string AreaName = dt.Rows[i][3].ToString(); string AreaValue = ""; string AreaCode = ""; //楼层编号 string FloorNo = dt.Rows[i][4].ToString(); string CameraPoint = dt.Rows[i][5].ToString(); string CameraIp = dt.Rows[i][6].ToString(); if (string.IsNullOrEmpty(CameraID)) { falseMessage += "</br>" + "第" + (i + 2) + "基站ID为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraName)) { falseMessage += "</br>" + "第" + (i + 2) + "基站名称为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraType)) { falseMessage += "</br>" + "第" + (i + 2) + "基站型号为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(AreaName)) { falseMessage += "</br>" + "第" + (i + 2) + "区域名称为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(FloorNo)) { falseMessage += "</br>" + "第" + (i + 2) + "楼层编号为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraPoint)) { falseMessage += "</br>" + "第" + (i + 2) + "基站坐标为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraIp)) { falseMessage += "</br>" + "第" + (i + 2) + "IP地址为空,未能导入."; error++; continue; } var IP = @"(^(\d+)\.(\d+)\.(\d+)\.(\d+)$)";//@"/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g"; var point = @"(^\d{1,9}(.\d{1,2});\d{1,9}(.\d{1,2})$)"; ////验证是否是IP if (!Regex.IsMatch(CameraIp, IP)) { falseMessage += "</br>" + "第" + (i + 2) + "行IP地址格式填写错误,未能导入."; error++; continue; } ////验证是否是坐标 if (!Regex.IsMatch(CameraPoint, point)) { falseMessage += "</br>" + "第" + (i + 2) + "行坐标格式填写错误,格式应为xx.xx;xx.xx,未能导入."; error++; continue; } var area = AreaList.Where(it => it.DistrictName == AreaName).FirstOrDefault(); if (area == null) { falseMessage += "</br>" + "第" + (i + 2) + "行区域名称填写错误,未找到对应的区域,未能导入."; error++; continue; } AreaValue = area.DistrictID; AreaCode = area.DistrictCode; BaseStationEntity kbs = new BaseStationEntity(); kbs.AreaCode = AreaCode; kbs.AreaId = AreaValue; kbs.AreaName = AreaName; kbs.StationID = CameraID; kbs.StationName = CameraName; kbs.StationType = CameraType; kbs.FloorCode = FloorNo; kbs.OperUserName = OperatorProvider.Provider.Current().UserName; kbs.AreaId = AreaValue; kbs.StationIP = CameraIp; kbs.StationCode = CameraPoint; try { basebll.SaveForm("", kbs); //将基站信息同步到后台计算服务中 RabbitMQHelper rh = RabbitMQHelper.CreateInstance(); SendData sd = new SendData(); sd.DataName = "AddBaseStationEntity"; sd.EntityString = JsonConvert.SerializeObject(kbs); rh.SendMessage(JsonConvert.SerializeObject(sd)); } catch { error++; } } count = dt.Rows.Count; message = "共有" + count + "条记录,成功导入" + (count - error) + "条,失败" + error + "条"; message += "</br>" + falseMessage; } return(message); }