Ejemplo n.º 1
0
        /// <summary>
        /// 巡查监控实时InfoWindows
        /// </summary>
        /// <example>
        /// sw.SearchTime   查询日期,某日的
        /// sw.ORGNO        机构编码
        /// sw.USERID       护林员序号(多序号以逗号分隔)
        /// </example>
        /// <param name="sw">参见条件模型T_IPS_REALDATATEMPORARYSW</param>
        /// <returns>参见模型T_IPS_REALDATATEMPORARYModel</returns>
        public static IEnumerable <T_IPS_REALDATATEMPORARYModel> getHRUserModelList(T_IPS_REALDATATEMPORARYSW sw)
        {
            var       result = new List <T_IPS_REALDATATEMPORARYModel>();
            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", BYORGNO = sw.ORGNO, HID = sw.USERID
            });                                                                                                                         //获取所有有权限查看的护林员
            DataTable dt = BaseDT.T_IPS_REALDATATEMPORARY.getDT(sw);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                T_IPS_REALDATATEMPORARYModel m = new T_IPS_REALDATATEMPORARYModel();

                m.USERID    = dt.Rows[i]["USERID"].ToString();
                m.LONGITUDE = dt.Rows[i]["LONGITUDE"].ToString();
                m.LATITUDE  = dt.Rows[i]["LATITUDE"].ToString();
                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))
                {
                    m.SBTIME = PublicClassLibrary.ClsSwitch.SwitTM(m.SBTIME);
                }
                m.NOTE = dt.Rows[i]["NOTE"].ToString();

                m.SBDATE       = dt.Rows[i]["SBDATE"].ToString();
                m.SBTIMEBEGIN  = dt.Rows[i]["SBTIMEBEGIN"].ToString();
                m.PATROLLENGTH = dt.Rows[i]["PATROLLENGTH"].ToString();
                DataRow[] drFRUser = dtFRUser.Select("HID=" + m.USERID);
                if (drFRUser.Length > 0)
                {
                    m.HNAME   = drFRUser[0]["HNAME"].ToString();
                    m.PHONE   = drFRUser[0]["PHONE"].ToString();
                    m.ORGNO   = drFRUser[0]["BYORGNO"].ToString();
                    m.ORGNAME = BaseDT.T_SYS_ORG.getName(dtOrg, m.ORGNO);
                }
                result.Add(m);
            }
            return(result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 护林员周边
        /// </summary>
        /// <param name="sw">周边模型</param>
        /// <returns></returns>
        public static IEnumerable <T_IPS_REALDATATEMPORARYModel> getModelList(HlyAreaDataSW sw)
        {
            var       result = new List <T_IPS_REALDATATEMPORARYModel>();
            DataTable dt     = BaseDT.T_IPS_REALDATATEMPORARY.getDTByArea(sw);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                T_IPS_REALDATATEMPORARYModel m = new T_IPS_REALDATATEMPORARYModel();
                //m.REALDATAID = dt.Rows[i]["REALDATAID"].ToString();
                m.USERID       = dt.Rows[i]["USERID"].ToString();
                m.LONGITUDE    = dt.Rows[i]["LONGITUDE"].ToString();
                m.LATITUDE     = dt.Rows[i]["LATITUDE"].ToString();
                m.ORILONGITUDE = dt.Rows[i]["LONGITUDE"].ToString(); //原始经度
                m.ORILATITUDE  = 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();
                m.ORGNO  = dt.Rows[i]["ORGNO"].ToString();
                m.SBDATE = dt.Rows[i]["SBDATE"].ToString();
                if (string.IsNullOrEmpty(m.SBDATE) == false)
                {
                    m.SBDATE = PublicClassLibrary.ClsSwitch.SwitDate(m.SBDATE);
                }
                m.SBTIMEBEGIN  = dt.Rows[i]["SBTIMEBEGIN"].ToString();
                m.PATROLLENGTH = dt.Rows[i]["PATROLLENGTH"].ToString();

                result.Add(m);
            }
            return(result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 护林员定位 获取护林员最新一条位置信息
        /// </summary>
        /// <param name="sw">传递护林员列表 参见条件模型T_IPS_REALDATATEMPORARYSW</param>
        /// <returns>参见模型T_IPS_REALDATATEMPORARYModel</returns>
        public static IEnumerable <T_IPS_REALDATATEMPORARYModel> getTopOneModelList(T_IPS_REALDATATEMPORARYSW sw)
        {
            var       result = new List <T_IPS_REALDATATEMPORARYModel>();
            DataTable dt     = BaseDT.T_IPS_REALDATATEMPORARY.getTopOneDT(sw);
            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.USERID
            });                                                                                                     //获取所有有权限查看的护林员

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                T_IPS_REALDATATEMPORARYModel m = new T_IPS_REALDATATEMPORARYModel();
                //m.REALDATAID = dt.Rows[i]["REALDATAID"].ToString();
                m.USERID       = dt.Rows[i]["USERID"].ToString();
                m.LONGITUDE    = dt.Rows[i]["LONGITUDE"].ToString();
                m.LATITUDE     = dt.Rows[i]["LATITUDE"].ToString();
                m.ORILONGITUDE = dt.Rows[i]["LONGITUDE"].ToString(); //原经度
                m.ORILATITUDE  = 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();
                m.ORGNO     = dt.Rows[i]["ORGNO"].ToString();
                m.SBDATE    = dt.Rows[i]["SBDATE"].ToString();
                m.ISOUTRAIL = dt.Rows[i]["ISOUTRAIL"].ToString();//是否出围
                if (string.IsNullOrEmpty(m.SBDATE) == false)
                {
                    m.SBDATE = PublicClassLibrary.ClsSwitch.SwitDate(m.SBDATE);
                }
                m.SBTIMEBEGIN  = dt.Rows[i]["SBTIMEBEGIN"].ToString();
                m.PATROLLENGTH = dt.Rows[i]["PATROLLENGTH"].ToString();
                DataRow[] drFRUser = dtFRUser.Select("HID=" + m.USERID);
                if (drFRUser.Length > 0)
                {
                    m.HNAME   = drFRUser[0]["HNAME"].ToString();
                    m.PHONE   = drFRUser[0]["PHONE"].ToString();
                    m.ORGNO   = drFRUser[0]["BYORGNO"].ToString();
                    m.ORGNAME = BaseDT.T_SYS_ORG.getName(dtOrg, m.ORGNO);
                }
                double intervalTime = ConfigCls.inLineTimeInterval();
                var    absTime      = Math.Abs(ClsStr.getMinutesDiff(DateTime.Now, m.SBTIME));
                m.HSTATE = absTime > intervalTime ? "0" : "1";//护林员在线状态 0 表示离线 1 表示在线

                //
                //m.ISOUTRAIL
                result.Add(m);
            }
            dt.Clear();
            dt.Dispose();
            dtOrg.Clear();
            dtOrg.Dispose();
            dtFRUser.Clear();
            dtFRUser.Dispose();

            return(result);
        }