示例#1
0
        /// <summary>
        /// 获取实时轨迹中历史轨迹点
        /// </summary>
        /// <param name="phone"></param>
        /// <param name="time"></param>
        /// <returns></returns>
        public JsonResult GetRealDataAjax(string phone, string time)
        {
            string            uid     = Request.Params["uid"];//护林员id
            string            maptype = Request.Params["maptype"];
            MessageListObject msg     = null;
            var sw = new T_IPS_REALDATASW();

            sw.PHONE      = phone.Trim();
            sw.searchDate = DateTime.Now.ToString("yyyy-MM-dd");
            sw.HID        = uid;
            if (!string.IsNullOrEmpty(maptype))
            {
                sw.MapType = maptype;//地图类型
            }
            if (!string.IsNullOrEmpty(time))
            {
                sw.DateBegin = Convert.ToDateTime(time).AddSeconds(1).ToString("yyyy-MM-dd HH:mm:ss");
            }
            else
            {
                sw.DateEnd = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            }
            var list = T_IPS_REALDATACls.getModelList(sw);

            if (list.Count() > 0)
            {
                msg = new MessageListObject(true, list);
            }
            return(Json(msg));
        }
示例#2
0
        /// <summary>
        /// 获取电量
        /// </summary>
        /// <example>
        /// sw.SearchTime   查询日期,查询某日的电量信息
        /// sw.USERID       护林员序号(多序号以逗号分隔)
        /// sw.DateBegin    开始日期
        /// sw.DateEnd      结束日期
        /// </example>
        /// <param name="sw">参见条件模型T_IPS_REALDATASW</param>
        /// <returns>参见模型T_IPS_REALDATAModel</returns>
        public static IEnumerable <T_IPS_REALDATAModel> getElectricModelList(T_IPS_REALDATASW sw)
        {
            var result = new List <T_IPS_REALDATAModel>();
            //获取当前登录用户有权限查看的组织机构
            DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(new T_SYS_ORGSW {
                SYSFLAG = ConfigCls.getSystemFlag()
            });
            //获取所有有权限查看的护林员
            DataTable dtFRUser = BaseDT.T_IPSFR_USER.getDT(new T_IPSFR_USER_SW {
                ISENABLE = "1", HID = sw.HID
            });
            DataTable dt = BaseDT.T_IPS_REALDATA.getDT(sw);

            DataRow[] dr = dt.Select("", "SBTIME desc");
            for (int i = 0; i < dr.Length; i++)
            {
                if (string.IsNullOrEmpty(dr[i]["ELECTRIC"].ToString()) == false)
                {
                    T_IPS_REALDATAModel m = new T_IPS_REALDATAModel();

                    m.REALDATAID = dr[i]["REALDATAID"].ToString();
                    m.PHONE      = dr[i]["PHONE"].ToString();//电话号码
                    m.LONGITUDE  = dr[i]["LONGITUDE"].ToString();
                    m.LATITUDE   = dr[i]["LATITUDE"].ToString();
                    m.HEIGHT     = dr[i]["HEIGHT"].ToString();
                    m.ELECTRIC   = dr[i]["ELECTRIC"].ToString();
                    m.SPEED      = dr[i]["SPEED"].ToString();
                    m.DIRECTION  = dr[i]["DIRECTION"].ToString();
                    m.SBTIME     = dr[i]["SBTIME"].ToString();
                    if (string.IsNullOrEmpty(m.SBTIME) == false)
                    {
                        m.SBTIME = PublicClassLibrary.ClsSwitch.SwitTM(m.SBTIME);
                    }
                    m.NOTE = dr[i]["NOTE"].ToString();

                    DataRow[] drFRUser = dtFRUser.Select("PHONE='" + m.PHONE + "'");
                    if (drFRUser.Length > 0)
                    {
                        m.HID     = drFRUser[0]["HID"].ToString();            //护林员编号
                        m.HNAME   = drFRUser[0]["HNAME"].ToString();          //护林员名称
                        m.ORGNO   = drFRUser[0]["BYORGNO"].ToString();        //组织机构编码
                        m.ORGNAME = BaseDT.T_SYS_ORG.getName(dtOrg, m.ORGNO); //组织机构名称
                    }
                    result.Add(m);
                }
            }
            dtOrg.Clear();
            dtOrg.Dispose();
            dtFRUser.Clear();
            dtFRUser.Dispose();
            dt.Clear();
            dt.Dispose();
            return(result);
        }
