private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { ComboBoxItem<LayerGrade> item = comboBox1.SelectedItem as ComboBoxItem<LayerGrade>; if (item == null) return; string uid =Itop.Common.ConfigurationHelper.GetValue("SvgID"); if (string.IsNullOrEmpty(uid)) return; SVG_LAYER lar = new SVG_LAYER(); lar.svgID = uid; lar.YearID = "'" + item.Value.SUID + "'"; IList<SVG_LAYER> larlist = Services.BaseService.GetList<SVG_LAYER>("SelectSVG_LAYERByYearID", lar); layerList.Items.Clear(); hs.Clear(); foreach (SVG_LAYER layer in larlist) { layerList.Items.Add(new DevExpress.XtraEditors.Controls.CheckedListBoxItem(layer.NAME)); hs.Add(layer.NAME,layer); } }
private void simpleB(string id) { int itemcount = checkedListBox1.Items.Count; if (checkedListBox1.Items != null) { f.SetText("�����У���ȴ�......"); f.Show(); for (int num = 0; num < itemcount; num++) { string itemname = checkedListBox1.Items[num].ToString(); if (itemname.Length > 4) { string item4 = itemname.Substring(0, 4); if ((IsInt(item4)) && checkedListBox1.GetItemChecked(num) == true) { Layer layer = this.checkedListBox1.Items[num] as Layer; f.SetText("��ѡ��" + checkedListBox1.CheckedItems.Count + "�㣬���ڸ���" + layer.Label + "�㡣"); string str = layer.GetAttribute("layerType"); Layer layer2 = CopyLayer2(layer, id); if (layer2 != null) { if (layer.Visible) { layer.Visible = false; layer.Visible = true; } layer2.SetAttribute("layerType", str); this.checkedListBox1.Items.Add(layer2); layer2.Visible = false; string xml = ""; XmlNodeList oldList = symbolDoc.SelectNodes("//*[@layer=\"" + layer2.ID + "\"]"); for (int i = 0; i < oldList.Count; i++) { xml = xml + ((SvgElement)oldList[i]).OuterXml; } SVG_LAYER obj = new SVG_LAYER(); obj.SUID = layer2.ID; obj.svgID = symbolDoc.SvgdataUid; obj.NAME = layer2.Label; obj.MDATE = System.DateTime.Now; obj.OrderID = num + 10; obj.YearID = id;//((LayerGrade)list[0]).SUID; obj.layerType = "�����滮��"; obj.visibility = "visible"; obj.IsSelect = "true"; obj.XML = xml; Services.BaseService.Create<SVG_LAYER>(obj); } } } } f.Hide(); } }
private void LayerGradeChange(object sender, EventArgs e) { if (treeList1.FocusedNode == null) { return; } string uid = treeList1.FocusedNode[treeListColumn2].ToString(); LayerGrade obj = Services.BaseService.GetOneByKey<LayerGrade>(uid); frmLayerGradeInPut dlg = new frmLayerGradeInPut(strSvgDataUid); dlg.TextInPut = treeList1.FocusedNode[treeListColumn1].ToString(); //LayerGrade objParent = Services.BaseService.GetOneByKey<LayerGrade>((string)treeList1.FocusedNode[treeListColumn4]); dlg.ParentID = treeList1.FocusedNode[treeListColumn4].ToString(); if (obj!=null) { dlg.textBoxEnabled = true; } else { dlg.textBoxEnabled = false; } if (dlg.ShowDialog() == DialogResult.OK) { if (dlg.TextInPut == "") { MessageBox.Show("分级名称不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } SVG_LAYER lar = new SVG_LAYER(); lar.svgID = strSvgDataUid; lar.SUID = uid; lar = (SVG_LAYER)Services.BaseService.GetObject("SelectSVG_LAYERByKey", lar); if(lar!=null){ lar.YearID = dlg.ParentID; Services.BaseService.Update<SVG_LAYER>(lar); } if (obj != null) { obj.Name = dlg.TextInPut; obj.ParentID = dlg.ParentID; foreach (LayerGrade lay in ilist) { if (obj.Name == lay.Name&&obj.Name!=treeList1.FocusedNode[treeListColumn1].ToString()) { MessageBox.Show("分级已经存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } if (obj.ParentID==obj.SUID) { MessageBox.Show("不能将分级设置成自己的子级!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } treeList1.FocusedNode.SetValue("Name", obj.Name); treeList1.FocusedNode.SetValue("ParentID", obj.ParentID); Services.BaseService.Update("UpdateLayerGrade", obj); } else { Layer lay = SymbolDoc.GetLayerByID(uid); treeList1.FocusedNode.SetValue("Name", dlg.TextInPut); treeList1.FocusedNode.SetValue("ParentID", dlg.ParentID); //lay.Label = dlg.TextInPut; lay.SetAttribute("ParentID", dlg.ParentID); } } else { return; } InitData(strSvgDataUid); }
public void Open2(string _SvgUID) { StringBuilder txt = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?><svg id=\"svg\" width=\"1500\" height=\"1000\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:itop=\"http://www.Itop.com/itop\" transform=\"matrix(1 0 0 1 0 1)\"><defs>"); string svgdefs = ""; string layertxt = ""; StringBuilder content = new StringBuilder(); string where = ""; if (string.IsNullOrEmpty(_SvgUID)) return; try { if (progtype == "城市规划层") { where = " (layerType = '城市规划层' OR layerType = '地理信息层' OR YearID = '') "; } else { where = " (layerType = '地理信息层') "; } SVGFILE svgFile = new SVGFILE(); svgFile.SUID = _SvgUID; svgFile = (SVGFILE)Services.BaseService.GetObject("SelectSVGFILEByKey", svgFile); //SvgDocument document = CashSvgDocument; //if (document == null) { SVG_LAYER lar = new SVG_LAYER(); lar.svgID = _SvgUID; lar.YearID = where; IList<SVG_LAYER> larlist = Services.BaseService.GetList<SVG_LAYER>("SelectSVG_LAYERByWhere", lar); foreach (SVG_LAYER _lar in larlist) { layertxt = layertxt + "<layer id=\"" + _lar.SUID + "\" label=\"" + _lar.NAME + "\" layerType=\"" + _lar.layerType + "\" visibility=\"" + _lar.visibility + "\" ParentID=\"" + _lar.YearID + "\" IsSelect=\"" + _lar.IsSelect + "\" />"; content.Append(_lar.XML); } txt.Append(layertxt); SVG_SYMBOL sym = new SVG_SYMBOL(); sym.svgID = _SvgUID; IList<SVG_SYMBOL> symlist = Services.BaseService.GetList<SVG_SYMBOL>("SelectSVG_SYMBOLBySvgID", sym); foreach (SVG_SYMBOL _sym in symlist) { svgdefs = svgdefs + _sym.XML; } txt.Append(svgdefs + "</defs>"); txt.Append(content.ToString() + "</svg>"); SvgDocument document = SvgDocumentFactory.CreateDocument(); if (txt.ToString() != "1") { string filename = Path.GetTempFileName(); StreamWriter sw = new StreamWriter(filename); sw.Write(txt.ToString()); sw.Close(); tlVectorControl1.OpenFile(filename); document = tlVectorControl1.SVGDocument; int chose = Convert.ToInt32(ConfigurationSettings.AppSettings.Get("chose")); //if (chose == 2) //{ convertDoc(document); } } else { NullFile(_SvgUID); return; } document.FileName = svgFile.FILENAME; document.SvgdataUid = svgFile.SUID; SvgUID = document.SvgdataUid; this.Text = document.FileName; if (document.RootElement == null) { tlVectorControl1.NewFile(); Layer.CreateNew("背景层", tlVectorControl1.SVGDocument); Layer.CreateNew("城市规划层", tlVectorControl1.SVGDocument); Layer.CreateNew("供电区域层", tlVectorControl1.SVGDocument); } else { tlVectorControl1.SVGDocument = document; } tlVectorControl1.SVGDocument.SvgdataUid = SvgUID; tlVectorControl1.SVGDocument.FileName = this.Text; if (svgFile.SUID.Length > 20) { MapType = "接线图"; } NotDKbutProperty(); CreateComboBox(); AddCombolScale(); Init(); this.tlVectorControl1.IsPasteGrid = false; this.tlVectorControl1.IsShowGrid = false; this.tlVectorControl1.IsShowRule = false; this.tlVectorControl1.IsShowTip = false; contextMenuStrip1.Enabled = false; //tlVectorControl1.Operation = ToolOperation.Roam; //tlVectorControl1.ScaleRatio = 0.1f; //LayerManagerShow(); } catch (Exception e) { MessageBox.Show(e.Message); } }
public void SaveAllLayer() { SaveAllItem(); string txt = ""; //Image XmlNodeList imglist = tlVectorControl1.SVGDocument.SelectNodes("svg/image"); foreach (XmlNode node in imglist) { string tran = ((XmlElement)node).GetAttribute("xlink:href"); if (tran.Substring(0, tran.Length - 4) != ((SvgElement)node).ID) { string[] sp = tran.Split(".".ToCharArray()); FileStream fs = new FileStream(tran, FileMode.Open, FileAccess.Read); byte[] img = new byte[fs.Length]; fs.Read(img, 0, (int)fs.Length); fs.Close(); SVG_IMAGE svg_img = new SVG_IMAGE(); svg_img.SUID = ((SvgElement)node).ID; svg_img.svgID = tlVectorControl1.SVGDocument.SvgdataUid; svg_img.layerID = ((SvgElement)node).GetAttribute("layer"); svg_img.image = img; svg_img.MDATE = System.DateTime.Now; svg_img.col1 = sp[sp.Length - 1]; Services.BaseService.Create<SVG_IMAGE>(svg_img); ((SvgElement)node).SetAttribute("xlink:href", ((SvgElement)node).ID + "." + sp[sp.Length - 1]); } else { SVG_IMAGE svg_img = new SVG_IMAGE(); svg_img.SUID = ((SvgElement)node).ID; svg_img.layerID = ((SvgElement)node).GetAttribute("layer"); svg_img.XML = ((SvgElement)node).GetAttribute("transform"); Services.BaseService.Update("UpdateSVG_IMAGEXML", svg_img); } } string tems_id = ""; string[] stryearid = yearID.Split(",".ToCharArray()); if (stryearid.Length > 1) { tems_id = stryearid[1].Replace("'", ""); tems_id = tems_id.Replace("\"", ""); } //layer ArrayList list = tlVectorControl1.SVGDocument.getLayerList(); for (int i = 0; i < list.Count; i++) { txt = ""; Layer lar = list[i] as Layer; bool IsSave = false; for (int m = 0; m < SaveID.Count; m++) { if (lar.GetAttribute("ParentID") == SaveID[m].ToString()) { IsSave = true; } } //for (int j = 0; j<frmlar.NoSave.Count; j++) //{ // if (lar.ID == ((Layer)frmlar.NoSave[j]).ID) // { // IsSave = false; // } //} for (int j = 0; j < ChangeLayerList.Count; j++) { if (lar.ID == ChangeLayerList[j].ToString() && IsSave) //if (IsSave) { XmlNodeList nn1 = tlVectorControl1.SVGDocument.SelectNodes("svg/* [@layer='" + lar.ID + "']"); foreach (XmlNode node in nn1) { txt = txt + node.OuterXml; } SVG_LAYER _svg = new SVG_LAYER(); _svg.SUID = lar.ID; _svg.svgID = SVGUID; _svg = (SVG_LAYER)Services.BaseService.GetObject("SelectSVG_LAYERByKey", _svg); int ny = 0; try { ny = int.Parse(lar.Label.Substring(0, 4)); } catch { } if (_svg != null) { _svg.XML = txt; _svg.NAME = lar.Label; _svg.MDATE = System.DateTime.Now; _svg.OrderID = ny * 100 + list.IndexOf(lar); // _svg.YearID = lar.GetAttribute("ParentID"); _svg.IsChange = lar.GetAttribute("IsChange"); _svg.visibility = lar.GetAttribute("visibility"); _svg.layerType = lar.GetAttribute("layerType"); _svg.IsSelect = lar.GetAttribute("IsSelect"); Services.BaseService.Update<SVG_LAYER>(_svg); } else { _svg = new SVG_LAYER(); _svg.SUID = lar.ID; _svg.NAME = lar.Label; _svg.svgID = SVGUID; _svg.XML = txt; _svg.MDATE = System.DateTime.Now; _svg.OrderID = ny * 100 + list.IndexOf(lar); _svg.YearID = tems_id;// lar.GetAttribute("ParentID"); _svg.IsChange = lar.GetAttribute("IsChange"); _svg.visibility = lar.GetAttribute("visibility"); _svg.layerType = lar.GetAttribute("layerType"); _svg.IsSelect = lar.GetAttribute("IsSelect"); Services.BaseService.Create<SVG_LAYER>(_svg); } continue; } } } //symbol XmlNodeList symlist = tlVectorControl1.SVGDocument.SelectNodes("svg/defs/symbol"); foreach (XmlNode node in symlist) { SVG_SYMBOL _sym = new SVG_SYMBOL(); _sym.EleID = ((XmlElement)node).GetAttribute("id"); _sym.svgID = SVGUID; _sym = (SVG_SYMBOL)Services.BaseService.GetObject("SelectSVG_SYMBOLByEleID", _sym); if (_sym != null) { _sym.XML = node.OuterXml; _sym.MDATE = System.DateTime.Now; Services.BaseService.Update<SVG_SYMBOL>(_sym); } else { _sym = new SVG_SYMBOL(); _sym.SUID = Guid.NewGuid().ToString(); _sym.EleID = ((XmlElement)node).GetAttribute("id"); _sym.NAME = ((XmlElement)node).GetAttribute("label"); _sym.svgID = SVGUID; _sym.XML = node.OuterXml; _sym.MDATE = System.DateTime.Now; Services.BaseService.Create<SVG_SYMBOL>(_sym); } } }
public void Open2(string _SvgUID, string yearID) { try { string uid = ConfigurationSettings.AppSettings.Get("SvgID"); StringBuilder txt = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?><svg id=\"svg\" width=\"1500\" height=\"1000\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:itop=\"http://www.Itop.com/itop\" transform=\"matrix(1 0 0 1 0 1)\"><defs>"); string svgdefs = ""; string layertxt = ""; StringBuilder content = new StringBuilder(); if (string.IsNullOrEmpty(_SvgUID)) return; SVG_LAYER lar = new SVG_LAYER(); lar.svgID = uid; lar.YearID = "'" + yearID + "'"; IList<SVG_LAYER> larlist = Services.BaseService.GetList<SVG_LAYER>("SelectSVG_LAYERByYearID", lar); foreach (SVG_LAYER _lar in larlist) { //layertxt = layertxt + "<layer id=\"" + _lar.SUID + "\" label=\"" + _lar.NAME + "\" layerType=\"" + _lar.layerType + "\" visibility=\"" + _lar.visibility + "\" ParentID=\"" + _lar.YearID + "\" IsSelect=\"" + _lar.IsSelect + "\" />"; content.Append(_lar.XML); } txt.Append("<layer id=\"layer6666\" label=\"默认层\" />"); txt.Append(layertxt); SVG_SYMBOL sym = new SVG_SYMBOL(); sym.svgID = uid; IList<SVG_SYMBOL> symlist = Services.BaseService.GetList<SVG_SYMBOL>("SelectSVG_SYMBOLBySvgID", sym); foreach (SVG_SYMBOL _sym in symlist) { svgdefs = svgdefs + _sym.XML; } txt.Append(svgdefs + "</defs>"); txt.Append(content.ToString() + "</svg>"); SvgDocument document = new SvgDocument(); document.LoadXml(txt.ToString()); //document.FileName = SvgName; document.SvgdataUid = _SvgUID; SVGUID = _SvgUID; this.Text = document.FileName; if (document.RootElement == null) { tlVectorControl1.NewFile(); Layer.CreateNew("背景层", tlVectorControl1.SVGDocument); Layer.CreateNew("城市规划层", tlVectorControl1.SVGDocument); Layer.CreateNew("供电区域层", tlVectorControl1.SVGDocument); } else { tlVectorControl1.SVGDocument = document; } tlVectorControl1.SVGDocument.SvgdataUid = SVGUID; tlVectorControl1.SVGDocument.FileName = this.Text; tlVectorControl1.DocumentbgColor = Color.White; tlVectorControl1.BackColor = Color.White; foreach (XmlElement ele in document.RootElement.ChildNodes) { ele.SetAttribute("layer", "layer6666"); if (((SvgElement)ele).LocalName == "polyline") { ele.SetAttribute("flag", "1"); } } SvgDocument.currentLayer = "layer6666"; } catch (Exception e) { MessageBox.Show(e.Message); } //tlVectorControl1.SVGDocument.SvgdataUid = ""; }
public void Open() { string id = "''"; /* frmLayerGrade fgrade = new frmLayerGrade(); fgrade.SymbolDoc = tlVectorControl1.SVGDocument; fgrade.InitData(_SvgUID); if (fgrade.ShowDialog() == DialogResult.OK) { id = fgrade.GetSelectNode(); yearID = id; } else { id = fgrade.GetSelectNode(); yearID = id; }*/ string _SvgUID = ""; string svgkey = ConfigurationSettings.AppSettings.Get("SvgID").ToString(); bool create = false; frmGProg ff = new frmGProg(); ff.pspflag = false; if (ff.ShowDialog() == DialogResult.OK) { _SvgUID = ff.Key; string strName = ff.Name1; StringBuilder txt = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?><svg id=\"svg\" width=\"1500\" height=\"1000\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:itop=\"http://www.Itop.com/itop\" transform=\"matrix(1 0 0 1 0 1)\"><defs>"); string svgdefs = ""; string layertxt = ""; StringBuilder content = new StringBuilder(); //if (string.IsNullOrEmpty(_SvgUID)) return; try { SVGFILE svgFile = new SVGFILE(); svgFile.SUID = _SvgUID; svgFile = (SVGFILE)Services.BaseService.GetObject("SelectSVGFILEByKey", svgFile); if (svgFile == null) { create = true; svgFile = new SVGFILE(); svgFile.SUID = _SvgUID; svgFile.FILENAME = strName; Services.BaseService.Create<SVGFILE>(svgFile); } //SvgDocument document = CashSvgDocument; //if (document == null) { SVG_LAYER lar = new SVG_LAYER(); lar.svgID = _SvgUID; lar.YearID = id; IList<SVG_LAYER> larlist = Services.BaseService.GetList<SVG_LAYER>("SelectSVG_LAYERByYearID", lar); foreach (SVG_LAYER _lar in larlist) { layertxt = layertxt + "<layer id=\"" + _lar.SUID + "\" label=\"" + _lar.NAME + "\" layerType=\"" + _lar.layerType + "\" visibility=\"" + _lar.visibility + "\" ParentID=\"" + _lar.YearID + "\" IsSelect=\"" + _lar.IsSelect + "\" />"; content.Append(_lar.XML); } if (larlist.Count == 0) { layertxt = layertxt + "<layer id=\"" + svgFile.SUID + "1" + "\" label=\"近期网架规划层\" layerType=\"电网规划层\" visibility=\"visible\" ParentID=\"\" IsSelect=\"true\" />\r\n"; layertxt = layertxt + "<layer id=\"" + svgFile.SUID + "2" + "\" label=\"中期网架规划层\" layerType=\"电网规划层\" visibility=\"visible\" ParentID=\"\" IsSelect=\"true\" />\r\n"; layertxt = layertxt + "<layer id=\"" + svgFile.SUID + "3" + "\" label=\"远期网架规划层\" layerType=\"电网规划层\" visibility=\"visible\" ParentID=\"\" IsSelect=\"true\" />\r\n"; layertxt = layertxt + "<layer id=\"" + svgFile.SUID + "4" + "\" label=\"整体规划层\" layerType=\"电网规划层\" visibility=\"visible\" ParentID=\"\" IsSelect=\"true\" />\r\n"; layertxt = layertxt + "<layer id=\"" + svgFile.SUID + "5" + "\" label=\"背景参考层\" layerType=\"电网规划层\" visibility=\"visible\" ParentID=\"\" IsSelect=\"true\" />\r\n"; content.Append("<text x=\"1\" y=\"1\" layer=\"" + svgFile.SUID + "1" + "\" id=\"text4611ec7b9f37\" font-size=\"1\" >1</text>"); } txt.Append(layertxt); SVG_SYMBOL sym = new SVG_SYMBOL(); sym.svgID = svgkey; IList<SVG_SYMBOL> symlist = Services.BaseService.GetList<SVG_SYMBOL>("SelectSVG_SYMBOLBySvgID", sym); foreach (SVG_SYMBOL _sym in symlist) { svgdefs = svgdefs + _sym.XML; } txt.Append(svgdefs + "</defs>"); txt.Append(content.ToString() + "</svg>"); SvgDocument document = SvgDocumentFactory.CreateDocument(); //if (txt.ToString() != "1") //{ string filename = Path.GetTempFileName(); if (File.Exists("tmp080321.temp")) { filename = "tmp080321.temp"; } else { StreamWriter sw = new StreamWriter(filename); sw.Write(txt.ToString()); sw.Close(); } tlVectorControl1.OpenFile(filename); document = tlVectorControl1.SVGDocument; // int chose = Convert.ToInt32(ConfigurationSettings.AppSettings.Get("chose")); //} //else //{ // //NullFile(_SvgUID); // return; //} document.FileName = svgFile.FILENAME; document.SvgdataUid = svgFile.SUID; this.Text = document.FileName; //if(create){ // Layer lay = Layer.CreateNew("规划层", document); // lay.SetAttribute("layerType", "电网规划层"); //} tlVectorControl1.SVGDocument = document; tlVectorControl1.SVGDocument.FileName = this.Text; AddCombolScale(); ClearDEV(); } catch (Exception e) { MessageBox.Show(e.Message); } } }
public void InitData() { IList svglist = Services.BaseService.GetList("SelectLayerFileList", svg); LayerGrade lg = new LayerGrade(); IList ilist = Services.BaseService.GetList("SelectLayerGradeList", lg); DataTable dataTable = DataConverter.ToDataTable(ilist, typeof(LayerGrade)); SVG_LAYER sl = new SVG_LAYER(); IList list = Services.BaseService.GetList("SelectSVG_LAYERList", sl); treeList1.DataSource = dataTable; string ide = treeList1.Nodes[0].GetValue(0).ToString();//��ȡijһ�ڵ��ֵ foreach (SVG_LAYER lay in list) { if (lay.layerType == "�����滮��") { LayerGrade obj = new LayerGrade(); obj.SUID = lay.SUID; obj.Name = lay.NAME; obj.ParentID = lay.YearID; string tempobj = ""; string tempyear = ""; if (obj.Name.ToString().Length >= 3) { tempobj = obj.Name.ToString().Substring(obj.Name.ToString().Length - 3, 3); } if (obj.Name.ToString().Length >= 4) { tempyear = obj.Name.ToString().Substring(0, 4); } if (tempobj == "���վ") { for (int j = 0; j < treeList1.Nodes.Count; j++) { if (treeList1.Nodes[j].GetValue(0).ToString().Length > 3) { if (treeList1.Nodes[j].GetValue(0).ToString().Substring(0, 4) == tempyear) { substation _substat = new substation(); _substat.LayerID = obj.SUID; _substat.ObligateField1 = "220"; IList subList = Services.BaseService.GetList("SelectsubstationByLayerIDandObligateField1", _substat); int templ = treeList1.Nodes[j].Nodes.Count; treeList1.AppendNode(obj.Name, treeList1.Nodes[j]); treeList1.Nodes[j].Nodes[templ].SetValue(0, obj.Name); if (subList.Count != 0) { int jj = 0; foreach (substation temps in subList) { treeList1.AppendNode(temps, treeList1.Nodes[j].Nodes[templ]); treeList1.Nodes[j].Nodes[templ].Nodes[jj].SetValue(0, temps.EleName); jj++; } } _substat.ObligateField1 = "110"; subList = Services.BaseService.GetList("SelectsubstationByLayerIDandObligateField1", _substat); templ = treeList1.Nodes[j].Nodes.Count; treeList1.AppendNode(obj.Name, treeList1.Nodes[j]); treeList1.Nodes[j].Nodes[templ].SetValue(0, obj.Name); if (subList.Count != 0) { int jj = 0; foreach (substation temps in subList) { treeList1.AppendNode(temps, treeList1.Nodes[j].Nodes[templ]); treeList1.Nodes[j].Nodes[templ].Nodes[jj].SetValue(0, temps.EleName); jj++; } } _substat.ObligateField1 = "66"; subList = Services.BaseService.GetList("SelectsubstationByLayerIDandObligateField1", _substat); templ = treeList1.Nodes[j].Nodes.Count; treeList1.AppendNode(obj.Name, treeList1.Nodes[j]); treeList1.Nodes[j].Nodes[templ].SetValue(0, obj.Name); if (subList.Count != 0) { int jj = 0; foreach (substation temps in subList) { treeList1.AppendNode(temps, treeList1.Nodes[j].Nodes[templ]); treeList1.Nodes[j].Nodes[templ].Nodes[jj].SetValue(0, temps.EleName); jj++; } } _substat.ObligateField1 = "500"; subList = Services.BaseService.GetList("SelectsubstationByLayerIDandObligateField1", _substat); templ = treeList1.Nodes[j].Nodes.Count; treeList1.AppendNode(obj.Name, treeList1.Nodes[j]); treeList1.Nodes[j].Nodes[templ].SetValue(0, obj.Name); if (subList.Count != 0) { int jj = 0; foreach (substation temps in subList) { treeList1.AppendNode(temps, treeList1.Nodes[j].Nodes[templ]); treeList1.Nodes[j].Nodes[templ].Nodes[jj].SetValue(0, temps.EleName); jj++; } } } } } } } } Application.DoEvents(); }
public void DeleteLayer(Layer layer) { if (!CkRight(layer)) { MessageBox.Show("����ͼ�㲻�ܸ�����ɾ����", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //if (true) { // LineInfo _line = new LineInfo(); // _line.LayerID = layer.ID; // Services.BaseService.Update("DeleteLineInfoByLayerID", _line); // glebeProperty gle = new glebeProperty(); // gle.LayerID = layer.ID; // Services.BaseService.Update("DeleteglebePropertyByLayerID", gle); // substation _sub = new substation(); // _sub.LayerID = layer.ID; // Services.BaseService.Update("DeletesubstationByLayerID", _sub); //} XmlNodeList list = this.SymbolDoc.SelectNodes("//*[@layer='" + layer.ID + "']"); foreach (XmlNode elNode in list) { this.SymbolDoc.RootElement.RemoveChild(elNode); } //Services.BaseService.Update("UpdateGraPowerRelationByLayerID", layer.ID); //���ĵ����Ƴ� SVG_LAYER lar = new SVG_LAYER(); lar.SUID = layer.ID; Services.BaseService.Update("DeleteSVG_LAYER", lar); layer.Remove(); //���б����Ƴ� TreeListNode node = treeList1.FindNodeByKeyID(layer.ID); if (node != null) { if (node.ParentNode == null) treeList1.Nodes.Remove(node); else node.ParentNode.Nodes.Remove(node); } layer = null; LayerName = ""; }
void treeList1_AfterDragNode(object sender, DevExpress.XtraTreeList.NodeEventArgs e) { try { SVG_LAYER lay = new SVG_LAYER() { ParentID = e.Node["ParentID"].ToString(), SUID = e.Node["SUID"].ToString(), svgID = e.Node["svgID"].ToString() }; SVG_LAYER lay2 = null; List<TreeListNode> updateNodes = new List<TreeListNode>(); foreach (TreeListNode node2 in treeList1.Selection) { lay.SUID = node2["SUID"].ToString(); lay2 = Services.BaseService.GetOneByKey<SVG_LAYER>(lay); if (lay2 != null) { lay2.ParentID = lay.ParentID; Services.BaseService.Update<SVG_LAYER>(lay2); updateNodes.Add(node2); } } foreach (TreeListNode node3 in updateNodes) { node3["ParentID"] = lay.ParentID; } } catch (Exception err) { MessageBox.Show(err.Message); } }
private void simpleB(string id) { int itemcount = (treeList1.DataSource as DataTable).Rows.Count; TreeListNode node = treeList1.GetNodeByVisibleIndex(0); int num = 0; if (node != null) { f.SetText("�����У���ȴ�......"); f.Show(); while (node != null) { num++; string itemname = node["NAME"].ToString(); if (itemname.Length > 4) { string item4 = itemname.Substring(0, 4); int year = 0; if ((IsInt(item4)) && node.Checked == true) { year = int.Parse(item4); Layer layer = symbolDoc.Layers[node["SUID"].ToString()] as Layer; if (layer == null) continue; f.SetText("���ڸ���" + layer.Label + "�㡣"); string str = layer.GetAttribute("layerType"); Layer layer2 = CopyLayer2(layer, id); if (layer2 != null) { if (layer.Visible) { layer.Visible = false; layer.Visible = true; } layer2.SetAttribute("layerType", str); //this.checkedListBox1.Items.Add(layer2); layer2.Visible = false; string xml = ""; XmlNodeList oldList = symbolDoc.SelectNodes("//*[@layer=\"" + layer2.ID + "\"]"); for (int i = 0; i < oldList.Count; i++) { xml = xml + ((SvgElement)oldList[i]).OuterXml; } SVG_LAYER obj = new SVG_LAYER(); obj.SUID = layer2.ID; obj.svgID = symbolDoc.SvgdataUid; obj.NAME = layer2.Label; obj.MDATE = System.DateTime.Now; obj.OrderID = year + itemcount + num + 10; obj.YearID = id;//((LayerGrade)list[0]).SUID; obj.layerType = "�����滮��"; obj.visibility = "visible"; obj.IsSelect = "true"; obj.XML = xml; Services.BaseService.Create<SVG_LAYER>(obj); //addtotreelist(obj); } } } node = node.NextNode; } f.Hide(); } }
//private void simpleButton5_Click(object sender, EventArgs e) //{ // int index = this.checkedListBox1.SelectedIndex; // if (index>0) // { // Layer layer = this.checkedListBox1.Items[index] as Layer; // LayerFile temp = new LayerFile(); // temp.SvgDataUid = this.symbolDoc.SvgdataUid; // IList lList = Services.BaseService.GetList("SelectLayerFileBySvgDataUid", temp); // foreach (LayerFile lay in lList) // { // if (lay.LayerFileName==layer.Label) // { // MessageBox.Show("�ĵ����Ѿ�����ͬ��ͼ��,����ͼ�����ƺ���", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); // return; // } // } // string strsvgData = this.symbolDoc.SelectNodesToString("svg/*[@layer='" + layer.ID + "']|svg/defs"); // LayerFile layerFile = new LayerFile(); // layerFile.SUID = Guid.NewGuid().ToString(); // layerFile.LayerID = layer.ID; // layerFile.LayerFileName = layer.Label; // layerFile.SvgDataUid = this.symbolDoc.SvgdataUid; // layerFile.LayerOuterXml = strsvgData; // Services.BaseService.Create<LayerFile>(layerFile); // DeleteLayer(layer); // } // //StreamWriter sw = new StreamWriter("c:\\1.xml"); // //sw.Write(str1); // //sw.Close(); // //sw = new StreamWriter("c:\\2.txt"); // //sw.Write(str2); // //sw.Close(); // //sw = new StreamWriter("c:\\3.xml"); // //sw.Write(str3); // //sw.Close(); // //sw = new StreamWriter("c:\\4.txt"); // //sw.Write(str4); // //sw.Close(); // //sw = new StreamWriter("c:\\5.xml"); // //sw.Write(newOutXml); // //sw.Close(); // //string str2 = this.SymbolDoc.SvgdataUid; // //SVGFILE svg = new SVGFILE(); // //svg = (SVGFILE)svglist[0]; // //svg.SVGDATA = this.SymbolDoc.OuterXml; // //Services.BaseService.Update<SVGFILE>(svg); //} private Layer CopyLayer(Layer layer) { Layer layer2 = Layer.CreateNew(layer.Label + " ����", this.SymbolDoc); layer2.SetAttribute("ParentID", layer.GetAttribute("ParentID")); //foreach (SvgElement g in layer.GraphList) //{ // layer2.GraphList.Add(g); //} SVG_LAYER la = new SVG_LAYER(); la.SUID = layer.ID; la.svgID = symbolDoc.SvgdataUid; la = (SVG_LAYER)Services.BaseService.GetObject("SelectSVG_LAYERByKey", la); if (la != null) { la.SUID = layer2.ID; la.NAME = layer2.Label; Services.BaseService.Create<SVG_LAYER>(la); DataTable dt = treeList1.DataSource as DataTable; dt.Rows.Add(Itop.Common.DataConverter.ObjectToRow(la, dt.NewRow())); } this.SymbolDoc.NumberOfUndoOperations = (2 * layer2.GraphList.Count) + 200; SvgElementCollection sc = layer.GraphList; for (int i = layer.GraphList.Count - 1; i >= 0; i--) { SvgElement element = sc[i] as SvgElement; SvgElement temp = element.Clone() as SvgElement; //if (temp.Name=="use"){ if (temp.GetAttribute("CopyOf") == "") { temp.SetAttribute("CopyOf", temp.ID); } //else //{ // temp.SetAttribute("CopyOf", temp.ID); //} //} IGraph graph = (IGraph)layer2.AddElement(temp); graph.Layer = layer2; //LineInfo _line = new LineInfo(); //_line.EleID = element.ID; //_line.SvgUID = this.SymbolDoc.SvgdataUid; //IList lineInfoList = Services.BaseService.GetList("SelectLineInfoByEleID", _line); /* PSPDEV _line = new PSPDEV(); _line.EleID = element.ID; _line.SvgUID = this.SymbolDoc.SvgdataUid; IList lineInfoList = Services.BaseService.GetList("SelectPSPDEVBySvgUIDandEleID", _line); foreach (PSPDEV line in lineInfoList) { line.SUID = Guid.NewGuid().ToString(); line.LayerID = layer2.ID; line.EleID = temp.ID; line.Type = "05"; Services.BaseService.Create<PSPDEV>(line); } glebeProperty gle = new glebeProperty(); gle.EleID = element.ID; gle.SvgUID = this.SymbolDoc.SvgdataUid; IList gleProList=Services.BaseService.GetList("SelectglebePropertyByEleID", gle); foreach (glebeProperty gleP in gleProList) { gleP.UID = Guid.NewGuid().ToString(); gleP.LayerID = layer2.ID; gleP.EleID = temp.ID; Services.BaseService.Create<glebeProperty>(gleP); } PSP_Substation_Info _sub = new PSP_Substation_Info(); _sub.EleID = element.ID; _sub.AreaID = this.SymbolDoc.SvgdataUid; IList substationList = Services.BaseService.GetList("SelectPSP_Substation_InfoListByEleID", _sub); foreach (PSP_Substation_Info sub in substationList) { sub.UID = Guid.NewGuid().ToString(); sub.LayerID = layer2.ID; sub.EleID = temp.ID; Services.BaseService.Create<PSP_Substation_Info>(sub); } */ } this.SymbolDoc.NotifyUndo(); return layer2; }
private Layer CopyLayer(Layer layer) { Layer layer2 = Layer.CreateNew(layer.Label + " ����", this.SymbolDoc); layer2.SetAttribute("ParentID", layer.GetAttribute("ParentID")); //foreach (SvgElement g in layer.GraphList) //{ // layer2.GraphList.Add(g); //} SVG_LAYER la = new SVG_LAYER(); la.SUID = layer.ID; la.svgID = symbolDoc.SvgdataUid; la = (SVG_LAYER)Services.BaseService.GetObject("SelectSVG_LAYERByKey", la); if (la != null) { la.SUID = layer2.ID; la.NAME = layer2.Label; Services.BaseService.Create<SVG_LAYER>(la); } this.SymbolDoc.NumberOfUndoOperations = (2 * layer2.GraphList.Count) + 200; SvgElementCollection sc = layer.GraphList; for (int i = layer.GraphList.Count - 1; i >= 0; i--) { SvgElement element = sc[i] as SvgElement; SvgElement temp = element.Clone() as SvgElement; //if (temp.Name=="use"){ if (temp.GetAttribute("CopyOf") == "") { temp.SetAttribute("CopyOf", temp.ID); } //else //{ // temp.SetAttribute("CopyOf", temp.ID); //} //} IGraph graph = (IGraph)layer2.AddElement(temp); graph.Layer = layer2; /* LineInfo _line = new LineInfo(); _line.EleID = element.ID; _line.SvgUID = this.SymbolDoc.SvgdataUid; IList lineInfoList = Services.BaseService.GetList("SelectLineInfoByEleID", _line); foreach (LineInfo line in lineInfoList) { line.UID = Guid.NewGuid().ToString(); line.LayerID = layer2.ID; line.EleID = temp.ID; Services.BaseService.Create<LineInfo>(line); } glebeProperty gle = new glebeProperty(); gle.EleID = element.ID; gle.SvgUID = this.SymbolDoc.SvgdataUid; IList gleProList = Services.BaseService.GetList("SelectglebePropertyByEleID", gle); foreach (glebeProperty gleP in gleProList) { gleP.UID = Guid.NewGuid().ToString(); gleP.LayerID = layer2.ID; gleP.EleID = temp.ID; Services.BaseService.Create<glebeProperty>(gleP); } substation _sub = new substation(); _sub.EleID = element.ID; _sub.SvgUID = this.SymbolDoc.SvgdataUid; IList substationList = Services.BaseService.GetList("SelectsubstationByEleID", _sub); foreach (substation sub in substationList) { sub.UID = Guid.NewGuid().ToString(); sub.LayerID = layer2.ID; sub.EleID = temp.ID; Services.BaseService.Create<substation>(sub); }*/ } this.SymbolDoc.NotifyUndo(); return layer2; }
private void simpleButton1_Click_1(object sender, EventArgs e) { string text1 = textEdit1.Text; string text2 = textEdit2.Text; if(textEdit1.Text==""){ MessageBox.Show("��ָ��Ҫ���Ƶ���ݡ�", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); textEdit1.Focus(); return; } if (textEdit2.Text == "") { MessageBox.Show("��ָ��Ҫ���Ƶ���Ŀ����ݡ�", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); textEdit2.Focus(); return; } LayerGrade gra = new LayerGrade(); gra.Name = text2+"%"; IList <LayerGrade> list= Services.BaseService.GetList<LayerGrade>("SelectLayerGradeByYear", gra); if(list.Count==0){ MessageBox.Show("û���ҵ�ָ���������Ϣ�����Ƚ�����Ӧ��ݵ�ͼ��ּ���", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } int itemcount = checkedListBox1.Items.Count; if (checkedListBox1.Items != null) { f.SetText("�����У���ȴ�......"); f.Show(); for (int num = 0; num < itemcount; num++) { string itemname = checkedListBox1.Items[num].ToString(); string item4 = itemname.Substring(0, 4); if ((item4 == text1) && (text2 != "") && checkedListBox1.GetItemChecked(num)==true) { Layer layer = this.checkedListBox1.Items[num] as Layer; f.SetText("��ѡ��" + checkedListBox1.CheckedItems.Count + "�㣬���ڸ���" + layer.Label + "�㡣"); string str = layer.GetAttribute("layerType"); Layer layer2 = CopyLayer2(layer, text2); if (layer2 != null) { if (layer.Visible) { layer.Visible = false; layer.Visible = true; } layer2.SetAttribute("layerType", str); this.checkedListBox1.Items.Add(layer2); layer2.Visible = false; string xml = ""; XmlNodeList oldList = symbolDoc.SelectNodes("//*[@layer=\"" + layer2.ID + "\"]"); for (int i = 0; i < oldList.Count; i++) { xml = xml+((SvgElement)oldList[i]).OuterXml; } SVG_LAYER obj = new SVG_LAYER(); obj.SUID = layer2.ID; obj.svgID = symbolDoc.SvgdataUid; obj.NAME = layer2.Label; obj.MDATE = System.DateTime.Now; obj.OrderID = num + 10; obj.YearID = ((LayerGrade)list[0]).SUID; obj.layerType = "�����滮��"; obj.visibility = "visible"; obj.IsSelect = "true"; obj.XML = xml; Services.BaseService.Create<SVG_LAYER>(obj); } } } f.Hide(); } }
private void bbteditlayer_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { Layer layer = getFocusLayer(); if (layer != null) { if (!CkRight(layer)) { MessageBox.Show("����ͼ�㲻�ܸ�����ɾ����", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } frmInput dlg = new frmInput(); dlg.id = symbolDoc.SvgdataUid; dlg.symbolDoc = symbolDoc; dlg.InputString = layer.Label; dlg.InputType = layer.GetAttribute("layerType"); DialogResult d = dlg.ShowDialog(this); if (d == DialogResult.OK) { layer.Label = dlg.InputString; layer.SetAttribute("layerType", dlg.InputType); treeList1.FocusedNode.SetValue("Name", dlg.InputString); treeList1.Refresh(); //InitData(); } if (d == DialogResult.Retry) { if (dlg.list.Count > 1) { layer.SetAttribute("ParentID", dlg.list[1].ToString()); SVG_LAYER temp = new SVG_LAYER(); temp.SUID = layer.ID; temp.svgID = symbolDoc.SvgdataUid; SVG_LAYER lar = (SVG_LAYER)Services.BaseService.GetObject("SelectSVG_LAYERByKey", temp); lar.YearID = dlg.list[1].ToString(); Services.BaseService.Update<SVG_LAYER>(lar); } } } }
private void btAdd_Click(object sender, EventArgs e) { frmInput dlg = new frmInput(); dlg.InputType = progtype; if (dlg.ShowDialog(this) == DialogResult.OK) { if (Layer.CkLayerExist(dlg.InputString, this.SymbolDoc)) { MessageBox.Show("�ĵ����Ѿ�����ͬ��ͼ�㡣", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } Layer lar = Layer.CreateNew(dlg.InputString, this.SymbolDoc); lar.SetAttribute("layerType", dlg.InputType); if (ilist.Count > 0) { lar.SetAttribute("ParentID", ilist[0].ToString()); } addflag = true; //this.checkedListBox1.Items.Add(lar, true); //checkedListBox1.SelectedIndex = checkedListBox1.Items.Count - 1; DataTable dt = treeList1.DataSource as DataTable; SVG_LAYER _svg = new SVG_LAYER() { SUID = lar.ID, NAME = lar.Label }; if (treeList1.FocusedNode != null) { _svg.ParentID = treeList1.FocusedNode["ParentID"].ToString(); _svg.YearID = ilist[0].ToString(); _svg.svgID = symbolDoc.SvgdataUid; _svg.OrderID = int.Parse(treeList1.FocusedNode["OrderID"].ToString()) + 1; _svg.MDATE = DateTime.Now; Services.BaseService.Create<SVG_LAYER>(_svg); } DataRow row = dt.NewRow(); dt.Rows.Add(DataConverter.ObjectToRow(_svg, row)); //_svg.SUID = lar.ID; //_svg.NAME = lar.Label; //_svg.svgID = SVGUID; //_svg.XML = txt; //_svg.MDATE = System.DateTime.Now; //_svg.OrderID = ny * 100 + list.IndexOf(lar); //_svg.YearID = tems_id;// lar.GetAttribute("ParentID"); //_svg.IsChange = lar.GetAttribute("IsChange"); //_svg.visibility = lar.GetAttribute("visibility"); //_svg.layerType = lar.GetAttribute("layerType"); //_svg.IsSelect = lar.GetAttribute("IsSelect"); //Services.BaseService.Create<SVG_LAYER>(_svg); //if (this.checkedListBox1.SelectedIndex != -1) { // Layer layer = this.checkedListBox1.Items[this.checkedListBox1.SelectedIndex] as Layer; // if (checkedListBox1.GetItemCheckState(checkedListBox1.SelectedIndex) == CheckState.Checked) { // layer.Visible = true; // } else { // layer.Visible = false; // } //} //string guid=Guid.NewGuid().ToString(); //GraPowerRelation gra = new GraPowerRelation(); //gra.UID = Guid.NewGuid().ToString(); //gra.PowerEachID = guid; //gra.LayerID = lar.ID; //Services.BaseService.Create<GraPowerRelation>(gra); //SVG_LAYER layer = new SVG_LAYER(); //layer.SUID = lar.ID; //layer.svgID = symbolDoc.SvgdataUid; //layer.NAME = lar.Label; //layer.XML = txt; //layer.MDATE = System.DateTime.Now; //layer.OrderID = list.IndexOf(lar); //layer.YearID = lar.GetAttribute("ParentID"); //layer.IsChange = lar.GetAttribute("IsChange"); //layer.visibility = lar.GetAttribute("visibility"); //layer.layerType = lar.GetAttribute("layerType"); //layer.IsSelect = lar.GetAttribute("IsSelect"); //Services.BaseService.Create<SVG_LAYER>(_svg); } }
public void InitData() { checkedListBox1.Items.Clear(); if (symbolDoc != null) { symbolDoc2 = symbolDoc; SVG_LAYER lar = new SVG_LAYER(); lar.svgID = symbolDoc.SvgdataUid; IList<SVG_LAYER> larlist=null; if (YearID != "") { lar.YearID = "YearID in (" + YearID + ") or layerType='���й滮��'"; larlist = Services.BaseService.GetList<SVG_LAYER>("SelectSVG_LAYERByWhere", lar); } else { if (progtype == "���й滮��") { lar.YearID = " (layerType = '���й滮��' OR layerType = '������Ϣ��' OR YearID = '') "; } else { lar.YearID = " (layerType = '������Ϣ��') "; } larlist = Services.BaseService.GetList<SVG_LAYER>("SelectSVG_LAYERByWhere", lar); } DataTable table = Itop.Common.DataConverter.ToDataTable((IList)larlist, typeof(SVG_LAYER)); treeList1.DataSource = table; XmlNodeList list1 = symbolDoc.GetElementsByTagName("layer"); for (int num1 = 0; num1 < list1.Count; num1++) { Layer element1 = list1[num1] as Layer; if (progtype == "������Ϣ��") { if (element1.GetAttribute("layerType") == progtype) { string strLayerID = element1.GetAttribute("id"); if (element1.Visible) { TreeListNode node = treeList1.FindNodeByKeyID(strLayerID); if (node != null) node.Checked = true; } } } if (progtype == "���й滮��") { if (spatialflag) { if (element1.GetAttribute("layerType") == progtype || element1.GetAttribute("layerType") == "������Ϣ��") { string strLayerID = element1.GetAttribute("id"); if (element1.Visible) { TreeListNode node = treeList1.FindNodeByKeyID(strLayerID); if (node != null) node.Checked = true; } } } else { string strLayerID = element1.GetAttribute("id"); if (element1.Visible) { TreeListNode node = treeList1.FindNodeByKeyID(strLayerID); if (node != null) node.Checked = true; } } barSubItem1.Enabled = false; } if (progtype == "�����滮��") { bool ck = false; if ((element1.GetAttribute("visibility") == "visible")) { ck = true; } string strLayerID = element1.GetAttribute("id"); //int n = this.checkedListBox1.Items.Add(element1, element1.Visible); if (element1.Visible) { //checkedListBox1.SetItemChecked(n, ck); TreeListNode node = treeList1.FindNodeByKeyID(strLayerID); if (node != null) node.Checked = true; } } if (progtype == "���վѡַ") { bool ck = false; if ((element1.GetAttribute("visibility") == "visible")) { ck = true; } string strLayerID = element1.GetAttribute("id"); int n = this.checkedListBox1.Items.Add(element1, element1.Visible); if (element1.Visible) { checkedListBox1.SetItemChecked(n, ck); } } if (progtype == "���ڽ���ͼ") { if (element1.GetAttribute("layerType") == progtype) { string strLayerID = element1.GetAttribute("id"); int n = this.checkedListBox1.Items.Add(element1, element1.Visible); if (element1.Visible) { checkedListBox1.SetItemChecked(n, true); } //if (strLayerID == SvgDocument.currentLayer) //{ // this.checkedListBox1.SelectedIndex = num1; //} } } } Layerlist = symbolDoc.getLayerList(); //ɾ�������ͼ�� //for (int m = 0; m < table.Rows.Count; m++) //{ // if (!table.Rows[m]["SUID"].ToString().Contains("FA") && !table.Rows[m]["NAME"].ToString().Contains("������")) // { // XmlNode node = this.SymbolDoc.SelectSingleNode("//*[@layer='" + table.Rows[m]["SUID"].ToString() + "']"); // if (node == null) // { // SVG_LAYER SL = new SVG_LAYER(); // SL.SUID = table.Rows[m]["SUID"].ToString(); // Services.BaseService.Delete<SVG_LAYER>(SL); // table.Rows.RemoveAt(m); // m--; // } // } //} } }
public void Open(string _SvgUID) { try { //dotNetBarManager1.Bars["mainmenu"].GetItem("WJYHBut").Visible = false; //为版本用 if (_SvgUID.Length < 20) { JxtBar(); tlVectorControl1.ContextMenuStrip = null; } StringBuilder txt = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?><svg id=\"svg\" width=\"1500\" height=\"1000\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:itop=\"http://www.Itop.com/itop\" transform=\"matrix(1 0 0 1 0 1)\"><defs>"); string svgdefs = ""; string layertxt = ""; StringBuilder content = new StringBuilder(); if (string.IsNullOrEmpty(_SvgUID)) return; SVG_LAYER lar = new SVG_LAYER(); lar.svgID = _SvgUID; lar.YearID = yearID; IList<SVG_LAYER> larlist = Services.BaseService.GetList<SVG_LAYER>("SelectSVG_LAYERByYearID", lar); foreach (SVG_LAYER _lar in larlist) { layertxt = layertxt + "<layer id=\"" + _lar.SUID + "\" label=\"" + _lar.NAME + "\" layerType=\"" + _lar.layerType + "\" visibility=\"" + _lar.visibility + "\" ParentID=\"" + _lar.YearID + "\" IsSelect=\"" + _lar.IsSelect + "\" />"; content.Append(_lar.XML); } txt.Append(layertxt); SVG_SYMBOL sym = new SVG_SYMBOL(); sym.svgID = _SvgUID; IList<SVG_SYMBOL> symlist = Services.BaseService.GetList<SVG_SYMBOL>("SelectSVG_SYMBOLBySvgID", sym); foreach (SVG_SYMBOL _sym in symlist) { svgdefs = svgdefs + _sym.XML; } txt.Append(svgdefs + "</defs>"); txt.Append(content.ToString() + "</svg>"); SvgDocument document = new SvgDocument(); document.LoadXml(txt.ToString()); document.FileName = SvgName; document.SvgdataUid = _SvgUID; SVGUID = _SvgUID; this.Text = document.FileName; if (document.RootElement == null) { tlVectorControl1.NewFile(); Layer.CreateNew("背景层", tlVectorControl1.SVGDocument); Layer.CreateNew("城市规划层", tlVectorControl1.SVGDocument); Layer.CreateNew("供电区域层", tlVectorControl1.SVGDocument); } else { tlVectorControl1.SVGDocument = document; } tlVectorControl1.SVGDocument.SvgdataUid = SVGUID; tlVectorControl1.SVGDocument.FileName = this.Text; tlVectorControl1.DocumentbgColor = Color.White; tlVectorControl1.BackColor = Color.White; //tlVectorControl1.ForeColor = Color.White; CreateComboBox(); xltProcessor = new XLTProcessor(tlVectorControl1); xltProcessor.MapView = mapview; xltProcessor.OnNewLine += new NewLineDelegate(xltProcessor_OnNewLine); } catch (Exception e) { MessageBox.Show(e.Message); } //tlVectorControl1.SVGDocument.SvgdataUid = ""; }
internal void AddLayer(Layer lar, bool p) { SVG_LAYER _svg = new SVG_LAYER() { SUID = lar.ID, NAME = lar.Label }; if (treeList1.FocusedNode != null) { if(ilist.Count>0) _svg.YearID = ilist[0].ToString(); _svg.svgID = symbolDoc.SvgdataUid; _svg.OrderID = int.Parse(treeList1.Nodes[treeList1.Nodes.Count-1]["OrderID"].ToString()) + 1; _svg.MDATE = DateTime.Now; } addtotreelist(_svg); }
private void dotNetBarManager1_ItemClick(object sender, EventArgs e) { FileStream dh; StreamReader readLine; char[] charSplit; string strLine; string[] array1; string output = null; string[] array2; string strLine2; char[] charSplit2 = new char[] { ' ' }; FileStream op; StreamWriter str1; FileStream dh2; StreamReader readLine2; Excel.Application ex; Excel.Worksheet xSheet; Excel.Application result1; Excel.Worksheet tempSheet; Excel.Worksheet newWorksheet; DevComponents.DotNetBar.ButtonItem btItem = sender as DevComponents.DotNetBar.ButtonItem; //Layer layer1 = (Layer)LayerBox.ComboBoxEx.SelectedItem; if (btItem != null) { switch (btItem.Name) { #region 文件操作 case "mNew": try { //{ XmlNodeList list = tlVectorControl1.SVGDocument.SelectNodes("svg/*[@layer='" + tlVectorControl1.SVGDocument.CurrentLayer.ID + "']"); for (int i = 0; i < list.Count; i++) { SvgElement ele = (SvgElement)list[i]; if (ele.LocalName == "polyline") { PSPDEV _dev = new PSPDEV(); _dev.EleID = ele.ID; _dev.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; _dev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", _dev); if (_dev == null) { LineInfo _pl = new LineInfo(); _pl.EleID = ele.ID; _pl.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; _pl = (LineInfo)Services.BaseService.GetObject("SelectLineInfoByEleID", _pl); if (_pl != null) { PSPDEV pspDev = new PSPDEV(); pspDev.SUID = Guid.NewGuid().ToString(); pspDev.EleID = ele.GetAttribute("id"); pspDev.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; pspDev.Number = -1; pspDev.FirstNode = -1; pspDev.LastNode = -1; pspDev.Type = "Polyline"; pspDev.Lable = "支路"; pspDev.Name = _pl.LineName; pspDev.LineLength = Convert.ToDouble(_pl.Length); pspDev.LineLevel = _pl.Voltage; pspDev.LineType = _pl.LineType; pspDev.LineStatus = "运行"; Services.BaseService.Create<PSPDEV>(pspDev); } } } if (ele.LocalName == "use") { PSPDEV _dev = new PSPDEV(); _dev.EleID = ele.ID; _dev.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; _dev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", _dev); if (_dev == null) { substation _pl = new substation(); _pl.EleID = ele.ID; _pl.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; _pl = (substation)Services.BaseService.GetObject("SelectsubstationByEleID", _pl); if (_pl != null) { PSPDEV pspDev = new PSPDEV(); pspDev.SUID = Guid.NewGuid().ToString(); pspDev.EleID = ele.GetAttribute("id"); pspDev.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; pspDev.Number = -1; pspDev.FirstNode = -1; pspDev.LastNode = -1; pspDev.Type = "Use"; pspDev.Lable = "变电站"; pspDev.Name = _pl.EleName; pspDev.VoltR = Convert.ToDouble(_pl.ObligateField1); pspDev.Burthen = _pl.Number; Services.BaseService.Create<PSPDEV>(pspDev); } } } } PSPDEV pppp = new PSPDEV(); pppp.Type = "power"; pppp.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid; IList listpp = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", pppp); if (listpp == null || listpp.Count == 0) { if (MessageBox.Show("新建的潮流计算,需要设置基准值,是否立即设置??", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK) { PSPDEV pspDev2 = new PSPDEV(); //pspDev2.SUID = Guid.NewGuid().ToString(); pspDev2.Type = "Power"; pspDev2.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid; pspDev2 = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDAndType", pspDev2); if (pspDev2 != null) { } else { pspDev2 = new PSPDEV(); pspDev2.SUID = Guid.NewGuid().ToString(); pspDev2.Type = "Power"; pspDev2.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid; Services.BaseService.Create<PSPDEV>(pspDev2); } powerf pp = new powerf(pspDev2); if (pp.ShowDialog() == DialogResult.OK) { pspDev2.PowerFactor = Convert.ToDouble(pp.powerfactor); pspDev2.StandardVolt = Convert.ToDouble(pp.standardvolt); pspDev2.StandardCurrent = Convert.ToDouble(pp.standardcurrent); pspDev2.BigP = Convert.ToDouble(pp.bigP); Services.BaseService.Update<PSPDEV>(pspDev2); //PSPDEV voltall = new PSPDEV(); //voltall.Type = "Use"; //voltall.Lable = "电厂"; //voltall.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; //IList allvolt = Services.BaseService.GetList("SelectPSPDEVBySvgUIDandLableandType", voltall); //foreach (PSPDEV dev in allvolt) //{ // dev.OutP = Convert.ToDouble(dev.Burthen) * pspDev2.BigP; // //dev.InPutP=dev.Burthen*pspDev2.BigP; // dev.OutQ = dev.OutP * Math.Tan(Math.Acos(pspDev2.PowerFactor)); // Services.BaseService.Update<PSPDEV>(dev); //} //voltall.Lable = "变电站"; //allvolt = Services.BaseService.GetList("SelectPSPDEVBySvgUIDandLableandType", voltall); //foreach (PSPDEV dev in allvolt) //{ // dev.InPutP = Convert.ToDouble(dev.Burthen) * pspDev2.BigP; // //dev.InPutP=dev.Burthen*pspDev2.BigP; // dev.InPutQ = dev.InPutP * pspDev2.BigP * Math.Tan(Math.Acos(pspDev2.PowerFactor)); // Services.BaseService.Update<PSPDEV>(dev); //} } //powerf pf=new powerf() } } if (!Check()) { return; } NIULA pspniula = new NIULA(); pspniula.CurrentCal(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "牛拉法计算结果.xls")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "牛拉法计算结果.xls"); //OpenRead(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + ".xls"); } double yinzi = 0, capability = 0, volt = 0, current = 0, Rad_to_Deg = 57.29577951; PSPDEV benchmark = new PSPDEV(); benchmark.Type = "power"; benchmark.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid; IList list3 = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", benchmark); if (list3 == null) { MessageBox.Show("请设置基准后再进行计算!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } foreach (PSPDEV dev in list3) { yinzi = Convert.ToDouble(dev.PowerFactor); capability = Convert.ToDouble(dev.StandardCurrent); volt = Convert.ToDouble(dev.StandardVolt); if (dev.PowerFactor == 0) { yinzi = 1; } if (dev.StandardCurrent == 0) { capability = 1; } if (dev.StandardVolt == 0) { volt = 1; } current = capability / (Math.Sqrt(3) * volt); } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\PF1.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\PF1.txt", FileMode.Open); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); output += ("全网母线(发电、负荷)结果报表 " + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("母线名" + "," + "电压幅值" + "," + "电压相角" + "," + "有功发电" + "," + "无功发电" + "," + "有功负荷" + "," + "无功负荷" + "," + "越限标志" + "," + "过载标志" + "\r\n"); int count = 0; while (strLine != null && strLine != "") { array1 = strLine.Split(charSplit); string[] dev = new string[9]; dev.Initialize(); int i = 0; count++; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } CR.Number = Convert.ToInt32(dev[0]); CR.Type = "Use"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR); double vTemp = Convert.ToDouble(dev[1]) * volt; double vTemp1 = volt * 95 / 100; double vTemp2 = volt * 105 / 100; if (vTemp >= vTemp1 && vTemp <= vTemp2) { dev[5] = "0"; } else { dev[5] = "1"; } if (Convert.ToDouble(dev[3]) * capability > Convert.ToDouble(CR.Burthen)) { dev[6] = "1"; } else { dev[6] = "0"; } if (Convert.ToDouble(dev[3]) < 0) { output += CR.Name + "," + (Convert.ToDouble(dev[1]) * volt).ToString() + "," + (Convert.ToDouble(dev[2]) * Rad_to_Deg).ToString() + "," + "0" + "," + "0" + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + dev[5] + "," + dev[6] + "\r\n"; } else { output += CR.Name + "," + (Convert.ToDouble(dev[1]) * volt).ToString() + "," + (Convert.ToDouble(dev[2]) * Rad_to_Deg).ToString() + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + "0" + "," + "0" + "," + dev[5] + "," + dev[6] + "\r\n"; } strLine = readLine.ReadLine(); } PSPDEV ct = new PSPDEV(); ct.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; ct.Type = "Use"; IList cont = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", ct); if (count < cont.Count) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); readLine.Close(); return; } readLine.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\DH1.txt")) { } else { return; } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\IH1.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\DH1.txt", FileMode.Open); dh2 = new FileStream(System.Windows.Forms.Application.StartupPath + "\\IH1.txt", FileMode.Open); readLine2 = new StreamReader(dh2); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); strLine2 = readLine2.ReadLine(); output = null; output += ("全网交流线结果报表" + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("支路名称" + "," + "支路有功" + "," + "支路无功" + "," + "有功损耗" + "," + "无功损耗" + "," + "电流幅值" + "," + "电流相角" + "," + "越限标志" + "," + "\r\n"); while (strLine != null && strLine2 != null && strLine != "" && strLine2 != "") { array1 = strLine.Split(charSplit); array2 = strLine2.Split(charSplit2); string[] dev = new string[20]; dev.Initialize(); int i = 0; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (i == 0) { dev[i++] = str.ToString(); } else { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } } i = 7; for (int j = 3; j < 5; j++) { if (array2[j] != "") { if (array2[j] != "NaN") { dev[i++] = Convert.ToDouble(array2[j]).ToString(); } else { dev[i++] = array2[j]; } } } CR.Name = dev[0]; CR.Type = "Polyline"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", CR); if (CR != null) { if (Convert.ToDouble(dev[7]) * current * 1000 > CR.LineChange) { dev[11] = "1"; } else { dev[11] = "0"; } output += CR.Name + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + (Convert.ToDouble(dev[5]) * capability).ToString() + "," + (Convert.ToDouble(dev[6]) * capability).ToString() + "," + (Convert.ToDouble(dev[7]) * current).ToString() + "," + (Convert.ToDouble(dev[8]) * Rad_to_Deg).ToString() + "," + dev[11] + "," + "\r\n"; } else { CR = new PSPDEV(); CR.Name = dev[0]; CR.Type = "TransformLine"; CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", CR); if (CR != null) { if (Convert.ToDouble(dev[7]) * current * 1000 > CR.LineChange) { dev[11] = "1"; } else { dev[11] = "0"; } output += CR.Name + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + (Convert.ToDouble(dev[5]) * capability).ToString() + "," + (Convert.ToDouble(dev[6]) * capability).ToString() + "," + (Convert.ToDouble(dev[7]) * current).ToString() + "," + (Convert.ToDouble(dev[8]) * Rad_to_Deg).ToString() + "," + dev[11] + "," + "\r\n"; } } strLine = readLine.ReadLine(); strLine2 = readLine2.ReadLine(); } readLine.Close(); readLine2.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result1.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result1.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); ex = new Excel.Application(); ex.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result.csv"); xSheet = (Excel.Worksheet)ex.Worksheets[1]; ex.Worksheets.Add(System.Reflection.Missing.Value, xSheet, 1, System.Reflection.Missing.Value); result1 = new Excel.Application(); result1.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); tempSheet = (Excel.Worksheet)result1.Worksheets.get_Item(1); newWorksheet = (Excel.Worksheet)ex.Worksheets.get_Item(2); newWorksheet.Name = "线路电流"; xSheet.Name = "母线潮流"; ex.Visible = true; tempSheet.Cells.Select(); tempSheet.Cells.Copy(System.Reflection.Missing.Value); newWorksheet.Paste(System.Reflection.Missing.Value, System.Reflection.Missing.Value); xSheet.Rows.AutoFit(); xSheet.Columns.AutoFit(); newWorksheet.Rows.AutoFit(); newWorksheet.Columns.AutoFit(); xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 9]).MergeCells = true; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).Font.Size = 20; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).Font.Name = "黑体"; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; xSheet.get_Range(xSheet.Cells[5, 1], xSheet.Cells[5, 9]).Interior.ColorIndex = 45; xSheet.get_Range(xSheet.Cells[6, 1], xSheet.Cells[xSheet.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; xSheet.get_Range(xSheet.Cells[6, 2], xSheet.Cells[xSheet.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; xSheet.get_Range(xSheet.Cells[3, 1], xSheet.Cells[xSheet.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 9]).MergeCells = true; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).Font.Size = 20; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).Font.Name = "黑体"; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; newWorksheet.get_Range(newWorksheet.Cells[5, 1], newWorksheet.Cells[5, 8]).Interior.ColorIndex = 45; newWorksheet.get_Range(newWorksheet.Cells[6, 1], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; newWorksheet.get_Range(newWorksheet.Cells[6, 2], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; newWorksheet.get_Range(newWorksheet.Cells[3, 1], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; //op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\fck.excel"), FileMode.OpenOrCreate); //str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); string fn = tlVectorControl1.SVGDocument.FileName; //result1.Save(System.Windows.Forms.Application.StartupPath + "\\fck.xls"); newWorksheet.SaveAs(System.Windows.Forms.Application.StartupPath + "\\" + fn + "牛拉法计算结果.xls", Excel.XlFileFormat.xlXMLSpreadsheet, null, null, false, false, false, null, null, null); //str1.Write(); //op.Close(); System.Windows.Forms.Clipboard.Clear(); result1.Workbooks.Close(); result1.Quit(); } catch (System.Exception e1) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } //} break; case "mOpen": if (tlVectorControl1.IsModified == true) { DialogResult a; a = MessageBox.Show("图形已修改,是否保存?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information); if (a == DialogResult.Yes) { Save(); } else if (a == DialogResult.No) { } else if (a == DialogResult.Cancel) { return; } } Open(); break; case "btExSymbol": tlVectorControl1.ExportSymbol(); break; case "mjxt"://导入接线图 string _svguid = ConfigurationSettings.AppSettings.Get("SvgID"); frmYear f = new frmYear(); f.uid = _svguid; f.Show(); //ImportJxt jxt = new ImportJxt(tlVectorControl1); //jxt.Import(); break; case "mSave": SaveAllLayer(); break; case "mExit": this.Close(); break; case "bt1": //InitTK(); break; case "mFin": frmGProList p = new frmGProList(); p.Show(); p.LoadData(LoadData()); break; case "bt2": break; case "mPriSet": this.tlVectorControl1.Operation = ToolOperation.InterEnclosurePrint; break; case "mPrint": tlVectorControl1.Print(); break; case "mImport": ExportImage(); break; case "mView": //frmSvgView fView = new frmSvgView(); //fView.Open(tlVectorControl1.SVGDocument.CurrentLayer.ID); //fView.Show(); break; //case "mIncreaseView": // tlVectorControl1.Operation = ToolOperation.IncreaseView; // break; case "mRzb": frmRatio fRat = new frmRatio(); string viewRat = tlVectorControl1.SVGDocument.getRZBRatio(); if (viewRat != "") { fRat.InitData(viewRat); } if (fRat.ShowDialog() == DialogResult.OK) { viewRat = fRat.ViewScale; tlVectorControl1.SVGDocument.setRZBRatio(viewRat); } break; case "mAbout": frmAbout frma = new frmAbout(); frma.ShowDialog(); break; case "ButtonItem10": int temp411 = 10; frmConvert frmc = new frmConvert(); frmc.ShowDialog(); temp411++; break; //基础操作 case "mFreeTransform": tlVectorControl1.Operation = ToolOperation.FreeTransform; break; case "mCJ": tlVectorControl1.Operation = ToolOperation.PolyLine; csOperation = CustomOperation.OP_MeasureDistance; break; //case "ButtonItem2": // break; #endregion #region 基础图元 case "mDecreaseView": tlVectorControl1.Operation = ToolOperation.DecreaseView; break; case "mIncreaseView": tlVectorControl1.Operation = ToolOperation.IncreaseView; break; case "mRoam": tlVectorControl1.Operation = ToolOperation.Roam; break; case "mSelect": tlVectorControl1.Operation = ToolOperation.Select; break; case "mSel": tlVectorControl1.Operation = ToolOperation.FreeTransform; break; //case "mFreeTransform": // tlVectorControl1.Operation = ToolOperation.FreeTransform; // break; case "mFreeLines"://锁套 tlVectorControl1.Operation = ToolOperation.FreeLines; break; case "mFreePath": tlVectorControl1.Operation = ToolOperation.FreePath; break; case "mShapeTransform": tlVectorControl1.Operation = ToolOperation.ShapeTransform; break; case "mAngleRectangle": tlVectorControl1.Operation = ToolOperation.AngleRectangle; break; case "mEllipse": tlVectorControl1.Operation = ToolOperation.Ellipse; break; case "mLine": tlVectorControl1.Operation = ToolOperation.ConnectLine_Polyline; break; case "mPolyline": tlVectorControl1.Operation = ToolOperation.PolyLine; break; case "mConnectLine": tlVectorControl1.Operation = ToolOperation.ConnectLine; break; case "mPolygon": tlVectorControl1.Operation = ToolOperation.Polygon; break; case "mImage": tlVectorControl1.Operation = ToolOperation.Image; break; case "mText": tlVectorControl1.Operation = ToolOperation.Text; break; case "mBezier": tlVectorControl1.Operation = ToolOperation.Bezier; break; case "ButtonItem2": fileType = true; if (fileType == true) { LoadShape("symbol20.xml"); //jxtbar(1); } else { LoadShape("symbol21.xml"); //jxtbar(0); } tlVectorControl1.SVGDocument.CurrentLayer.ID = Guid.NewGuid().ToString(); SvgDocument.currentLayer = Layer.CreateNew("默认层", tlVectorControl1.SVGDocument).ID; tlVectorControl1.IsModified = false; frmElementName dlgnew2 = new frmElementName(); dlgnew2.TextInput = tlVectorControl1.SVGDocument.FileName; if (dlgnew2.ShowDialog() == DialogResult.OK) { tlVectorControl1.SVGDocument.FileName = dlgnew2.TextInput; Save(); } //NewFile(fileType); break; case "ButtonItem8": fileType = false; //NewFile(fileType); tlVectorControl1.NewFile(); if (fileType == true) { LoadShape("symbol20.xml"); //jxtbar(1); } else { LoadShape("symbol21.xml"); //jxtbar(0); } tlVectorControl1.SVGDocument.CurrentLayer.ID = Guid.NewGuid().ToString(); SvgDocument.currentLayer = Layer.CreateNew("默认层", tlVectorControl1.SVGDocument).ID; tlVectorControl1.IsModified = false; frmElementName dlgnew3 = new frmElementName(); dlgnew3.TextInput = tlVectorControl1.SVGDocument.FileName; if (dlgnew3.ShowDialog() == DialogResult.OK) { tlVectorControl1.SVGDocument.FileName = dlgnew3.TextInput; Save(); } break; case "mCheck": Check(); break; case "niula": //MessageBox.Show(Directory.GetCurrentDirectory()); //frmTLpsp el = new frmTLpsp(); PspNIULA(); //oThread = new Thread(new ThreadStart(el.PspNIULA)); //oThread.Start(); //try //{ // time = new System.Threading.Timer(new TimerCallback(method), null, 50000, 60000); //} //catch { } break; case "pq": //frmTLpsp e2 = new frmTLpsp(); PspPQ(); break; //case "ShortCut": // ShortCutCheck(); // break; case "GaussSeidel": PspGaussSeidel(); break; case "PowerLossCal": PspPowerLossCal(); break; case "N_RZYz": PspN_RZYz(); break; case "WebRela": //进行网络N-1检验 WebCalAndPrint(); break; case "TransRela": //进行变压器N-1检验 break; case "DuanluResult": //ShortCutCheck(); //PSPDEV pspDuanlu = new PSPDEV(); //pspDuanlu.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; //frmDuanlu dudu = new frmDuanlu(pspDuanlu); //PSPDEV Duanlu = new PSPDEV(); //Duanlu.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; //if (dudu.ShowDialog() == DialogResult.OK) //{ // Duanlu = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", Duanlu); // n4 = Convert.ToInt32(dudu.hscool); // if (Duanlu.Type == "Use") // { // n1 = Duanlu.Number; // n2 = Duanlu.Number; // string dlr=n1.ToString(); // if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\dlb.txt")) // { // File.Delete(System.Windows.Forms.Application.StartupPath+"\\dlb.txt"); // } // FileStream VK = new FileStream((System.Windows.Forms.Application.StartupPath+"\\data.txt"), FileMode.OpenOrCreate); // StreamWriter str11 = new StreamWriter(VK); // str11.Write(dlr); // str11.Close(); // n4 = 0; // } // if (Duanlu.Type == "Polyline") // { // n1 = Duanlu.FirstNode; // n2 = Duanlu.LastNode; // } // switch (dudu.DuanluType){ // case "单相接地": // n3 = 1; // break; // case "两相接地": // n3 = 3; // break; // case "两相故障": // n3 = 2; // break; // case "三相故障": // n3 = 0; // break; // default: // n3 = 1; // break; // } // duanlu.myshort(n1, n2, n3, n4); // } break; //case "DuanluResult": // il = 1; // break; case "dd": //SubPrint = true; tlVectorControl1.Operation = ToolOperation.InterEnclosurePrint; break; case "NiulaResult": try { //{ if (!Check()) { return; } NIULA pspniula = new NIULA(); pspniula.CurrentCal(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "牛拉法计算结果.xls")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "牛拉法计算结果.xls"); //OpenRead(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + ".xls"); } double yinzi = 0, capability = 0, volt = 0, current = 0, standvolt = 0, Rad_to_Deg = 57.29577951; PSPDEV benchmark = new PSPDEV(); benchmark.Type = "power"; benchmark.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid; IList list3 = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", benchmark); if (list3 == null) { MessageBox.Show("请设置基准后再进行计算!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } foreach (PSPDEV dev in list3) { yinzi = Convert.ToDouble(dev.PowerFactor); capability = Convert.ToDouble(dev.StandardCurrent); volt = Convert.ToDouble(dev.StandardVolt); if (dev.PowerFactor == 0) { yinzi = 1; } if (dev.StandardCurrent == 0) { capability = 1; } if (dev.StandardVolt == 0) { volt = 1; } standvolt = volt; current = capability / (Math.Sqrt(3) * volt); } capability = 100; if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\PF1.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\PF1.txt", FileMode.Open); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); output += ("全网母线(发电、负荷)结果报表 " + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("母线名" + "," + "电压幅值" + "," + "电压相角" + "," + "有功发电" + "," + "无功发电" + "," + "有功负荷" + "," + "无功负荷" + "," + "越限标志" + "," + "过载标志" + "\r\n"); int count = 0; while (strLine != null && strLine != "") { array1 = strLine.Split(charSplit); string[] dev = new string[9]; dev.Initialize(); int i = 0; count++; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } CR.Number = Convert.ToInt32(dev[0]); CR.Type = "Use"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR); if (CR.ReferenceVolt != null && CR.ReferenceVolt != 0) { volt = CR.ReferenceVolt; } else volt = standvolt; current = capability / (Math.Sqrt(3) * volt); double vTemp = Convert.ToDouble(dev[1]) * volt; double vTemp1 = volt * 95 / 100; double vTemp2 = volt * 105 / 100; if (vTemp >= vTemp1 && vTemp <= vTemp2) { dev[5] = "0"; } else { dev[5] = "1"; } if (Convert.ToDouble(dev[3]) * capability > Convert.ToDouble(CR.Burthen)) { dev[6] = "1"; } else { dev[6] = "0"; } if (Convert.ToDouble(dev[3]) < 0) { output += CR.Name + "," + (Convert.ToDouble(dev[1]) * volt).ToString() + "," + (Convert.ToDouble(dev[2]) * Rad_to_Deg).ToString() + "," + "0" + "," + "0" + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + dev[5] + "," + dev[6] + "\r\n"; } else { output += CR.Name + "," + (Convert.ToDouble(dev[1]) * volt).ToString() + "," + (Convert.ToDouble(dev[2]) * Rad_to_Deg).ToString() + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + "0" + "," + "0" + "," + dev[5] + "," + dev[6] + "\r\n"; } strLine = readLine.ReadLine(); } PSPDEV ct = new PSPDEV(); ct.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; ct.Type = "Use"; IList cont = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", ct); if (count < cont.Count) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); readLine.Close(); return; } readLine.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\DH1.txt")) { } else { return; } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\IH1.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\DH1.txt", FileMode.Open); dh2 = new FileStream(System.Windows.Forms.Application.StartupPath + "\\IH1.txt", FileMode.Open); readLine2 = new StreamReader(dh2); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); strLine2 = readLine2.ReadLine(); output = null; output += ("全网交流线结果报表" + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("支路名称" + "," + "支路有功" + "," + "支路无功" + "," + "有功损耗" + "," + "无功损耗" + "," + "电流幅值" + "," + "电流相角" + "," + "越限标志" + "," + "\r\n"); while (strLine != null && strLine2 != null && strLine != "" && strLine2 != "") { array1 = strLine.Split(charSplit); array2 = strLine2.Split(charSplit2); string[] dev = new string[20]; dev.Initialize(); int i = 0; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (i == 0) { dev[i++] = str.ToString(); } else { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } } i = 7; for (int j = 3; j < 5; j++) { if (array2[j] != "") { if (array2[j] != "NaN") { dev[i++] = Convert.ToDouble(array2[j]).ToString(); } else { dev[i++] = array2[j]; } } } CR.Name = dev[0]; CR.Type = "Polyline"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", CR); if (CR.ReferenceVolt != null && CR.ReferenceVolt != 0) { volt = CR.ReferenceVolt; } else volt = standvolt; current = capability / (Math.Sqrt(3) * volt); if (CR != null) { if (Convert.ToDouble(dev[7]) * current * 1000 > CR.LineChange) { dev[11] = "1"; } else { dev[11] = "0"; } output += CR.Name + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + (Convert.ToDouble(dev[5]) * capability).ToString() + "," + (Convert.ToDouble(dev[6]) * capability).ToString() + "," + (Convert.ToDouble(dev[7]) * current).ToString() + "," + (Convert.ToDouble(dev[8]) * Rad_to_Deg).ToString() + "," + dev[11] + "," + "\r\n"; } else { CR = new PSPDEV(); CR.Name = dev[0]; CR.Type = "TransformLine"; CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", CR); if (CR != null) { if (Convert.ToDouble(dev[7]) * current * 1000 > CR.LineChange) { dev[11] = "1"; } else { dev[11] = "0"; } output += CR.Name + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + (Convert.ToDouble(dev[5]) * capability).ToString() + "," + (Convert.ToDouble(dev[6]) * capability).ToString() + "," + (Convert.ToDouble(dev[7]) * current).ToString() + "," + (Convert.ToDouble(dev[8]) * Rad_to_Deg).ToString() + "," + dev[11] + "," + "\r\n"; } } strLine = readLine.ReadLine(); strLine2 = readLine2.ReadLine(); } readLine.Close(); readLine2.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result1.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result1.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); ex = new Excel.Application(); ex.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result.csv"); xSheet = (Excel.Worksheet)ex.Worksheets[1]; ex.Worksheets.Add(System.Reflection.Missing.Value, xSheet, 1, System.Reflection.Missing.Value); result1 = new Excel.Application(); result1.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); tempSheet = (Excel.Worksheet)result1.Worksheets.get_Item(1); newWorksheet = (Excel.Worksheet)ex.Worksheets.get_Item(2); newWorksheet.Name = "线路电流"; xSheet.Name = "母线潮流"; ex.Visible = true; tempSheet.Cells.Select(); tempSheet.Cells.Copy(System.Reflection.Missing.Value); newWorksheet.Paste(System.Reflection.Missing.Value, System.Reflection.Missing.Value); xSheet.Rows.AutoFit(); xSheet.Columns.AutoFit(); newWorksheet.Rows.AutoFit(); newWorksheet.Columns.AutoFit(); xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 9]).MergeCells = true; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).Font.Size = 20; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).Font.Name = "黑体"; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; xSheet.get_Range(xSheet.Cells[5, 1], xSheet.Cells[5, 9]).Interior.ColorIndex = 45; xSheet.get_Range(xSheet.Cells[6, 1], xSheet.Cells[xSheet.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; xSheet.get_Range(xSheet.Cells[6, 2], xSheet.Cells[xSheet.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; xSheet.get_Range(xSheet.Cells[3, 1], xSheet.Cells[xSheet.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 9]).MergeCells = true; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).Font.Size = 20; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).Font.Name = "黑体"; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; newWorksheet.get_Range(newWorksheet.Cells[5, 1], newWorksheet.Cells[5, 8]).Interior.ColorIndex = 45; newWorksheet.get_Range(newWorksheet.Cells[6, 1], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; newWorksheet.get_Range(newWorksheet.Cells[6, 2], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; newWorksheet.get_Range(newWorksheet.Cells[3, 1], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; //op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\fck.excel"), FileMode.OpenOrCreate); //str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); string fn = tlVectorControl1.SVGDocument.FileName; //result1.Save(System.Windows.Forms.Application.StartupPath + "\\fck.xls"); newWorksheet.SaveAs(System.Windows.Forms.Application.StartupPath + "\\" + fn + "牛拉法计算结果.xls", Excel.XlFileFormat.xlXMLSpreadsheet, null, null, false, false, false, null, null, null); //str1.Write(); //op.Close(); System.Windows.Forms.Clipboard.Clear(); result1.Workbooks.Close(); result1.Quit(); } catch (System.Exception e1) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } //} break; case "GaussSeidelResult": try { if (!Check()) { return; } Gauss pspgauss = new Gauss(); pspgauss.CurrentCal(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "高斯-赛德尔计算结果.xls")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "高斯-赛德尔计算结果.xls"); //OpenRead(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + ".xls"); } double yinzi = 0, capability = 0, volt = 0, current = 0, Rad_to_Deg = 57.29577951; PSPDEV benchmark = new PSPDEV(); benchmark.Type = "power"; benchmark.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid; IList list3 = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", benchmark); if (list3 == null) { MessageBox.Show("请设置基准后再进行计算!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } foreach (PSPDEV dev in list3) { yinzi = Convert.ToDouble(dev.PowerFactor); capability = Convert.ToDouble(dev.StandardCurrent); volt = Convert.ToDouble(dev.StandardVolt); if (dev.PowerFactor == 0) { yinzi = 1; } if (dev.StandardCurrent == 0) { capability = 1; } if (dev.StandardVolt == 0) { volt = 1; } current = capability / (Math.Sqrt(3) * volt); }; if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\PF3.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\PF3.txt", FileMode.Open); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); output += ("全网母线(发电、负荷)结果报表 " + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("母线名" + "," + "电压幅值" + "," + "电压相角" + "," + "有功发电" + "," + "无功发电" + "," + "有功负荷" + "," + "无功负荷" + "," + "越限标志" + "," + "过载标志" + "\r\n"); int count = 0; while (strLine != null && strLine != "") { array1 = strLine.Split(charSplit); string[] dev = new string[9]; dev.Initialize(); int i = 0; count++; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } CR.Number = Convert.ToInt32(dev[0]); CR.Type = "Use"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR); double vTemp = Convert.ToDouble(dev[1]) * volt; double vTemp1 = volt * 95 / 100; double vTemp2 = volt * 105 / 100; if (vTemp >= vTemp1 && vTemp <= vTemp2) { dev[5] = "0"; } else { dev[5] = "1"; } if (Convert.ToDouble(dev[3]) * capability > Convert.ToDouble(CR.Burthen)) { dev[6] = "1"; } else { dev[6] = "0"; } if (Convert.ToDouble(dev[3]) < 0) { output += CR.Name + "," + (Convert.ToDouble(dev[1]) * volt).ToString() + "," + (Convert.ToDouble(dev[2]) * Rad_to_Deg).ToString() + "," + "0" + "," + "0" + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + dev[5] + "," + dev[6] + "\r\n"; } else { output += CR.Name + "," + (Convert.ToDouble(dev[1]) * volt).ToString() + "," + (Convert.ToDouble(dev[2]) * Rad_to_Deg).ToString() + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + "0" + "," + "0" + "," + dev[5] + "," + dev[6] + "\r\n"; } strLine = readLine.ReadLine(); } PSPDEV ct = new PSPDEV(); ct.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; ct.Type = "Use"; IList cont = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", ct); if (count < cont.Count) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); readLine.Close(); return; } readLine.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\DH3.txt")) { } else { return; } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\IH3.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\DH3.txt", FileMode.Open); dh2 = new FileStream(System.Windows.Forms.Application.StartupPath + "\\IH3.txt", FileMode.Open); readLine2 = new StreamReader(dh2); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); strLine2 = readLine2.ReadLine(); output = null; output += ("全网交流线结果报表" + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("支路名称" + "," + "支路有功" + "," + "支路无功" + "," + "有功损耗" + "," + "无功损耗" + "," + "电流幅值" + "," + "电流相角" + "," + "越限标志" + "," + "\r\n"); while (strLine != null && strLine2 != null && strLine != "" && strLine2 != "") { array1 = strLine.Split(charSplit); array2 = strLine2.Split(charSplit2); string[] dev = new string[20]; dev.Initialize(); int i = 0; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (i == 0) { dev[i++] = str.ToString(); } else { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } } i = 7; for (int j = 3; j < 5; j++) { if (array2[j] != "") { if (array2[j] != "NaN") { dev[i++] = Convert.ToDouble(array2[j]).ToString(); } else { dev[i++] = array2[j]; } } } CR.Name = dev[0]; CR.Type = "Polyline"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", CR); if (CR != null) { if (Convert.ToDouble(dev[7]) * current * 1000 > CR.LineChange) { dev[11] = "1"; } else { dev[11] = "0"; } output += CR.Name + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + (Convert.ToDouble(dev[5]) * capability).ToString() + "," + (Convert.ToDouble(dev[6]) * capability).ToString() + "," + (Convert.ToDouble(dev[7]) * current).ToString() + "," + (Convert.ToDouble(dev[8]) * Rad_to_Deg).ToString() + "," + dev[11] + "," + "\r\n"; } else { CR = new PSPDEV(); CR.Name = dev[0]; CR.Type = "TransformLine"; CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", CR); if (CR != null) { if (Convert.ToDouble(dev[7]) * current * 1000 > CR.LineChange) { dev[11] = "1"; } else { dev[11] = "0"; } output += CR.Name + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + (Convert.ToDouble(dev[5]) * capability).ToString() + "," + (Convert.ToDouble(dev[6]) * capability).ToString() + "," + (Convert.ToDouble(dev[7]) * current).ToString() + "," + (Convert.ToDouble(dev[8]) * Rad_to_Deg).ToString() + "," + dev[11] + "," + "\r\n"; } } strLine = readLine.ReadLine(); strLine2 = readLine2.ReadLine(); } readLine.Close(); readLine2.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result1.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result1.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); ex = new Excel.Application(); ex.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result.csv"); xSheet = (Excel.Worksheet)ex.Worksheets[1]; ex.Worksheets.Add(System.Reflection.Missing.Value, xSheet, 1, System.Reflection.Missing.Value); result1 = new Excel.Application(); result1.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); tempSheet = (Excel.Worksheet)result1.Worksheets.get_Item(1); newWorksheet = (Excel.Worksheet)ex.Worksheets.get_Item(2); newWorksheet.Name = "线路电流"; xSheet.Name = "母线潮流"; ex.Visible = true; tempSheet.Cells.Select(); tempSheet.Cells.Copy(System.Reflection.Missing.Value); newWorksheet.Paste(System.Reflection.Missing.Value, System.Reflection.Missing.Value); xSheet.Rows.AutoFit(); xSheet.Columns.AutoFit(); newWorksheet.Rows.AutoFit(); newWorksheet.Columns.AutoFit(); xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 9]).MergeCells = true; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).Font.Size = 20; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).Font.Name = "黑体"; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; xSheet.get_Range(xSheet.Cells[5, 1], xSheet.Cells[5, 9]).Interior.ColorIndex = 45; xSheet.get_Range(xSheet.Cells[6, 1], xSheet.Cells[xSheet.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; xSheet.get_Range(xSheet.Cells[6, 2], xSheet.Cells[xSheet.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; xSheet.get_Range(xSheet.Cells[3, 1], xSheet.Cells[xSheet.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 9]).MergeCells = true; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).Font.Size = 20; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).Font.Name = "黑体"; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; newWorksheet.get_Range(newWorksheet.Cells[5, 1], newWorksheet.Cells[5, 8]).Interior.ColorIndex = 45; newWorksheet.get_Range(newWorksheet.Cells[6, 1], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; newWorksheet.get_Range(newWorksheet.Cells[6, 2], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; newWorksheet.get_Range(newWorksheet.Cells[3, 1], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; //op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\fck.excel"), FileMode.OpenOrCreate); //str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); string fn = tlVectorControl1.SVGDocument.FileName; //result1.Save(System.Windows.Forms.Application.StartupPath + "\\fck.xls"); newWorksheet.SaveAs(System.Windows.Forms.Application.StartupPath + "\\" + fn + "高斯-赛德尔计算结果.xls", Excel.XlFileFormat.xlXMLSpreadsheet, null, null, false, false, false, null, null, null); //str1.Write(); //op.Close(); System.Windows.Forms.Clipboard.Clear(); result1.Workbooks.Close(); result1.Quit(); } catch (System.Exception e1) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; case "N_RZYzResult": try { if (!Check()) { return; } ZYZ zyz = new ZYZ(); zyz.CurrentCal(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "最优乘子法计算结果.xls")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "最优乘子法计算结果.xls"); //OpenRead(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + ".xls"); } double yinzi = 0, capability = 0, volt = 0, current = 0, Rad_to_Deg = 57.29577951; PSPDEV benchmark = new PSPDEV(); benchmark.Type = "power"; benchmark.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid; IList list3 = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", benchmark); if (list3 == null) { MessageBox.Show("请设置基准后再进行计算!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } foreach (PSPDEV dev in list3) { yinzi = Convert.ToDouble(dev.PowerFactor); capability = Convert.ToDouble(dev.StandardCurrent); volt = Convert.ToDouble(dev.StandardVolt); if (dev.PowerFactor == 0) { yinzi = 1; } if (dev.StandardCurrent == 0) { capability = 1; } if (dev.StandardVolt == 0) { volt = 1; } current = capability / (Math.Sqrt(3) * volt); } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\PF4.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\PF4.txt", FileMode.Open); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); output += ("全网母线(发电、负荷)结果报表 " + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("母线名" + "," + "电压幅值" + "," + "电压相角" + "," + "有功发电" + "," + "无功发电" + "," + "有功负荷" + "," + "无功负荷" + "," + "越限标志" + "," + "过载标志" + "\r\n"); int count = 0; while (strLine != null && strLine != "") { array1 = strLine.Split(charSplit); string[] dev = new string[9]; dev.Initialize(); int i = 0; count++; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } CR.Number = Convert.ToInt32(dev[0]); CR.Type = "Use"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR); double vTemp = Convert.ToDouble(dev[1]) * volt; double vTemp1 = volt * 95 / 100; double vTemp2 = volt * 105 / 100; if (vTemp >= vTemp1 && vTemp <= vTemp2) { dev[5] = "0"; } else { dev[5] = "1"; } if (Convert.ToDouble(dev[3]) * capability > Convert.ToDouble(CR.Burthen)) { dev[6] = "1"; } else { dev[6] = "0"; } if (Convert.ToDouble(dev[3]) < 0) { output += CR.Name + "," + (Convert.ToDouble(dev[1]) * volt).ToString() + "," + (Convert.ToDouble(dev[2]) * Rad_to_Deg).ToString() + "," + "0" + "," + "0" + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + dev[5] + "," + dev[6] + "\r\n"; } else { output += CR.Name + "," + (Convert.ToDouble(dev[1]) * volt).ToString() + "," + (Convert.ToDouble(dev[2]) * Rad_to_Deg).ToString() + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + "0" + "," + "0" + "," + dev[5] + "," + dev[6] + "\r\n"; } strLine = readLine.ReadLine(); } PSPDEV ct = new PSPDEV(); ct.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; ct.Type = "Use"; IList cont = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", ct); if (count < cont.Count) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); readLine.Close(); return; } readLine.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\DH4.txt")) { } else { return; } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\IH4.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\DH4.txt", FileMode.Open); dh2 = new FileStream(System.Windows.Forms.Application.StartupPath + "\\IH4.txt", FileMode.Open); readLine2 = new StreamReader(dh2); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); strLine2 = readLine2.ReadLine(); output = null; output += ("全网交流线结果报表" + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("支路名称" + "," + "支路有功" + "," + "支路无功" + "," + "有功损耗" + "," + "无功损耗" + "," + "电流幅值" + "," + "电流相角" + "," + "越限标志" + "," + "\r\n"); while (strLine != null && strLine2 != null && strLine != "" && strLine2 != "") { array1 = strLine.Split(charSplit); array2 = strLine2.Split(charSplit2); string[] dev = new string[20]; dev.Initialize(); int i = 0; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (i == 0) { dev[i++] = str.ToString(); } else { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } } i = 7; for (int j = 3; j < 5; j++) { if (array2[j] != "") { if (array2[j] != "NaN") { dev[i++] = Convert.ToDouble(array2[j]).ToString(); } else { dev[i++] = array2[j]; } } } CR.Name = dev[0]; CR.Type = "Polyline"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", CR); if (CR != null) { if (Convert.ToDouble(dev[7]) * current * 1000 > CR.LineChange) { dev[11] = "1"; } else { dev[11] = "0"; } output += CR.Name + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + (Convert.ToDouble(dev[5]) * capability).ToString() + "," + (Convert.ToDouble(dev[6]) * capability).ToString() + "," + (Convert.ToDouble(dev[7]) * current).ToString() + "," + (Convert.ToDouble(dev[8]) * Rad_to_Deg).ToString() + "," + dev[11] + "," + "\r\n"; } else { CR = new PSPDEV(); CR.Name = dev[0]; CR.Type = "TransformLine"; CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", CR); if (CR != null) { if (Convert.ToDouble(dev[7]) * current * 1000 > CR.LineChange) { dev[11] = "1"; } else { dev[11] = "0"; } output += CR.Name + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + (Convert.ToDouble(dev[5]) * capability).ToString() + "," + (Convert.ToDouble(dev[6]) * capability).ToString() + "," + (Convert.ToDouble(dev[7]) * current).ToString() + "," + (Convert.ToDouble(dev[8]) * Rad_to_Deg).ToString() + "," + dev[11] + "," + "\r\n"; } } strLine = readLine.ReadLine(); strLine2 = readLine2.ReadLine(); } readLine.Close(); readLine2.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result1.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result1.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); ex = new Excel.Application(); ex.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result.csv"); xSheet = (Excel.Worksheet)ex.Worksheets[1]; ex.Worksheets.Add(System.Reflection.Missing.Value, xSheet, 1, System.Reflection.Missing.Value); result1 = new Excel.Application(); result1.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); tempSheet = (Excel.Worksheet)result1.Worksheets.get_Item(1); newWorksheet = (Excel.Worksheet)ex.Worksheets.get_Item(2); newWorksheet.Name = "线路电流"; xSheet.Name = "母线潮流"; ex.Visible = true; tempSheet.Cells.Select(); tempSheet.Cells.Copy(System.Reflection.Missing.Value); newWorksheet.Paste(System.Reflection.Missing.Value, System.Reflection.Missing.Value); xSheet.Rows.AutoFit(); xSheet.Columns.AutoFit(); newWorksheet.Rows.AutoFit(); newWorksheet.Columns.AutoFit(); xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 9]).MergeCells = true; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).Font.Size = 20; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).Font.Name = "黑体"; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; xSheet.get_Range(xSheet.Cells[5, 1], xSheet.Cells[5, 9]).Interior.ColorIndex = 45; xSheet.get_Range(xSheet.Cells[6, 1], xSheet.Cells[xSheet.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; xSheet.get_Range(xSheet.Cells[6, 2], xSheet.Cells[xSheet.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; xSheet.get_Range(xSheet.Cells[3, 1], xSheet.Cells[xSheet.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 9]).MergeCells = true; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).Font.Size = 20; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).Font.Name = "黑体"; newWorksheet.get_Range(newWorksheet.Cells[1, 1], newWorksheet.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; newWorksheet.get_Range(newWorksheet.Cells[5, 1], newWorksheet.Cells[5, 8]).Interior.ColorIndex = 45; newWorksheet.get_Range(newWorksheet.Cells[6, 1], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; newWorksheet.get_Range(newWorksheet.Cells[6, 2], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; newWorksheet.get_Range(newWorksheet.Cells[3, 1], newWorksheet.Cells[newWorksheet.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; //op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\fck.excel"), FileMode.OpenOrCreate); //str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); string fn = tlVectorControl1.SVGDocument.FileName; //result1.Save(System.Windows.Forms.Application.StartupPath + "\\fck.xls"); newWorksheet.SaveAs(System.Windows.Forms.Application.StartupPath + "\\" + fn + "最优乘子法计算结果.xls", Excel.XlFileFormat.xlXMLSpreadsheet, null, null, false, false, false, null, null, null); //str1.Write(); //op.Close(); System.Windows.Forms.Clipboard.Clear(); result1.Workbooks.Close(); result1.Quit(); } catch (System.Exception e1) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; case "VoltEvaluation": PspVoltEvaluation(); break; case "PowerLoss": try { PSPDEV _dev = new PSPDEV(); _dev.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; _dev.Type = "Polyline"; IList list = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", _dev); for (int i = 0; i < list.Count; i++) { PSPDEV _pp = (PSPDEV)list[i]; if (_pp.BigP == 0) { MessageBox.Show("请设置线路" + _pp.Name + "的建设投资。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\DH1.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\DH1.txt", FileMode.Open); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); output = null; output += ("全网交流线结果报表" + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("支路名称" + "," + "支路有功" + "," + "支路无功" + "," + "有功损耗" + "," + "无功损耗" + "\r\n"); while (strLine != null) { array1 = strLine.Split(charSplit); string[] dev = new string[9]; dev.Initialize(); int i = 0; PSPDEV CR = new PSPDEV(); } } catch (System.Exception e1) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; case "ZLPResult1": if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\DH1.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\DH1.txt", FileMode.Open); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); output = null; output += ("全网交流线结果报表" + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("支路名称" + "," + "支路有功" + "," + "支路无功" + "," + "有功损耗" + "," + "无功损耗" + "\r\n"); while (strLine != null) { array1 = strLine.Split(charSplit); string[] dev = new string[9]; dev.Initialize(); int i = 0; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } CR.Number = Convert.ToInt32(dev[0]); CR.Type = "Polyline"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR); output += CR.Name + "," + dev[3] + "," + dev[4] + "," + dev[5] + "," + dev[6] + "\r\n"; strLine = readLine.ReadLine(); } readLine.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); ex = new Excel.Application(); ex.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result.csv"); ex.Visible = true; break; case "ZLAResult1": if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\IH1.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\IH1.txt", FileMode.Open); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); output = null; output += ("支路名称" + "," + "电流幅值" + "," + "电流相角" + "," + "越限标志" + "\r\n"); while (strLine != null) { array1 = strLine.Split(charSplit); string[] dev = new string[9]; dev.Initialize(); int i = 0; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } CR.Number = Convert.ToInt32(dev[0]); CR.Type = "Polyline"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR); output += CR.Name + "," + dev[3] + "," + dev[4] + "," + dev[5] + "\r\n"; strLine = readLine.ReadLine(); } readLine.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); ex = new Excel.Application(); ex.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result.csv"); ex.Visible = true; break; case "PQResult": try { if (!CheckPQ()) { return; } PQ_PowerFlowCalClass pq = new PQ_PowerFlowCalClass(); pq.CurrentCal(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "PQ法计算结果.xls")) { //System.Diagnostics.Process.Start(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "PQ法计算结果.xls"); File.Delete(System.Windows.Forms.Application.StartupPath + "\\" + tlVectorControl1.SVGDocument.FileName + "PQ法计算结果.xls"); } double yinzi = 0, capability = 0, volt = 0, current = 0, Rad_to_Deg = 57.29577951; PSPDEV benchmark = new PSPDEV(); benchmark.Type = "power"; benchmark.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid; IList list3 = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", benchmark); if (list3 == null) { MessageBox.Show("请设置基准后再进行计算!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } foreach (PSPDEV dev in list3) { yinzi = Convert.ToDouble(dev.PowerFactor); capability = Convert.ToDouble(dev.StandardCurrent); volt = Convert.ToDouble(dev.StandardVolt); if (dev.PowerFactor == 0) { yinzi = 1; } if (dev.StandardCurrent == 0) { capability = 1; } if (dev.StandardVolt == 0) { volt = 1; } current = capability / (Math.Sqrt(3) * volt); } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\PF2.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\PF2.txt", FileMode.Open); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); output = null; int count = 0; output += ("全网母线(发电、负荷)结果报表 " + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("母线名" + "," + "电压幅值" + "," + "电压相角" + "," + "有功发电" + "," + "无功发电" + "," + "有功负荷" + "," + "无功负荷" + "," + "越限标志" + "," + "过载标志" + "\r\n"); while (strLine != null && strLine != "") { array1 = strLine.Split(charSplit); string[] dev = new string[9]; dev.Initialize(); int i = 0; count++; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } CR.Number = Convert.ToInt32(dev[0]); CR.Type = "Use"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR); double vTemp = Convert.ToDouble(dev[1]) * volt; double vTemp1 = volt * 95 / 100; double vTemp2 = volt * 105 / 100; if (vTemp >= vTemp1 && vTemp <= vTemp2) { dev[5] = "0"; } else { dev[5] = "1"; } if (Convert.ToDouble(dev[3]) * capability > Convert.ToDouble(CR.Burthen)) { dev[6] = "1"; } else { dev[6] = "0"; } if (Convert.ToDouble(dev[3]) < 0) { output += CR.Name + "," + (Convert.ToDouble(dev[1]) * volt).ToString() + "," + (Convert.ToDouble(dev[2])).ToString() + "," + "0" + "," + "0" + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + dev[5] + "," + dev[6] + "\r\n"; } else { output += CR.Name + "," + (Convert.ToDouble(dev[1]) * volt).ToString() + "," + (Convert.ToDouble(dev[2])).ToString() + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + "0" + "," + "0" + "," + dev[5] + "," + dev[6] + "\r\n"; } strLine = readLine.ReadLine(); } PSPDEV ct = new PSPDEV(); ct.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; ct.Type = "Use"; IList cont = Services.BaseService.GetList("SelectPSPDEVBySvgUIDAndType", ct); if (count < cont.Count) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); readLine.Close(); return; } readLine.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\DH2.txt")) { } else { return; } if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\IH2.txt")) { } else { return; } dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\DH2.txt", FileMode.Open); dh2 = new FileStream(System.Windows.Forms.Application.StartupPath + "\\IH2.txt", FileMode.Open); readLine2 = new StreamReader(dh2); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); charSplit2 = new char[] { ' ' }; strLine2 = readLine2.ReadLine(); output = null; output += ("全网交流线结果报表" + "\r\n" + "\r\n"); output += ("单位:kA\\kV\\MW\\Mvar" + "\r\n" + "\r\n"); output += ("支路名称" + "," + "支路有功" + "," + "支路无功" + "," + "有功损耗" + "," + "无功损耗" + "," + "电流幅值" + "," + "电流相角" + "," + "越限标志" + "," + "\r\n"); while (strLine != null && strLine2 != null && strLine != "" && strLine2 != "") { array1 = strLine.Split(charSplit); array2 = strLine2.Split(charSplit2); string[] dev = new string[20]; dev.Initialize(); int i = 0; PSPDEV CR = new PSPDEV(); CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (i == 0) { dev[i++] = str.ToString(); } else { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } } i = 7; for (int j = 3; j < 5; j++) { if (array2[j] != "") { if (array2[j] != "NaN") { dev[i++] = Convert.ToDouble(array2[j]).ToString(); } else { dev[i++] = array2[j]; } } } CR.Name = dev[0]; CR.Type = "Polyline"; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", CR); if (CR != null) { if (Convert.ToDouble(dev[7]) * current * 1000 > CR.LineChange) { dev[11] = "1"; } else { dev[11] = "0"; } output += CR.Name + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + (Convert.ToDouble(dev[5]) * capability).ToString() + "," + (Convert.ToDouble(dev[6]) * capability).ToString() + "," + (Convert.ToDouble(dev[7]) * current).ToString() + "," + (Convert.ToDouble(dev[8]) * Rad_to_Deg).ToString() + "," + dev[11] + "," + "\r\n"; } else { CR = new PSPDEV(); CR.Name = dev[0]; CR.Type = "TransformLine"; CR.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; CR = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByName", CR); if (CR != null) { if (Convert.ToDouble(dev[7]) * current * 1000 > CR.LineChange) { dev[11] = "1"; } else { dev[11] = "0"; } output += CR.Name + "," + (Convert.ToDouble(dev[3]) * capability).ToString() + "," + (Convert.ToDouble(dev[4]) * capability).ToString() + "," + (Convert.ToDouble(dev[5]) * capability).ToString() + "," + (Convert.ToDouble(dev[6]) * capability).ToString() + "," + (Convert.ToDouble(dev[7]) * current).ToString() + "," + (Convert.ToDouble(dev[8]) * Rad_to_Deg).ToString() + "," + dev[11] + "," + "\r\n"; } } strLine = readLine.ReadLine(); strLine2 = readLine2.ReadLine(); } readLine.Close(); readLine2.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result1.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result1.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); Excel.Application ex2 = new Excel.Application(); ex2.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result.csv"); Excel.Worksheet xSheet2 = (Excel.Worksheet)ex2.Worksheets[1]; ex2.Worksheets.Add(System.Reflection.Missing.Value, xSheet2, 1, System.Reflection.Missing.Value); Excel.Application result11 = new Excel.Application(); result11.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); Excel.Application result12 = new Excel.Application(); Excel.Worksheet tempSheet11 = (Excel.Worksheet)result11.Worksheets.get_Item(1); Excel.Worksheet newWorksheet11 = (Excel.Worksheet)ex2.Worksheets.get_Item(2); newWorksheet11.Name = "线路电流"; xSheet2.Name = "母线潮流"; ex2.Visible = true; tempSheet11.Cells.Select(); tempSheet11.Cells.Copy(System.Reflection.Missing.Value); newWorksheet11.Paste(System.Reflection.Missing.Value, System.Reflection.Missing.Value); xSheet2.Rows.AutoFit(); xSheet2.Columns.AutoFit(); newWorksheet11.Rows.AutoFit(); newWorksheet11.Columns.AutoFit(); xSheet2.get_Range(xSheet2.Cells[1, 1], xSheet2.Cells[1, 9]).MergeCells = true; xSheet2.get_Range(xSheet2.Cells[1, 1], xSheet2.Cells[1, 1]).Font.Size = 20; xSheet2.get_Range(xSheet2.Cells[1, 1], xSheet2.Cells[1, 1]).Font.Name = "黑体"; xSheet2.get_Range(xSheet2.Cells[1, 1], xSheet2.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; xSheet2.get_Range(xSheet2.Cells[5, 1], xSheet2.Cells[5, 9]).Interior.ColorIndex = 45; xSheet2.get_Range(xSheet2.Cells[6, 1], xSheet2.Cells[xSheet2.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; xSheet2.get_Range(xSheet2.Cells[6, 2], xSheet2.Cells[xSheet2.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; xSheet2.get_Range(xSheet2.Cells[3, 1], xSheet2.Cells[xSheet2.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; newWorksheet11.get_Range(newWorksheet11.Cells[1, 1], newWorksheet11.Cells[1, 9]).MergeCells = true; newWorksheet11.get_Range(newWorksheet11.Cells[1, 1], newWorksheet11.Cells[1, 1]).Font.Size = 20; newWorksheet11.get_Range(newWorksheet11.Cells[1, 1], newWorksheet11.Cells[1, 1]).Font.Name = "黑体"; newWorksheet11.get_Range(newWorksheet11.Cells[1, 1], newWorksheet11.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; newWorksheet11.get_Range(newWorksheet11.Cells[5, 1], newWorksheet11.Cells[5, 8]).Interior.ColorIndex = 45; newWorksheet11.get_Range(newWorksheet11.Cells[6, 1], newWorksheet11.Cells[newWorksheet11.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; newWorksheet11.get_Range(newWorksheet11.Cells[6, 2], newWorksheet11.Cells[newWorksheet11.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; newWorksheet11.get_Range(newWorksheet11.Cells[3, 1], newWorksheet11.Cells[newWorksheet11.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; string fn = tlVectorControl1.SVGDocument.FileName; //result1.Save(System.Windows.Forms.Application.StartupPath + "\\fck.xls"); newWorksheet11.SaveAs(System.Windows.Forms.Application.StartupPath + "\\" + fn + "PQ法计算结果.xls", Excel.XlFileFormat.xlXMLSpreadsheet, null, null, false, false, false, null, null, null); System.Windows.Forms.Clipboard.Clear(); result11.Workbooks.Close(); result11.Quit(); } catch (System.Exception e3) { MessageBox.Show("请进行潮流计算后再查看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; case "mDLR": if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result.txt")) { } else { return; } int ij = 1; dh = new FileStream(System.Windows.Forms.Application.StartupPath + "\\result.txt", FileMode.Open); readLine = new StreamReader(dh); charSplit = new char[] { ' ' }; strLine = readLine.ReadLine(); output = null; FileStream dh5 = new FileStream(System.Windows.Forms.Application.StartupPath + "\\dlb.txt", FileMode.Open); StreamReader readLine5 = new StreamReader(dh5); string strLine5; string[] array5; char[] charSplit5 = new char[] { ' ' }; strLine5 = readLine5.ReadLine(); array5 = strLine5.Split(charSplit5); output += ("全网短路计算结果报表" + "\r\n" + "\r\n"); PSPDEV CR235 = new PSPDEV(); CR235.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; CR235.Number = Convert.ToInt32(array5[0]); CR235.Type = array5[1]; double ibb = 0; double temp11 = 0; CR235 = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR235); if (CR235 == null) { MessageBox.Show("错误!当前图元与结果报表不符!"); readLine.Close(); readLine5.Close(); return; } output += ("短路点" + ":" + " " + CR235.Name + " " + "故障类型" + ":" + " " + array5[2] + "\r\n" + "\r\n"); output += ("名称" + "," + "零序电流" + "," + "正序电流" + "," + "负序电流" + "," + "A相电流" + "," + "B相电流" + "," + "C相电流" + "," + "短路电流" + "," + "短路容量" + "," + "\r\n"); while (strLine != null) { array1 = strLine.Split(charSplit); string[] dev = new string[9]; dev.Initialize(); int i = 0; PSPDEV CR2 = new PSPDEV(); CR2.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; foreach (string str in array1) { if (str != "") { if (str != "NaN") { dev[i++] = Convert.ToDouble(str).ToString(); } else { dev[i++] = str; } } } //CR2.Number = Convert.ToInt32(dev[2]); //CR2.Type = "Use"; //CR2 = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR2); CR2.Number = Convert.ToInt32(array5[0]); CR2.Type = array5[1]; string nodeName = CR2.Name; CR2 = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR2); int vr = Convert.ToInt32(CR2.VoltR); switch (vr) { case 220: { ibb = 251.03; for (int j = 3; j < 9; j++) { temp11 = Convert.ToDouble(dev[j]) * ibb * 0.001; dev[j] = temp11.ToString(); } ibb = Convert.ToDouble(dev[4]) * 3; temp11 = 1.732 * ibb * 230; } break; case 500: { ibb = 104.98; for (int j = 3; j < 9; j++) { temp11 = Convert.ToDouble(dev[j]) * ibb * 0.001; dev[j] = temp11.ToString(); } ibb = Convert.ToDouble(dev[4]) * 3; temp11 = 1.732 * ibb * 550; } break; default: { } break; } if (ij == 1) { output += CR2.Name + "," + dev[3] + "," + dev[4] + "," + dev[5] + "," + dev[6] + "," + dev[7] + "," + dev[8] + "," + ibb.ToString() + "," + temp11.ToString() + "," + "\r\n"; } else { CR2.Number = Convert.ToInt32(dev[2]); CR2.Type = "Polyline"; CR2 = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVByNumberAndSvgUIDAndType", CR2); //output += CR2.Name + "," + dev[3] + "," + dev[4] + "," + dev[5] + "," + dev[6] + "," + dev[7] + "," + dev[8] + "\r\n"; if (CR2 != null) { output += CR2.Name + "," + dev[3] + "," + dev[4] + "," + dev[5] + "," + dev[6] + "," + dev[7] + "," + dev[8] + "\r\n"; } else if (dev[2] == "500") { output += nodeName + "故障生成线路" + "," + dev[3] + "," + dev[4] + "," + dev[5] + "," + dev[6] + "," + dev[7] + "," + dev[8] + "\r\n"; } } ij = 0; strLine = readLine.ReadLine(); } readLine.Close(); readLine5.Close(); if (File.Exists(System.Windows.Forms.Application.StartupPath + "\\result.csv")) { File.Delete(System.Windows.Forms.Application.StartupPath + "\\result.csv"); } op = new FileStream((System.Windows.Forms.Application.StartupPath + "\\result.csv"), FileMode.OpenOrCreate); str1 = new StreamWriter(op, Encoding.GetEncoding("GB2312")); str1.Write(output); str1.Close(); ex = new Excel.Application(); ex.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result.csv"); //ex.Visible = true; //Excel.Application ex = new Excel.Application(); ex.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result.csv"); xSheet = (Excel.Worksheet)ex.Worksheets[1]; //ex.Worksheets.Add(System.Reflection.Missing.Value, xSheet, 1, System.Reflection.Missing.Value); //result1 = new Excel.Application(); //result1.Application.Workbooks.Add(System.Windows.Forms.Application.StartupPath + "\\result1.csv"); //tempSheet = (Excel.Worksheet)result1.Worksheets.get_Item(1); //Excel.Worksheet newWorksheet = (Excel.Worksheet)ex.Worksheets.get_Item(2); //newWorksheet.Name = "线路电流"; xSheet.Name = "短路计算"; //tempSheet.Cells.Select(); //tempSheet.Cells.Copy(System.Reflection.Missing.Value); //newWorksheet.Paste(System.Reflection.Missing.Value, System.Reflection.Missing.Value); xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 9]).MergeCells = true; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).Font.Size = 20; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).Font.Name = "黑体"; xSheet.get_Range(xSheet.Cells[1, 1], xSheet.Cells[1, 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; xSheet.get_Range(xSheet.Cells[3, 1], xSheet.Cells[3, 1]).Font.Name = "楷体_GB2312"; xSheet.get_Range(xSheet.Cells[5, 1], xSheet.Cells[5, 9]).Interior.ColorIndex = 45; xSheet.get_Range(xSheet.Cells[6, 1], xSheet.Cells[xSheet.UsedRange.Rows.Count, 1]).Interior.ColorIndex = 6; xSheet.get_Range(xSheet.Cells[8, 2], xSheet.Cells[xSheet.UsedRange.Rows.Count, 9]).NumberFormat = "0.0000_ "; xSheet.get_Range(xSheet.Cells[5, 1], xSheet.Cells[xSheet.UsedRange.Rows.Count, 9]).Font.Name = "楷体_GB2312"; System.Windows.Forms.Clipboard.Clear(); //result1.Workbooks.Close(); //result1.Quit(); ex.Visible = true; break; case "mEnclosure": tlVectorControl1.Operation = ToolOperation.Enclosure; break; case "mGroup": tlVectorControl1.Group(); break; case "mUnGroup": tlVectorControl1.UnGroup(); break; case "mlinelx": tlVectorControl1.Operation = ToolOperation.ConnectLine_Line; break; case "mzxlx": tlVectorControl1.Operation = ToolOperation.ConnectLine_Rightangle; break; case "mqxlx": tlVectorControl1.Operation = ToolOperation.ConnectLine_Spline; break; case "mqzlx": tlVectorControl1.Operation = ToolOperation.ConnectLine_Polyline; break; case "mCJ1": tlVectorControl1.Operation = ToolOperation.PolyLine; csOperation = CustomOperation.OP_MeasureDistance; break; case "powerFactor": PSPDEV pspDev21 = new PSPDEV(); //pspDev2.SUID = Guid.NewGuid().ToString(); pspDev21.Type = "Power"; pspDev21.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid; pspDev21 = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDAndType", pspDev21); if (pspDev21 != null) { } else { pspDev21 = new PSPDEV(); pspDev21.SUID = Guid.NewGuid().ToString(); pspDev21.Type = "Power"; pspDev21.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid; Services.BaseService.Create<PSPDEV>(pspDev21); } powerf ppz = new powerf(pspDev21); if (ppz.ShowDialog() == DialogResult.OK) { pspDev21.PowerFactor = Convert.ToDouble(ppz.powerfactor); pspDev21.StandardVolt = Convert.ToDouble(ppz.standardvolt); pspDev21.StandardCurrent = Convert.ToDouble(ppz.standardcurrent); pspDev21.BigP = Convert.ToDouble(ppz.bigP); Services.BaseService.Update<PSPDEV>(pspDev21); PSPDEV voltall = new PSPDEV(); voltall.Type = "Use"; voltall.Lable = "电厂"; voltall.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; IList allvolt = Services.BaseService.GetList("SelectPSPDEVBySvgUIDandLableandType", voltall); foreach (PSPDEV dev in allvolt) { dev.OutP = Convert.ToDouble(dev.Burthen) * pspDev21.BigP; //dev.InPutP=dev.Burthen*pspDev2.BigP; dev.OutQ = dev.OutP * Math.Tan(Math.Acos(pspDev21.PowerFactor)); Services.BaseService.Update<PSPDEV>(dev); } voltall.Lable = "变电站"; allvolt = Services.BaseService.GetList("SelectPSPDEVBySvgUIDandLableandType", voltall); foreach (PSPDEV dev in allvolt) { dev.InPutP = Convert.ToDouble(dev.Burthen) * pspDev21.BigP; //dev.InPutP=dev.Burthen*pspDev2.BigP; dev.InPutQ = dev.InPutP * pspDev21.BigP * Math.Tan(Math.Acos(pspDev21.PowerFactor)); Services.BaseService.Update<PSPDEV>(dev); } } break; //if (=null) //{ #endregion #region 视图 case "mLayer": frmlar.Show(); break; case "mOption": tlVectorControl1.SetOption(); break; case "mAirscape": frmAirscape fAir = new frmAirscape(); fAir.InitData(tlVectorControl1); fAir.Owner = this; fAir.ShowInTaskbar = false; fAir.Top = Screen.PrimaryScreen.WorkingArea.Height - 250; fAir.Left = Screen.PrimaryScreen.WorkingArea.Width - 300; fAir.Show(); break; case "btTL": frmGlebeTypeList fgle = new frmGlebeTypeList(); fgle.Show(); break; #endregion #region 布局,对齐,顺序 case "mRotate": if (btItem.Tag is ButtonItem) { btItem = btItem.Tag as ButtonItem; tlVectorControl1.FlipX(); } else { tlVectorControl1.FlipX(); } break; case "mToH": tlVectorControl1.FlipX(); //this.rotateButton.Tag = btItem; //this.rotateButton.ImageIndex = btItem.ImageIndex; break; case "mToV": tlVectorControl1.FlipY(); //this.rotateButton.Tag = btItem; //this.rotateButton.ImageIndex = btItem.ImageIndex; break; case "mToLeft": tlVectorControl1.RotateSelection(-90f); ////this.rotateButton.Tag = btItem; ////this.rotateButton.ImageIndex = btItem.ImageIndex; break; case "mToRight": tlVectorControl1.RotateSelection(90f); //this.rotateButton.Tag = btItem; //this.rotateButton.ImageIndex = btItem.ImageIndex; break; case "mAlign": if (btItem.Tag is ButtonItem) { btItem = btItem.Tag as ButtonItem; tlVectorControl1.Align(AlignType.Left); } else { tlVectorControl1.Align(AlignType.Left); } tlVectorControl1.Refresh(); break; case "mAlignLeft": tlVectorControl1.Align(AlignType.Left); this.alignButton.ImageIndex = btItem.ImageIndex; this.alignButton.Tag = btItem; tlVectorControl1.Refresh(); break; case "mAlignRight": tlVectorControl1.Align(AlignType.Right); this.alignButton.ImageIndex = btItem.ImageIndex; this.alignButton.Tag = btItem; tlVectorControl1.Refresh(); break; case "mAlignTop": tlVectorControl1.Align(AlignType.Top); this.alignButton.ImageIndex = btItem.ImageIndex; this.alignButton.Tag = btItem; tlVectorControl1.Refresh(); break; case "mAlignBottom": tlVectorControl1.Align(AlignType.Bottom); this.alignButton.ImageIndex = btItem.ImageIndex; this.alignButton.Tag = btItem; tlVectorControl1.Refresh(); break; case "mAlignHorizontalCenter": tlVectorControl1.Align(AlignType.HorizontalCenter); this.alignButton.ImageIndex = btItem.ImageIndex; this.alignButton.Tag = btItem; tlVectorControl1.Refresh(); break; case "mAlignVerticalCenter": tlVectorControl1.Align(AlignType.VerticalCenter); this.alignButton.ImageIndex = btItem.ImageIndex; this.alignButton.Tag = btItem; tlVectorControl1.Refresh(); break; case "mOrder": if (btItem.Tag is ButtonItem) { btItem = btItem.Tag as ButtonItem; tlVectorControl1.ChangeLevel(LevelType.Top); } else { tlVectorControl1.ChangeLevel(LevelType.Top); } break; case "mGoTop": tlVectorControl1.ChangeLevel(LevelType.Top); this.orderButton.Tag = btItem; this.orderButton.ImageIndex = btItem.ImageIndex; break; case "mGoUp": tlVectorControl1.ChangeLevel(LevelType.Up); this.orderButton.Tag = btItem; this.orderButton.ImageIndex = btItem.ImageIndex; break; case "mGoDown": tlVectorControl1.ChangeLevel(LevelType.Down); this.orderButton.Tag = btItem; this.orderButton.ImageIndex = btItem.ImageIndex; break; case "mGoBottom": tlVectorControl1.ChangeLevel(LevelType.Bottom); this.orderButton.Tag = btItem; this.orderButton.ImageIndex = btItem.ImageIndex; break; #endregion #region 图元操作 case "mCopy": tlVectorControl1.Copy(); break; case "mCut": tlVectorControl1.Cut(); break; case "mPaste": tlVectorControl1.Paste(); break; case "mDelete": if (tlVectorControl1.SVGDocument.CurrentElement is SVG) { } else { if (MessageBox.Show("确定要删除么?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { SvgElementCollection collection = tlVectorControl1.SVGDocument.SelectCollection; foreach (XmlElement element in collection) { PSPDEV pspDev = new PSPDEV(); pspDev.EleID = element.GetAttribute("id"); pspDev.SvgUID = tlVectorControl1.SVGDocument.CurrentLayer.ID; pspDev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", pspDev); Services.BaseService.Delete<PSPDEV>(pspDev); } tlVectorControl1.Delete(); } } break; case "mUodo": tlVectorControl1.Undo(); break; case "mRedo": tlVectorControl1.Redo(); break; #endregion #region 业务操作 case "mXLine": tlVectorControl1.Operation = ToolOperation.Select; tlVectorControl1.Operation = ToolOperation.XPolyLine; break; case "mYLine": tlVectorControl1.Operation = ToolOperation.Select; tlVectorControl1.Operation = ToolOperation.YPolyLine; break; case "mSaveGroup": if (tlVectorControl1.SVGDocument.SelectCollection.Count > 1) { string content = "<svg>"; SvgElementCollection col = tlVectorControl1.SVGDocument.SelectCollection; for (int i = 0; i < col.Count; i++) { SvgElement _e = (SvgElement)col[i]; if (_e.ID != "svg") { content = content + _e.OuterXml; } } RectangleF rect = tlVectorControl1.DrawArea.viewer.SelectedViewRectangle; content = content + "</svg>"; frmSaveGroup fm = new frmSaveGroup(); fm.rect = rect; fm.Content = content; fm.ShowDialog(); } else { MessageBox.Show("请至少选择2个图元。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } break; case "mInsert": frmUseGroup fg = new frmUseGroup(); if (fg.ShowDialog() == DialogResult.OK) { UseGroup u = fg.SelectedUseGroup; if (u != null) { frmXY xy = new frmXY(); if (xy.ShowDialog() == DialogResult.OK) { decimal x = xy.GetX(); decimal y = xy.GetY(); string content = u.Content; XmlDocument doc = new XmlDocument(); doc.LoadXml(u.Content); XmlNodeList list = doc.ChildNodes; XmlNode _node = list[0]; XmlNodeList sonlist = _node.ChildNodes; XmlElement ele = tlVectorControl1.SVGDocument.CreateElement("g"); ele.SetAttribute("layer", SvgDocument.currentLayer); for (int i = 0; i < sonlist.Count; i++) { XmlNode _sonnode = sonlist[i]; //string str = _sonnode.OuterXml; if (_sonnode.Name == "use") { string sid = ((XmlElement)_sonnode).GetAttribute("xlink:href"); XmlNode _snode = symbolSelector.SymbolDoc.SelectSingleNode("//*[@id='" + sid.Substring(1) + "']"); tlVectorControl1.SVGDocument.AddDefsElement((SvgElement)_snode); } ele.AppendChild(_sonnode); string ss = ele.OuterXml; } //RectangleF r=((Group)ele).GetBounds(); string tr = "matrix(1,0,0,1,"; tr = tr + Convert.ToString(x - Convert.ToDecimal(u.X)) + ","; tr = tr + Convert.ToString(y - Convert.ToDecimal(u.Y)) + ")"; ele.SetAttribute("transform", tr); // transform="matrix(1,0,0,1,2558.82,-352.94)" tlVectorControl1.SVGDocument.RootElement.AppendChild(ele); tlVectorControl1.SVGDocument.SelectCollection.Clear(); tlVectorControl1.SVGDocument.SelectCollection.Add((SvgElement)ele); tlVectorControl1.UnGroup(); // tlVectorControl1.Refresh(); } } } break; #endregion #region 参数维护 case "mNodeParam": frmNodeParam dlgNodeParam = new frmNodeParam(tlVectorControl1.SVGDocument.CurrentLayer.ID); dlgNodeParam.ShowDialog(); break; case "mLineParam": frmLineParamWJ dlgLineParam = new frmLineParamWJ(tlVectorControl1.SVGDocument.CurrentLayer.ID); dlgLineParam.ShowDialog(); break; case "mWire": wireTypeParam wirewire = new wireTypeParam(); wirewire.ShowDialog(); break; case "nTransformLineParam": frmTransformLineParam frmTransfor = new frmTransformLineParam(tlVectorControl1.SVGDocument.CurrentLayer.ID); frmTransfor.ShowDialog(); break; case "nGNDLineParam": break; case "mLineDL": frmLineParamDL dlgLineParamDL = new frmLineParamDL(tlVectorControl1.SVGDocument.CurrentLayer.ID); dlgLineParamDL.ShowDialog(); break; case "mFadianDL": frmFadejieDL dlgFadeDL = new frmFadejieDL(tlVectorControl1.SVGDocument.CurrentLayer.ID); dlgFadeDL.ShowDialog(); break; case "mTest": tlVectorControl1.Operation = ToolOperation.AreaSelect; break; case "mjianLine": if (tlVectorControl1.SVGDocument.CurrentLayer.ID == tlVectorControl1.SVGDocument.SvgdataUid + "4") { zhengtiflag = true; jiqiflag = false; zhongqiflag = false; yuanqiflag = false; jianxiancheck(); MessageBox.Show("整体数据减线成功。"); Topology2(); //颜色发生变化 } if (tlVectorControl1.SVGDocument.CurrentLayer.ID == tlVectorControl1.SVGDocument.SvgdataUid + "1" && zhengtiflag) { jiqiflag = true; zhengtiflag = false; zhongqiflag = false; yuanqiflag = false; jianxiancheck(); MessageBox.Show("近期数据减线成功。"); Topology2(); //颜色发生变化 } if (tlVectorControl1.SVGDocument.CurrentLayer.ID == tlVectorControl1.SVGDocument.SvgdataUid + "2" && jiqiflag) { zhongqiflag = true; jiqiflag = false; yuanqiflag = false; jianxiancheck(); MessageBox.Show("中期数据减线成功。"); Topology2(); //颜色发生变化 } if (tlVectorControl1.SVGDocument.CurrentLayer.ID == tlVectorControl1.SVGDocument.SvgdataUid + "3" && zhongqiflag) { yuanqiflag = true; jiqiflag = false; zhongqiflag = false; jianxiancheck(); MessageBox.Show("远期数据减线成功,请查看结果"); Topology2(); //颜色发生变化 } if (!zhengtiflag && !jiqiflag && !zhongqiflag && !yuanqiflag) { string msg2 = "减线法:\r\n 1、选中整体图层进行网架优化。\r\n 2、将整体图层拷贝到近期图层,然后选中近期图层进行网架优化。\r\n 3、拷贝到中期图层,然后选中中期图层进行网架优化\r\n 4、拷贝到远期图层,然后选中远期图层进行网架优化。"; MessageBox.Show(msg2, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; case "mjiaLine": if (tlVectorControl1.SVGDocument.CurrentLayer.ID == tlVectorControl1.SVGDocument.SvgdataUid + "4") { MessageBox.Show("整体图层采用的是减线法!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); break; } if (tlVectorControl1.SVGDocument.CurrentLayer.ID == tlVectorControl1.SVGDocument.SvgdataUid + "1" && zhengtiflag) { jiqiflag = true; zhengtiflag = false; zhongqiflag = false; yuanqiflag = false; addlinecheck(); addrightcheck(); for (int i = 0; i < ercilinedengdai.Count; i++) { ercilinedengdai[i].LineStatus = "运行"; Services.BaseService.Update<PSPDEV>(ercilinedengdai[i]); } for (int i = 0; i < lineyiyou.Count; i++) { lineyiyou[i].LineStatus = "待选"; Services.BaseService.Update<PSPDEV>(lineyiyou[i]); } MessageBox.Show("近期数据加线成功。"); Topology2(); //颜色发生变化 } if (tlVectorControl1.SVGDocument.CurrentLayer.ID == tlVectorControl1.SVGDocument.SvgdataUid + "2" && jiqiflag) { zhongqiflag = true; jiqiflag = false; yuanqiflag = false; addlinecheck(); addrightcheck(); for (int i = 0; i < ercilinedengdai.Count; i++) { ercilinedengdai[i].LineStatus = "运行"; Services.BaseService.Update<PSPDEV>(ercilinedengdai[i]); } for (int i = 0; i < lineyiyou.Count; i++) { lineyiyou[i].LineStatus = "待选"; Services.BaseService.Update<PSPDEV>(lineyiyou[i]); } MessageBox.Show("中期数据加线成功。"); Topology2(); //颜色发生变化 } if (tlVectorControl1.SVGDocument.CurrentLayer.ID == tlVectorControl1.SVGDocument.SvgdataUid + "3" && zhongqiflag) { yuanqiflag = true; jiqiflag = false; zhongqiflag = false; addlinecheck(); addrightcheck(); for (int i = 0; i < ercilinedengdai.Count; i++) { ercilinedengdai[i].LineStatus = "运行"; Services.BaseService.Update<PSPDEV>(ercilinedengdai[i]); } for (int i = 0; i < lineyiyou.Count; i++) { lineyiyou[i].LineStatus = "待选"; Services.BaseService.Update<PSPDEV>(lineyiyou[i]); } MessageBox.Show("远期数据加线成功。请查看优化结果"); Topology2(); //颜色发生变化 } if (!zhengtiflag && !jiqiflag && !zhongqiflag && !yuanqiflag) { string msg2 = "加线法:\r\n 1、选中整体图层进行网架优化,此时采用的是减线法。\r\n 2、将整体图层拷贝到近期图层,然后选中近期图层进行网架优化。\r\n 3、拷贝到中期图层,然后选中中期图层进行网架优化\r\n 4、拷贝到远期图层,然后选中远期图层进行网架优化。"; MessageBox.Show(msg2, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); break; } break; case "YhResult": //优化结果 if (yuanqiflag) { frmGProList p1 = new frmGProList(); p1.Show(); p1.LoadData(LoadData()); } else MessageBox.Show("请依次做完各个时期的优化,再看结果!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); break; #endregion #region 参数维护 case "m_in": if (tlVectorControl1.SVGDocument.CurrentLayer.ID != tlVectorControl1.SVGDocument.SvgdataUid + "5") { MessageBox.Show("请选择背景参考层。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } StringBuilder txt = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?><svg id=\"svg\" width=\"1500\" height=\"1000\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:itop=\"http://www.Itop.com/itop\" transform=\"matrix(1 0 0 1 0 1)\"><defs>"); StringBuilder Allcontent = new StringBuilder(); string svgdefs = ""; string layertxt = ""; frmLayerSel sel = new frmLayerSel(); if (sel.ShowDialog() == DialogResult.OK) { ArrayList tlist = sel.LayList; SVG_SYMBOL sym = new SVG_SYMBOL(); sym.svgID = oldsid; IList<SVG_SYMBOL> symlist = Services.BaseService.GetList<SVG_SYMBOL>("SelectSVG_SYMBOLBySvgID", sym); foreach (SVG_SYMBOL _sym in symlist) { svgdefs = svgdefs + _sym.XML; } txt.Append(svgdefs + "</defs>"); for (int i = 0; i < tlist.Count; i++) { SVG_LAYER lar = new SVG_LAYER(); lar.svgID = oldsid; lar.SUID = ((SVG_LAYER)tlist[i]).SUID; lar = (SVG_LAYER)Services.BaseService.GetObject("SelectSVG_LAYERByKey", lar); layertxt = layertxt + "<layer id=\"" + lar.SUID + "\" label=\"" + lar.NAME + "\" layerType=\"" + lar.layerType + "\" visibility=\"" + lar.visibility + "\" ParentID=\"" + lar.YearID + "\" IsSelect=\"" + lar.IsSelect + "\" />"; Allcontent.Append(lar.XML); } txt.Append(layertxt); txt.Append(Allcontent.ToString() + "</svg>"); SvgDocument document = new SvgDocument(); document.LoadXml(txt.ToString()); document.SvgdataUid = oldsid; XmlNodeList xlist = document.SelectNodes("svg/polyline [@IsLead='1']"); for (int i = 0; i < xlist.Count; i++) { SvgElement gra = xlist[i] as SvgElement; gra.SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "5"); ((IGraph)gra).Layer = tlVectorControl1.SVGDocument.CurrentLayer; tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)gra); } XmlNodeList xlist2 = document.SelectNodes("svg/use"); for (int i = 0; i < xlist2.Count; i++) { SvgElement gra = xlist2[i] as SvgElement; gra.SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "5"); ((IGraph)gra).Layer = tlVectorControl1.SVGDocument.CurrentLayer; tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)gra); } tlVectorControl1.Refresh(); MessageBox.Show("导入数据成功。"); } break; case "m_1to2"://近期 //删除掉原来元素 deltall(tlVectorControl1.SVGDocument.SvgdataUid + "1"); //******** ArrayList sel_line1 = new ArrayList(); LayerGrade l1 = new LayerGrade(); l1.Type = "1"; l1.SvgDataUid = oldsid; IList ttlist = Services.BaseService.GetList("SelectLayerGradeList5", l1); if (ttlist.Count > 0) { LayerGrade n1 = (LayerGrade)ttlist[0]; try { int yy = Convert.ToInt32(n1.Name.Substring(0, 4)); XmlNodeList list1to2 = tlVectorControl1.SVGDocument.SelectNodes("svg/use [@layer='" + tlVectorControl1.SVGDocument.SvgdataUid + "4" + "' and @year<='" + yy + "']"); for (int i = 0; i < list1to2.Count; i++) { SvgElement gra = list1to2[i] as SvgElement; XmlNode temp = gra.Clone(); ((SvgElement)temp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "1"); XmlNode newnode = tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)temp); //加入节点的名称 XmlNode text = tlVectorControl1.SVGDocument.SelectSingleNode("svg/*[@ParentID='" + gra.GetAttribute("id") + "']"); XmlNode textemp = text.Clone(); ((SvgElement)textemp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "1"); ((SvgElement)textemp).SetAttribute("ParentID", ((SvgElement)temp).GetAttribute("id")); tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)textemp); PSPDEV pspDev = new PSPDEV(); pspDev.EleID = gra.ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "4"; pspDev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", pspDev); if (pspDev != null) { pspDev.SUID = Guid.NewGuid().ToString(); pspDev.EleID = ((SvgElement)newnode).ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "1"; Services.BaseService.Create<PSPDEV>(pspDev); } } XmlNodeList listline = tlVectorControl1.SVGDocument.SelectNodes("svg/polyline [@layer='" + tlVectorControl1.SVGDocument.SvgdataUid + "4']"); //for (int i = 0; i < list1to2.Count; i++) //{ // SvgElement temp = list1to2[i] as SvgElement; // RectangleF ff = ((IGraph)temp).GetBounds(); // Region r = new Region(((IGraph)temp).GetBounds()); // for (int j = 0; j < listline.Count;j++ ) // { // Polyline pln = listline[j] as Polyline; // if (r.IsVisible(pln.Points[0])) // { // if (!sel_line1.Contains(pln)) // { // sel_line1.Add(pln); // } // } // } //} for (int i = 0; i < listline.Count; i++) { bool firstnodeflag = false; bool lastnodeflag = false; Polyline pln = listline[i] as Polyline; PSPDEV psp = new PSPDEV(); psp.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "4"; psp.EleID = pln.ID; psp = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", psp); if (psp.LineStatus != "等待") { for (int j = 0; j < list1to2.Count; j++) { SvgElement temp = list1to2[j] as SvgElement; Region ff = new Region(((IGraph)temp).GetBounds()); if (ff.IsVisible(pln.Points[0])) { firstnodeflag = true; } if (ff.IsVisible(pln.Points[1])) { lastnodeflag = true; } } if (firstnodeflag && lastnodeflag && !sel_line1.Contains(pln)) { sel_line1.Add(pln); } } } for (int i = 0; i < sel_line1.Count; i++) { SvgElement gra = sel_line1[i] as SvgElement; XmlNode temp = gra.Clone(); ((SvgElement)temp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "1"); XmlNode newnode = tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)temp); PSPDEV pspDev = new PSPDEV(); pspDev.EleID = gra.ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "4"; pspDev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", pspDev); if (pspDev != null) { pspDev.SUID = Guid.NewGuid().ToString(); pspDev.EleID = ((SvgElement)newnode).ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "1"; Services.BaseService.Create<PSPDEV>(pspDev); } } MessageBox.Show("数据处理成功。"); Topology2(); //颜色发生变化 } catch { MessageBox.Show("选择的年份前4位不是数字。"); } } break; case "m_2to3"://中期 deltall(tlVectorControl1.SVGDocument.SvgdataUid + "2"); ArrayList sel_line2 = new ArrayList(); LayerGrade l1_2 = new LayerGrade(); l1_2.Type = "1"; l1_2.SvgDataUid = oldsid; l1_2 = (LayerGrade)Services.BaseService.GetObject("SelectLayerGradeList5", l1_2); LayerGrade l2_2 = new LayerGrade(); l2_2.Type = "2"; l2_2.SvgDataUid = oldsid; l2_2 = (LayerGrade)Services.BaseService.GetObject("SelectLayerGradeList5", l2_2); if (l1_2 != null && l2_2 != null) { try { //整体规划层里的中期数据 int yy1 = Convert.ToInt32(l1_2.Name.Substring(0, 4)); int yy2 = Convert.ToInt32(l2_2.Name.Substring(0, 4)); XmlNodeList list1to2 = tlVectorControl1.SVGDocument.SelectNodes("svg/use [@layer='" + tlVectorControl1.SVGDocument.SvgdataUid + "4" + "' and @year>'" + yy1 + "' and @year<='" + yy2 + "']"); for (int i = 0; i < list1to2.Count; i++) { SvgElement gra = list1to2[i] as SvgElement; XmlNode temp = gra.Clone(); ((SvgElement)temp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "2"); XmlNode newnode = tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)temp); //加入节点的名称 XmlNode text = tlVectorControl1.SVGDocument.SelectSingleNode("svg/*[@ParentID='" + gra.GetAttribute("id") + "']"); XmlNode textemp = text.Clone(); ((SvgElement)textemp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "2"); ((SvgElement)textemp).SetAttribute("ParentID", ((SvgElement)temp).GetAttribute("id")); tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)textemp); PSPDEV pspDev = new PSPDEV(); pspDev.EleID = gra.ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "4"; pspDev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", pspDev); if (pspDev != null) { pspDev.SUID = Guid.NewGuid().ToString(); pspDev.EleID = ((SvgElement)newnode).ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "2"; Services.BaseService.Create<PSPDEV>(pspDev); } } XmlNodeList listline2 = tlVectorControl1.SVGDocument.SelectNodes("svg/polyline [@layer='" + tlVectorControl1.SVGDocument.SvgdataUid + "4']"); XmlNodeList list1to1 = tlVectorControl1.SVGDocument.SelectNodes("svg/use [@layer='" + tlVectorControl1.SVGDocument.SvgdataUid + "4" + "' and @year<='" + yy1 + "']"); for (int i = 0; i < listline2.Count; i++) { bool firstnodeflag = false; bool lastnodeflag = false; bool jinqifirstnodeflag = false; bool jinqilastnodeflag = false; Polyline pln = listline2[i] as Polyline; PSPDEV psp = new PSPDEV(); psp.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "4"; psp.EleID = pln.ID; psp = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", psp); if (psp.LineStatus != "等待") { for (int j = 0; j < list1to2.Count; j++) { SvgElement temp = list1to2[j] as SvgElement; Region ff = new Region(((IGraph)temp).GetBounds()); if (ff.IsVisible(pln.Points[0])) { firstnodeflag = true; } if (ff.IsVisible(pln.Points[1])) { lastnodeflag = true; } } for (int j = 0; j < list1to1.Count; j++) { SvgElement temp = list1to1[j] as SvgElement; Region ff = new Region(((IGraph)temp).GetBounds()); if (ff.IsVisible(pln.Points[0])) { jinqifirstnodeflag = true; } if (ff.IsVisible(pln.Points[1])) { jinqilastnodeflag = true; } } if (firstnodeflag && lastnodeflag && !sel_line2.Contains(pln)) { sel_line2.Add(pln); } if (firstnodeflag && jinqilastnodeflag && !sel_line2.Contains(pln)) { sel_line2.Add(pln); } if (lastnodeflag && jinqifirstnodeflag && !sel_line2.Contains(pln)) { sel_line2.Add(pln); } } } for (int i = 0; i < sel_line2.Count; i++) { SvgElement gra = sel_line2[i] as SvgElement; XmlNode temp = gra.Clone(); ((SvgElement)temp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "2"); XmlNode newnode = tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)temp); PSPDEV pspDev = new PSPDEV(); pspDev.EleID = gra.ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "4"; pspDev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", pspDev); if (pspDev != null) { pspDev.SUID = Guid.NewGuid().ToString(); pspDev.EleID = ((SvgElement)newnode).ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "2"; Services.BaseService.Create<PSPDEV>(pspDev); } } //近期数据 XmlNodeList list_1 = tlVectorControl1.SVGDocument.SelectNodes("svg/* [@layer='" + tlVectorControl1.SVGDocument.SvgdataUid + "1']"); for (int i = 0; i < list_1.Count; i++) { SvgElement gra = list_1[i] as SvgElement; XmlNode temp = gra.Clone(); ((SvgElement)temp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "2"); XmlNode newnode = tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)temp); //加入节点的名称 XmlNode text = tlVectorControl1.SVGDocument.SelectSingleNode("svg/*[@ParentID='" + gra.GetAttribute("id") + "']"); if (text != null) { XmlNode textemp = text.Clone(); ((SvgElement)textemp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "2"); ((SvgElement)textemp).SetAttribute("ParentID", ((SvgElement)temp).GetAttribute("id")); tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)textemp); } PSPDEV pspDev = new PSPDEV(); pspDev.EleID = gra.ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "1"; pspDev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", pspDev); if (pspDev != null) { pspDev.SUID = Guid.NewGuid().ToString(); pspDev.EleID = ((SvgElement)newnode).ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "2"; if (pspDev.LineStatus == "待选") { pspDev.LineStatus = "运行"; } if (pspDev.LineStatus == "等待") { pspDev.LineStatus = "待选"; } Services.BaseService.Create<PSPDEV>(pspDev); } } MessageBox.Show("数据处理成功。"); Topology2(); //颜色发生变化 } catch { MessageBox.Show("选择的年份前4位不是数字。"); } } break; case "m_3to4"://远期 deltall(tlVectorControl1.SVGDocument.SvgdataUid + "3"); ArrayList sel_line3 = new ArrayList(); LayerGrade l1_3 = new LayerGrade(); l1_3.Type = "2"; l1_3.SvgDataUid = oldsid; l1_3 = (LayerGrade)Services.BaseService.GetObject("SelectLayerGradeList5", l1_3); LayerGrade l2_3 = new LayerGrade(); l2_3.Type = "3"; l2_3.SvgDataUid = oldsid; l2_3 = (LayerGrade)Services.BaseService.GetObject("SelectLayerGradeList5", l2_3); if (l1_3 != null && l2_3 != null) { try { //整体规划层里的远期数据 int yy1 = Convert.ToInt32(l1_3.Name.Substring(0, 4)); int yy2 = Convert.ToInt32(l2_3.Name.Substring(0, 4)); XmlNodeList list1to2 = tlVectorControl1.SVGDocument.SelectNodes("svg/use [@layer='" + tlVectorControl1.SVGDocument.SvgdataUid + "4" + "' and @year>'" + yy1 + "' and @year<='" + yy2 + "']"); for (int i = 0; i < list1to2.Count; i++) { SvgElement gra = list1to2[i] as SvgElement; XmlNode temp = gra.Clone(); ((SvgElement)temp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "3"); XmlNode newnode = tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)temp); XmlNode text = tlVectorControl1.SVGDocument.SelectSingleNode("svg/*[@ParentID='" + gra.GetAttribute("id") + "']"); XmlNode textemp = text.Clone(); ((SvgElement)textemp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "3"); ((SvgElement)textemp).SetAttribute("ParentID", ((SvgElement)temp).GetAttribute("id")); tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)textemp); PSPDEV pspDev = new PSPDEV(); pspDev.EleID = gra.ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "4"; pspDev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", pspDev); if (pspDev != null) { pspDev.SUID = Guid.NewGuid().ToString(); pspDev.EleID = ((SvgElement)newnode).ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "3"; Services.BaseService.Create<PSPDEV>(pspDev); } } XmlNodeList listline2 = tlVectorControl1.SVGDocument.SelectNodes("svg/polyline [@layer='" + tlVectorControl1.SVGDocument.SvgdataUid + "4']"); XmlNodeList list1to1 = tlVectorControl1.SVGDocument.SelectNodes("svg/use [@layer='" + tlVectorControl1.SVGDocument.SvgdataUid + "4" + "' and @year<='" + yy1 + "']"); for (int i = 0; i < listline2.Count; i++) { bool firstnodeflag = false; bool lastnodeflag = false; bool jinqifirstnodeflag = false; bool jinqilastnodeflag = false; Polyline pln = listline2[i] as Polyline; PSPDEV psp = new PSPDEV(); psp.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "4"; psp.EleID = pln.ID; psp = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", psp); if (psp.LineStatus != "等待") { for (int j = 0; j < list1to2.Count; j++) { SvgElement temp = list1to2[j] as SvgElement; Region ff = new Region(((IGraph)temp).GetBounds()); if (ff.IsVisible(pln.Points[0])) { firstnodeflag = true; } if (ff.IsVisible(pln.Points[1])) { lastnodeflag = true; } } for (int j = 0; j < list1to1.Count; j++) { SvgElement temp = list1to1[j] as SvgElement; Region ff = new Region(((IGraph)temp).GetBounds()); if (ff.IsVisible(pln.Points[0])) { jinqifirstnodeflag = true; } if (ff.IsVisible(pln.Points[1])) { jinqilastnodeflag = true; } } if (firstnodeflag && lastnodeflag && !sel_line3.Contains(pln)) { sel_line3.Add(pln); } if (firstnodeflag && jinqilastnodeflag && !sel_line3.Contains(pln)) { sel_line3.Add(pln); } if (lastnodeflag && jinqifirstnodeflag && !sel_line3.Contains(pln)) { sel_line3.Add(pln); } } } for (int i = 0; i < sel_line3.Count; i++) { SvgElement gra = sel_line3[i] as SvgElement; XmlNode temp = gra.Clone(); ((SvgElement)temp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "3"); XmlNode newnode = tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)temp); PSPDEV pspDev = new PSPDEV(); pspDev.EleID = gra.ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "4"; pspDev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", pspDev); if (pspDev != null) { pspDev.SUID = Guid.NewGuid().ToString(); pspDev.EleID = ((SvgElement)newnode).ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "3"; Services.BaseService.Create<PSPDEV>(pspDev); } } //中期数据 XmlNodeList list_1 = tlVectorControl1.SVGDocument.SelectNodes("svg/* [@layer='" + tlVectorControl1.SVGDocument.SvgdataUid + "2']"); for (int i = 0; i < list_1.Count; i++) { SvgElement gra = list_1[i] as SvgElement; XmlNode temp = gra.Clone(); ((SvgElement)temp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "3"); XmlNode newnode = tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)temp); //加入节点的名称 XmlNode text = tlVectorControl1.SVGDocument.SelectSingleNode("svg/*[@ParentID='" + gra.GetAttribute("id") + "']"); if (text != null) { XmlNode textemp = text.Clone(); ((SvgElement)textemp).SetAttribute("layer", tlVectorControl1.SVGDocument.SvgdataUid + "3"); ((SvgElement)textemp).SetAttribute("ParentID", ((SvgElement)temp).GetAttribute("id")); tlVectorControl1.SVGDocument.RootElement.AppendChild((XmlNode)textemp); } PSPDEV pspDev = new PSPDEV(); pspDev.EleID = gra.ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "2"; pspDev = (PSPDEV)Services.BaseService.GetObject("SelectPSPDEVBySvgUIDandEleID", pspDev); if (pspDev != null) { pspDev.SUID = Guid.NewGuid().ToString(); pspDev.EleID = ((SvgElement)newnode).ID; pspDev.SvgUID = tlVectorControl1.SVGDocument.SvgdataUid + "3"; if (pspDev.LineStatus == "待选") { pspDev.LineStatus = "运行"; } if (pspDev.LineStatus == "等待") { pspDev.LineStatus = "待选"; } Services.BaseService.Create<PSPDEV>(pspDev); } } MessageBox.Show("数据处理成功。"); Topology2(); //颜色发生变化 } catch { MessageBox.Show("选择的年份前4位不是数字。"); } } break; #endregion } } }
private void addtotreelist(SVG_LAYER obj) { DataTable dt = treeList1.DataSource as DataTable; if (dt == null) return; dt.Rows.Add(Itop.Common.DataConverter.ObjectToRow(obj, dt.NewRow())); }
/* public void Open(string _SvgUID) { try { if (_SvgUID.Length < 20) { JxtBar(); tlVectorControl1.ContextMenuStrip = null; } SVGFILE svgFile = new SVGFILE(); svgFile.SUID = _SvgUID; SvgDocument document = CtrlSvgView.CashSvgDocument; if (document == null) { IList svgList = Services.BaseService.GetList("SelectSVGFILEByKey", svgFile); if (svgList.Count > 0) { svgFile = (SVGFILE)svgList[0]; } document = new SvgDocument(); if (!string.IsNullOrEmpty(svgFile.SVGDATA)) { document.LoadXml(svgFile.SVGDATA); } document.FileName = svgFile.FILENAME; document.SvgdataUid = svgFile.SUID; } SVGUID = document.SvgdataUid; img = document.SelectSingleNode("//*[@TLGH=\"1\"]"); if (img != null) { ((XmlElement)img).SetAttribute("xlink:href", " "); } this.Text = document.FileName; if (document.RootElement == null) { tlVectorControl1.NewFile(); Layer.CreateNew("背景层", tlVectorControl1.SVGDocument); Layer.CreateNew("城市规划层", tlVectorControl1.SVGDocument); Layer.CreateNew("供电区域层", tlVectorControl1.SVGDocument); } else { tlVectorControl1.SVGDocument = document; } tlVectorControl1.SVGDocument.SvgdataUid = SVGUID; tlVectorControl1.SVGDocument.FileName = this.Text; tlVectorControl1.DocumentbgColor = Color.White; tlVectorControl1.BackColor = Color.White; //tlVectorControl1.ForeColor = Color.White; CreateComboBox(); xltProcessor = new XLTProcessor(tlVectorControl1); xltProcessor.MapView = mapview; xltProcessor.OnNewLine += new NewLineDelegate(xltProcessor_OnNewLine); } catch (Exception e) { MessageBox.Show(e.Message); } }*/ public void Open2(string _SvgUID) { StringBuilder txt = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?><svg id=\"svg\" width=\"1500\" height=\"1000\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:itop=\"http://www.Itop.com/itop\" transform=\"matrix(1 0 0 1 0 1)\"><defs>"); string svgdefs = ""; string layertxt = ""; StringBuilder content = new StringBuilder(); string where = ""; if (string.IsNullOrEmpty(_SvgUID)) return; try { if (progtype == "城市规划层") { where = " (layerType = '城市规划层') OR (layerType = '地理信息层') "; } else { where = " (layerType = '地理信息层') "; } SVGFILE svgFile = new SVGFILE(); svgFile.SUID = _SvgUID; svgFile = (SVGFILE)Services.BaseService.GetObject("SelectSVGFILEByKey", svgFile); //SvgDocument document = CashSvgDocument; //if (document == null) { SVG_LAYER lar = new SVG_LAYER(); lar.svgID = _SvgUID; lar.YearID = where; IList<SVG_LAYER> larlist = Services.BaseService.GetList<SVG_LAYER>("SelectSVG_LAYERByWhere", lar); foreach (SVG_LAYER _lar in larlist) { layertxt = layertxt + "<layer id=\"" + _lar.SUID + "\" label=\"" + _lar.NAME + "\" layerType=\"" + _lar.layerType + "\" visibility=\"" + _lar.visibility + "\" ParentID=\"" + _lar.YearID + "\" IsSelect=\"" + _lar.IsSelect + "\" />"; content.Append(_lar.XML); } txt.Append(layertxt); SVG_SYMBOL sym = new SVG_SYMBOL(); sym.svgID = _SvgUID; IList<SVG_SYMBOL> symlist = Services.BaseService.GetList<SVG_SYMBOL>("SelectSVG_SYMBOLBySvgID", sym); foreach (SVG_SYMBOL _sym in symlist) { svgdefs = svgdefs + _sym.XML; } txt.Append(svgdefs + "</defs>"); txt.Append(content.ToString() + "</svg>"); SvgDocument document = new SvgDocument(); document.LoadXml(txt.ToString()); document.FileName = SvgName; document.SvgdataUid = _SvgUID; SVGUID = _SvgUID; this.Text = document.FileName; if (document.RootElement == null) { tlVectorControl1.NewFile(); Layer.CreateNew("背景层", tlVectorControl1.SVGDocument); Layer.CreateNew("城市规划层", tlVectorControl1.SVGDocument); Layer.CreateNew("供电区域层", tlVectorControl1.SVGDocument); } else { tlVectorControl1.SVGDocument = document; } tlVectorControl1.SVGDocument.SvgdataUid = _SvgUID; tlVectorControl1.SVGDocument.FileName = this.Text; tlVectorControl1.DocumentbgColor = Color.White; tlVectorControl1.BackColor = Color.White; //tlVectorControl1.ForeColor = Color.White; CreateComboBox(); xltProcessor = new XLTProcessor(tlVectorControl1); xltProcessor.MapView = mapview; xltProcessor.OnNewLine += new NewLineDelegate(xltProcessor_OnNewLine); } catch (Exception e) { MessageBox.Show(e.Message); } }
private void bbtaddfa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { frmInput dlg = new frmInput(); dlg.Text = "������Ϣ"; dlg.InputType = progtype; if (dlg.ShowDialog(this) == DialogResult.OK) { if (Layer.CkLayerExist(dlg.InputString, this.SymbolDoc)) { MessageBox.Show("�ĵ����Ѿ�����ͬ��������", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //Layer lar = Layer.CreateNew(dlg.InputString, this.SymbolDoc); //lar.SetAttribute("layerType", dlg.InputType); //if (ilist.Count > 0) //{ // lar.SetAttribute("ParentID", ilist[0].ToString()); //} addflag = true; //this.checkedListBox1.Items.Add(lar, true); //checkedListBox1.SelectedIndex = checkedListBox1.Items.Count - 1; DataTable dt = treeList1.DataSource as DataTable; SVG_LAYER _svg = new SVG_LAYER() { SUID = Guid.NewGuid().ToString().Substring(0, 10) }; //if (treeList1.FocusedNode != null) { _svg.NAME = dlg.InputString; _svg.SUID = "FA" + _svg.SUID; //_svg.ParentID = treeList1.FocusedNode["ParentID"].ToString(); _svg.YearID = ilist[0].ToString(); _svg.svgID = symbolDoc.SvgdataUid; //_svg.OrderID = int.Parse(treeList1.FocusedNode["OrderID"].ToString()) + 1; _svg.MDATE = DateTime.Now; Services.BaseService.Create<SVG_LAYER>(_svg); //�������㷽�� PSP_ELCPROJECT pd = new PSP_ELCPROJECT(); pd.ID = _svg.SUID; pd.Name = dlg.InputString; pd.FileType = "����"; pd.Class = System.DateTime.Now.ToString(); if (!string.IsNullOrEmpty(StrYear) && StrYear.Length == 4) { pd.BelongYear = StrYear; } pd.ProjectID = Itop.Client.MIS.ProgUID; Services.BaseService.Create<PSP_ELCPROJECT>(pd); } DataRow row = dt.NewRow(); dt.Rows.Add(DataConverter.ObjectToRow(_svg, row)); } }
public void Open(string _SvgUID) { string id = "''"; frmLayerGrade fgrade = new frmLayerGrade(); fgrade.SymbolDoc = tlVectorControl1.SVGDocument; fgrade.InitData(_SvgUID); if (fgrade.ShowDialog() == DialogResult.OK) { id = fgrade.GetSelectNode(); str_selID = id; } else { id = fgrade.GetSelectNode(); str_selID = id; } frmlar.YearID = id; StringBuilder txt = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?><svg id=\"svg\" width=\"1500\" height=\"1000\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:itop=\"http://www.Itop.com/itop\" transform=\"matrix(1 0 0 1 0 1)\"><defs>"); string svgdefs = ""; string layertxt = ""; StringBuilder content = new StringBuilder(); if (string.IsNullOrEmpty(_SvgUID)) return; try { SVGFILE svgFile = new SVGFILE(); svgFile.SUID = _SvgUID; svgFile = (SVGFILE)Services.BaseService.GetObject("SelectSVGFILEByKey", svgFile); //SvgDocument document = CashSvgDocument; //if (document == null) { SVG_LAYER lar = new SVG_LAYER(); lar.svgID = _SvgUID; lar.YearID = "Yearid in(" + id + ") or layerType='城市规划层'"; IList<SVG_LAYER> larlist = Services.BaseService.GetList<SVG_LAYER>("SelectSVG_LAYERByWhere", lar); foreach (SVG_LAYER _lar in larlist) { layertxt = layertxt + "<layer id=\"" + _lar.SUID + "\" label=\"" + _lar.NAME + "\" layerType=\"" + _lar.layerType + "\" visibility=\"" + _lar.visibility + "\" ParentID=\"" + _lar.YearID + "\" IsSelect=\"" + _lar.IsSelect + "\" />"; content.Append(_lar.XML); } txt.Append(layertxt); SVG_SYMBOL sym = new SVG_SYMBOL(); sym.svgID = _SvgUID; IList<SVG_SYMBOL> symlist = Services.BaseService.GetList<SVG_SYMBOL>("SelectSVG_SYMBOLBySvgID", sym); foreach (SVG_SYMBOL _sym in symlist) { svgdefs = svgdefs + _sym.XML; } txt.Append(svgdefs + "</defs>"); txt.Append(content.ToString() + "</svg>"); //IList svgList = Services.BaseService.GetList("SelectSVGFILEByKey", svgFile); //svgFile = (SVGFILE)svgList[0]; SvgDocument document = SvgDocumentFactory.CreateDocument(); if (txt.ToString() != "1") { string filename = Path.GetTempFileName(); if (File.Exists("tmp080321.temp")) { filename = "tmp080321.temp"; } else { StreamWriter sw = new StreamWriter(filename); sw.Write(txt.ToString()); sw.Close(); } tlVectorControl1.OpenFile(filename); document = tlVectorControl1.SVGDocument; int chose = Convert.ToInt32(ConfigurationSettings.AppSettings.Get("chose")); //if (chose == 2) //{ convertDoc(document); } } else { NullFile(_SvgUID); return; } document.FileName = svgFile.FILENAME; document.SvgdataUid = svgFile.SUID; //CashSvgDocument = document; //} SvgUID = document.SvgdataUid; //this.Text = document.FileName; string title = " "; string t = ""; getProjName(MIS.ProgUID, ref title); string[] str = str_selID.Split(",".ToCharArray()); if (str.Length > 1) { for (int i = 1; i < str.Length; i++) { LayerGrade ll = Services.BaseService.GetOneByKey<LayerGrade>(str[i].Replace("'", "")); if (ll != null) { if (ll.ParentID != "SUID") { LayerGrade ll2 = Services.BaseService.GetOneByKey<LayerGrade>(ll.ParentID); t = t + ll2.Name + " " + ll.Name + ", "; } } } } this.ParentForm.Text = title + " " + t + " 浏览状态"; if (document.RootElement == null) { tlVectorControl1.NewFile(); Layer.CreateNew("背景层", tlVectorControl1.SVGDocument); Layer.CreateNew("城市规划层", tlVectorControl1.SVGDocument); Layer.CreateNew("供电区域层", tlVectorControl1.SVGDocument); } else { tlVectorControl1.SVGDocument = document; } tlVectorControl1.SVGDocument.SvgdataUid = SvgUID; tlVectorControl1.SVGDocument.FileName = this.Text; if (svgFile.SUID.Length > 20) { MapType = "接线图"; } CreateComboBox(); AddCombolScale(); Init(); this.tlVectorControl1.IsPasteGrid = false; this.tlVectorControl1.IsShowGrid = false; this.tlVectorControl1.IsShowRule = false; this.tlVectorControl1.IsShowTip = false; contextMenuStrip1.Enabled = false; //tlVectorControl1.Operation = ToolOperation.Roam; //tlVectorControl1.ScaleRatio = 0.1f; //LayerManagerShow(); } catch (Exception e) { MessageBox.Show(e.Message); } }
private void bbtaddlayer_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { frmInput dlg = new frmInput(); dlg.InputType = progtype; if (dlg.ShowDialog(this) == DialogResult.OK) { if (Layer.CkLayerExist(dlg.InputString, this.SymbolDoc)) { MessageBox.Show("�ĵ����Ѿ�����ͬ��ͼ�㡣", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } Layer lar = Layer.CreateNew(dlg.InputString, this.SymbolDoc); lar.SetAttribute("layerType", dlg.InputType); if (ilist.Count > 0) { lar.SetAttribute("ParentID", ilist[0].ToString()); } addflag = true; DataTable dt = treeList1.DataSource as DataTable; SVG_LAYER _svg = new SVG_LAYER() { SUID = lar.ID, NAME = lar.Label }; if (treeList1.FocusedNode != null) { _svg.ParentID = treeList1.FocusedNode["ParentID"].ToString(); if (ilist.Count!=0) { _svg.YearID = ilist[0].ToString(); } _svg.svgID = symbolDoc.SvgdataUid; _svg.OrderID = int.Parse(treeList1.FocusedNode["OrderID"].ToString()) + 1; _svg.MDATE = DateTime.Now; _svg.layerType = progtype; Services.BaseService.Create<SVG_LAYER>(_svg); } DataRow row = dt.NewRow(); dt.Rows.Add(DataConverter.ObjectToRow(_svg, row)); } }
private void bbtdellayer_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (treeList1.FocusedNode != null) { TreeListNode treenode = treeList1.FocusedNode; if (treenode["SUID"].ToString().Contains("FA")) { return; } if (treenode.HasChildren) { MessageBox.Show("���ӽڵ�ʱ����ɾ����", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } Layer layer = symbolDoc.Layers[treenode["SUID"].ToString()] as Layer; if (!CkRight(layer)) { MessageBox.Show("����ͼ�㲻�ܸ�����ɾ����", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (MessageBox.Show("ɾ��ͼ���ʹ��ǰͼ�����������ݶ�ʧ���Ҳ��ɻָ���ȷ��Ҫɾ����", "��ʾ", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { // return; //} //if (MessageBox.Show(this, "�Ƿ�ɾ��ͼ�㣺" + layer.Label + "?", "��ȷ��", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) //{ XmlNode node = this.SymbolDoc.SelectSingleNode("//*[@layer='" + layer.ID + "']"); if (node != null) { if ((MessageBox.Show(this, "��ͼ������ͼԪ,�Ƿ�ɾ��ͼ�㣺" + layer.Label + "?", "��ȷ��", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)) { //PSPDEV _line = new PSPDEV(); //_line.LayerID = layer.ID; //Services.BaseService.Update("DeletePSPDEVbyLayerID", _line); glebeProperty gle = new glebeProperty(); gle.LayerID = layer.ID; Services.BaseService.Update("DeleteglebePropertyByLayerID", gle); //PSP_Substation_Info _sub = new PSP_Substation_Info(); //_sub.LayerID = layer.ID; //Services.BaseService.Update("DeletePSP_Substation_InfoByLayerID", _sub); SVG_LAYER lar = new SVG_LAYER(); lar.SUID = layer.ID; Services.BaseService.Update("DeleteSVG_LAYER", lar); XmlNodeList list = this.SymbolDoc.SelectNodes("//*[@layer='" + layer.ID + "']"); foreach (XmlNode elNode in list) { this.SymbolDoc.RootElement.RemoveChild(elNode); } // Services.BaseService.Update("UpdateGraPowerRelationByLayerID", layer.ID); //���ĵ����Ƴ� layer.Remove(); //���б����Ƴ� if (treenode.ParentNode != null) treenode.ParentNode.Nodes.Remove(treenode); else treeList1.Nodes.Remove(treenode); layer = null; LayerName = ""; } //layer.Attributes.RemoveAll(); } else { // Services.BaseService.Update("UpdateGraPowerRelationByLayerID", layer.ID); //���ĵ����Ƴ� SVG_LAYER lar = new SVG_LAYER(); lar.SUID = layer.ID; Services.BaseService.Update("DeleteSVG_LAYER", lar); try { layer.Remove(); } catch { } //���б����Ƴ� if (treenode.ParentNode != null) treenode.ParentNode.Nodes.Remove(treenode); else treeList1.Nodes.Remove(treenode); layer = null; LayerName = ""; } } //if(this.checkedListBox1.Items.Count<1){ if (OnDeleteLayer != null) { OnDeleteLayer(sender); } //} } }
private void bbteditfa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { TreeListNode node = treeList1.FocusedNode; if (node != null) { string suid = node["SUID"].ToString(); if (suid.Contains("FA")) { frmInput dlg = new frmInput(); dlg.Text = "������Ϣ"; dlg.hide = true; dlg.id = symbolDoc.SvgdataUid; dlg.symbolDoc = symbolDoc; dlg.InputString = node["NAME"].ToString(); dlg.InputType = progtype; DialogResult d = dlg.ShowDialog(this); if (d == DialogResult.OK) { SVG_LAYER temp = new SVG_LAYER(); temp.SUID = suid; temp.svgID = symbolDoc.SvgdataUid; SVG_LAYER lar = (SVG_LAYER)Services.BaseService.GetObject("SelectSVG_LAYERByKey", temp); // lar.YearID = dlg.list[1].ToString(); lar.NAME = dlg.InputString; Services.BaseService.Update<SVG_LAYER>(lar); PSP_ELCPROJECT pe = new PSP_ELCPROJECT(); pe.ID = lar.SUID; pe = Services.BaseService.GetOneByKey<PSP_ELCPROJECT>(pe); if (pe != null) { pe.Name = dlg.InputString; Services.BaseService.Update<PSP_ELCPROJECT>(pe); } treeList1.FocusedNode.SetValue("NAME", dlg.InputString); treeList1.Refresh(); //InitData(); } if (d == DialogResult.Retry) { if (dlg.list.Count > 1) { SVG_LAYER temp = new SVG_LAYER(); temp.SUID = suid; temp.svgID = symbolDoc.SvgdataUid; SVG_LAYER lar = (SVG_LAYER)Services.BaseService.GetObject("SelectSVG_LAYERByKey", temp); lar.YearID = dlg.list[1].ToString(); Services.BaseService.Update<SVG_LAYER>(lar); } } } else { MessageBox.Show("��ѡ�з�����", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } }
private void LayerGradeDel(object sender, EventArgs e) { if (treeList1.FocusedNode == null) return; IList list = this.SymbolDoc.getLayerList(); foreach (Layer lay in list) { if (treeList1.FocusedNode[treeListColumn2].ToString()==lay.ID) { return; } } if (treeList1.FocusedNode.Nodes.Count > 0) { MsgBox.Show("有下级目录,不能删除!"); return; } string uid = treeList1.FocusedNode[treeListColumn2].ToString(); SVG_LAYER lar = new SVG_LAYER(); lar.svgID = strSvgDataUid; lar.YearID = " YearID='"+uid+"' "; IList<SVG_LAYER> list4= Services.BaseService.GetList<SVG_LAYER>("SelectSVG_LAYERByWhere", lar); if (list4.Count > 0) { MsgBox.Show("当前分级下有图形数据,不能删除!"); return; } //请求确认 if (MsgBox.ShowYesNo(Strings.SubmitDelete) != DialogResult.Yes) { return; } //执行删除操作 try { Services.BaseService.DeleteByKey<LayerGrade>(uid); } catch (Exception exc) { Debug.Fail(exc.Message); HandleException.TryCatch(exc); return; } this.treeList1.Nodes.Remove(this.treeList1.FocusedNode); InitData(strSvgDataUid); }
// private void btEdit_Click(object sender, EventArgs e) { if (this.checkedListBox1.SelectedIndex >= 0 && this.checkedListBox1.SelectedIndex < this.checkedListBox1.Items.Count) { Layer layer = this.checkedListBox1.Items[this.checkedListBox1.SelectedIndex] as Layer; if (!CkRight(layer)) { MessageBox.Show("����ͼ�㲻�ܸ�����ɾ����", "��ʾ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } frmInput dlg = new frmInput(); dlg.id = symbolDoc.SvgdataUid; dlg.symbolDoc = symbolDoc; dlg.InputString = layer.Label; dlg.InputType = layer.GetAttribute("layerType"); DialogResult d = dlg.ShowDialog(this); if (d == DialogResult.OK) { layer.Label = dlg.InputString; layer.SetAttribute("layerType", dlg.InputType); InitData(); } if (d == DialogResult.Retry) { if (dlg.list.Count > 1) { layer.SetAttribute("ParentID", dlg.list[1].ToString()); SVG_LAYER temp = new SVG_LAYER(); temp.SUID = layer.ID; temp.svgID = symbolDoc.SvgdataUid; SVG_LAYER lar = (SVG_LAYER)Services.BaseService.GetObject("SelectSVG_LAYERByKey", temp); lar.YearID = dlg.list[1].ToString(); Services.BaseService.Update<SVG_LAYER>(lar); } } } }