Esempio n. 1
0
 /// <summary>
 /// 增删改
 /// </summary>
 public static Message Manager(TD_DUTYROUTE_Model m)
 {
     if (m.opMethod == "AddBatch")
     {
         //SystemCls.LogSave("3", "通知公告:" + m.INFOTITLE, ClsStr.getModelContent(m));
         Message msgUser = BaseDT.SDE.TD_DUTYROUTE.Add(m);
         return(new Message(msgUser.Success, msgUser.Msg, msgUser.Url));
     }
     if (m.opMethod == "Mdy")
     {
         //SystemCls.LogSave("4", "通知公告:" + m.INFOTITLE, ClsStr.getModelContent(m));
         Message msgUser = BaseDT.SDE.TD_DUTYROUTE.Mdy(m);
         return(new Message(msgUser.Success, msgUser.Msg, msgUser.Url));
     }
     if (m.opMethod == "Del")
     {
         //SystemCls.LogSave("5", "通知公告:" + m.INFOTITLE, ClsStr.getModelContent(m));
         Message msgUser = BaseDT.SDE.TD_DUTYROUTE.Del(m);
         return(new Message(msgUser.Success, msgUser.Msg, msgUser.Url));
     }
     if (m.opMethod == "DelBatch")
     {
         //SystemCls.LogSave("5", "通知公告:" + m.INFOTITLE, ClsStr.getModelContent(m));
         Message msgUser = BaseDT.SDE.TD_DUTYROUTE.Del(m);
         return(new Message(msgUser.Success, msgUser.Msg, msgUser.Url));
     }
     return(new Message(false, "无效操作", ""));
 }