示例#3
0
        /// <summary>
        /// 获取某天数据 注意仅获取某一护林员的
        /// </summary>
        /// <example>
        /// sw.HID      护林员序号
        /// sw.PHONE    护林员手机号码
        /// sw.searchDate   查询日期,查询某一天数据,格式为年月日或加时分秒
        /// sw.DateBegin    查询开始时间 用于实时监控时,判断记录数>1
        /// sw.DateEnd      查询结束时间 可用于防止查询某一日以外的记录
        /// </example>
        /// <returns>参见模型</returns>
        public static DataTable getDT(T_IPS_REALDATASW sw)
        {
            if (!string.IsNullOrEmpty(sw.PHONE))
            {
                sw.PHONE = "'" + sw.PHONE + "'";
            }
            //判断护林员序号是否为空,非空获取电话号码
            if (string.IsNullOrEmpty(sw.HID) == false)
            {
                string    tmp     = "";
                DataTable dtHUser = BaseDT.T_IPSFR_USER.getDT(new T_IPSFR_USER_SW {
                    HID = sw.HID
                });                                                                                 //获取护林员姓名
                for (int i = 0; i < dtHUser.Rows.Count; i++)
                {
                    if (i > 0)
                    {
                        tmp += ",";
                    }
                    tmp += "'" + dtHUser.Rows[i]["PHONE"].ToString() + "'";
                }
                sw.PHONE = tmp;
                dtHUser.Clear();
                dtHUser.Dispose();
            }
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("SELECT    REALDATAID, PHONE, LONGITUDE, LATITUDE, HEIGHT, ELECTRIC, SPEED, DIRECTION, SBTIME, NOTE FROM      T_IPS_REALDATA");
            sb.AppendFormat(" WHERE   1=1");
            if (!string.IsNullOrEmpty(sw.searchDate))
            {
                sb.AppendFormat(" AND SBTIME>='{0} 00:00:00' AND SBTIME<='{0} 23:59:59'", Convert.ToDateTime(sw.searchDate).ToString("yyyy-MM-dd"));
            }
            if (!string.IsNullOrEmpty(sw.DateBegin))
            {
                sb.AppendFormat(" AND SBTIME>='{0}'", sw.DateBegin);
            }
            if (!string.IsNullOrEmpty(sw.DateEnd))
            {
                sb.AppendFormat(" AND SBTIME<='{0}'", sw.DateEnd);
            }
            if (!string.IsNullOrEmpty(sw.PHONE))
            {
                sb.AppendFormat(" AND PHONE  in ({0})", sw.PHONE);
            }
            sb.AppendFormat(" ORDER BY SBTIME ");

            DataSet ds = DataBaseClass.FullDataSet(sb.ToString());

            return(ds.Tables[0]);
        }
示例#4
0
        /// <summary>
        /// 获取历史经纬度(历史轨迹回放)
        /// </summary>
        /// <param name="uid"></param>
        /// <param name="time"></param>
        /// <returns></returns>
        public JsonResult GetHisLogLatAjax(string uid, string time)
        {
            MessageListObject ms = null;

            if (string.IsNullOrEmpty(uid) || string.IsNullOrEmpty(time))
            {
                ms = new MessageListObject(false, null);
                return(Json(ms));
            }
            string maptype   = Request.Params["maptype"];   //地图类型
            string starttime = Request.Params["starttime"]; //开始时分
            string endtime   = Request.Params["endtime"];   //结束时分
            var    model     = new T_IPS_REALDATASW();

            model.HID = uid;
            //model.searchDate = time;
            if (!string.IsNullOrEmpty(starttime.Trim()) && !string.IsNullOrEmpty(endtime.Trim()))//时分参数
            {
                model.DateBegin = time + " " + starttime + ":00";
                model.DateEnd   = time + " " + endtime + ":00";
                if (endtime.Trim() == "23:59")
                {
                    model.DateEnd = time + " " + endtime + ":59";
                }
            }
            if (!string.IsNullOrEmpty(maptype))
            {
                model.MapType = maptype;
            }
            var list = T_IPS_REALDATACls.getModelList(model).ToList();

            if (list.Any())
            {
                for (int i = 0; i < list.Count; i++)
                {
                    if (i != 0)
                    {
                        bool bo = ISBetweenInDistance(list[i - 1].LONGITUDE, list[i - 1].LATITUDE, list[i].LONGITUDE, list[i].LATITUDE);//去除在参数设置范围内的经纬度
                        if (bo)
                        {
                            list.Remove(list[i]);
                            --i;
                        }
                    }
                }
                ms = new MessageListObject(true, list);
            }
            return(Json(ms));
        }
