/// <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); }
/// <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); }
/// <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); }