예제 #1
0
        /// <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()));
        }
예제 #2
0
        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()));
        }
예제 #3
0
        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));
        }
예제 #4
0
        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()));
        }
예제 #5
0
        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);
        }
예제 #6
0
        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);
        }