示例#5
0
        /// <summary>
        /// 根据电话号码获取实时传输数据
        /// </summary>
        /// <example>
        /// sw.SearchTime   查询日期,查询某日的电量信息
        /// sw.USERID       护林员序号(多序号以逗号分隔)
        /// sw.DateBegin    开始日期
        /// sw.DateEnd      结束日期
        /// </example>
        /// <param name="sw">参见条件模型T_IPS_REALDATASW</param>
        /// <returns>参见模型T_IPS_REALDATAModel</returns>
        public static IEnumerable <T_IPS_REALDATAModel> getModelList(T_IPS_REALDATASW sw)
        {
            var       result = new List <T_IPS_REALDATAModel>();
            DataTable dt     = BaseDT.T_IPS_REALDATA.getDT(sw);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                T_IPS_REALDATAModel m = new T_IPS_REALDATAModel();
                m.REALDATAID = dt.Rows[i]["REALDATAID"].ToString();
                m.PHONE      = dt.Rows[i]["PHONE"].ToString();
                m.LONGITUDE  = dt.Rows[i]["LONGITUDE"].ToString(); //经度
                m.LATITUDE   = dt.Rows[i]["LATITUDE"].ToString();  //纬度
                if (sw.MapType != "Skyline")
                {
                    //******************计算坐标偏移量
                    string[] arr = PublicCls.switJWD(m.LATITUDE, m.LONGITUDE);
                    m.LATITUDE  = arr[0];
                    m.LONGITUDE = arr[1];
                    //******************计算坐标偏移量 End
                }
                m.HEIGHT    = dt.Rows[i]["HEIGHT"].ToString();
                m.ELECTRIC  = dt.Rows[i]["ELECTRIC"].ToString();
                m.SPEED     = dt.Rows[i]["SPEED"].ToString();
                m.DIRECTION = dt.Rows[i]["DIRECTION"].ToString();
                m.SBTIME    = dt.Rows[i]["SBTIME"].ToString();
                if (string.IsNullOrEmpty(m.SBTIME) == false)
                {
                    m.SBTIME = PublicClassLibrary.ClsSwitch.SwitTM(m.SBTIME);
                }
                m.NOTE = dt.Rows[i]["NOTE"].ToString();


                result.Add(m);
            }
            //dtHUser.Clear();
            //dtHUser.Dispose();
            dt.Clear();
            dt.Dispose();
            return(result);
        }
示例#6
0
        /// <summary>
        /// 电量查询Html
        /// </summary>
        /// <param name="uid"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <returns></returns>
        public JsonResult GetElectricAjax(string uid, string startTime, string endTime)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("<table cellpadding=\"0\" cellspacing=\"0\">");
            sb.AppendFormat("<thead><tr>");
            sb.AppendFormat("<th>序号</th>");
            sb.AppendFormat("<th>单位</th>");
            sb.AppendFormat("<th>姓名</th>");
            sb.AppendFormat("<th>电话号码</th>");
            sb.AppendFormat("<th>时间</th>");
            sb.AppendFormat("<th>电量</th>");
            sb.AppendFormat("</tr></thead>");
            sb.AppendFormat("<tbody>");
            Message ms = null;

            if (string.IsNullOrEmpty(uid))
            {
                ms = new Message(false, "", "");
                return(Json(ms));
            }
            var sw = new T_IPS_REALDATASW();

            sw.HID       = uid;
            sw.DateBegin = startTime + " 0:00:00";
            sw.DateEnd   = endTime + " 23:59:59";
            var list = T_IPS_REALDATACls.getElectricModelList(sw).Take(500);//获取电量列表

            if (list.Any())
            {
                if (list.Count() <= 500)
                {
                    int i = 0;
                    foreach (var item in list)
                    {
                        sb.AppendFormat("<tr>");
                        sb.AppendFormat("<td>{0}</td>", ++i);
                        sb.AppendFormat("<td>{0}</td>", item.ORGNAME);
                        sb.AppendFormat("<td>{0}</td>", item.HNAME);
                        sb.AppendFormat("<td>{0}</td>", item.PHONE);
                        sb.AppendFormat("<td>{0}</td>", item.SBTIME);
                        sb.AppendFormat("<td>{0}</td>", item.ELECTRIC);
                        sb.AppendFormat("</tr>");
                    }
                }
                else
                {
                    sb.AppendFormat("<tr>");
                    sb.AppendFormat("<td colspan=\"6\">暂无电量信息</td>");
                    sb.AppendFormat("</tr>");
                    ms = new Message(false, sb.ToString(), "检索的数据量过大,请缩短时间间隔或减少查询护林员数量!");
                    return(Json(ms));
                }
            }
            else
            {
                sb.AppendFormat("<tr>");
                sb.AppendFormat("<td colspan=\"6\">暂无电量信息</td>");
                sb.AppendFormat("</tr>");
            }
            sb.AppendFormat("</tbody>");
            sb.AppendFormat("</table>");
            ms = new Message(true, sb.ToString(), "");
            return(Json(ms));
        }