Esempio n. 2
0
        /// <summary>
        /// 三维删除
        /// </summary>
        /// <param name="m"></param>
        /// <returns></returns>
        public static Message Del(TD_DUTYROUTE_Model m)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat(" ZERENLUXIAN");
            sb.AppendFormat(" WHERE OBJECTID = '{0}'", ClsSql.EncodeSql(m.OBJECTID));
            string sql = "DELETE" + sb.ToString();
            bool   bln = SDEDataBaseClass.ExeSql(sql);

            if (bln == true)
            {
                return(new Message(true, "删除成功!", ""));
            }
            else
            {
                return(new Message(false, "删除失败,请检查各输入框是否正确!", ""));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 三维修改
        /// </summary>
        /// <param name="m"></param>
        /// <returns></returns>
        public static Message Mdy(TD_DUTYROUTE_Model m)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("UPDATE ZERENLUXIAN");
            sb.AppendFormat(" set ");
            sb.AppendFormat("NAME='{0}'", ClsSql.EncodeSql(m.NAME));
            sb.AppendFormat(",TELEPHONE='{0}'", ClsSql.EncodeSql(m.TELEPHONE));
            sb.AppendFormat(",ORGNAME='{0}'", ClsSql.EncodeSql(m.ORGNAME));
            sb.AppendFormat(" where OBJECTID= '{0}'", ClsSql.EncodeSql(m.OBJECTID));

            bool bln = SDEDataBaseClass.ExeSql(sb.ToString());

            if (bln == true)
            {
                return(new Message(true, "修改成功!", ""));
            }
            else
            {
                return(new Message(false, "修改失败,请检查各输入框是否正确!", ""));
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 三维添加
        /// </summary>
        /// <param name="m"></param>
        /// <returns></returns>
        public static Message Add(TD_DUTYROUTE_Model m)
        {
            Del(m);//先删除在添加,相当于修改
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("insert into ZERENLUXIAN(OBJECTID,ORGNAME,NAME,TELEPHONE,DISPLAY_X,DISPLAY_Y,Shape) values(");
            sb.AppendFormat("{0},", ClsSql.saveNullField(m.OBJECTID));
            sb.AppendFormat("{0},", ClsSql.saveNullField(m.ORGNAME));
            sb.AppendFormat("{0},", ClsSql.saveNullField(m.NAME));
            sb.AppendFormat("{0},", ClsSql.saveNullField(m.TELEPHONE));
            sb.AppendFormat("{0},", ClsSql.saveNullField(m.DISPLAY_X));
            sb.AppendFormat("{0},", ClsSql.saveNullField(m.DISPLAY_Y));
            sb.AppendFormat("{0})", m.Shape);
            bool bln = SDEDataBaseClass.ExeSql(sb.ToString());

            if (bln == true)
            {
                return(new Message(true, "添加成功!", ""));
            }
            else
            {
                return(new Message(false, "添加失败,请检查各输入框是否正确!", ""));
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 转换为护林员巡检线和责任区
        /// </summary>
        /// <returns></returns>
        public JsonResult ConvertHlyLineArea()
        {
            Message msg   = new Message(false, "转化失败!", "");
            string  cid   = Request.Params["cid"];   //采集id
            string  hid   = Request.Params["hid"];   //护林员id
            string  htype = Request.Params["htype"]; //护林员转换类型 0 表是线 1 表示面
            var     sw    = new T_IPSCOL_COLLECT_SW();

            sw.COLLECTID = cid;
            var list = T_IPSCOL_COLLECTCls.getDetailModelList(sw);

            if (list.Any())
            {
                string pointstr = string.Empty;
                int    j        = 0;
                string str      = string.Empty;
                foreach (var item in list)
                {
                    if (htype == "1")//面 特殊处理
                    {
                        if (j == 0)
                        {
                            str = item.LONGITUDE + "," + item.LATITUDE + "|";
                        }
                    }
                    //pointstr += item.ORILONGITUDE + "," + item.ORILATITUDE + ",,|";
                    pointstr += item.LONGITUDE + "," + item.LATITUDE + "|";
                    j++;
                }
                pointstr += str;
                var m = new T_IPSFR_ROUTERAIL_Model();//巡检线和责任区
                m.HID             = hid;
                m.longitLatitList = pointstr;
                m.longitLatitList = m.longitLatitList.Replace("|", ", , |");
                m.longitLatitList = m.longitLatitList + ";";
                m.opMethod        = "AddBatch";
                m.ROADTYPE        = htype;
                var ms = T_IPSFR_ROUTERAILCls.Manager(m);
                if (ms.Success)
                {
                    string jd      = "";
                    string wd      = "";
                    string line    = "";
                    string polygon = "";
                    //入三维空间库
                    #region 责任线
                    if (htype == "0")
                    {
                        m.longitLatitList = m.longitLatitList.Substring(0, m.longitLatitList.LastIndexOf(";"));
                        m.longitLatitList = m.longitLatitList.Replace(",,", "");
                        if (!string.IsNullOrEmpty(m.longitLatitList))
                        {
                            var result = T_IPSFR_USERCls.getListModel(new T_IPSFR_USER_SW {
                                HID = hid
                            }).FirstOrDefault();               //获取护林员信息
                            var m1 = new TD_DUTYROUTE_Model(); //三维责任路线模型
                            m1.opMethod  = m.opMethod;
                            m1.NAME      = result.HNAME;
                            m1.OBJECTID  = result.HID;
                            m1.ORGNAME   = result.ORGNAME;
                            m1.TELEPHONE = result.PHONE;
                            string[] arr = m.longitLatitList.Split('|');
                            for (int i = 0; i < arr.Length; i++)
                            {
                                if (!string.IsNullOrEmpty(arr[i]))
                                {
                                    string[] brr = arr[i].Split(',');
                                    double[] drr = ClsPositionTrans.GpsTransform(double.Parse(brr[1]), double.Parse(brr[0]), ConfigCls.getSDELonLatTransform());//坐标系转换
                                    wd = drr[0].ToString();
                                    jd = drr[1].ToString();
                                }
                                if (i == arr.Length - 1)//最后一条记录
                                {
                                    line += jd + " " + wd;
                                }
                                else
                                {
                                    line += jd + " " + wd + ",";
                                }
                            }
                            #region 中心点获取
                            if (arr.Length % 2 == 0)
                            {
                                string[] crr = arr[arr.Length / 2].Split(',');
                                double[] drr = ClsPositionTrans.GpsTransform(double.Parse(crr[1]), double.Parse(crr[0]), ConfigCls.getSDELonLatTransform());
                                m1.DISPLAY_X = drr[1].ToString();
                                m1.DISPLAY_Y = drr[0].ToString();
                            }
                            else
                            {
                                string[] crr = arr[(arr.Length + 1) / 2].Split(',');
                                double[] drr = ClsPositionTrans.GpsTransform(double.Parse(crr[1]), double.Parse(crr[0]), ConfigCls.getSDELonLatTransform());//中心点偏移
                                m1.DISPLAY_X = drr[1].ToString();
                                m1.DISPLAY_Y = drr[0].ToString();
                            }
                            #endregion
                            m1.Shape = "geometry::STGeomFromText('LINESTRING(" + line + ")',4326).MakeValid()";
                            DC_DUTYROUTECls.Manager(m1);
                        }
                    }
                    #endregion

                    #region 责任面
                    else
                    {
                        m.longitLatitList = m.longitLatitList.Substring(0, m.longitLatitList.LastIndexOf(";"));
                        m.longitLatitList = m.longitLatitList.Replace(",,", "");
                        if (!string.IsNullOrEmpty(m.longitLatitList))
                        {
                            var result = T_IPSFR_USERCls.getListModel(new T_IPSFR_USER_SW {
                                HID = hid
                            }).FirstOrDefault();              //获取护林员信息
                            var m2 = new TD_DUTYAREA_Model(); //三维责任区模型
                            m2.opMethod  = m.opMethod;
                            m2.NAME      = result.HNAME;
                            m2.OBJECTID  = result.HID;
                            m2.ORGNAME   = result.ORGNAME;
                            m2.TELEPHONE = result.PHONE;
                            string[] arr = m.longitLatitList.Split('|');
                            for (int i = 0; i < arr.Length; i++)
                            {
                                if (!string.IsNullOrEmpty(arr[i]))
                                {
                                    string[] brr = arr[i].Split(',');
                                    double[] drr = ClsPositionTrans.GpsTransform(double.Parse(brr[1]), double.Parse(brr[0]), ConfigCls.getSDELonLatTransform());//坐标系转换
                                    wd = drr[0].ToString();
                                    jd = drr[1].ToString();
                                }
                                if (i == arr.Length - 1)//最后一条记录
                                {
                                    polygon += jd + " " + wd;
                                }
                                else
                                {
                                    polygon += jd + " " + wd + ",";
                                }
                            }
                            #region 中心点获取
                            if (arr.Length % 2 == 0)
                            {
                                string[] crr = arr[arr.Length / 2].Split(',');
                                double[] drr = ClsPositionTrans.GpsTransform(double.Parse(crr[1]), double.Parse(crr[0]), ConfigCls.getSDELonLatTransform());
                                m2.DISPLAY_X = drr[1].ToString();
                                m2.DISPLAY_Y = drr[0].ToString();
                            }
                            else
                            {
                                string[] crr = arr[(arr.Length + 1) / 2].Split(',');
                                double[] drr = ClsPositionTrans.GpsTransform(double.Parse(crr[1]), double.Parse(crr[0]), ConfigCls.getSDELonLatTransform());//中心点偏移
                                m2.DISPLAY_X = drr[1].ToString();
                                m2.DISPLAY_Y = drr[0].ToString();
                            }
                            #endregion
                            m2.Shape = "geometry::STGeomFromText('Polygon((" + polygon + "))',4326).MakeValid()";
                            DC_DUTYAREACls.Manager(m2);
                        }
                    }
                    msg = new Message(true, "转换成功!", "");
                    #endregion
                }
            }
            return(Json(msg));
        }