From 3726b404c4e0d26be66ae6eb86a14638d934b071 Mon Sep 17 00:00:00 2001 From: chengkai3 Date: Sat, 6 Jun 2026 08:03:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9D=E5=A7=8B=E5=8C=96=20fl-knowle?= =?UTF-8?q?dge=20=E4=BB=93=E5=BA=93=20-=20=E9=98=B2=E9=9B=B7=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=BA=90=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LP.FormDesktop.resx | 36 + LP.Properties/Resources.cs | 49 + LP.Properties/Settings.cs | 14 + LP.csproj | 32 + LP/All_CanShuFenJi.cs | 535 ++ LP/CanShuFenJi.cs | 180 + LP/DisplayAllXianLu.cs | 451 ++ LP/DisplayGanTaIn1XianLu.cs | 144 + LP/Form4_FengXianPingGu.cs | 644 ++ LP/Form5_CuoShiTuiJian.cs | 1211 ++++ LP/Form6_ReportTask.cs | 1224 ++++ LP/Form7_GuZhangFuXian.cs | 575 ++ LP/FormBackupCurrent.cs | 560 ++ LP/FormCanShuJiSuan.cs | 180 + LP/FormCreateGanTa.cs | 272 + LP/FormCreateXianLu.cs | 263 + LP/FormCurrent.cs | 792 +++ LP/FormDesktop.cs | 2245 +++++++ LP/FormDiMianQingJiao.cs | 823 +++ LP/FormDiShanMiDu.cs | 1070 ++++ LP/FormFangLeiGaiZao.cs | 183 + LP/FormFangLeiJiSuan.cs | 160 + LP/FormGanTa0zhiliu.cs | 968 +++ LP/FormGanTa1Hui.cs | 1104 ++++ LP/FormGanTa2Hui.cs | 1310 ++++ LP/FormGanTa4Hui.cs | 1656 +++++ LP/FormGanTaList.cs | 1613 +++++ LP/FormLook1PuTongJiSuan.cs | 531 ++ LP/FormLook2FengXianPingGu.cs | 345 + LP/FormLook3CuoShiTuiJian.cs | 1017 +++ LP/Form_GJSZ_PuTongJiSuan.cs | 866 +++ LP/Form_GaoFengXianYuanYin.cs | 810 +++ LP/Form_PuTongJiSuan.cs | 1384 ++++ LP/Form_TongTiaoJiSuan.cs | 1098 ++++ LP/FuXian.cs | 2811 ++++++++ LP/GanTaData.cs | 512 ++ LP/GanTas.cs | 87 + LP/GradeGroundFlashDensity.cs | 35 + LP/GradeVoltage.cs | 23 + LP/MapData.cs | 279 + LP/MyBody.cs | 5 + LP/MyCell.cs | 87 + LP/MyFunction.cs | 2772 ++++++++ LP/MyGrid.cs | 43 + LP/MyLog.cs | 145 + LP/MyPoint.cs | 31 + LP/MyReport.cs | 2850 +++++++++ LP/MySignal.cs | 396 ++ LP/Program.cs | 15 + LP/TGanTaData.cs | 689 ++ LP/TGanTas.cs | 86 + LP/Task.cs | 5650 +++++++++++++++++ LP/TaskControl.cs | 68 + LP/TaskData.cs | 695 ++ LP/TaskDetail.cs | 51 + LP/TaskGroup.cs | 51 + LP/XianLu.cs | 1452 +++++ LP/XianLuControl.cs | 52 + LP/XianLuData.cs | 167 + Microsoft.Office.Interop.Word/Application.cs | 13 + .../ApplicationEvents4.cs | 13 + .../ApplicationEvents4_Event.cs | 12 + Microsoft.Office.Interop.Word/Borders.cs | 40 + Microsoft.Office.Interop.Word/Cell.cs | 22 + Microsoft.Office.Interop.Word/Cells.cs | 28 + Microsoft.Office.Interop.Word/Column.cs | 25 + Microsoft.Office.Interop.Word/Columns.cs | 23 + Microsoft.Office.Interop.Word/Document.cs | 13 + .../DocumentEvents2.cs | 13 + .../DocumentEvents2_Event.cs | 12 + Microsoft.Office.Interop.Word/Documents.cs | 21 + Microsoft.Office.Interop.Word/Font.cs | 13 + Microsoft.Office.Interop.Word/InlineShape.cs | 12 + Microsoft.Office.Interop.Word/InlineShapes.cs | 21 + Microsoft.Office.Interop.Word/Options.cs | 25 + Microsoft.Office.Interop.Word/Paragraph.cs | 36 + .../ParagraphFormat.cs | 13 + Microsoft.Office.Interop.Word/Paragraphs.cs | 23 + Microsoft.Office.Interop.Word/Range.cs | 128 + Microsoft.Office.Interop.Word/Rows.cs | 28 + Microsoft.Office.Interop.Word/Section.cs | 22 + Microsoft.Office.Interop.Word/Sections.cs | 23 + Microsoft.Office.Interop.Word/Selection.cs | 50 + Microsoft.Office.Interop.Word/Table.cs | 56 + Microsoft.Office.Interop.Word/Tables.cs | 21 + Microsoft.Office.Interop.Word/WdBreakType.cs | 21 + .../WdBuiltinStyle.cs | 145 + .../WdCellVerticalAlignment.cs | 14 + Microsoft.Office.Interop.Word/WdLineStyle.cs | 36 + .../WdParagraphAlignment.cs | 20 + .../WdRowAlignment.cs | 14 + Microsoft.Office.Interop.Word/_Application.cs | 61 + Microsoft.Office.Interop.Word/_Document.cs | 60 + Microsoft.Office.Interop.Word/_Font.cs | 39 + .../_ParagraphFormat.cs | 25 + Properties/AssemblyInfo.cs | 17 + app.config | 6 + lark_doc_normal_calc.xml | 96 + lark_doc_normal_calc_restructured.xml | 97 + 99 files changed, 44754 insertions(+) create mode 100644 LP.FormDesktop.resx create mode 100644 LP.Properties/Resources.cs create mode 100644 LP.Properties/Settings.cs create mode 100644 LP.csproj create mode 100644 LP/All_CanShuFenJi.cs create mode 100644 LP/CanShuFenJi.cs create mode 100644 LP/DisplayAllXianLu.cs create mode 100644 LP/DisplayGanTaIn1XianLu.cs create mode 100644 LP/Form4_FengXianPingGu.cs create mode 100644 LP/Form5_CuoShiTuiJian.cs create mode 100644 LP/Form6_ReportTask.cs create mode 100644 LP/Form7_GuZhangFuXian.cs create mode 100644 LP/FormBackupCurrent.cs create mode 100644 LP/FormCanShuJiSuan.cs create mode 100644 LP/FormCreateGanTa.cs create mode 100644 LP/FormCreateXianLu.cs create mode 100644 LP/FormCurrent.cs create mode 100644 LP/FormDesktop.cs create mode 100644 LP/FormDiMianQingJiao.cs create mode 100644 LP/FormDiShanMiDu.cs create mode 100644 LP/FormFangLeiGaiZao.cs create mode 100644 LP/FormFangLeiJiSuan.cs create mode 100644 LP/FormGanTa0zhiliu.cs create mode 100644 LP/FormGanTa1Hui.cs create mode 100644 LP/FormGanTa2Hui.cs create mode 100644 LP/FormGanTa4Hui.cs create mode 100644 LP/FormGanTaList.cs create mode 100644 LP/FormLook1PuTongJiSuan.cs create mode 100644 LP/FormLook2FengXianPingGu.cs create mode 100644 LP/FormLook3CuoShiTuiJian.cs create mode 100644 LP/Form_GJSZ_PuTongJiSuan.cs create mode 100644 LP/Form_GaoFengXianYuanYin.cs create mode 100644 LP/Form_PuTongJiSuan.cs create mode 100644 LP/Form_TongTiaoJiSuan.cs create mode 100644 LP/FuXian.cs create mode 100644 LP/GanTaData.cs create mode 100644 LP/GanTas.cs create mode 100644 LP/GradeGroundFlashDensity.cs create mode 100644 LP/GradeVoltage.cs create mode 100644 LP/MapData.cs create mode 100644 LP/MyBody.cs create mode 100644 LP/MyCell.cs create mode 100644 LP/MyFunction.cs create mode 100644 LP/MyGrid.cs create mode 100644 LP/MyLog.cs create mode 100644 LP/MyPoint.cs create mode 100644 LP/MyReport.cs create mode 100644 LP/MySignal.cs create mode 100644 LP/Program.cs create mode 100644 LP/TGanTaData.cs create mode 100644 LP/TGanTas.cs create mode 100644 LP/Task.cs create mode 100644 LP/TaskControl.cs create mode 100644 LP/TaskData.cs create mode 100644 LP/TaskDetail.cs create mode 100644 LP/TaskGroup.cs create mode 100644 LP/XianLu.cs create mode 100644 LP/XianLuControl.cs create mode 100644 LP/XianLuData.cs create mode 100644 Microsoft.Office.Interop.Word/Application.cs create mode 100644 Microsoft.Office.Interop.Word/ApplicationEvents4.cs create mode 100644 Microsoft.Office.Interop.Word/ApplicationEvents4_Event.cs create mode 100644 Microsoft.Office.Interop.Word/Borders.cs create mode 100644 Microsoft.Office.Interop.Word/Cell.cs create mode 100644 Microsoft.Office.Interop.Word/Cells.cs create mode 100644 Microsoft.Office.Interop.Word/Column.cs create mode 100644 Microsoft.Office.Interop.Word/Columns.cs create mode 100644 Microsoft.Office.Interop.Word/Document.cs create mode 100644 Microsoft.Office.Interop.Word/DocumentEvents2.cs create mode 100644 Microsoft.Office.Interop.Word/DocumentEvents2_Event.cs create mode 100644 Microsoft.Office.Interop.Word/Documents.cs create mode 100644 Microsoft.Office.Interop.Word/Font.cs create mode 100644 Microsoft.Office.Interop.Word/InlineShape.cs create mode 100644 Microsoft.Office.Interop.Word/InlineShapes.cs create mode 100644 Microsoft.Office.Interop.Word/Options.cs create mode 100644 Microsoft.Office.Interop.Word/Paragraph.cs create mode 100644 Microsoft.Office.Interop.Word/ParagraphFormat.cs create mode 100644 Microsoft.Office.Interop.Word/Paragraphs.cs create mode 100644 Microsoft.Office.Interop.Word/Range.cs create mode 100644 Microsoft.Office.Interop.Word/Rows.cs create mode 100644 Microsoft.Office.Interop.Word/Section.cs create mode 100644 Microsoft.Office.Interop.Word/Sections.cs create mode 100644 Microsoft.Office.Interop.Word/Selection.cs create mode 100644 Microsoft.Office.Interop.Word/Table.cs create mode 100644 Microsoft.Office.Interop.Word/Tables.cs create mode 100644 Microsoft.Office.Interop.Word/WdBreakType.cs create mode 100644 Microsoft.Office.Interop.Word/WdBuiltinStyle.cs create mode 100644 Microsoft.Office.Interop.Word/WdCellVerticalAlignment.cs create mode 100644 Microsoft.Office.Interop.Word/WdLineStyle.cs create mode 100644 Microsoft.Office.Interop.Word/WdParagraphAlignment.cs create mode 100644 Microsoft.Office.Interop.Word/WdRowAlignment.cs create mode 100644 Microsoft.Office.Interop.Word/_Application.cs create mode 100644 Microsoft.Office.Interop.Word/_Document.cs create mode 100644 Microsoft.Office.Interop.Word/_Font.cs create mode 100644 Microsoft.Office.Interop.Word/_ParagraphFormat.cs create mode 100644 Properties/AssemblyInfo.cs create mode 100644 app.config create mode 100644 lark_doc_normal_calc.xml create mode 100644 lark_doc_normal_calc_restructured.xml diff --git a/LP.FormDesktop.resx b/LP.FormDesktop.resx new file mode 100644 index 0000000..75fa2a5 --- /dev/null +++ b/LP.FormDesktop.resx @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +text/microsoft-resx1.3System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAu +MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAA +ACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5BeEhvc3QrU3RhdGUBAAAABERhdGEHAgIAAAAJAwAAAA8D +AAAAuwAAAAIBAAAAAQAAAAAAAAAAAAAAAKYAAAAxAAwAjFEAAKhLAAAAAAAA////AHsUrkfhepQ/ +AAAzMzMzMzPTPwAAAAAAFAAAAAEAAAAAAAAAAADgPwAAAQAAAAAAAAEAAAAAAQAAAAIAAAADAAAA +BgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAA +AAEBAAAABAAAAP//////////AAAAAAAACw== \ No newline at end of file diff --git a/LP.Properties/Resources.cs b/LP.Properties/Resources.cs new file mode 100644 index 0000000..7d200fa --- /dev/null +++ b/LP.Properties/Resources.cs @@ -0,0 +1,49 @@ +using System.CodeDom.Compiler; +using System.ComponentModel; +using System.Diagnostics; +using System.Globalization; +using System.Resources; +using System.Runtime.CompilerServices; + +namespace LP.Properties; + +[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] +[DebuggerNonUserCode] +[CompilerGenerated] +internal class Resources +{ + private static ResourceManager resourceMan; + + private static CultureInfo resourceCulture; + + [EditorBrowsable(EditorBrowsableState.Advanced)] + internal static ResourceManager ResourceManager + { + get + { + if (resourceMan == null) + { + ResourceManager resourceManager = new ResourceManager("LP.Properties.Resources", typeof(Resources).Assembly); + resourceMan = resourceManager; + } + return resourceMan; + } + } + + [EditorBrowsable(EditorBrowsableState.Advanced)] + internal static CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + + internal Resources() + { + } +} diff --git a/LP.Properties/Settings.cs b/LP.Properties/Settings.cs new file mode 100644 index 0000000..123dc5e --- /dev/null +++ b/LP.Properties/Settings.cs @@ -0,0 +1,14 @@ +using System.CodeDom.Compiler; +using System.Configuration; +using System.Runtime.CompilerServices; + +namespace LP.Properties; + +[CompilerGenerated] +[GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] +internal sealed class Settings : ApplicationSettingsBase +{ + private static Settings defaultInstance = (Settings)SettingsBase.Synchronized(new Settings()); + + public static Settings Default => defaultInstance; +} diff --git a/LP.csproj b/LP.csproj new file mode 100644 index 0000000..9d1f9dc --- /dev/null +++ b/LP.csproj @@ -0,0 +1,32 @@ + + + LP + False + WinExe + True + net472 + x86 + + + 14.0 + True + False + + + + + + + + + ..\执行目录-2025-11-20\Interop.MapWinGIS.dll + + + ..\执行目录-2025-11-20\AxInterop.MapWinGIS.dll + + + ..\执行目录-2025-11-20\Invoke_CircuitLightningProtection_Base.dll + + + + \ No newline at end of file diff --git a/LP/All_CanShuFenJi.cs b/LP/All_CanShuFenJi.cs new file mode 100644 index 0000000..395b82f --- /dev/null +++ b/LP/All_CanShuFenJi.cs @@ -0,0 +1,535 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Windows.Forms; + +namespace LP; + +public class All_CanShuFenJi +{ + public List mAll_ListID = null; + + public List mList_CanShuFenJi_all = null; + + public All_CanShuFenJi() + { + if (mAll_ListID == null) + { + mAll_ListID = new List(); + } + mAll_ListID.Clear(); + if (mList_CanShuFenJi_all == null) + { + mList_CanShuFenJi_all = new List(); + } + mList_CanShuFenJi_all.Clear(); + } + + public bool MyContains(int _id) + { + return mAll_ListID.Contains(_id); + } + + public int MyFind(int _id_CanShuFenJi) + { + int result = -1; + for (int i = 0; i < mList_CanShuFenJi_all.Count; i++) + { + if (mList_CanShuFenJi_all[i].mID_CanShuFenJi == _id_CanShuFenJi) + { + result = i; + break; + } + } + return result; + } + + public void MyDelete1CanShuFenJi(int _index) + { + if (_index >= 0 && _index < mList_CanShuFenJi_all.Count) + { + int mID_CanShuFenJi = mList_CanShuFenJi_all[_index].mID_CanShuFenJi; + mAll_ListID.Remove(mID_CanShuFenJi); + mList_CanShuFenJi_all.RemoveAt(_index); + } + } + + public void MyDeleteAll() + { + mAll_ListID.Clear(); + mList_CanShuFenJi_all.Clear(); + CanShuFenJi.mNextID_static = 1; + } + + public void MyAdd1CanShuFenJi(CanShuFenJi _oneCanShuFenJi) + { + int num = MyFind(_oneCanShuFenJi.mID_CanShuFenJi); + if (num < 0) + { + if (_oneCanShuFenJi.mID_CanShuFenJi < CanShuFenJi.mNextID_static) + { + _oneCanShuFenJi.mID_CanShuFenJi = CanShuFenJi.mNextID_static; + } + else if (_oneCanShuFenJi.mID_CanShuFenJi >= CanShuFenJi.mNextID_static) + { + CanShuFenJi.mNextID_static = _oneCanShuFenJi.mID_CanShuFenJi; + } + mList_CanShuFenJi_all.Add(_oneCanShuFenJi); + CanShuFenJi.mNextID_static++; + if (!MyContains(_oneCanShuFenJi.mID_CanShuFenJi)) + { + mAll_ListID.Add(_oneCanShuFenJi.mID_CanShuFenJi); + } + } + else + { + mList_CanShuFenJi_all[num].copyFrom(_oneCanShuFenJi); + if (!MyContains(_oneCanShuFenJi.mID_CanShuFenJi)) + { + mAll_ListID.Add(_oneCanShuFenJi.mID_CanShuFenJi); + } + } + } + + public void Destroy() + { + if (mAll_ListID != null) + { + mAll_ListID.Clear(); + } + mAll_ListID = null; + if (mList_CanShuFenJi_all != null) + { + mList_CanShuFenJi_all.Clear(); + } + mList_CanShuFenJi_all = null; + } + + public int MySaveCanShuFenJi(string _filename) + { + int result = 0; + if (string.IsNullOrEmpty(_filename)) + { + MyLog.AddLog("MySaveCanShuFenJi(_fileName) 参数1为空:参数分级数据文件名。"); + return result; + } + int result2 = 0; + int num = -1; + CanShuFenJi canShuFenJi = null; + string[] array = new string[2] { "", "" }; + string[] array2 = new string[2] { "", "" }; + try + { + using FileStream fileStream = new FileStream(_filename, FileMode.Create, FileAccess.Write, FileShare.None); + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + for (num = 0; num < array.Length; num++) + { + string text = array[num]; + string text2 = text; + if (!(text2 == "")) + { + if (text2 == "") + { + } + continue; + } + result2 = 0; + streamWriter.WriteLine(array[num]); + streamWriter.WriteLine(CanShuFenJi.MyHead_ToString()); + for (int i = 0; i < mList_CanShuFenJi_all.Count; i++) + { + canShuFenJi = mList_CanShuFenJi_all[i]; + streamWriter.WriteLine(canShuFenJi.MyToString()); + } + if (num < array2.Length) + { + streamWriter.WriteLine(array2[num]); + } + else + { + streamWriter.WriteLine(array[num].Replace("<", "", "" }; + string[] array2 = new string[2] { "", "" }; + string text = ""; + string[] separator = new string[3] { "\r", "\n", "," }; + string[] array3 = null; + int num4 = 0; + int num5 = 0; + CanShuFenJi canShuFenJi = new CanShuFenJi(); + Encoding[] array4 = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num6 = 0; + bool flag3 = false; + for (int j = 0; j < array4.Length; j++) + { + try + { + using FileStream fileStream = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream, array4[j])) + { + text = streamReader.ReadToEnd().Trim(); + if (string.IsNullOrEmpty(text) || text.IndexOf("编码") >= 0 || text.IndexOf("分级") >= 0) + { + num6 = j; + flag3 = true; + } + streamReader.Close(); + } + fileStream.Close(); + } + catch (Exception) + { + } + if (flag3) + { + break; + } + } + mList_CanShuFenJi_all.Clear(); + mAll_ListID.Clear(); + using (FileStream fileStream2 = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader2 = new StreamReader(fileStream2, array4[num6])) + { + while (!streamReader2.EndOfStream) + { + text = streamReader2.ReadLine().Trim(); + if (string.IsNullOrEmpty(text)) + { + continue; + } + if (!flag) + { + for (i = 0; i < array.Length; i++) + { + if (text.IndexOf(array[i]) >= 0) + { + flag = true; + num = 0; + break; + } + } + continue; + } + if (flag) + { + for (int k = 0; k < array2.Length; k++) + { + if (text.IndexOf(array2[k]) >= 0) + { + flag = false; + i = -1; + break; + } + } + if (!flag) + { + continue; + } + } + string text2 = array[i]; + string text3 = text2; + if (!(text3 == "")) + { + if (text3 == "") + { + num++; + } + continue; + } + array3 = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + if (num == 0) + { + num5 = 0; + } + if (array3.Length >= 26) + { + canShuFenJi = new CanShuFenJi(); + try + { + num4 = Convert.ToInt32(array3[0]); + } + catch (Exception) + { + num4 = CanShuFenJi.mNextID_static; + } + canShuFenJi.mID_CanShuFenJi = num4; + try + { + num4 = Convert.ToInt32(array3[1]); + } + catch (Exception) + { + num4 = -1; + } + canShuFenJi.mXianLuID = num4; + try + { + num4 = Convert.ToInt32(array3[2]); + } + catch (Exception) + { + num4 = -1; + } + canShuFenJi.mID_GanTa = num4; + try + { + num4 = Convert.ToInt32(array3[3]); + } + catch (Exception) + { + num4 = -1; + } + canShuFenJi.mID_TGanTa = num4; + try + { + num3 = Convert.ToDouble(array3[4].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mOld_JYZCD = num3; + try + { + num3 = Convert.ToDouble(array3[5].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mNew_JYZCD = num3; + try + { + num2 = Convert.ToInt32(array3[6]); + } + catch (Exception) + { + num2 = -1; + } + canShuFenJi.mFenJi_JYZCD = num2; + try + { + num3 = Convert.ToDouble(array3[7].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mOld_JDDZ = num3; + try + { + num3 = Convert.ToDouble(array3[8].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mNew_JDDZ = num3; + try + { + num2 = Convert.ToInt32(array3[9]); + } + catch (Exception) + { + num2 = -1; + } + canShuFenJi.mFenJi_JDDZ = num2; + try + { + num3 = Convert.ToDouble(array3[10].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mOld_BLXGD = num3; + try + { + num3 = Convert.ToDouble(array3[11].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mNew_BLXGD = num3; + try + { + num2 = Convert.ToInt32(array3[12]); + } + catch (Exception) + { + num2 = -1; + } + canShuFenJi.mFJ_BLXGD = num2; + try + { + num3 = Convert.ToDouble(array3[13].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mOld_HuGao = num3; + try + { + num3 = Convert.ToDouble(array3[14].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mNew_HuGao = num3; + try + { + num2 = Convert.ToInt32(array3[15]); + } + catch (Exception) + { + num2 = -1; + } + canShuFenJi.mFJ_HuGao = num2; + try + { + num3 = Convert.ToDouble(array3[16].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mOld_DMQJ = num3; + try + { + num3 = Convert.ToDouble(array3[17].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mNew_DMQJ = num3; + try + { + num2 = Convert.ToInt32(array3[18]); + } + catch (Exception) + { + num2 = -1; + } + canShuFenJi.mFJ_DMQJ = num2; + try + { + num3 = Convert.ToDouble(array3[19].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mOld_BaoHuJiao = num3; + try + { + num3 = Convert.ToDouble(array3[20].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mNew_BaoHuJiao = num3; + try + { + num2 = Convert.ToInt32(array3[21]); + } + catch (Exception) + { + num2 = -1; + } + canShuFenJi.mFJ_BaoHuJiao = num2; + try + { + num3 = Convert.ToDouble(array3[22].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mSTD_JYZ_mm = num3; + try + { + num3 = Convert.ToDouble(array3[23].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + canShuFenJi.mSTD_height_m = num3; + try + { + num2 = Convert.ToInt32(array3[24]); + } + catch (Exception) + { + num2 = -1; + } + canShuFenJi.mState_TuiJian = num2; + try + { + flag2 = Convert.ToBoolean(array3[25]); + } + catch (Exception) + { + flag2 = false; + } + canShuFenJi.mBLQ_need = flag2; + MyAdd1CanShuFenJi(canShuFenJi); + num5++; + } + num++; + } + streamReader2.Close(); + } + fileStream2.Close(); + } + return num5; + } +} diff --git a/LP/CanShuFenJi.cs b/LP/CanShuFenJi.cs new file mode 100644 index 0000000..b696dac --- /dev/null +++ b/LP/CanShuFenJi.cs @@ -0,0 +1,180 @@ +namespace LP; + +public class CanShuFenJi +{ + public static int mNextID_static; + + public int mID_CanShuFenJi = 1; + + public int mXianLuID = 0; + + public int mID_GanTa = 0; + + public int mID_TGanTa = 0; + + public double mOld_JYZCD; + + public double mNew_JYZCD; + + public double mNew_JYZCD_Step1; + + public int mFenJi_JYZCD; + + public double mOld_JDDZ = 0.0; + + public double mNew_JDDZ = 0.0; + + public double mNew_JDDZ_Step1; + + public int mFenJi_JDDZ = 0; + + public double mOld_BLXGD = 0.0; + + public double mNew_BLXGD = 0.0; + + public int mFJ_BLXGD; + + public double mOld_HuGao = 0.0; + + public double mNew_HuGao = 0.0; + + public int mFJ_HuGao; + + public double mOld_DMQJ = 0.0; + + public double mNew_DMQJ = 0.0; + + public int mFJ_DMQJ = 0; + + public double mOld_BaoHuJiao = 0.0; + + public double mNew_BaoHuJiao = 0.0; + + public int mFJ_BaoHuJiao = 0; + + public double mSTD_JYZ_mm = 0.0; + + public double mSTD_height_m = 0.0; + + public int mState_TuiJian = 0; + + public bool mBLQ_need = false; + + public bool mCallDLL = false; + + static CanShuFenJi() + { + mNextID_static = 1; + mNextID_static = 1; + } + + public CanShuFenJi() + { + mID_CanShuFenJi = mNextID_static; + } + + public static string MyHead_ToString() + { + string text = ""; + text += "参数分级编码,"; + text += "线路编号,"; + text += "杆塔编号,"; + text += "任务杆塔编号,"; + text += "初始值绝缘子串长度mm,"; + text += "推荐值绝缘子串长度mm,"; + text += "分级绝缘子串长度mm,"; + text += "初始值接地电阻Ω,"; + text += "推荐值接地电阻Ω,"; + text += "分级接地电阻Ω,"; + text += "初始值避雷线高度m,"; + text += "推荐值避雷线高度m,"; + text += "分级接避雷线高度m,"; + text += "初始值杆塔呼高m,"; + text += "推荐值杆塔呼高m,"; + text += "分级接杆塔呼高m,"; + text += "初始值地面倾角,"; + text += "推荐值地面倾角,"; + text += "分级接地面倾角,"; + text += "初始值保护角,"; + text += "推荐值保护角,"; + text += "分级接保护角,"; + text += "标准值绝缘子串长度mm,"; + text += "标准值高度m,"; + text += "推荐状态,"; + return text + "安装避雷器"; + } + + public string MyToString() + { + string text = ""; + text += $"{mID_CanShuFenJi},"; + text += $"{mXianLuID},"; + text += $"{mID_GanTa},"; + text += $"{mID_TGanTa},"; + text += $"{mOld_JYZCD},"; + text += $"{mNew_JYZCD},"; + text += $"{mFenJi_JYZCD},"; + text += $"{mOld_JDDZ},"; + text += $"{mNew_JDDZ},"; + text += $"{mFenJi_JDDZ},"; + text += $"{mOld_BLXGD},"; + text += $"{mNew_BLXGD},"; + text += $"{mFJ_BLXGD},"; + text += $"{mOld_HuGao},"; + text += $"{mNew_HuGao},"; + text += $"{mFJ_HuGao},"; + text += $"{mOld_DMQJ},"; + text += $"{mNew_DMQJ},"; + text += $"{mFJ_DMQJ},"; + text += $"{mOld_BaoHuJiao},"; + text += $"{mNew_BaoHuJiao},"; + text += $"{mFJ_BaoHuJiao},"; + text += $"{mSTD_JYZ_mm},"; + text += $"{mSTD_height_m},"; + text += $"{mState_TuiJian},"; + return text + $"{mBLQ_need}"; + } + + public string MyToString_simple() + { + string text = ""; + text += $"mID_CanShuFenJi={mID_CanShuFenJi}"; + text += $"mState_TuiJian={mState_TuiJian},"; + text += $"newBaoHuJiao={mNew_BaoHuJiao},"; + text += $"oldBaoHuJiao={mOld_BaoHuJiao},"; + text += $"newJYZCD={mNew_JYZCD},"; + text += $"oldJYZCD={mOld_JYZCD},"; + text += $"newJDDZ={mNew_JDDZ},"; + return text + $"oldJDDZ={mOld_JDDZ}"; + } + + public void copyFrom(CanShuFenJi _source) + { + mID_CanShuFenJi = _source.mID_CanShuFenJi; + mID_GanTa = _source.mID_GanTa; + mID_TGanTa = _source.mID_TGanTa; + mXianLuID = _source.mXianLuID; + mOld_BaoHuJiao = _source.mOld_BaoHuJiao; + mOld_BLXGD = _source.mOld_BLXGD; + mOld_DMQJ = _source.mOld_DMQJ; + mOld_HuGao = _source.mOld_HuGao; + mOld_JDDZ = _source.mOld_JDDZ; + mOld_JYZCD = _source.mOld_JYZCD; + mNew_BaoHuJiao = _source.mNew_BaoHuJiao; + mNew_BLXGD = _source.mNew_BLXGD; + mNew_DMQJ = _source.mNew_DMQJ; + mNew_HuGao = _source.mNew_HuGao; + mNew_JDDZ = _source.mNew_JDDZ; + mNew_JYZCD = _source.mNew_JYZCD; + mFJ_BaoHuJiao = _source.mFJ_BaoHuJiao; + mFJ_BLXGD = _source.mFJ_BLXGD; + mFJ_DMQJ = _source.mFJ_DMQJ; + mFJ_HuGao = _source.mFJ_HuGao; + mFenJi_JDDZ = _source.mFenJi_JDDZ; + mFenJi_JYZCD = _source.mFenJi_JYZCD; + mSTD_JYZ_mm = _source.mSTD_JYZ_mm; + mSTD_height_m = _source.mSTD_height_m; + mState_TuiJian = _source.mState_TuiJian; + mBLQ_need = _source.mBLQ_need; + } +} diff --git a/LP/DisplayAllXianLu.cs b/LP/DisplayAllXianLu.cs new file mode 100644 index 0000000..4df0b91 --- /dev/null +++ b/LP/DisplayAllXianLu.cs @@ -0,0 +1,451 @@ +using System; +using System.Collections.Generic; +using System.IO; +using AxMapWinGIS; +using MapWinGIS; + +namespace LP; + +public class DisplayAllXianLu +{ + public List mListDisplayXianLu = null; + + private double minJingDu; + + private double maxJingDu; + + private double minWeiDu_; + + private double maxWeiDu_; + + private double minM_JingDu; + + private double maxM_JingDu; + + private double minM_WeiDu_; + + private double maxM_WeiDu_; + + private double maxXY_m; + + public int mNumShowXianLus = 0; + + public string mFileName_province = ""; + + public Image mImage = null; + + public Shapefile mShapefile = null; + + public int mLayerHandle = -1; + + public DisplayAllXianLu() + { + if (mListDisplayXianLu == null) + { + mListDisplayXianLu = new List(); + } + MyClear(); + } + + public void MyClear() + { + if (mListDisplayXianLu == null) + { + mListDisplayXianLu = new List(); + } + for (int i = 0; i < mListDisplayXianLu.Count; i++) + { + if (mListDisplayXianLu[i] != null) + { + mListDisplayXianLu[i].MyClear(); + mListDisplayXianLu[i] = null; + } + } + mListDisplayXianLu.Clear(); + mNumShowXianLus = 0; + } + + public void Destroy() + { + if (mListDisplayXianLu != null) + { + MyClear(); + } + mListDisplayXianLu = null; + } + + public void Add1XianLu_JingDu_WeiDu(List _listJingDu, List _listWeiDu, int _idXianLu) + { + DisplayGanTaIn1XianLu _oneDisplayXianLu = new DisplayGanTaIn1XianLu(); + _oneDisplayXianLu.MyClear(); + for (int i = 0; i < _listJingDu.Count && i < _listWeiDu.Count; i++) + { + _oneDisplayXianLu.Add1Point_JingDu_WeiDu(_listJingDu[i], _listWeiDu[i]); + } + _oneDisplayXianLu.MySet_XianLuID(_idXianLu); + MyAdd_listDisplayXianLu(ref _oneDisplayXianLu); + } + + private void MyAdd_listDisplayXianLu(ref DisplayGanTaIn1XianLu _oneDisplayXianLu) + { + mListDisplayXianLu.Add(_oneDisplayXianLu); + mNumShowXianLus++; + } + + public string MyInfor_JingDu_WeiDu() + { + string text = ""; + for (int i = 0; i < mListDisplayXianLu.Count; i++) + { + if (mListDisplayXianLu[i] == null || mListDisplayXianLu[i].mNumShowGanTas == 0) + { + continue; + } + if (i > 0) + { + text += " "; + } + text += $"id={mListDisplayXianLu[i].MyGet_XianLuID()}["; + for (int j = 0; j < mListDisplayXianLu[i].mNumShowGanTas && j < mListDisplayXianLu[i].mListJingDu.Count && j < mListDisplayXianLu[i].mListWeiDu.Count; j++) + { + if (j > 0) + { + text += " "; + } + text += $"({mListDisplayXianLu[i].mListJingDu[j]},{mListDisplayXianLu[i].mListWeiDu[j]})"; + } + text += "]"; + text += "["; + for (int k = 0; k < mListDisplayXianLu[i].mNumShowGanTas && k < mListDisplayXianLu[i].mListX_m.Count && k < mListDisplayXianLu[i].mListY_m.Count; k++) + { + if (k > 0) + { + text += " "; + } + text += $"({mListDisplayXianLu[i].mListX_m[k]},{mListDisplayXianLu[i].mListY_m[k]})"; + } + text += "]"; + } + return text; + } + + public void MyMinMax_JingWeiDu() + { + minJingDu = (maxJingDu = (minWeiDu_ = (maxWeiDu_ = 0.0))); + minJingDu = 73.55; + maxJingDu = 130.083333; + minWeiDu_ = 18.166667; + maxWeiDu_ = 54.616667; + minM_JingDu = -2600000.0; + maxM_JingDu = 2100000.0; + minM_WeiDu_ = 2400000.0; + maxM_WeiDu_ = 6400000.0; + } + + public void MyBuildXY() + { + int num = 0; + int num2 = 0; + double num3 = 0.0; + if (mListDisplayXianLu == null) + { + return; + } + for (int i = 0; i < mNumShowXianLus && i < mListDisplayXianLu.Count; i++) + { + if (mListDisplayXianLu[i] == null) + { + continue; + } + num = 0; + if (mListDisplayXianLu[i].mListJingDu == null || mListDisplayXianLu[i].mListWeiDu == null) + { + continue; + } + for (int j = 0; j < mListDisplayXianLu[i].mNumShowGanTas && j < mListDisplayXianLu[i].mListJingDu.Count && j < mListDisplayXianLu[i].mListWeiDu.Count; j++) + { + if (num == 0) + { + if (mListDisplayXianLu[i].mListX_m == null) + { + mListDisplayXianLu[i].mListX_m = new List(); + } + if (mListDisplayXianLu[i].mListY_m == null) + { + mListDisplayXianLu[i].mListY_m = new List(); + } + mListDisplayXianLu[i].mListX_m.Clear(); + mListDisplayXianLu[i].mListY_m.Clear(); + } + num++; + num2++; + double num4 = (mListDisplayXianLu[i].mListJingDu[j] - minJingDu) / (maxJingDu - minJingDu) * (maxM_JingDu - minM_JingDu) + minM_JingDu; + mListDisplayXianLu[i].mListX_m.Add(num4); + if (num2 == 1) + { + num3 = num4; + } + if (num2 > 1 && num3 < num4) + { + num3 = num4; + } + num4 = (mListDisplayXianLu[i].mListWeiDu[j] - minWeiDu_) / (maxWeiDu_ - minWeiDu_) * (maxM_WeiDu_ - minM_WeiDu_) + minM_WeiDu_; + mListDisplayXianLu[i].mListY_m.Add(num4); + if (num3 < num4) + { + num3 = num4; + } + } + } + maxXY_m = num3; + } + + private Shapefile CreateLines_JingDu_WeiDu(DisplayGanTaIn1XianLu _displayXianLu) + { + Shapefile shapefile = null; + if (shapefile == null) + { + shapefile = new ShapefileClass(); + } + shapefile.CreateNew("", ShpfileType.SHP_POLYLINEM); + Shape shape = new ShapeClass(); + shape.Create(ShpfileType.SHP_POLYLINEM); + Point point = null; + int num = 0; + for (int i = 0; i < _displayXianLu.mNumShowGanTas; i++) + { + point = new PointClass(); + point.x = _displayXianLu.mListX_m[i]; + point.y = _displayXianLu.mListY_m[i]; + num = shape.numPoints; + shape.InsertPoint(point, ref num); + } + num = shapefile.NumShapes; + shapefile.EditInsertShape(shape, ref num); + return shapefile; + } + + public Shapefile CreateLines(DisplayGanTaIn1XianLu _displayXianLu) + { + Shapefile shapefile = null; + if (shapefile == null) + { + shapefile = new ShapefileClass(); + } + shapefile.CreateNew("", ShpfileType.SHP_POLYLINE); + Shape shape = new ShapeClass(); + shape.Create(ShpfileType.SHP_POLYLINE); + Point point = null; + int num = 0; + for (int i = 0; i < _displayXianLu.mNumShowGanTas; i++) + { + if (i < _displayXianLu.mListX_m.Count && i < _displayXianLu.mListY_m.Count) + { + point = new PointClass(); + point.x = _displayXianLu.mListX_m[i]; + point.y = _displayXianLu.mListY_m[i]; + num = shape.numPoints; + shape.InsertPoint(point, ref num); + } + } + num = shapefile.NumShapes; + shapefile.EditInsertShape(shape, ref num); + return shapefile; + } + + public Shapefile CreateGanTas(DisplayGanTaIn1XianLu _displayXianLu) + { + Shapefile shapefile = null; + if (shapefile == null) + { + shapefile = new ShapefileClass(); + } + shapefile.CreateNewWithShapeID("", ShpfileType.SHP_POINT); + Point point = null; + for (int i = 0; i < _displayXianLu.mNumShowGanTas; i++) + { + if (i < _displayXianLu.mListX_m.Count && i < _displayXianLu.mListY_m.Count) + { + point = new PointClass(); + point.x = _displayXianLu.mListX_m[i]; + point.y = _displayXianLu.mListY_m[i]; + Shape shape = new ShapeClass(); + shape.Create(ShpfileType.SHP_POINT); + int pointIndex = 0; + shape.InsertPoint(point, ref pointIndex); + shapefile.EditInsertShape(shape, ref i); + } + } + shapefile.DefaultDrawingOptions.SetDefaultPointSymbol(tkDefaultPointSymbol.dpsCircle); + return shapefile; + } + + public void MyLinesPattern(FormDesktop _desktop, ref AxMap axMap1) + { + axMap1.RemoveAllLayers(); + axMap1.LockWindow(tkLockMode.lmLock); + if (mLayerHandle >= 0) + { + axMap1.RemoveLayer(mLayerHandle); + mLayerHandle = -1; + mShapefile = null; + } + try + { + axMap1.Projection = tkMapProjection.PROJECTION_GOOGLE_MERCATOR; + if (mShapefile == null && _desktop.mSignal.mShow_Province) + { + mShapefile = new ShapefileClass(); + if (File.Exists(mFileName_province)) + { + if (mShapefile.Open(mFileName_province)) + { + mLayerHandle = axMap1.AddLayer(mShapefile, visible: true); + } + else + { + MyLog.AddLog("MyLinesPattern() " + ((IShapefile)mShapefile).get_ErrorMsg(mShapefile.LastErrorCode)); + } + } + else + { + MyLog.AddLog("MyLinesPattern() file not found. " + mFileName_province); + } + } + for (int i = 0; i < mListDisplayXianLu.Count; i++) + { + Shapefile shapefile = CreateLines(mListDisplayXianLu[i]); + axMap1.AddLayer(shapefile, visible: true); + Utils utils = new UtilsClass(); + LinePattern linePattern = null; + ShapefileCategory shapefileCategory = null; + linePattern = new LinePatternClass(); + linePattern.AddLine(utils.ColorByName(tkMapColor.DarkBlue), 6f, tkDashStyle.dsSolid); + linePattern.AddLine(utils.ColorByName(tkMapColor.LightBlue), 4f, tkDashStyle.dsSolid); + shapefileCategory = shapefile.Categories.Add("River"); + shapefileCategory.DrawingOptions.LinePattern = linePattern; + shapefileCategory.DrawingOptions.UseLinePattern = true; + ((IShapefile)shapefile).set_ShapeCategory(0, 0); + Shapefile shapefile2 = CreateGanTas(mListDisplayXianLu[i]); + axMap1.AddLayer(shapefile2, visible: true); + } + } + catch (Exception ex) + { + MyLog.AddLog("MyLinesPattern() ex=" + ex.Message); + } + finally + { + axMap1.LockWindow(tkLockMode.lmUnlock); + MyLog.AddLog($"MyLinesPattern() Layers added to the map: {axMap1.NumLayers}"); + } + } + + public void MyLinesPattern_old(FormDesktop _desktop, ref AxMap axMap1) + { + try + { + axMap1.RemoveAllLayers(); + axMap1.LockWindow(tkLockMode.lmLock); + if (mLayerHandle >= 0) + { + axMap1.RemoveLayer(mLayerHandle); + mLayerHandle = -1; + mShapefile = null; + } + axMap1.Projection = tkMapProjection.PROJECTION_GOOGLE_MERCATOR; + if (mShapefile == null) + { + mShapefile = new ShapefileClass(); + if (File.Exists(mFileName_province)) + { + if (mShapefile.Open(mFileName_province)) + { + mLayerHandle = axMap1.AddLayer(mShapefile, visible: true); + } + else + { + MyLog.AddLog("MyLinesPattern_old() " + ((IShapefile)mShapefile).get_ErrorMsg(mShapefile.LastErrorCode)); + } + } + else + { + MyLog.AddLog("MyLinesPattern_old() file not found. " + mFileName_province); + } + } + LinePattern_old(ref axMap1); + } + catch (Exception ex) + { + MyLog.AddLog("MyLinesPattern_old() ex=" + ex.Message); + } + finally + { + axMap1.LockWindow(tkLockMode.lmUnlock); + MyLog.AddLog($"MyLinesPattern_old() NumLayers={axMap1.NumLayers}"); + } + } + + private Shapefile CreateLines_old() + { + Shapefile shapefile = null; + if (shapefile == null) + { + shapefile = new ShapefileClass(); + } + shapefile.CreateNew("", ShpfileType.SHP_POLYLINE); + int num = 4700000; + int num2 = 2000000; + for (int i = 0; i < 3; i++) + { + Shape shape = new ShapeClass(); + shape.Create(ShpfileType.SHP_POLYLINE); + Point point = new PointClass(); + point.x = -2600000.0; + point.y = 400000 + (i + 1) * num2; + int pointIndex = shape.numPoints; + shape.InsertPoint(point, ref pointIndex); + point = new PointClass(); + point.x = -2600000 + num; + point.y = 400000 + (i + 1) * num2; + pointIndex = shape.numPoints; + shape.InsertPoint(point, ref pointIndex); + pointIndex = shapefile.NumShapes; + shapefile.EditInsertShape(shape, ref pointIndex); + } + return shapefile; + } + + public void LinePattern_old(ref AxMap axMap1) + { + axMap1.Projection = tkMapProjection.PROJECTION_GOOGLE_MERCATOR; + Shapefile shapefile = CreateLines_old(); + axMap1.AddLayer(shapefile, visible: true); + Utils utils = new UtilsClass(); + LinePattern linePattern = new LinePatternClass(); + linePattern.AddLine(utils.ColorByName(tkMapColor.Black), 6f, tkDashStyle.dsSolid); + linePattern.AddLine(utils.ColorByName(tkMapColor.White), 5f, tkDashStyle.dsDot); + ShapefileCategory shapefileCategory = shapefile.Categories.Add("Railroad"); + shapefileCategory.DrawingOptions.LinePattern = linePattern; + shapefileCategory.DrawingOptions.UseLinePattern = true; + ((IShapefile)shapefile).set_ShapeCategory(0, 0); + linePattern = new LinePatternClass(); + linePattern.AddLine(utils.ColorByName(tkMapColor.DarkBlue), 6f, tkDashStyle.dsSolid); + linePattern.AddLine(utils.ColorByName(tkMapColor.LightBlue), 4f, tkDashStyle.dsSolid); + shapefileCategory = shapefile.Categories.Add("River"); + shapefileCategory.DrawingOptions.LinePattern = linePattern; + shapefileCategory.DrawingOptions.UseLinePattern = true; + ((IShapefile)shapefile).set_ShapeCategory(1, 1); + linePattern = new LinePatternClass(); + linePattern.AddLine(utils.ColorByName(tkMapColor.Gray), 8f, tkDashStyle.dsSolid); + linePattern.AddLine(utils.ColorByName(tkMapColor.Yellow), 7f, tkDashStyle.dsSolid); + LineSegment lineSegment = linePattern.AddMarker(tkDefaultPointSymbol.dpsArrowRight); + lineSegment.Color = utils.ColorByName(tkMapColor.Orange); + lineSegment.MarkerSize = 10f; + lineSegment.MarkerInterval = 32f; + shapefileCategory = shapefile.Categories.Add("Direction"); + shapefileCategory.DrawingOptions.LinePattern = linePattern; + shapefileCategory.DrawingOptions.UseLinePattern = true; + ((IShapefile)shapefile).set_ShapeCategory(2, 2); + } +} diff --git a/LP/DisplayGanTaIn1XianLu.cs b/LP/DisplayGanTaIn1XianLu.cs new file mode 100644 index 0000000..b8b9d7d --- /dev/null +++ b/LP/DisplayGanTaIn1XianLu.cs @@ -0,0 +1,144 @@ +using System; +using System.Collections.Generic; + +namespace LP; + +public class DisplayGanTaIn1XianLu +{ + public static double mCenter_JingDu = 107.0; + + public static double mCenter_WeiDu = 23.0; + + public int mNumShowGanTas = 0; + + public List mListJingDu = null; + + public List mListWeiDu = null; + + public List mListX_m = null; + + public List mListY_m = null; + + private int mID_XianLu = 0; + + public int ID_XianLu + { + get + { + return mID_XianLu; + } + set + { + mID_XianLu = value; + } + } + + public DisplayGanTaIn1XianLu() + { + if (mListJingDu == null) + { + mListJingDu = new List(); + } + if (mListWeiDu == null) + { + mListWeiDu = new List(); + } + if (mListX_m == null) + { + mListX_m = new List(); + } + if (mListY_m == null) + { + mListY_m = new List(); + } + MyClear(); + mID_XianLu = 0; + } + + public void MyClear() + { + mListJingDu.Clear(); + mListWeiDu.Clear(); + mListX_m.Clear(); + mListY_m.Clear(); + mNumShowGanTas = 0; + } + + public void Destroy() + { + if (mListJingDu != null) + { + mListJingDu.Clear(); + mListJingDu = null; + } + if (mListWeiDu != null) + { + mListWeiDu.Clear(); + mListWeiDu = null; + } + if (mListX_m != null) + { + mListX_m.Clear(); + mListX_m = null; + } + if (mListY_m != null) + { + mListY_m.Clear(); + mListY_m = null; + } + mNumShowGanTas = 0; + } + + public void Add1Point_JingDu_WeiDu(double _jingDu, double _weiDu) + { + mListJingDu.Add(_jingDu); + mListWeiDu.Add(_weiDu); + mNumShowGanTas++; + double num = 107.0; + double num2 = 23.0; + double num3 = _jingDu; + double num4 = _weiDu; + num = mCenter_JingDu; + num2 = mCenter_WeiDu; + num3 = _jingDu; + num4 = _weiDu; + num = num * Math.PI / 180.0; + num2 = num2 * Math.PI / 180.0; + num3 = num3 * Math.PI / 180.0; + num4 = num4 * Math.PI / 180.0; + double d = Math.Sin(num2) * Math.Sin(num4) + Math.Cos(num2) * Math.Cos(num4) * Math.Cos(num - num3); + d = 6371.0 * Math.Acos(d); + d *= 1000.0; + d = Math.Round(d, 1); + mListX_m.Add(d); + num = mCenter_JingDu; + num2 = mCenter_WeiDu; + num3 = _jingDu; + num4 = _weiDu; + num = num * Math.PI / 180.0; + num2 = num2 * Math.PI / 180.0; + num3 = num3 * Math.PI / 180.0; + num4 = num4 * Math.PI / 180.0; + d = Math.Sin(num2) * Math.Sin(num4) + Math.Cos(num2) * Math.Cos(num4) * Math.Cos(num - num3); + d = 6371.0 * Math.Acos(d); + d *= 1000.0; + d = Math.Round(d, 1); + mListY_m.Add(d); + } + + public int MyGet_XianLuID() + { + return ID_XianLu; + } + + public void MySet_XianLuID(int _id_XianLu) + { + ID_XianLu = _id_XianLu; + } + + public static void MyCenterSet(double _center_jingdu, double _center_weidu) + { + mCenter_JingDu = _center_jingdu; + mCenter_WeiDu = _center_weidu; + } +} diff --git a/LP/Form4_FengXianPingGu.cs b/LP/Form4_FengXianPingGu.cs new file mode 100644 index 0000000..7554f29 --- /dev/null +++ b/LP/Form4_FengXianPingGu.cs @@ -0,0 +1,644 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class Form4_FengXianPingGu : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateComboBoxItemsClear(ComboBox comboBox); + + private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); + + private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSetSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private bool mAfterInit = false; + + public string mTitle = ""; + + public XianLuData mXianLuData = null; + + private int mXianLuID = 0; + + public string mNameXianLu = ""; + + public int mIndexControl_XianLuName = -1; + + public int mIndexData_ListXianLuData = -1; + + private bool mReady_XianLuName = false; + + public TaskData mTaskData = null; + + public string mNameTask = ""; + + public int mIndexControl_TaskName_PuTongJiSuan = -1; + + private string mTaskName_PuTongJiSuan = ""; + + private TaskData mPuTongJiSuan_TaskData = null; + + private bool mBusy_ButtonOK = false; + + private bool mBusy_ListBox_TaskName_PuTongJiSuan = false; + + private IContainer components = null; + + private ComboBox comboBox_TaskName_PuTongJiSuan; + + private ComboBox comboBox_XianLuName; + + private Label label4; + + private Label label1; + + private Button buttonCancel; + + private Button buttonOK; + + public bool Ready_XianLuName + { + get + { + return mReady_XianLuName; + } + set + { + mReady_XianLuName = value; + } + } + + public string TaskName_PuTongJiSuan + { + get + { + return mTaskName_PuTongJiSuan; + } + set + { + mTaskName_PuTongJiSuan = value; + mNameTask = "风险评估-" + value; + if (string.IsNullOrEmpty(value) || mPuTongJiSuan_TaskData == null) + { + return; + } + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (value.Equals(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) + { + mPuTongJiSuan_TaskData.copyFrom_TaskData(desktop.mTask.mListDetails[i].mTaskData); + break; + } + } + } + } + + public bool Busy_ButtonOK + { + get + { + return mBusy_ButtonOK; + } + set + { + mBusy_ButtonOK = value; + MyButtonEnabled(buttonCancel, !value); + } + } + + public bool Busy_ComboBox_TaskName_PuTongJiSuan + { + get + { + return mBusy_ListBox_TaskName_PuTongJiSuan; + } + set + { + mBusy_ListBox_TaskName_PuTongJiSuan = value; + } + } + + public Form4_FengXianPingGu() + { + InitializeComponent(); + if (mTaskData == null) + { + mTaskData = new TaskData(); + } + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + if (mPuTongJiSuan_TaskData == null) + { + mPuTongJiSuan_TaskData = new TaskData(); + } + mNameTask = "风险评估"; + mTitle = "风险评估"; + mIndexControl_XianLuName = -1; + mIndexData_ListXianLuData = -1; + mIndexControl_TaskName_PuTongJiSuan = -1; + } + + private void Form4_FengXianPingGu_Load(object sender, EventArgs e) + { + mAfterInit = false; + Busy_ButtonOK = false; + MyFormSetTitle(this, ""); + Ready_XianLuName = false; + base.DialogResult = DialogResult.None; + MyInput_TaskData(); + MyInit_ComboBox_XianLuName(); + MyInit_ComboBox_TaskName_PuTongJiSuan(); + mAfterInit = true; + } + + private void Form4_FengXianPingGu_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_TaskData() + { + mTaskData.copyFrom_TaskData(desktop.m4TaskData_FengXianPingGu); + } + + public void MyOutput_TaskData() + { + desktop.m4TaskData_FengXianPingGu.copyFrom_TaskData(mTaskData); + } + + private void MyInit_ComboBox_XianLuName() + { + MyComboBoxItemsClear(comboBox_XianLuName); + if (desktop.mXL == null || desktop.mXL.mListXianLuData == null) + { + return; + } + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + MyComboBoxAdd(comboBox_XianLuName, desktop.mXL.mListXianLuData[i].mName_XianLu); + } + if (mIndexControl_XianLuName < 0 || mIndexControl_XianLuName >= comboBox_XianLuName.Items.Count) + { + mIndexControl_XianLuName = 0; + } + if (mIndexControl_XianLuName >= 0 && mIndexControl_XianLuName < comboBox_XianLuName.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_XianLuName, mIndexControl_XianLuName); + mNameXianLu = comboBox_XianLuName.SelectedItem.ToString().Trim(); + for (int j = 0; j < desktop.mXL.mListXianLuData.Count; j++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[j].mName_XianLu)) + { + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[j]); + mIndexData_ListXianLuData = j; + mXianLuID = mXianLuData.mID_XianLu; + break; + } + } + Ready_XianLuName = true; + } + else + { + mNameXianLu = ""; + mXianLuID = 0; + Ready_XianLuName = false; + } + } + + private void MyInit_ComboBox_TaskName_PuTongJiSuan() + { + Busy_ComboBox_TaskName_PuTongJiSuan = true; + MyComboBoxItemsClear(comboBox_TaskName_PuTongJiSuan); + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (desktop.mTask.mListDetails[i].mTaskData.mXianLuName_Task.Equals(mNameXianLu) && desktop.mTask.mListDetails[i].mTaskData.Permit_FengXianPingGu() && desktop.mTask.mListDetails[i].mTaskData.mName_Task.IndexOf("风险评估") < 0 && desktop.mTask.mListDetails[i].mTaskData.mName_Task.IndexOf("措施推荐") < 0) + { + MyComboBoxAdd(comboBox_TaskName_PuTongJiSuan, desktop.mTask.mListDetails[i].mTaskData.mName_Task); + } + } + if (mIndexControl_TaskName_PuTongJiSuan < 0 || mIndexControl_TaskName_PuTongJiSuan >= comboBox_TaskName_PuTongJiSuan.Items.Count) + { + mIndexControl_TaskName_PuTongJiSuan = 0; + } + if (mIndexControl_TaskName_PuTongJiSuan >= 0 && mIndexControl_TaskName_PuTongJiSuan < comboBox_TaskName_PuTongJiSuan.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_TaskName_PuTongJiSuan, mIndexControl_TaskName_PuTongJiSuan); + TaskName_PuTongJiSuan = comboBox_TaskName_PuTongJiSuan.SelectedItem.ToString(); + } + else + { + TaskName_PuTongJiSuan = ""; + } + Busy_ComboBox_TaskName_PuTongJiSuan = false; + } + + public void Destroy() + { + mPuTongJiSuan_TaskData.Destroy(); + mTaskData.Destroy(); + mXianLuData.Destroy(); + } + + private void buttonOK_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + if (Busy_ButtonOK) + { + return; + } + Busy_ButtonOK = true; + if (!Ready_XianLuName) + { + if (comboBox_XianLuName.Items.Count > 0) + { + MyFormSetTitle(this, "请选择线路,然后点击按钮“" + buttonOK.Text + "”。"); + } + if (comboBox_XianLuName.Items.Count == 0) + { + MyFormSetTitle(this, "缺少线路数据。 请点击按钮“" + buttonCancel.Text + "”,退出对话框。"); + } + comboBox_XianLuName.Focus(); + Busy_ButtonOK = false; + return; + } + if (string.IsNullOrEmpty(TaskName_PuTongJiSuan)) + { + if (comboBox_TaskName_PuTongJiSuan.Items.Count == 0) + { + MyFormSetTitle(this, "!无匹配结果!防雷计算。"); + Busy_ButtonOK = false; + buttonCancel.Focus(); + } + else + { + MyFormSetTitle(this, "请选择已有结果的防雷计算任务,然后点击“" + buttonOK.Text + "”。"); + comboBox_TaskName_PuTongJiSuan.Focus(); + Busy_ButtonOK = false; + } + return; + } + switch (desktop.mTask.MyCheckTaskName(mNameTask)) + { + case 1: + MyFormSetTitle(this, "任务名称空白!"); + buttonCancel.Focus(); + Busy_ButtonOK = false; + return; + case 2: + MyFormSetTitle(this, "评估任务已存在!请点击“" + buttonCancel.Text + "”。"); + buttonCancel.Focus(); + Busy_ButtonOK = false; + return; + } + if (!mPuTongJiSuan_TaskData.Permit_FengXianPingGu()) + { + MyFormSetTitle(this, "重新完成普通计算。"); + comboBox_TaskName_PuTongJiSuan.Focus(); + Busy_ButtonOK = false; + } + else + { + Thread thread = new Thread(MyThread_ButtonOK); + thread.Start(); + } + } + + private bool IsRepeatTask() + { + bool result = false; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (mNameTask.Equals(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) + { + result = true; + break; + } + } + return result; + } + + private void MyRefresh_TaskData() + { + if (mPuTongJiSuan_TaskData != null) + { + mTaskData.copyFrom_TaskData(mPuTongJiSuan_TaskData); + } + mTaskData.mID_Task = TaskData.mNextID_static; + mTaskData.mTypeCode_Task = 2; + mTaskData.mName_Task = mNameTask; + mTaskData.mXianLuID_Task = mXianLuData.mID_XianLu; + mTaskData.mXianLuName_Task = mXianLuData.mName_XianLu; + mTaskData.mXianLuJLZL_Task = mXianLuData.mJLZL_XianLu; + mTaskData.mDYDJ_Task = mXianLuData.mDYDJ_XianLu; + mTaskData.Finished2_FengXianPingGu = 0; + } + + private void MyThread_ButtonOK() + { + Busy_ButtonOK = false; + MyRefresh_TaskData(); + for (int i = 0; i < 10; i++) + { + if (desktop.m4TaskData_FengXianPingGu.mID_Task < 0) + { + break; + } + Thread.Sleep(1000); + } + desktop.m4TaskData_FengXianPingGu.copyFrom_TaskData(mTaskData); + desktop.MySendForm_TaskData(desktop, desktop.m4TaskData_FengXianPingGu); + base.DialogResult = DialogResult.OK; + MyFormHide(this); + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + MyButtonEnabled(buttonCancel, value: false); + Thread thread = new Thread(MyCancel); + thread.Start(); + } + + private void MyCancel() + { + MyFormSetTitle(this, "取消—"); + MyFormSetTitle(this, "取消———"); + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + + private void comboBox_XianLuName_SelectedIndexChanged(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + int selectedIndex = ((ComboBox)sender).SelectedIndex; + mIndexControl_XianLuName = selectedIndex; + mNameXianLu = ((ComboBox)sender).SelectedItem.ToString().Trim(); + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[i].mName_XianLu)) + { + mIndexData_ListXianLuData = i; + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[i]); + mXianLuID = mXianLuData.mID_XianLu; + Ready_XianLuName = true; + break; + } + } + MyInit_ComboBox_TaskName_PuTongJiSuan(); + } + + private void comboBox_TaskName_PuTongJiSuan_SelectedIndexChanged(object sender, EventArgs e) + { + if (mAfterInit && !Busy_ButtonOK && !Busy_ComboBox_TaskName_PuTongJiSuan) + { + Busy_ComboBox_TaskName_PuTongJiSuan = true; + int selectedIndex = ((ComboBox)sender).SelectedIndex; + mIndexControl_TaskName_PuTongJiSuan = selectedIndex; + TaskName_PuTongJiSuan = ((ComboBox)sender).SelectedItem.ToString(); + Busy_ComboBox_TaskName_PuTongJiSuan = false; + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyComboBoxItemsClear(ComboBox comboBox) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxItemsClear method = MyComboBoxItemsClear; + comboBox.Invoke(method, comboBox); + } + else + { + comboBox.Items.Clear(); + } + } + + public void MyComboBoxAdd(ComboBox comboBox, string value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxAdd method = MyComboBoxAdd; + comboBox.Invoke(method, comboBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + comboBox.Items.Add(value); + } + } + + public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; + comboBox.Invoke(method, comboBox, value); + } + else if (value >= 0 && value < comboBox.Items.Count) + { + comboBox.SelectedIndex = value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSetSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSetSelectedIndex method = MyListBoxSetSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.comboBox_TaskName_PuTongJiSuan = new System.Windows.Forms.ComboBox(); + this.comboBox_XianLuName = new System.Windows.Forms.ComboBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + base.SuspendLayout(); + this.comboBox_TaskName_PuTongJiSuan.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_TaskName_PuTongJiSuan.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_TaskName_PuTongJiSuan.FormattingEnabled = true; + this.comboBox_TaskName_PuTongJiSuan.Location = new System.Drawing.Point(25, 89); + this.comboBox_TaskName_PuTongJiSuan.Name = "comboBox_TaskName_PuTongJiSuan"; + this.comboBox_TaskName_PuTongJiSuan.Size = new System.Drawing.Size(356, 20); + this.comboBox_TaskName_PuTongJiSuan.TabIndex = 64; + this.comboBox_TaskName_PuTongJiSuan.SelectedIndexChanged += new System.EventHandler(comboBox_TaskName_PuTongJiSuan_SelectedIndexChanged); + this.comboBox_XianLuName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_XianLuName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_XianLuName.FormattingEnabled = true; + this.comboBox_XianLuName.Location = new System.Drawing.Point(25, 32); + this.comboBox_XianLuName.Name = "comboBox_XianLuName"; + this.comboBox_XianLuName.Size = new System.Drawing.Size(356, 20); + this.comboBox_XianLuName.TabIndex = 65; + this.comboBox_XianLuName.SelectedIndexChanged += new System.EventHandler(comboBox_XianLuName_SelectedIndexChanged); + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label4.Location = new System.Drawing.Point(25, 72); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(91, 14); + this.label4.TabIndex = 61; + this.label4.Text = "防雷计算任务"; + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(25, 15); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(63, 14); + this.label1.TabIndex = 63; + this.label1.Text = "线路名称"; + this.buttonCancel.Location = new System.Drawing.Point(295, 133); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(86, 28); + this.buttonCancel.TabIndex = 68; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(187, 133); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(86, 28); + this.buttonOK.TabIndex = 67; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(407, 173); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.comboBox_TaskName_PuTongJiSuan); + base.Controls.Add(this.comboBox_XianLuName); + base.Controls.Add(this.label4); + base.Controls.Add(this.label1); + base.Name = "Form4_FengXianPingGu"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Form4_FengXianPingGu"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form4_FengXianPingGu_FormClosing); + base.Load += new System.EventHandler(Form4_FengXianPingGu_Load); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/Form5_CuoShiTuiJian.cs b/LP/Form5_CuoShiTuiJian.cs new file mode 100644 index 0000000..ddbe13e --- /dev/null +++ b/LP/Form5_CuoShiTuiJian.cs @@ -0,0 +1,1211 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class Form5_CuoShiTuiJian : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateComboBoxItemsClear(ComboBox comboBox); + + private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); + + private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSetSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private bool mAfterInit = false; + + public bool mBusy = false; + + public string mTitle = ""; + + public XianLuData mXianLuData = null; + + public string mNameXianLu = ""; + + public int mIndexControl_XianLuName = -1; + + public int mIndex_ListXianLuData = -1; + + private bool mReady_XianLuName = false; + + public TaskData mTaskData = null; + + public string mNameTask = ""; + + private bool mReady_TaskName = false; + + public int mIndex_List_PuTongJiSuan = 0; + + public int mIndexControl_FanJi_NaiLeiShuiPing = -1; + + public string mFanJi_NaiLeiShuiPing = ""; + + public int mIndexControl_RaoJi_NaiLeiShuiPing = -1; + + public string mRaoJi_NaiLeiShuiPing = ""; + + public int mIndexControl_FanJi_TZL = -1; + + public string mFanJi_TZL = ""; + + public int mIndexControl_RaoJi_TZL = -1; + + public string mRaoJi_TZL = ""; + + private float initWidth = 0f; + + private float initHeight = 0f; + + public int mIndexControl_TaskName_PuTongJiSuan = -1; + + private string mTaskName_PuTongJiSuan = ""; + + private int mTaskID_PuTongJiSuan = 0; + + private bool mBusy_ButtonOK = false; + + public DataGridView mDGView = null; + + public DataSet mDS = null; + + public List mList_GanTaID_2DisInclude_Checked_ByUser = null; + + private bool mCurrentSelect = false; + + public string mMainKeyColumnName = ""; + + private List mList_SBH = null; + + public bool mb_FeiJianXian = false; + + private bool mBusy_ListBox_TaskName_PuTongJiSuan = false; + + private IContainer components = null; + + private Button buttonCancel; + + private Button buttonOK; + + private ComboBox comboBox_TaskName_PuTongJiSuan; + + private Label label4; + + private DataGridView dataGridView_GanTa; + + private TextBox textBox_NameTask; + + private Label label3; + + private Button buttonSelectAll; + + public bool Ready_XianLuName + { + get + { + return mReady_XianLuName; + } + set + { + mReady_XianLuName = value; + } + } + + public bool Ready_TaskName + { + get + { + return mReady_TaskName; + } + set + { + mReady_TaskName = value; + } + } + + public bool Busy_ButtonOK + { + get + { + return mBusy_ButtonOK; + } + set + { + mBusy_ButtonOK = value; + MyButtonEnabled(buttonCancel, !value); + } + } + + public bool Busy_ComboBox_TaskName_PuTongJiSuan + { + get + { + return mBusy_ListBox_TaskName_PuTongJiSuan; + } + set + { + mBusy_ListBox_TaskName_PuTongJiSuan = value; + } + } + + public Form5_CuoShiTuiJian() + { + InitializeComponent(); + if (mTaskData == null) + { + mTaskData = new TaskData(); + } + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + mNameTask = "措施推荐"; + mTitle = "措施推荐"; + mIndexControl_XianLuName = -1; + mIndex_ListXianLuData = -1; + mIndexControl_TaskName_PuTongJiSuan = -1; + if (mList_GanTaID_2DisInclude_Checked_ByUser == null) + { + mList_GanTaID_2DisInclude_Checked_ByUser = new List(); + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + if (mDS == null) + { + mDS = new DataSet(); + } + mMainKeyColumnName = "塔号"; + mIndexControl_FanJi_NaiLeiShuiPing = 1; + mFanJi_NaiLeiShuiPing = "ATP"; + mIndexControl_RaoJi_NaiLeiShuiPing = 1; + mRaoJi_NaiLeiShuiPing = "ATP"; + mIndexControl_FanJi_TZL = 1; + mFanJi_TZL = "规程"; + mIndexControl_RaoJi_TZL = 2; + mRaoJi_TZL = "EGM"; + if (mList_SBH == null) + { + mList_SBH = new List(); + } + } + + private void Form5_CuoShiTuiJian_Load(object sender, EventArgs e) + { + mAfterInit = false; + Busy_ButtonOK = false; + mTitle = ((!mb_FeiJianXian) ? "措施推荐" : "措施推荐(非建线)"); + MyFormSetTitle(this, ""); + Ready_TaskName = false; + base.DialogResult = DialogResult.None; + if (mDGView == null) + { + mDGView = dataGridView_GanTa; + } + mDGView.Columns.Clear(); + mDGView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + initWidth = base.Width; + initHeight = base.Height; + setTag(this); + MyInput_TaskData(); + MyInit_ComboBox_TaskName_PuTongJiSuan(); + mBusy = false; + mAfterInit = true; + } + + private void Form5_CuoShiTuiJian_FormClosing(object sender, FormClosingEventArgs e) + { + mDGView.DataSource = null; + } + + public void MyInput_TaskData() + { + mTaskData.copyFrom_TaskData(desktop.mDlg_FangLeiGaiZao.mtData); + } + + public void MyOutput_TaskData() + { + desktop.mDlg_FangLeiGaiZao.mtData.copyFrom_TaskData(mTaskData); + } + + private void MyInit_ComboBox_TaskName_PuTongJiSuan() + { + try + { + Busy_ComboBox_TaskName_PuTongJiSuan = true; + MyComboBoxItemsClear(comboBox_TaskName_PuTongJiSuan); + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (desktop.mTask.mListDetails[i] != null && desktop.mTask.mListDetails[i].mTaskData != null && (desktop.mTask.mListDetails[i].mTaskData.mTypeCode_Task == 1 || desktop.mTask.mListDetails[i].mTaskData.mTypeCode_Task == 4) && !string.IsNullOrEmpty(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) + { + MyComboBoxAdd(comboBox_TaskName_PuTongJiSuan, desktop.mTask.mListDetails[i].mTaskData.mName_Task); + } + } + if (mIndexControl_TaskName_PuTongJiSuan < 0 || mIndexControl_TaskName_PuTongJiSuan >= comboBox_TaskName_PuTongJiSuan.Items.Count) + { + mIndexControl_TaskName_PuTongJiSuan = 0; + } + if (mIndexControl_TaskName_PuTongJiSuan >= 0 && mIndexControl_TaskName_PuTongJiSuan < comboBox_TaskName_PuTongJiSuan.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_TaskName_PuTongJiSuan, mIndexControl_TaskName_PuTongJiSuan); + mTaskName_PuTongJiSuan = comboBox_TaskName_PuTongJiSuan.SelectedItem.ToString().Trim(); + for (int j = 0; j < desktop.mTask.mListDetails.Count; j++) + { + if (!mTaskName_PuTongJiSuan.Equals(desktop.mTask.mListDetails[j].mTaskData.mName_Task)) + { + continue; + } + for (int k = 0; k < desktop.mXL.mListXianLuData.Count; k++) + { + if (desktop.mTask.mListDetails[j].mXianLuID_Detail == desktop.mXL.mListXianLuData[k].mID_XianLu) + { + mIndex_ListXianLuData = k; + break; + } + } + mIndex_List_PuTongJiSuan = j; + mTaskData.copyFrom_TaskData(desktop.mTask.mListDetails[j].mTaskData); + mTaskID_PuTongJiSuan = mTaskData.mID_Task; + GetDataSet(); + MyQuery_refreshDGV(); + for (int l = 0; l < desktop.mXL.mListXianLuData.Count; l++) + { + if (desktop.mXL.mListXianLuData[l].mName_XianLu.Equals(desktop.mTask.mListDetails[j].mTaskData.mXianLuName_Task)) + { + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[l]); + break; + } + } + break; + } + Ready_TaskName = true; + } + else + { + mTaskName_PuTongJiSuan = ""; + mTaskID_PuTongJiSuan = 0; + Ready_TaskName = false; + } + Busy_ComboBox_TaskName_PuTongJiSuan = false; + mNameTask = textBox_NameTask.Text.Trim(); + Ready_TaskName = desktop.mTask.MyCheckTaskName(mNameTask) == 0; + } + catch (Exception ex) + { + MyLog.AddLog("Form5_CuoShiTuiJian.cs MyInit_ListBox_TaskName_PuTongJiSuan() Exception=" + ex.Message); + } + } + + public void Destroy() + { + if (mTaskData != null) + { + mTaskData.Destroy(); + } + mTaskData = null; + if (mXianLuData != null) + { + mXianLuData.Destroy(); + } + mXianLuData = null; + if (mList_GanTaID_2DisInclude_Checked_ByUser != null) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + mList_GanTaID_2DisInclude_Checked_ByUser = null; + } + if (mDS != null) + { + mDS.Clear(); + mDS = null; + } + if (mList_SBH != null) + { + mList_SBH.Clear(); + mList_SBH = null; + } + } + + private bool ActionIsBusy() + { + return mBusy; + } + + private void ActionSetBusy() + { + mBusy = true; + } + + private void ActionClearBusy() + { + mBusy = false; + } + + private void setTag(Control cons) + { + foreach (Control control in cons.Controls) + { + control.Tag = control.Width + ":" + control.Height + ":" + control.Left + ":" + control.Top + ":" + control.Font.Size; + if (control.Controls.Count > 0) + { + setTag(control); + } + } + } + + private void setControls(float scaleX, float scaleY, Control cons) + { + foreach (Control control in cons.Controls) + { + string[] array = control.Tag.ToString().Split(':'); + float num = Convert.ToSingle(array[0]) * scaleX; + control.Width = (int)num; + num = Convert.ToSingle(array[1]) * scaleY; + if (control is ListBox) + { + num = Convert.ToSingle(array[1]) * 1f; + } + control.Height = (int)num; + num = Convert.ToSingle(array[2]) * scaleX; + control.Left = (int)num; + num = Convert.ToSingle(array[3]) * scaleY; + control.Top = (int)num; + float emSize = Convert.ToSingle(array[4]) * Math.Min(scaleX, scaleY); + control.Font = new Font(control.Font.Name, emSize, control.Font.Style, control.Font.Unit); + if (control.Controls.Count > 0) + { + setControls(scaleX, scaleY, control); + } + } + } + + private void Form5_CuoShiTuiJian_Resize(object sender, EventArgs e) + { + float scaleX = (float)base.Width / initWidth; + float scaleY = (float)base.Height / initHeight; + setControls(scaleX, scaleY, this); + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (ActionIsBusy()) + { + return; + } + ActionSetBusy(); + try + { + MyFormSetTitle(this, ""); + if (Busy_ButtonOK) + { + ActionClearBusy(); + return; + } + Busy_ButtonOK = true; + if (!Ready_TaskName) + { + switch (desktop.mTask.MyCheckTaskName(textBox_NameTask.Text.Trim())) + { + case 1: + MyFormSetTitle(this, "任务名称空白,请填写“任务名称”。"); + break; + case 2: + MyFormSetTitle(this, "任务名称重复,请重新填写“任务名称”。"); + break; + } + textBox_NameTask.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + return; + } + if (string.IsNullOrEmpty(mTaskName_PuTongJiSuan)) + { + if (comboBox_TaskName_PuTongJiSuan.Items.Count == 0) + { + MyFormSetTitle(this, "!无匹配结果!风险评估。"); + buttonCancel.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + } + else + { + MyFormSetTitle(this, "请选择已有结果的风险评估任务,然后点击“" + buttonOK.Text + "”。"); + comboBox_TaskName_PuTongJiSuan.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + } + return; + } + switch (desktop.mTask.MyCheckTaskName(mNameTask)) + { + case 1: + MyFormSetTitle(this, "任务名称空白!"); + buttonCancel.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + return; + case 2: + MyFormSetTitle(this, "推荐任务已存在!请点击“" + buttonCancel.Text + "”。"); + buttonCancel.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + return; + } + if (!mTaskData.Permit_CuoShiTuiJian()) + { + MyFormSetTitle(this, "重新完成风险评估。"); + comboBox_TaskName_PuTongJiSuan.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + return; + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text = ""; + for (int i = 0; i < mDGView.Rows.Count; i++) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[i].Cells["包含"]; + if (dataGridViewCheckBoxCell != null && dataGridViewCheckBoxCell.Value != null && (bool)dataGridViewCheckBoxCell.Value) + { + text = mList_SBH[i]; + mList_GanTaID_2DisInclude_Checked_ByUser.Add(text); + } + } + if (mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0) + { + MyFormSetTitle(this, "包含杆塔为空,请选择计算“包含”杆塔,然后点击“" + buttonOK.Text + "”。"); + dataGridView_GanTa.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + } + else + { + Thread thread = new Thread(MyThread_ButtonOK); + thread.Start(); + } + } + catch (Exception ex) + { + MyLog.AddLog("Form5_CuoShiTuiJian.cs buttonOK_Click() Exception=" + ex.Message); + ActionClearBusy(); + } + } + + private void MyRefresh_TaskData() + { + mTaskData.mID_Task = TaskData.mNextID_static; + mTaskData.mID_string_Task = $"{mTaskData.mID_Task}|{mTaskData.mID_ExTask}"; + if (!mb_FeiJianXian) + { + mTaskData.mTypeCode_Task = 3; + } + else if (mb_FeiJianXian) + { + mTaskData.mTypeCode_Task = 302; + } + mTaskData.mName_Task = mNameTask; + mTaskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = mTaskID_PuTongJiSuan; + mTaskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = 0; + mTaskData.mXianLuID_Task = mXianLuData.mID_XianLu; + mTaskData.mXianLuName_Task = mXianLuData.mName_XianLu; + mTaskData.mXianLuJLZL_Task = mXianLuData.mJLZL_XianLu; + mTaskData.mDYDJ_Task = mXianLuData.mDYDJ_XianLu; + mTaskData.mFanJi_NaiLeiShuiPing = mFanJi_NaiLeiShuiPing; + mTaskData.mRaoJi_NaiLeiShuiPing = mRaoJi_NaiLeiShuiPing; + mTaskData.mFanJi_TZL = mFanJi_TZL; + mTaskData.mRaoJi_TZL = mRaoJi_TZL; + mTaskData.mPrepare11_LightingCurrent = mXianLuData.mPrepare1_LightingCurrent; + mTaskData.mPrepare12_DiShanMiDu = mXianLuData.mPrepare2_DiShanMiDu; + mTaskData.mPrepare13_DiMianQingJiao = mXianLuData.mPrepare3_DiMianQingJiao; + mTaskData.Finished3_CuoShiTuiJian = 0; + } + + private void MyThread_ButtonOK() + { + try + { + MyRefresh_TaskData(); + int num = 0; + bool flag = false; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (mTaskData.mID_Task == desktop.mTask.mListDetails[i].mTaskID_Detail) + { + desktop.mTask.mListDetails[i].mTaskData.copyFrom_TaskData(mTaskData); + num = i; + flag = true; + break; + } + } + if (!flag) + { + TaskDetail taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = mTaskData.mID_Task; + taskDetail.mXianLuID_Detail = mTaskData.mXianLuID_Task; + taskDetail.mTaskData.copyFrom_TaskData(mTaskData); + num = desktop.mTask.mListDetails.Count; + desktop.mTask.mListDetails.Add(taskDetail); + desktop.mTask.mListDetails[num].mTaskGroup.mID_Task = mTaskData.mID_Task; + desktop.mTask.mListDetails[num].mTaskData.mID_Task = mTaskData.mID_Task; + } + else if (flag) + { + MyLog.AddLog($"MyThread_ButtonOK() Detail repeat(indexDetail={num}, mListDetails.Count={desktop.mTask.mListDetails.Count})."); + return; + } + TaskData taskData = null; + TaskData taskData2 = null; + TaskData taskData3 = null; + for (int j = 0; j < desktop.mTask.mListDetails[mIndex_List_PuTongJiSuan].mTaskGroup.mListExTaskData.Count; j++) + { + taskData2 = desktop.mTask.mListDetails[mIndex_List_PuTongJiSuan].mTaskGroup.mListExTaskData[j]; + if (taskData2 != null) + { + taskData = new TaskData(); + taskData.copyFrom_TaskData(mTaskData); + taskData.mCurveTimeHead = taskData2.mCurveTimeHead; + taskData.mCurveTimeTail = taskData2.mCurveTimeTail; + taskData.mTGanTas.SetXianLuData(taskData.mID_string_Task, mXianLuData); + taskData.mTGanTas.mListTGanTaData.Clear(); + desktop.mTask.Add1_ExTaskData(num, taskData); + } + } + TGanTas tGanTas = null; + GanTaData ganTaData = null; + TGanTaData tGanTaData = null; + string text = ""; + for (int k = 0; k < desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData.Count; k++) + { + taskData = desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData[k]; + taskData.mTGanTas.mListTGanTaData.Clear(); + for (int l = 0; l < desktop.mTask.mListDetails[mIndex_List_PuTongJiSuan].mTaskGroup.mListExTaskData.Count; l++) + { + if (l != k) + { + continue; + } + taskData3 = desktop.mTask.mListDetails[mIndex_List_PuTongJiSuan].mTaskGroup.mListExTaskData[l]; + tGanTas = taskData3.mTGanTas; + for (int m = 0; m < tGanTas.mListTGanTaData.Count; m++) + { + tGanTaData = tGanTas.mListTGanTaData[m]; + text = $"{tGanTaData.mTaskIDstring}|{tGanTaData.mIndex__GanTa}"; + if (mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text) && tGanTaData.mFXDJ_GanTa > 2) + { + ganTaData = new GanTaData(); + ganTaData.CopyFrom_TGanTaData(tGanTaData); + taskData.mTGanTas.Add1TGanTaData(ganTaData, taskData3.mIndex_CurrentCurve, taskData3.mCurveTimeHead, taskData3.mCurveTimeTail); + TGanTaData.mNextID_static++; + } + } + } + } + MyOutput_TaskData(); + } + catch (Exception ex) + { + MyLog.AddLog("Form5_CuoShiTuiJian.cs MyThread_ButtonOK() Exception=" + ex.Message); + } + finally + { + Busy_ButtonOK = false; + ActionClearBusy(); + } + base.DialogResult = DialogResult.OK; + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + if (ActionIsBusy()) + { + return; + } + ActionSetBusy(); + try + { + MyFormSetTitle(this, ""); + MyButtonEnabled(buttonCancel, value: false); + Thread thread = new Thread(MyCancel); + thread.Start(); + } + catch (Exception ex) + { + MyLog.AddLog("Form5_CuoShiTuiJian.cs buttonCancel_Click() Exception=" + ex.Message); + ActionClearBusy(); + } + } + + private void MyCancel() + { + try + { + MyFormSetTitle(this, "取消—"); + MyFormSetTitle(this, "取消———"); + } + catch (Exception ex) + { + MyLog.AddLog("Form5_CuoShiTuiJian.cs MyCancel() Exception=" + ex.Message); + } + finally + { + ActionClearBusy(); + } + try + { + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + catch (Exception) + { + } + } + + private void buttonSelectAll_Click(object sender, EventArgs e) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + mCurrentSelect = !mCurrentSelect; + for (int i = 0; i < mList_SBH.Count; i++) + { + if (mCurrentSelect) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Add(mList_SBH[i]); + } + } + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text = ""; + try + { + for (int j = 0; j < mDGView.Rows.Count; j++) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[j].Cells["包含"]; + text = mList_SBH[j]; + dataGridViewCheckBoxCell.Value = mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text); + } + } + catch (Exception) + { + } + buttonSelectAll.Text = (mCurrentSelect ? "不选" : "全选"); + } + + private void comboBox_TaskName_PuTongJiSuan_SelectedIndexChanged(object sender, EventArgs e) + { + if (ActionIsBusy()) + { + return; + } + ActionSetBusy(); + try + { + if (!mAfterInit) + { + ActionClearBusy(); + return; + } + if (Busy_ButtonOK) + { + ActionClearBusy(); + return; + } + int selectedIndex = ((ComboBox)sender).SelectedIndex; + mIndexControl_TaskName_PuTongJiSuan = selectedIndex; + mTaskName_PuTongJiSuan = ((ComboBox)sender).SelectedItem.ToString().Trim(); + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (!mTaskName_PuTongJiSuan.Equals(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) + { + continue; + } + for (int j = 0; j < desktop.mXL.mListXianLuData.Count; j++) + { + if (desktop.mTask.mListDetails[i].mXianLuID_Detail == desktop.mXL.mListXianLuData[j].mID_XianLu) + { + mIndex_ListXianLuData = j; + break; + } + } + mIndex_List_PuTongJiSuan = i; + mTaskData.copyFrom_TaskData(desktop.mTask.mListDetails[i].mTaskData); + mTaskID_PuTongJiSuan = mTaskData.mID_Task; + GetDataSet(); + MyQuery_refreshDGV(); + for (int k = 0; k < desktop.mXL.mListXianLuData.Count; k++) + { + if (desktop.mXL.mListXianLuData[k].mName_XianLu.Equals(desktop.mTask.mListDetails[i].mTaskData.mXianLuName_Task)) + { + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[k]); + break; + } + } + break; + } + } + catch (Exception ex) + { + MyLog.AddLog("Form5_CuoShiTuiJian.cs comboBox_TaskName_PuTongJiSuan_SelectedIndexChanged() Exception=" + ex.Message); + } + ActionClearBusy(); + } + + private void GetDataSet() + { + try + { + if (mIndex_ListXianLuData < 0 || mIndex_ListXianLuData >= desktop.mXL.mListXianLuData.Count || desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count == 0) + { + return; + } + if (mList_SBH == null) + { + mList_SBH = new List(); + } + mList_SBH.Clear(); + if (mDS == null) + { + mDS = new DataSet(); + } + if (mDS.Tables.Count == 0) + { + mDS.Tables.Add(new DataTable()); + } + if (mDS.Tables[0].Rows.Count > 0) + { + mDS.Tables[0].Rows.Clear(); + } + if (mDS.Tables[0].Columns.Count > 0) + { + mDS.Tables[0].Columns.Clear(); + } + mDS.Tables[0].Columns.Add("任务号"); + mDS.Tables[0].Columns.Add("塔号"); + mDS.Tables[0].Columns.Add("杆塔模型"); + mDS.Tables[0].Columns.Add("地理坐标°"); + mDS.Tables[0].Columns.Add("档距"); + mDS.Tables[0].Columns.Add("雷击风险等级"); + mDS.Tables[0].Columns.Add("海拔高度m"); + mDS.Tables[0].Columns.Add("地形"); + mDS.Tables[0].Columns.Add("接地电阻Ω"); + mDS.Tables[0].Columns.Add("地闪密度 次/(km^2*年)"); + mDS.Tables[0].Columns.Add("雷电流"); + mDS.Tables[0].Columns.Add("倾角"); + mDS.Tables[0].Columns.Add("塔型"); + List list = null; + List list2 = null; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (!mTaskName_PuTongJiSuan.Equals(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) + { + continue; + } + list = desktop.mTask.mListDetails[i].mTaskGroup.mListExTaskData; + if (list == null) + { + continue; + } + for (int j = 0; j < list.Count; j++) + { + if (list[j] == null || list[j].mTGanTas == null || list[j].mTGanTas.mListTGanTaData == null) + { + continue; + } + list2 = list[j].mTGanTas.mListTGanTaData; + if (list2 == null) + { + continue; + } + for (int k = 0; k < list2.Count; k++) + { + if (list2[k].mFXDJ_GanTa > 2) + { + DataRow dataRow = mDS.Tables[0].NewRow(); + for (int l = 0; l < mDS.Tables[0].Columns.Count; l++) + { + dataRow[l] = ""; + } + dataRow[0] = $"{list[j].mID_ExTask}"; + dataRow[1] = list2[k].mID_GanTa ?? ""; + dataRow[2] = list2[k].mModel_GanTa ?? ""; + dataRow[3] = $"{list2[k].mJingDu_GanTa}|{list2[k].mWeiDu_GanTa}"; + dataRow[4] = $"{list2[k].mXiaoHao_GanTa},{list2[k].mDaHao_GanTa}"; + dataRow[5] = $"{list2[k].mFXDJ_GanTa}"; + dataRow[6] = $"{list2[k].mHaiBa_GanTa}"; + dataRow[7] = list2[k].mDiXing_GanTa ?? ""; + dataRow[8] = $"{list2[k].mJDDZ_GanTa}"; + dataRow[9] = $"{list2[k].mDSMD_GanTa}"; + dataRow[10] = $"{list2[k].mCurrent_a_GanTa},{list2[k].mCurrent_b_GanTa}"; + dataRow[11] = $"{list2[k].mDMQJ1_GanTa},{list2[k].mDMQJ2_GanTa}"; + dataRow[12] = list2[k].mTaXing_GanTa ?? ""; + mDS.Tables[0].Rows.Add(dataRow); + mList_SBH.Add($"{list2[k].mTaskIDstring}|{list2[k].mIndex__GanTa}"); + } + } + } + } + if (mDS.Tables[0].Rows.Count == 0) + { + if (mAfterInit) + { + MyFormSetTitle(this, "“" + desktop.mTask.mListDetails[mIndex_List_PuTongJiSuan].mTaskData.mName_Task + "”所有杆塔的雷击风险等级都小于3"); + } + } + else + { + MyFormSetTitle(this, $" 共{mDS.Tables[0].Rows.Count}条"); + } + } + catch (Exception ex) + { + MyLog.AddLog("Form5_CuoShiTuiJian.cs GetDataSet() Exception=" + ex.Message); + } + } + + private void MyQuery_refreshDGV() + { + try + { + if (mDGView != null && mDGView.Columns.Count > 0) + { + if (mDGView.Columns.Contains("包含")) + { + mDGView.Columns.Remove("包含"); + } + if (mDGView.Columns.Contains("关联数目")) + { + mDGView.Columns.Remove("关联数目"); + } + } + mDGView.DataSource = null; + if (mDS == null || mDS.Tables.Count == 0) + { + return; + } + DataTable dataTable = mDS.Tables[0]; + mDGView.DataSource = dataTable.DefaultView; + if (mDGView.Columns.Contains(mMainKeyColumnName)) + { + mDGView.Columns[mMainKeyColumnName].ReadOnly = true; + } + else + { + mDGView.Columns[0].ReadOnly = true; + } + if (dataTable.Rows.Count > 0) + { + DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn = new DataGridViewCheckBoxColumn(); + dataGridViewCheckBoxColumn.HeaderText = "包含"; + dataGridViewCheckBoxColumn.Name = "包含"; + dataGridViewCheckBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; + dataGridViewCheckBoxColumn.FlatStyle = FlatStyle.Flat; + dataGridViewCheckBoxColumn.ThreeState = false; + if (mDGView.Columns.Count > 0 && mDGView.Columns.Contains("包含")) + { + mDGView.Columns.Remove("包含"); + } + mDGView.Columns.Insert(0, dataGridViewCheckBoxColumn); + } + if (dataTable.Rows.Count == 0 || mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0 || mAfterInit) + { + return; + } + bool flag = false; + bool flag2 = false; + string text = ""; + for (int i = 0; i < mList_GanTaID_2DisInclude_Checked_ByUser.Count; i++) + { + flag2 = false; + for (int j = 0; j < mDS.Tables[0].Rows.Count; j++) + { + text = mList_SBH[j]; + if (!string.IsNullOrEmpty(text) && text.Equals(mList_GanTaID_2DisInclude_Checked_ByUser[i] ?? "")) + { + flag2 = true; + break; + } + } + if (!flag2) + { + flag = true; + break; + } + } + if (flag) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + return; + } + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text2 = ""; + for (int k = 0; k < mDGView.Rows.Count; k++) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[k].Cells["包含"]; + text2 = mList_SBH[k]; + dataGridViewCheckBoxCell.Value = mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text2); + } + } + catch (Exception ex) + { + MyLog.AddLog("Form5_CuoShiTuiJian.cs MyQuery_refreshDGV() Exception=" + ex.Message); + } + } + + private void textBox_NameTask_TextChanged(object sender, EventArgs e) + { + mNameTask = textBox_NameTask.Text.Trim(); + Ready_TaskName = desktop.mTask.MyCheckTaskName(mNameTask) == 0; + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyComboBoxItemsClear(ComboBox comboBox) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxItemsClear method = MyComboBoxItemsClear; + comboBox.Invoke(method, comboBox); + } + else + { + comboBox.Items.Clear(); + } + } + + public void MyComboBoxAdd(ComboBox comboBox, string value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxAdd method = MyComboBoxAdd; + comboBox.Invoke(method, comboBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + comboBox.Items.Add(value); + } + } + + public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; + comboBox.Invoke(method, comboBox, value); + } + else if (value >= 0 && value < comboBox.Items.Count) + { + comboBox.SelectedIndex = value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSetSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSetSelectedIndex method = MyListBoxSetSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.comboBox_TaskName_PuTongJiSuan = new System.Windows.Forms.ComboBox(); + this.label4 = new System.Windows.Forms.Label(); + this.dataGridView_GanTa = new System.Windows.Forms.DataGridView(); + this.textBox_NameTask = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.buttonSelectAll = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).BeginInit(); + base.SuspendLayout(); + this.buttonCancel.Location = new System.Drawing.Point(394, 519); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(86, 28); + this.buttonCancel.TabIndex = 4; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(266, 519); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(86, 28); + this.buttonOK.TabIndex = 3; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.comboBox_TaskName_PuTongJiSuan.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_TaskName_PuTongJiSuan.FormattingEnabled = true; + this.comboBox_TaskName_PuTongJiSuan.Location = new System.Drawing.Point(25, 89); + this.comboBox_TaskName_PuTongJiSuan.Name = "comboBox_TaskName_PuTongJiSuan"; + this.comboBox_TaskName_PuTongJiSuan.Size = new System.Drawing.Size(483, 20); + this.comboBox_TaskName_PuTongJiSuan.TabIndex = 1; + this.comboBox_TaskName_PuTongJiSuan.SelectedIndexChanged += new System.EventHandler(comboBox_TaskName_PuTongJiSuan_SelectedIndexChanged); + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label4.Location = new System.Drawing.Point(22, 72); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(119, 14); + this.label4.TabIndex = 69; + this.label4.Text = "已完成的普通任务"; + this.dataGridView_GanTa.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.dataGridView_GanTa.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView_GanTa.Location = new System.Drawing.Point(24, 134); + this.dataGridView_GanTa.Name = "dataGridView_GanTa"; + this.dataGridView_GanTa.RowTemplate.Height = 23; + this.dataGridView_GanTa.Size = new System.Drawing.Size(484, 379); + this.dataGridView_GanTa.TabIndex = 2; + this.textBox_NameTask.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_NameTask.Location = new System.Drawing.Point(25, 31); + this.textBox_NameTask.Name = "textBox_NameTask"; + this.textBox_NameTask.Size = new System.Drawing.Size(483, 26); + this.textBox_NameTask.TabIndex = 0; + this.textBox_NameTask.TextChanged += new System.EventHandler(textBox_NameTask_TextChanged); + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label3.Location = new System.Drawing.Point(22, 14); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(63, 14); + this.label3.TabIndex = 77; + this.label3.Text = "任务名称"; + this.buttonSelectAll.Location = new System.Drawing.Point(130, 519); + this.buttonSelectAll.Name = "buttonSelectAll"; + this.buttonSelectAll.Size = new System.Drawing.Size(75, 28); + this.buttonSelectAll.TabIndex = 78; + this.buttonSelectAll.Text = "全选"; + this.buttonSelectAll.UseVisualStyleBackColor = true; + this.buttonSelectAll.Click += new System.EventHandler(buttonSelectAll_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(539, 559); + base.Controls.Add(this.comboBox_TaskName_PuTongJiSuan); + base.Controls.Add(this.buttonSelectAll); + base.Controls.Add(this.textBox_NameTask); + base.Controls.Add(this.label3); + base.Controls.Add(this.dataGridView_GanTa); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.label4); + base.Name = "Form5_CuoShiTuiJian"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Form5_CuoShiTuiJian"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form5_CuoShiTuiJian_FormClosing); + base.Load += new System.EventHandler(Form5_CuoShiTuiJian_Load); + base.Resize += new System.EventHandler(Form5_CuoShiTuiJian_Resize); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).EndInit(); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/Form6_ReportTask.cs b/LP/Form6_ReportTask.cs new file mode 100644 index 0000000..0dff154 --- /dev/null +++ b/LP/Form6_ReportTask.cs @@ -0,0 +1,1224 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class Form6_ReportTask : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateComboBoxItemsClear(ComboBox comboBox); + + private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); + + private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSetSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private bool mAfterInit = false; + + public bool mBusy = false; + + public string mTitle = ""; + + public XianLuData mXianLuData = null; + + public string mNameXianLu = ""; + + public int mIndexControl_XianLuName = -1; + + public int mIndex_ListXianLuData = -1; + + private bool mReady_XianLuName = false; + + public TaskData mTaskData = null; + + public string mNameTask = ""; + + private bool mReady_TaskName = false; + + public int mIndex_ListDetail_Choosed = 0; + + public int mIndexControl_FanJi_NaiLeiShuiPing = -1; + + public string mFanJi_NaiLeiShuiPing = ""; + + public int mIndexControl_RaoJi_NaiLeiShuiPing = -1; + + public string mRaoJi_NaiLeiShuiPing = ""; + + public int mIndexControl_FanJi_TZL = -1; + + public string mFanJi_TZL = ""; + + public int mIndexControl_RaoJi_TZL = -1; + + public string mRaoJi_TZL = ""; + + private float initWidth = 0f; + + private float initHeight = 0f; + + public int mIndexControl_TaskName_Report = -1; + + private string mTaskName_Report = ""; + + private TaskData mTaskData_Report = null; + + private int mTaskID_Report = 0; + + private bool mBusy_ButtonOK = false; + + public DataGridView mDGView = null; + + public DataSet mDS = null; + + public List mList_GanTaID_2DisInclude_Checked_ByUser = null; + + private bool mCurrentSelect = false; + + public string mMainKeyColumnName = ""; + + private List mList_SBH = null; + + private bool mBusy_ListBox_TaskName_Report = false; + + private IContainer components = null; + + private Button buttonSelectAll; + + private TextBox textBox_NameTask; + + private Label label3; + + private DataGridView dataGridView_GanTa; + + private Button buttonCancel; + + private Button buttonOK; + + private ComboBox comboBox_TaskName_ReportTask; + + private Label label4; + + public bool Ready_XianLuName + { + get + { + return mReady_XianLuName; + } + set + { + mReady_XianLuName = value; + } + } + + public bool Ready_TaskName + { + get + { + return mReady_TaskName; + } + set + { + mReady_TaskName = value; + } + } + + public bool Busy_ButtonOK + { + get + { + return mBusy_ButtonOK; + } + set + { + mBusy_ButtonOK = value; + MyButtonEnabled(buttonCancel, !value); + } + } + + public bool Busy_ComboBox_TaskName_Report + { + get + { + return mBusy_ListBox_TaskName_Report; + } + set + { + mBusy_ListBox_TaskName_Report = value; + } + } + + public Form6_ReportTask() + { + InitializeComponent(); + if (mTaskData == null) + { + mTaskData = new TaskData(); + } + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + if (mTaskData_Report == null) + { + mTaskData_Report = new TaskData(); + } + mNameTask = "报告生成任务"; + mTitle = "报告生成"; + mIndexControl_XianLuName = -1; + mIndex_ListXianLuData = -1; + mIndexControl_TaskName_Report = -1; + if (mList_GanTaID_2DisInclude_Checked_ByUser == null) + { + mList_GanTaID_2DisInclude_Checked_ByUser = new List(); + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + if (mDS == null) + { + mDS = new DataSet(); + } + mMainKeyColumnName = "塔号"; + mIndexControl_FanJi_NaiLeiShuiPing = 1; + mFanJi_NaiLeiShuiPing = "ATP"; + mIndexControl_RaoJi_NaiLeiShuiPing = 1; + mRaoJi_NaiLeiShuiPing = "ATP"; + mIndexControl_FanJi_TZL = 1; + mFanJi_TZL = "规程"; + mIndexControl_RaoJi_TZL = 2; + mRaoJi_TZL = "EGM"; + if (mList_SBH == null) + { + mList_SBH = new List(); + } + } + + private void Form6_ReportTask_Load(object sender, EventArgs e) + { + mAfterInit = false; + Busy_ButtonOK = false; + MyFormSetTitle(this, ""); + Ready_TaskName = false; + base.DialogResult = DialogResult.None; + if (mDGView == null) + { + mDGView = dataGridView_GanTa; + } + mDGView.Columns.Clear(); + mDGView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + initWidth = base.Width; + initHeight = base.Height; + setTag(this); + MyInput_TaskData(); + MyInit_ComboBox_TaskName_ReportTask(); + mBusy = false; + mAfterInit = true; + } + + private void Form6_ReportTask_FormClosing(object sender, FormClosingEventArgs e) + { + mDGView.DataSource = null; + } + + public void MyInput_TaskData() + { + mTaskData.copyFrom_TaskData(desktop.m6TaskData_Report); + } + + public void MyOutput_TaskData() + { + desktop.m6TaskData_Report.copyFrom_TaskData(mTaskData); + } + + private void MyInit_ComboBox_TaskName_ReportTask() + { + try + { + Busy_ComboBox_TaskName_Report = true; + MyComboBoxItemsClear(comboBox_TaskName_ReportTask); + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (desktop.mTask.mListDetails[i] != null && desktop.mTask.mListDetails[i].mTaskData != null && desktop.mTask.mListDetails[i].mTaskData.mTypeCode_Task != 5 && (desktop.mTask.mListDetails[i].mTaskData.mTypeCode_Task == 1 || desktop.mTask.mListDetails[i].mTaskData.mTypeCode_Task == 4) && !string.IsNullOrEmpty(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) + { + MyComboBoxAdd(comboBox_TaskName_ReportTask, desktop.mTask.mListDetails[i].mTaskData.mName_Task); + } + } + if (mIndexControl_TaskName_Report < 0 || mIndexControl_TaskName_Report >= comboBox_TaskName_ReportTask.Items.Count) + { + mIndexControl_TaskName_Report = 0; + } + if (mIndexControl_TaskName_Report >= 0 && mIndexControl_TaskName_Report < comboBox_TaskName_ReportTask.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_TaskName_ReportTask, mIndexControl_TaskName_Report); + mTaskName_Report = comboBox_TaskName_ReportTask.SelectedItem.ToString().Trim(); + for (int j = 0; j < desktop.mTask.mListDetails.Count; j++) + { + if (!mTaskName_Report.Equals(desktop.mTask.mListDetails[j].mTaskData.mName_Task)) + { + continue; + } + for (int k = 0; k < desktop.mXL.mListXianLuData.Count; k++) + { + if (desktop.mTask.mListDetails[j].mXianLuID_Detail == desktop.mXL.mListXianLuData[k].mID_XianLu) + { + mIndex_ListXianLuData = k; + break; + } + } + mIndex_ListDetail_Choosed = j; + mTaskData.copyFrom_TaskData(desktop.mTask.mListDetails[j].mTaskData); + GetDataSet(); + MyQuery_refreshDGV(); + mTaskData_Report.copyFrom_TaskData(desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskData); + mTaskID_Report = mTaskData_Report.mID_Task; + for (int l = 0; l < desktop.mXL.mListXianLuData.Count; l++) + { + if (desktop.mXL.mListXianLuData[l].mName_XianLu.Equals(desktop.mTask.mListDetails[j].mTaskData.mXianLuName_Task)) + { + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[l]); + break; + } + } + break; + } + Ready_TaskName = true; + } + else + { + mTaskName_Report = ""; + mTaskID_Report = 0; + Ready_TaskName = false; + } + Busy_ComboBox_TaskName_Report = false; + mNameTask = textBox_NameTask.Text.Trim(); + Ready_TaskName = desktop.mTask.MyCheckTaskName(mNameTask) == 0; + } + catch (Exception ex) + { + MyLog.AddLog("Form6_ReportTask.cs MyInit_ListBox_TaskName_ReportTask() Exception=" + ex.Message); + } + } + + public void Destroy() + { + if (mTaskData != null) + { + mTaskData.Destroy(); + } + mTaskData = null; + if (mTaskData_Report != null) + { + mTaskData_Report.Destroy(); + } + mTaskData_Report = null; + if (mXianLuData != null) + { + mXianLuData.Destroy(); + } + mXianLuData = null; + if (mList_GanTaID_2DisInclude_Checked_ByUser != null) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + mList_GanTaID_2DisInclude_Checked_ByUser = null; + } + if (mDS != null) + { + mDS.Clear(); + mDS = null; + } + if (mList_SBH != null) + { + mList_SBH.Clear(); + mList_SBH = null; + } + } + + private bool ActionIsBusy() + { + return mBusy; + } + + private void ActionSetBusy() + { + mBusy = true; + } + + private void ActionClearBusy() + { + mBusy = false; + } + + private void setTag(Control cons) + { + foreach (Control control in cons.Controls) + { + control.Tag = control.Width + ":" + control.Height + ":" + control.Left + ":" + control.Top + ":" + control.Font.Size; + if (control.Controls.Count > 0) + { + setTag(control); + } + } + } + + private void setControls(float scaleX, float scaleY, Control cons) + { + foreach (Control control in cons.Controls) + { + string[] array = control.Tag.ToString().Split(':'); + float num = Convert.ToSingle(array[0]) * scaleX; + control.Width = (int)num; + num = Convert.ToSingle(array[1]) * scaleY; + if (control is ComboBox) + { + num = Convert.ToSingle(array[1]) * 1f; + } + control.Height = (int)num; + num = Convert.ToSingle(array[2]) * scaleX; + control.Left = (int)num; + num = Convert.ToSingle(array[3]) * scaleY; + control.Top = (int)num; + float emSize = Convert.ToSingle(array[4]) * Math.Min(scaleX, scaleY); + control.Font = new Font(control.Font.Name, emSize, control.Font.Style, control.Font.Unit); + if (control.Controls.Count > 0) + { + setControls(scaleX, scaleY, control); + } + } + } + + private void Form6_ReportTask_Resize(object sender, EventArgs e) + { + float scaleX = (float)base.Width / initWidth; + float scaleY = (float)base.Height / initHeight; + setControls(scaleX, scaleY, this); + } + + private void GetDataSet() + { + try + { + if (mIndex_ListXianLuData < 0 || mIndex_ListXianLuData >= desktop.mXL.mListXianLuData.Count || desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count == 0) + { + return; + } + if (mList_SBH == null) + { + mList_SBH = new List(); + } + mList_SBH.Clear(); + if (mDS == null) + { + mDS = new DataSet(); + } + if (mDS.Tables.Count == 0) + { + mDS.Tables.Add(new DataTable()); + } + if (mDS.Tables[0].Rows.Count > 0) + { + mDS.Tables[0].Rows.Clear(); + } + if (mDS.Tables[0].Columns.Count > 0) + { + mDS.Tables[0].Columns.Clear(); + } + mDS.Tables[0].Columns.Add("任务号"); + mDS.Tables[0].Columns.Add("塔号"); + mDS.Tables[0].Columns.Add("杆塔模型"); + mDS.Tables[0].Columns.Add("地理坐标°"); + mDS.Tables[0].Columns.Add("档距"); + mDS.Tables[0].Columns.Add("雷击风险等级"); + mDS.Tables[0].Columns.Add("海拔高度m"); + mDS.Tables[0].Columns.Add("地形"); + mDS.Tables[0].Columns.Add("接地电阻Ω"); + mDS.Tables[0].Columns.Add("地闪密度 次/(km^2*年)"); + mDS.Tables[0].Columns.Add("雷电流"); + mDS.Tables[0].Columns.Add("倾角"); + List list = null; + List list2 = null; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (!mTaskName_Report.Equals(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) + { + continue; + } + list = desktop.mTask.mListDetails[i].mTaskGroup.mListExTaskData; + if (list == null) + { + continue; + } + for (int j = 0; j < list.Count; j++) + { + if (list[j] == null || list[j].mTGanTas == null || list[j].mTGanTas.mListTGanTaData == null) + { + continue; + } + list2 = list[j].mTGanTas.mListTGanTaData; + if (list2 == null) + { + continue; + } + for (int k = 0; k < list2.Count; k++) + { + DataRow dataRow = mDS.Tables[0].NewRow(); + for (int l = 0; l < mDS.Tables[0].Columns.Count; l++) + { + dataRow[l] = ""; + } + dataRow[0] = $"{list[j].mID_ExTask}"; + dataRow[1] = list2[k].mID_GanTa ?? ""; + dataRow[2] = list2[k].mModel_GanTa ?? ""; + dataRow[3] = $"{list2[k].mJingDu_GanTa}|{list2[k].mWeiDu_GanTa}"; + dataRow[4] = $"{list2[k].mXiaoHao_GanTa},{list2[k].mDaHao_GanTa}"; + dataRow[5] = $"{list2[k].mFXDJ_GanTa}"; + dataRow[6] = $"{list2[k].mHaiBa_GanTa}"; + dataRow[7] = list2[k].mDiXing_GanTa ?? ""; + dataRow[8] = $"{list2[k].mJDDZ_GanTa}"; + dataRow[9] = $"{list2[k].mDSMD_GanTa}"; + dataRow[10] = $"{list2[k].mCurrent_a_GanTa},{list2[k].mCurrent_b_GanTa}"; + dataRow[11] = $"{list2[k].mDMQJ1_GanTa},{list2[k].mDMQJ2_GanTa}"; + mDS.Tables[0].Rows.Add(dataRow); + mList_SBH.Add($"{list2[k].mTaskIDstring}|{list2[k].mIndex__GanTa}"); + } + } + } + if (mDS.Tables[0].Rows.Count == 0) + { + if (mAfterInit) + { + MyFormSetTitle(this, "“" + desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskData.mName_Task + "”所有杆塔的雷击风险等级都小于3"); + } + } + else + { + MyFormSetTitle(this, $" 共{mDS.Tables[0].Rows.Count}条"); + } + } + catch (Exception ex) + { + MyLog.AddLog("Form6_ReportTask.cs GetDataSet() Exception=" + ex.Message); + } + } + + private void MyQuery_refreshDGV() + { + try + { + if (mDGView != null && mDGView.Columns.Count > 0) + { + if (mDGView.Columns.Contains("包含")) + { + mDGView.Columns.Remove("包含"); + } + if (mDGView.Columns.Contains("关联数目")) + { + mDGView.Columns.Remove("关联数目"); + } + } + mDGView.DataSource = null; + if (mDS == null || mDS.Tables.Count == 0) + { + return; + } + DataTable dataTable = mDS.Tables[0]; + mDGView.DataSource = dataTable.DefaultView; + if (mDGView.Columns.Contains(mMainKeyColumnName)) + { + mDGView.Columns[mMainKeyColumnName].ReadOnly = true; + } + else + { + mDGView.Columns[0].ReadOnly = true; + } + if (dataTable.Rows.Count > 0) + { + DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn = new DataGridViewCheckBoxColumn(); + dataGridViewCheckBoxColumn.HeaderText = "包含"; + dataGridViewCheckBoxColumn.Name = "包含"; + dataGridViewCheckBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; + dataGridViewCheckBoxColumn.FlatStyle = FlatStyle.Flat; + dataGridViewCheckBoxColumn.ThreeState = false; + if (mDGView.Columns.Count > 0 && mDGView.Columns.Contains("包含")) + { + mDGView.Columns.Remove("包含"); + } + mDGView.Columns.Insert(0, dataGridViewCheckBoxColumn); + } + if (dataTable.Rows.Count == 0 || mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0 || mAfterInit) + { + return; + } + bool flag = false; + bool flag2 = false; + string text = ""; + for (int i = 0; i < mList_GanTaID_2DisInclude_Checked_ByUser.Count; i++) + { + flag2 = false; + for (int j = 0; j < mDS.Tables[0].Rows.Count; j++) + { + text = mList_SBH[j]; + if (!string.IsNullOrEmpty(text) && text.Equals(mList_GanTaID_2DisInclude_Checked_ByUser[i] ?? "")) + { + flag2 = true; + break; + } + } + if (!flag2) + { + flag = true; + break; + } + } + if (flag) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + return; + } + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text2 = ""; + for (int k = 0; k < mDGView.Rows.Count; k++) + { + if (mDGView.Rows[k] != null && mDGView.Rows[k].Cells != null && mDGView.Rows[k].Cells["塔号"] != null && mDGView.Rows[k].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[k].Cells["包含"]; + text2 = mList_SBH[k]; + dataGridViewCheckBoxCell.Value = mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text2); + } + } + } + catch (Exception ex) + { + MyLog.AddLog("Form6_ReportTask.cs MyQuery_refreshDGV() Exception=" + ex.Message); + } + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (ActionIsBusy()) + { + return; + } + ActionSetBusy(); + try + { + MyFormSetTitle(this, ""); + if (Busy_ButtonOK) + { + ActionClearBusy(); + return; + } + Busy_ButtonOK = true; + if (!Ready_TaskName) + { + switch (desktop.mTask.MyCheckTaskName(textBox_NameTask.Text.Trim())) + { + case 1: + MyFormSetTitle(this, "任务名称空白,请填写“任务名称”。"); + break; + case 2: + MyFormSetTitle(this, "任务名称重复,请重新填写“任务名称”。"); + break; + } + textBox_NameTask.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + return; + } + if (string.IsNullOrEmpty(mTaskName_Report)) + { + if (comboBox_TaskName_ReportTask.Items.Count == 0) + { + MyFormSetTitle(this, "!无匹配结果!风险评估。"); + buttonCancel.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + } + else + { + MyFormSetTitle(this, "请选择已有结果的风险评估任务,然后点击“" + buttonOK.Text + "”。"); + comboBox_TaskName_ReportTask.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + } + return; + } + switch (desktop.mTask.MyCheckTaskName(mNameTask)) + { + case 1: + MyFormSetTitle(this, "任务名称空白!"); + buttonCancel.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + return; + case 2: + MyFormSetTitle(this, "推荐任务已存在!请点击“" + buttonCancel.Text + "”。"); + buttonCancel.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + return; + } + if (!mTaskData_Report.Permit_CuoShiTuiJian()) + { + MyFormSetTitle(this, "重新完成风险评估。"); + comboBox_TaskName_ReportTask.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + return; + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text = ""; + for (int i = 0; i < mDGView.Rows.Count; i++) + { + if (mDGView.Rows[i] != null && mDGView.Rows[i].Cells != null && mDGView.Rows[i].Cells["塔号"] != null && mDGView.Rows[i].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[i].Cells["包含"]; + if (dataGridViewCheckBoxCell != null && dataGridViewCheckBoxCell.Value != null && (bool)dataGridViewCheckBoxCell.Value) + { + text = mList_SBH[i]; + mList_GanTaID_2DisInclude_Checked_ByUser.Add(text); + } + } + } + if (mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0) + { + MyFormSetTitle(this, "包含杆塔为空,请选择计算“包含”杆塔,然后点击“" + buttonOK.Text + "”。"); + dataGridView_GanTa.Focus(); + Busy_ButtonOK = false; + ActionClearBusy(); + } + else + { + Thread thread = new Thread(MyThread_ButtonOK); + thread.Start(); + } + } + catch (Exception ex) + { + MyLog.AddLog("Form6_ReportTask.cs buttonOK_Click() Exception=" + ex.Message); + ActionClearBusy(); + } + } + + private void MyRefresh_TaskData() + { + mTaskData.mID_Task = TaskData.mNextID_static; + mTaskData.mID_ExTask = desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskID_Detail; + mTaskData.mID_string_Task = $"{mTaskData.mID_Task}|{mTaskData.mID_ExTask}"; + mTaskData.mTypeCode_Task = 5; + mTaskData.mName_Task = mNameTask; + mTaskData.mXianLuID_Task = mXianLuData.mID_XianLu; + mTaskData.mXianLuName_Task = mXianLuData.mName_XianLu; + mTaskData.mXianLuJLZL_Task = mXianLuData.mJLZL_XianLu; + mTaskData.mDYDJ_Task = mXianLuData.mDYDJ_XianLu; + mTaskData.mFanJi_NaiLeiShuiPing = mFanJi_NaiLeiShuiPing; + mTaskData.mRaoJi_NaiLeiShuiPing = mRaoJi_NaiLeiShuiPing; + mTaskData.mFanJi_TZL = mFanJi_TZL; + mTaskData.mRaoJi_TZL = mRaoJi_TZL; + mTaskData.mPrepare11_LightingCurrent = mXianLuData.mPrepare1_LightingCurrent; + mTaskData.mPrepare12_DiShanMiDu = mXianLuData.mPrepare2_DiShanMiDu; + mTaskData.mPrepare13_DiMianQingJiao = mXianLuData.mPrepare3_DiMianQingJiao; + } + + private void MyThread_ButtonOK() + { + try + { + Busy_ButtonOK = false; + MyRefresh_TaskData(); + int num = 0; + bool flag = false; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (mTaskData.mID_Task == desktop.mTask.mListDetails[i].mTaskID_Detail) + { + desktop.mTask.mListDetails[i].mTaskData.copyFrom_TaskData(mTaskData); + num = i; + flag = true; + break; + } + } + if (!flag) + { + TaskDetail taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = mTaskData.mID_Task; + taskDetail.mXianLuID_Detail = mTaskData.mXianLuID_Task; + taskDetail.mTaskData.copyFrom_TaskData(mTaskData); + num = desktop.mTask.mListDetails.Count; + desktop.mTask.mListDetails.Add(taskDetail); + desktop.mTask.mListDetails[num].mTaskGroup.mID_Task = mTaskData.mID_Task; + desktop.mTask.mListDetails[num].mTaskData.mID_Task = mTaskData.mID_Task; + } + else if (flag) + { + MyLog.AddLog($"MyThread_ButtonOK() Detail repeat(indexDetail={num}, mListDetails.Count={desktop.mTask.mListDetails.Count})."); + } + TaskData taskData = null; + TaskData taskData2 = null; + TaskData taskData3 = null; + for (int j = 0; j < desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskGroup.mListExTaskData.Count; j++) + { + taskData2 = desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskGroup.mListExTaskData[j]; + if (taskData2 != null) + { + taskData = new TaskData(); + taskData.copyFrom_TaskData(mTaskData); + taskData.mCurveTimeHead = taskData2.mCurveTimeHead; + taskData.mCurveTimeTail = taskData2.mCurveTimeTail; + taskData.mTGanTas.SetXianLuData(taskData.mID_string_Task, mXianLuData); + taskData.mTGanTas.mListTGanTaData.Clear(); + desktop.mTask.Add1_ExTaskData(num, taskData); + } + } + TGanTas tGanTas = null; + GanTaData ganTaData = null; + TGanTaData tGanTaData = null; + string text = ""; + for (int k = 0; k < desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData.Count; k++) + { + taskData = desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData[k]; + taskData.mTGanTas.mListTGanTaData.Clear(); + for (int l = 0; l < desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskGroup.mListExTaskData.Count; l++) + { + taskData3 = desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskGroup.mListExTaskData[l]; + tGanTas = taskData3.mTGanTas; + for (int m = 0; m < tGanTas.mListTGanTaData.Count; m++) + { + tGanTaData = tGanTas.mListTGanTaData[m]; + text = $"{tGanTaData.mTaskIDstring}|{tGanTaData.mIndex__GanTa}"; + if (mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text)) + { + ganTaData = new GanTaData(); + ganTaData.CopyFrom_TGanTaData(tGanTaData); + taskData.mTGanTas.Add1TGanTaData(ganTaData, taskData3.mIndex_CurrentCurve, taskData3.mCurveTimeHead, taskData3.mCurveTimeTail); + TGanTaData.mNextID_static++; + } + } + } + } + if (!desktop.mSignal.mNeed_PrepareParameters_setting) + { + for (int n = 0; n < desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData.Count; n++) + { + taskData = desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData[n]; + if (taskData.mTGanTas == null) + { + continue; + } + for (int num2 = 0; num2 < taskData.mTGanTas.mListTGanTaData.Count; num2++) + { + if (taskData.mTGanTas.mListTGanTaData[num2] == null) + { + } + } + } + } + MyOutput_TaskData(); + } + catch (Exception ex) + { + MyLog.AddLog("Form6_ReportTask.cs MyThread_ButtonOK() Exception=" + ex.Message); + } + finally + { + Busy_ButtonOK = false; + ActionClearBusy(); + } + base.DialogResult = DialogResult.OK; + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + if (ActionIsBusy()) + { + return; + } + ActionSetBusy(); + try + { + MyFormSetTitle(this, ""); + MyButtonEnabled(buttonCancel, value: false); + Thread thread = new Thread(MyCancel); + thread.Start(); + } + catch (Exception ex) + { + MyLog.AddLog("Form6_ReportTask.cs buttonCancel_Click() Exception=" + ex.Message); + ActionClearBusy(); + } + } + + private void MyCancel() + { + try + { + MyFormSetTitle(this, "取消—"); + MyFormSetTitle(this, "取消———"); + } + catch (Exception ex) + { + MyLog.AddLog("Form6_ReportTask.cs MyCancel() Exception=" + ex.Message); + } + finally + { + ActionClearBusy(); + } + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + + private void buttonSelectAll_Click(object sender, EventArgs e) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + mCurrentSelect = !mCurrentSelect; + for (int i = 0; i < mList_SBH.Count; i++) + { + if (mCurrentSelect) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Add(mList_SBH[i]); + } + } + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text = ""; + try + { + for (int j = 0; j < mDGView.Rows.Count; j++) + { + if (mDGView.Rows[j] != null && mDGView.Rows[j].Cells != null && mDGView.Rows[j].Cells["塔号"] != null && mDGView.Rows[j].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[j].Cells["包含"]; + text = mList_SBH[j]; + dataGridViewCheckBoxCell.Value = mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text); + } + } + } + catch (Exception) + { + } + buttonSelectAll.Text = (mCurrentSelect ? "不选" : "全选"); + } + + private void comboBox_TaskName_ReportTask_SelectedIndexChanged(object sender, EventArgs e) + { + if (ActionIsBusy()) + { + return; + } + ActionSetBusy(); + try + { + if (!mAfterInit) + { + ActionClearBusy(); + return; + } + if (Busy_ButtonOK) + { + ActionClearBusy(); + return; + } + int selectedIndex = ((ComboBox)sender).SelectedIndex; + mIndexControl_TaskName_Report = selectedIndex; + mTaskName_Report = ((ComboBox)sender).SelectedItem.ToString().Trim(); + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (!mTaskName_Report.Equals(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) + { + continue; + } + for (int j = 0; j < desktop.mXL.mListXianLuData.Count; j++) + { + if (desktop.mTask.mListDetails[i].mXianLuID_Detail == desktop.mXL.mListXianLuData[j].mID_XianLu) + { + mIndex_ListXianLuData = j; + break; + } + } + mIndex_ListDetail_Choosed = i; + mTaskData.copyFrom_TaskData(desktop.mTask.mListDetails[i].mTaskData); + GetDataSet(); + MyQuery_refreshDGV(); + mTaskData_Report.copyFrom_TaskData(desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskData); + mTaskID_Report = mTaskData_Report.mID_Task; + for (int k = 0; k < desktop.mXL.mListXianLuData.Count; k++) + { + if (desktop.mXL.mListXianLuData[k].mName_XianLu.Equals(desktop.mTask.mListDetails[i].mTaskData.mXianLuName_Task)) + { + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[k]); + break; + } + } + break; + } + } + catch (Exception ex) + { + MyLog.AddLog("Form6_ReportTask.cs listBox_TaskName_PuTongJiSuan_SelectedIndexChanged() Exception=" + ex.Message); + } + ActionClearBusy(); + } + + private void textBox_NameTask_TextChanged(object sender, EventArgs e) + { + mNameTask = textBox_NameTask.Text.Trim(); + Ready_TaskName = desktop.mTask.MyCheckTaskName(mNameTask) == 0; + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyComboBoxItemsClear(ComboBox comboBox) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxItemsClear method = MyComboBoxItemsClear; + comboBox.Invoke(method, comboBox); + } + else + { + comboBox.Items.Clear(); + } + } + + public void MyComboBoxAdd(ComboBox comboBox, string value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxAdd method = MyComboBoxAdd; + comboBox.Invoke(method, comboBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + comboBox.Items.Add(value); + } + } + + public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; + comboBox.Invoke(method, comboBox, value); + } + else if (value >= 0 && value < comboBox.Items.Count) + { + comboBox.SelectedIndex = value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSetSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSetSelectedIndex method = MyListBoxSetSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.buttonSelectAll = new System.Windows.Forms.Button(); + this.textBox_NameTask = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.dataGridView_GanTa = new System.Windows.Forms.DataGridView(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.comboBox_TaskName_ReportTask = new System.Windows.Forms.ComboBox(); + this.label4 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).BeginInit(); + base.SuspendLayout(); + this.buttonSelectAll.Location = new System.Drawing.Point(134, 518); + this.buttonSelectAll.Name = "buttonSelectAll"; + this.buttonSelectAll.Size = new System.Drawing.Size(75, 28); + this.buttonSelectAll.TabIndex = 86; + this.buttonSelectAll.Text = "全选"; + this.buttonSelectAll.UseVisualStyleBackColor = true; + this.buttonSelectAll.Click += new System.EventHandler(buttonSelectAll_Click); + this.textBox_NameTask.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_NameTask.Location = new System.Drawing.Point(29, 30); + this.textBox_NameTask.Name = "textBox_NameTask"; + this.textBox_NameTask.Size = new System.Drawing.Size(483, 26); + this.textBox_NameTask.TabIndex = 79; + this.textBox_NameTask.TextChanged += new System.EventHandler(textBox_NameTask_TextChanged); + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label3.Location = new System.Drawing.Point(26, 13); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(63, 14); + this.label3.TabIndex = 85; + this.label3.Text = "任务名称"; + this.dataGridView_GanTa.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.dataGridView_GanTa.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView_GanTa.Location = new System.Drawing.Point(28, 133); + this.dataGridView_GanTa.Name = "dataGridView_GanTa"; + this.dataGridView_GanTa.RowTemplate.Height = 23; + this.dataGridView_GanTa.Size = new System.Drawing.Size(484, 379); + this.dataGridView_GanTa.TabIndex = 81; + this.buttonCancel.Location = new System.Drawing.Point(398, 518); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(86, 28); + this.buttonCancel.TabIndex = 83; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(270, 518); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(86, 28); + this.buttonOK.TabIndex = 82; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.comboBox_TaskName_ReportTask.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_TaskName_ReportTask.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_TaskName_ReportTask.FormattingEnabled = true; + this.comboBox_TaskName_ReportTask.Location = new System.Drawing.Point(29, 88); + this.comboBox_TaskName_ReportTask.Name = "comboBox_TaskName_ReportTask"; + this.comboBox_TaskName_ReportTask.Size = new System.Drawing.Size(483, 20); + this.comboBox_TaskName_ReportTask.TabIndex = 80; + this.comboBox_TaskName_ReportTask.SelectedIndexChanged += new System.EventHandler(comboBox_TaskName_ReportTask_SelectedIndexChanged); + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label4.Location = new System.Drawing.Point(26, 71); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(119, 14); + this.label4.TabIndex = 84; + this.label4.Text = "已完成的普通任务"; + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(539, 559); + base.Controls.Add(this.buttonSelectAll); + base.Controls.Add(this.textBox_NameTask); + base.Controls.Add(this.label3); + base.Controls.Add(this.dataGridView_GanTa); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.comboBox_TaskName_ReportTask); + base.Controls.Add(this.label4); + base.Name = "Form6_ReportTask"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Form6_ReportTask"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form6_ReportTask_FormClosing); + base.Load += new System.EventHandler(Form6_ReportTask_Load); + base.Resize += new System.EventHandler(Form6_ReportTask_Resize); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).EndInit(); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/Form7_GuZhangFuXian.cs b/LP/Form7_GuZhangFuXian.cs new file mode 100644 index 0000000..6659a15 --- /dev/null +++ b/LP/Form7_GuZhangFuXian.cs @@ -0,0 +1,575 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.IO; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class Form7_GuZhangFuXian : Form +{ + private delegate void delegateFormHide(Form form); + + private delegate void dltFormSetVisiable(Form form, bool value); + + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateComboBoxItemsClear(ComboBox comboBox); + + private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); + + private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + public FormDesktop desktop = null; + + private bool mAfterInit = false; + + public string mTitle = ""; + + public int mIndex_CurrentCurve = -1; + + public int mCurrentCurve = 0; + + public int mIndex_0FanJi_1RaoJi = -1; + + public int m0FanJi_1RaoJi = -1; + + public double mNaiLeiShuiPing = 0.0; + + public string mBaseFileName = ""; + + private readonly string mSubPath_FuXian = "FuXian"; + + private IContainer components = null; + + private ComboBox comboBox_CurrentCurve; + + private Label label2; + + private Button buttonCancel; + + private Button buttonOK; + + private Label label1; + + private ComboBox comboBox_0FanJi_1RaoJi; + + private Label label3; + + private TextBox textBox_NaiLeiShuiPing; + + private Button buttonGuZhangFuXian; + + private TextBox textBox_Show; + + private Button buttonBase; + + public Form7_GuZhangFuXian() + { + InitializeComponent(); + string path = Application.StartupPath + "\\" + mSubPath_FuXian; + if (!Directory.Exists(path)) + { + Directory.CreateDirectory(path); + } + } + + private void Form7_GuZhangFuXian_Load(object sender, EventArgs e) + { + mAfterInit = false; + MyInput_ComboBox(); + mAfterInit = true; + } + + private void Form7_GuZhangFuXian_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_ComboBox() + { + MyComboBoxItemsClear(comboBox_CurrentCurve); + MyComboBoxAdd(comboBox_CurrentCurve, "Heidler"); + MyComboBoxAdd(comboBox_CurrentCurve, "双斜角"); + MyComboBoxAdd(comboBox_CurrentCurve, "双指数"); + if (mIndex_CurrentCurve < 0) + { + mIndex_CurrentCurve = 0; + } + if (mIndex_CurrentCurve >= 0 && mIndex_CurrentCurve < comboBox_CurrentCurve.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_CurrentCurve, mIndex_CurrentCurve); + mCurrentCurve = comboBox_CurrentCurve.SelectedIndex + 1; + } + else + { + mCurrentCurve = 0; + } + MyComboBoxItemsClear(comboBox_0FanJi_1RaoJi); + MyComboBoxAdd(comboBox_0FanJi_1RaoJi, "反击"); + MyComboBoxAdd(comboBox_0FanJi_1RaoJi, "绕击"); + if (mIndex_0FanJi_1RaoJi < 0) + { + mIndex_0FanJi_1RaoJi = 0; + } + if (mIndex_0FanJi_1RaoJi >= 0 && mIndex_0FanJi_1RaoJi < comboBox_0FanJi_1RaoJi.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_0FanJi_1RaoJi, mIndex_0FanJi_1RaoJi); + m0FanJi_1RaoJi = comboBox_0FanJi_1RaoJi.SelectedIndex; + } + else + { + m0FanJi_1RaoJi = 0; + } + MyTextBoxSetText(textBox_NaiLeiShuiPing, $"{mNaiLeiShuiPing}"); + } + + public void Destroy() + { + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (mAfterInit) + { + base.DialogResult = DialogResult.OK; + Close(); + } + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + if (mAfterInit) + { + base.DialogResult = DialogResult.Cancel; + Close(); + } + } + + private void buttonGuZhangFuXian_Click(object sender, EventArgs e) + { + if (!mAfterInit) + { + return; + } + string value = ""; + MyFormSetTitle(this, value); + MyTextBoxSetText(textBox_Show, value); + if (mCurrentCurve < 1 || mCurrentCurve > 3) + { + value = $"波形数值({mCurrentCurve})越界. 有效值范围[1,3]."; + MyFormSetTitle(this, value + "请选定波形,然后点击“" + buttonGuZhangFuXian.Text + "”。"); + comboBox_CurrentCurve.Focus(); + return; + } + if (m0FanJi_1RaoJi != 0 && m0FanJi_1RaoJi != 1) + { + value = $"类型数值({m0FanJi_1RaoJi})越界. "; + MyFormSetTitle(this, value + "请选定类型,然后点击“" + buttonGuZhangFuXian.Text + "”。"); + comboBox_0FanJi_1RaoJi.Focus(); + return; + } + if (mNaiLeiShuiPing <= 0.0) + { + value = $"雷电流数值({mNaiLeiShuiPing})越界. 有效值大于零."; + MyFormSetTitle(this, value + "请重新输入雷电流,然后点击“" + buttonGuZhangFuXian.Text + "”。"); + textBox_NaiLeiShuiPing.Focus(); + return; + } + desktop.mFuXian.mFName_file = $"{mSubPath_FuXian}\\file_{mCurrentCurve}.txt"; + desktop.mFuXian.mFName_data = $"{mSubPath_FuXian}\\data_{mCurrentCurve}.txt"; + desktop.mFuXian.mFName_out = mSubPath_FuXian + "\\data-out.txt"; + if (!File.Exists(desktop.mFuXian.mFName_file)) + { + value = "基础数据文件(" + desktop.mFuXian.mFName_file + ")未找到。"; + MyFormSetTitle(this, value + " 请点击“" + buttonBase.Text + "”."); + buttonBase.Focus(); + return; + } + if (!File.Exists(desktop.mFuXian.mFName_data)) + { + value = "基础数据文件(" + desktop.mFuXian.mFName_data + ")未找到。"; + MyFormSetTitle(this, value + " 请点击“" + buttonBase.Text + "”."); + buttonBase.Focus(); + return; + } + string text = ""; + text = desktop.mFuXian.ReadFileData(); + if (!text.Equals("OK")) + { + value = text; + MyFormSetTitle(this, value + " 请点击“" + buttonBase.Text + "”."); + buttonBase.Focus(); + } + else + { + desktop.mFuXian.mCurveNo = mCurrentCurve; + desktop.mFuXian.m0FanJi_1RaoJi = m0FanJi_1RaoJi; + desktop.mFuXian.mShuiPing = mNaiLeiShuiPing; + text = desktop.mFuXian.LeiDianFuXian2(); + MyTextBoxSetText(textBox_Show, text); + } + } + + private void buttonBase_Click(object sender, EventArgs e) + { + if (mAfterInit) + { + MyFormSetTitle(this, ""); + MyTextBoxSetText(textBox_Show, ""); + OpenFileDialog openFileDialog = new OpenFileDialog(); + openFileDialog.InitialDirectory = Application.StartupPath; + openFileDialog.Filter = "所有文件*.*|*.*|Excel文件(*.csv)|*.csv|Txt文件(*.txt)|*.txt"; + openFileDialog.FilterIndex = 3; + if (openFileDialog.ShowDialog(this) == DialogResult.OK) + { + mBaseFileName = openFileDialog.FileName; + desktop.mFuXian.mFName_file = $"{mSubPath_FuXian}\\file_{mCurrentCurve}.txt"; + desktop.mFuXian.mFName_data = $"{mSubPath_FuXian}\\data_{mCurrentCurve}.txt"; + desktop.mFuXian.mCurveNo = mCurrentCurve; + desktop.mFuXian.m0FanJi_1RaoJi = m0FanJi_1RaoJi; + desktop.mFuXian.mShuiPing = mNaiLeiShuiPing; + Thread thread = new Thread(MyLoad_Base); + thread.Start(); + } + } + } + + private void MyLoad_Base() + { + string text = ""; + text = desktop.mFuXian.MyLoad_BaseData(mBaseFileName); + if (text.Equals("OK")) + { + text = $"基础数据{desktop.mFuXian.arrHead.Count}条。"; + } + MyTextBoxSetText(textBox_Show, text); + } + + private void comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (mAfterInit) + { + int selectedIndex = ((ComboBox)sender).SelectedIndex; + string text = ((ComboBox)sender).SelectedItem.ToString().Trim(); + if (sender == comboBox_CurrentCurve) + { + mIndex_CurrentCurve = selectedIndex; + mCurrentCurve = selectedIndex + 1; + } + else if (sender == comboBox_0FanJi_1RaoJi) + { + mIndex_0FanJi_1RaoJi = selectedIndex; + m0FanJi_1RaoJi = selectedIndex; + } + } + } + + private void textBox_TextChanged(object sender, EventArgs e) + { + if (mAfterInit) + { + string value = ((TextBox)sender).Text.Trim(); + double num = -1.0; + try + { + num = Convert.ToDouble(value); + } + catch (Exception) + { + num = -1.0; + } + if (sender == textBox_NaiLeiShuiPing) + { + mNaiLeiShuiPing = num; + } + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + public void MyFormSetVisiable(Form form, bool value) + { + if (form.InvokeRequired) + { + dltFormSetVisiable method = MyFormSetVisiable; + form.Invoke(method, form, value); + } + else + { + form.Visible = value; + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyComboBoxItemsClear(ComboBox comboBox) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxItemsClear method = MyComboBoxItemsClear; + comboBox.Invoke(method, comboBox); + } + else + { + comboBox.Items.Clear(); + } + } + + public void MyComboBoxAdd(ComboBox comboBox, string value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxAdd method = MyComboBoxAdd; + comboBox.Invoke(method, comboBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + comboBox.Items.Add(value); + } + } + + public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; + comboBox.Invoke(method, comboBox, value); + } + else if (value >= 0 && value < comboBox.Items.Count) + { + comboBox.SelectedIndex = value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSelectedIndex method = MyListBoxSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.comboBox_CurrentCurve = new System.Windows.Forms.ComboBox(); + this.label2 = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.comboBox_0FanJi_1RaoJi = new System.Windows.Forms.ComboBox(); + this.label3 = new System.Windows.Forms.Label(); + this.textBox_NaiLeiShuiPing = new System.Windows.Forms.TextBox(); + this.buttonGuZhangFuXian = new System.Windows.Forms.Button(); + this.textBox_Show = new System.Windows.Forms.TextBox(); + this.buttonBase = new System.Windows.Forms.Button(); + base.SuspendLayout(); + this.comboBox_CurrentCurve.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_CurrentCurve.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_CurrentCurve.FormattingEnabled = true; + this.comboBox_CurrentCurve.Location = new System.Drawing.Point(64, 45); + this.comboBox_CurrentCurve.Name = "comboBox_CurrentCurve"; + this.comboBox_CurrentCurve.Size = new System.Drawing.Size(388, 20); + this.comboBox_CurrentCurve.TabIndex = 61; + this.comboBox_CurrentCurve.SelectedIndexChanged += new System.EventHandler(comboBox_SelectedIndexChanged); + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label2.Location = new System.Drawing.Point(64, 28); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(77, 14); + this.label2.TabIndex = 62; + this.label2.Text = "雷电流波形"; + this.buttonCancel.Location = new System.Drawing.Point(366, 358); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(86, 28); + this.buttonCancel.TabIndex = 64; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(258, 358); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(86, 28); + this.buttonOK.TabIndex = 63; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(61, 88); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(35, 14); + this.label1.TabIndex = 62; + this.label1.Text = "类型"; + this.comboBox_0FanJi_1RaoJi.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_0FanJi_1RaoJi.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_0FanJi_1RaoJi.FormattingEnabled = true; + this.comboBox_0FanJi_1RaoJi.Location = new System.Drawing.Point(64, 105); + this.comboBox_0FanJi_1RaoJi.Name = "comboBox_0FanJi_1RaoJi"; + this.comboBox_0FanJi_1RaoJi.Size = new System.Drawing.Size(388, 20); + this.comboBox_0FanJi_1RaoJi.TabIndex = 61; + this.comboBox_0FanJi_1RaoJi.SelectedIndexChanged += new System.EventHandler(comboBox_SelectedIndexChanged); + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label3.Location = new System.Drawing.Point(61, 152); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(77, 14); + this.label3.TabIndex = 62; + this.label3.Text = "雷电流数值"; + this.textBox_NaiLeiShuiPing.Location = new System.Drawing.Point(144, 151); + this.textBox_NaiLeiShuiPing.Name = "textBox_NaiLeiShuiPing"; + this.textBox_NaiLeiShuiPing.Size = new System.Drawing.Size(167, 21); + this.textBox_NaiLeiShuiPing.TabIndex = 65; + this.textBox_NaiLeiShuiPing.TextChanged += new System.EventHandler(textBox_TextChanged); + this.buttonGuZhangFuXian.Location = new System.Drawing.Point(63, 186); + this.buttonGuZhangFuXian.Name = "buttonGuZhangFuXian"; + this.buttonGuZhangFuXian.Size = new System.Drawing.Size(86, 28); + this.buttonGuZhangFuXian.TabIndex = 66; + this.buttonGuZhangFuXian.Text = "故障复现"; + this.buttonGuZhangFuXian.UseVisualStyleBackColor = true; + this.buttonGuZhangFuXian.Click += new System.EventHandler(buttonGuZhangFuXian_Click); + this.textBox_Show.Enabled = false; + this.textBox_Show.Location = new System.Drawing.Point(63, 220); + this.textBox_Show.Multiline = true; + this.textBox_Show.Name = "textBox_Show"; + this.textBox_Show.Size = new System.Drawing.Size(389, 91); + this.textBox_Show.TabIndex = 65; + this.textBox_Show.TextChanged += new System.EventHandler(textBox_TextChanged); + this.buttonBase.Location = new System.Drawing.Point(225, 186); + this.buttonBase.Name = "buttonBase"; + this.buttonBase.Size = new System.Drawing.Size(86, 28); + this.buttonBase.TabIndex = 66; + this.buttonBase.Text = "指定基础数据"; + this.buttonBase.UseVisualStyleBackColor = true; + this.buttonBase.Click += new System.EventHandler(buttonBase_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(508, 398); + base.Controls.Add(this.buttonBase); + base.Controls.Add(this.buttonGuZhangFuXian); + base.Controls.Add(this.textBox_Show); + base.Controls.Add(this.textBox_NaiLeiShuiPing); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.comboBox_0FanJi_1RaoJi); + base.Controls.Add(this.comboBox_CurrentCurve); + base.Controls.Add(this.label1); + base.Controls.Add(this.label3); + base.Controls.Add(this.label2); + base.Name = "Form7_GuZhangFuXian"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Form7_GuZhangFuXian"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form7_GuZhangFuXian_FormClosing); + base.Load += new System.EventHandler(Form7_GuZhangFuXian_Load); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/FormBackupCurrent.cs b/LP/FormBackupCurrent.cs new file mode 100644 index 0000000..21e2240 --- /dev/null +++ b/LP/FormBackupCurrent.cs @@ -0,0 +1,560 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.IO; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormBackupCurrent : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public XianLuData mXianLuData = null; + + public string mNameXianLu = ""; + + public int mIndexControl_XianLuName = -1; + + public int mIndex_ListXianLuData = -1; + + public string[] mFileCurrentArr = null; + + private bool mAfterInit = false; + + private bool mReady_XianLuName = false; + + private bool mReady_CurrentFile = false; + + private bool mBusy_ButtonOK = false; + + private bool mComputing_Start = false; + + private ManualResetEvent manu = null; + + private CancellationTokenSource mCTS = null; + + private CancellationToken cancellationToken; + + private IContainer components = null; + + private Button buttonCancel; + + private Button buttonSelect; + + private Button buttonOK; + + private TextBox textBox_DS_FileName; + + private ListBox listBox_XianLuName; + + private Label label2; + + private Label label1; + + public bool Ready_XianLuName + { + get + { + return mReady_XianLuName; + } + set + { + mReady_XianLuName = value; + } + } + + public bool Ready_CurrentFile + { + get + { + return mReady_CurrentFile; + } + set + { + mReady_CurrentFile = value; + } + } + + public bool Busy_ButtonOK + { + get + { + return mBusy_ButtonOK; + } + set + { + mBusy_ButtonOK = value; + MyButtonEnabled(buttonCancel, !value); + MyButtonEnabled(buttonSelect, !value && !Computing_Start); + } + } + + public bool Computing_Start + { + get + { + return mComputing_Start; + } + set + { + mComputing_Start = value; + MyButtonEnabled(buttonSelect, !value && !Busy_ButtonOK); + } + } + + public FormBackupCurrent() + { + InitializeComponent(); + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + mTitle = "雷电流幅值统计"; + mIndexControl_XianLuName = -1; + mIndex_ListXianLuData = -1; + manu = new ManualResetEvent(initialState: false); + } + + private void FormBackupCurrent_Load(object sender, EventArgs e) + { + mAfterInit = false; + Computing_Start = false; + Busy_ButtonOK = false; + MyFormSetTitle(this, ""); + bool ready_CurrentFile = (Ready_XianLuName = false); + Ready_CurrentFile = ready_CurrentFile; + base.DialogResult = DialogResult.None; + MyInput_List_XianLuData(); + mAfterInit = true; + } + + private void FormCurrent_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_List_XianLuData() + { + if (mCTS == null) + { + mCTS = new CancellationTokenSource(); + cancellationToken = mCTS.Token; + manu.Reset(); + } + MyListBoxItemsClear(listBox_XianLuName); + if (desktop.mXL != null && desktop.mXL.mListXianLuData != null) + { + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + MyListBoxAdd(listBox_XianLuName, desktop.mXL.mListXianLuData[i].mName_XianLu); + } + if (mIndexControl_XianLuName < 0) + { + mIndexControl_XianLuName = 0; + } + if (mIndexControl_XianLuName >= 0 && mIndexControl_XianLuName < listBox_XianLuName.Items.Count) + { + MyListBoxSelectedIndex(listBox_XianLuName, mIndexControl_XianLuName); + Ready_XianLuName = true; + } + } + } + + public void Destroy() + { + if (mXianLuData != null) + { + mXianLuData.Destroy(); + } + mXianLuData = null; + if (mCTS != null) + { + mCTS.Dispose(); + } + mCTS = null; + if (mFileCurrentArr != null) + { + for (int i = 0; i < mFileCurrentArr.Length; i++) + { + mFileCurrentArr[i] = ""; + } + mFileCurrentArr = null; + } + manu.Dispose(); + manu.Close(); + } + + private void buttonOK_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + if (Busy_ButtonOK) + { + return; + } + if (Computing_Start) + { + MyFormSetTitle(this, "计算中。。。"); + return; + } + Busy_ButtonOK = true; + Computing_Start = false; + if (!Ready_XianLuName) + { + if (listBox_XianLuName.Items.Count > 0) + { + MyFormSetTitle(this, "请选择线路,然后点击按钮“" + buttonOK.Text + "”。"); + } + if (listBox_XianLuName.Items.Count == 0) + { + MyFormSetTitle(this, "缺少线路数据。 请点击按钮“" + buttonCancel.Text + "”,退出对话框。"); + } + listBox_XianLuName.Focus(); + Busy_ButtonOK = false; + } + else if (!Ready_CurrentFile) + { + MyFormSetTitle(this, "请选择雷电文件,点击按钮“" + buttonOK.Text + "”。"); + buttonSelect.Focus(); + Busy_ButtonOK = false; + } + else + { + Thread thread = new Thread(MyCompute); + thread.Start(); + } + } + + private void MyCompute() + { + int num = 0; + Computing_Start = true; + Busy_ButtonOK = false; + while (!cancellationToken.IsCancellationRequested) + { + num++; + MyFormSetTitle(this, $"计算:第{num}次显示"); + Thread.Sleep(1000); + if (num >= 9) + { + break; + } + } + if (cancellationToken.IsCancellationRequested) + { + manu.Set(); + return; + } + MyFormSetTitle(this, "计算完成。"); + MessageBox.Show("完成: " + mTitle + "。"); + mCTS.Dispose(); + mCTS = null; + manu.Reset(); + base.DialogResult = DialogResult.OK; + MyFormHide(this); + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + MyButtonEnabled(buttonCancel, value: false); + Thread thread = new Thread(MyCancel); + thread.Start(); + } + + private void MyCancel() + { + MyFormSetTitle(this, "取消—"); + if (Computing_Start) + { + mCTS.Cancel(); + MyFormSetTitle(this, "取消——"); + manu.WaitOne(); + } + MyFormSetTitle(this, "取消———"); + mCTS.Dispose(); + mCTS = null; + manu.Reset(); + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + + private void buttonSelect_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + openFileDialog.InitialDirectory = Application.StartupPath; + openFileDialog.Filter = "所有文件*.*|*.*|Excel文件(*.csv)|*.csv|Txt文件(*.txt)|*.txt"; + openFileDialog.FilterIndex = 2; + openFileDialog.Multiselect = true; + if (openFileDialog.ShowDialog(this) != DialogResult.OK) + { + return; + } + mFileCurrentArr = openFileDialog.FileNames; + if (mFileCurrentArr != null) + { + string text = ""; + for (int i = 0; i < mFileCurrentArr.Length; i++) + { + text = text + mFileCurrentArr[i] + " "; + } + MyTextBoxSetText(textBox_DS_FileName, text); + Ready_CurrentFile = true; + } + } + + private void listBox_XianLuName_SelectedIndexChanged(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + int selectedIndex = ((ListBox)sender).SelectedIndex; + mIndexControl_XianLuName = selectedIndex; + mNameXianLu = ((ListBox)sender).SelectedItem.ToString().Trim(); + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[i].mName_XianLu)) + { + mIndex_ListXianLuData = i; + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[i]); + Ready_XianLuName = true; + break; + } + } + } + + private void textBox_DS_FileName_TextChanged(object sender, EventArgs e) + { + } + + private void textBox_DS_FileName_Leave(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + Ready_CurrentFile = false; + string text = textBox_DS_FileName.Text.Trim(); + string[] separator = new string[4] { "\r", "\n", " ", ";" }; + string[] array = null; + if (string.IsNullOrEmpty(text)) + { + return; + } + array = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + bool ready_CurrentFile = true; + for (int i = 0; i < array.Length; i++) + { + if (!File.Exists(array[i])) + { + ready_CurrentFile = false; + break; + } + } + Ready_CurrentFile = ready_CurrentFile; + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSelectedIndex method = MyListBoxSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonSelect = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.textBox_DS_FileName = new System.Windows.Forms.TextBox(); + this.listBox_XianLuName = new System.Windows.Forms.ListBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + base.SuspendLayout(); + this.buttonCancel.Location = new System.Drawing.Point(266, 183); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(108, 28); + this.buttonCancel.TabIndex = 63; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonSelect.Location = new System.Drawing.Point(325, 133); + this.buttonSelect.Name = "buttonSelect"; + this.buttonSelect.Size = new System.Drawing.Size(49, 28); + this.buttonSelect.TabIndex = 61; + this.buttonSelect.Text = "选择"; + this.buttonSelect.UseVisualStyleBackColor = true; + this.buttonSelect.Click += new System.EventHandler(buttonSelect_Click); + this.buttonOK.Location = new System.Drawing.Point(131, 183); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(108, 28); + this.buttonOK.TabIndex = 62; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.textBox_DS_FileName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_DS_FileName.Location = new System.Drawing.Point(18, 135); + this.textBox_DS_FileName.Name = "textBox_DS_FileName"; + this.textBox_DS_FileName.Size = new System.Drawing.Size(290, 26); + this.textBox_DS_FileName.TabIndex = 60; + this.textBox_DS_FileName.Leave += new System.EventHandler(textBox_DS_FileName_Leave); + this.listBox_XianLuName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.listBox_XianLuName.FormattingEnabled = true; + this.listBox_XianLuName.ItemHeight = 16; + this.listBox_XianLuName.Location = new System.Drawing.Point(18, 42); + this.listBox_XianLuName.Name = "listBox_XianLuName"; + this.listBox_XianLuName.Size = new System.Drawing.Size(356, 20); + this.listBox_XianLuName.TabIndex = 59; + this.listBox_XianLuName.SelectedIndexChanged += new System.EventHandler(listBox_XianLuName_SelectedIndexChanged); + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label2.Location = new System.Drawing.Point(18, 103); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(104, 16); + this.label2.TabIndex = 57; + this.label2.Text = "雷电地闪数据"; + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(18, 17); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(72, 16); + this.label1.TabIndex = 58; + this.label1.Text = "线路名称"; + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(392, 228); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonSelect); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.textBox_DS_FileName); + base.Controls.Add(this.listBox_XianLuName); + base.Controls.Add(this.label2); + base.Controls.Add(this.label1); + base.Name = "FormBackupCurrent"; + this.Text = "FormBackupCurrent"; + base.Load += new System.EventHandler(FormBackupCurrent_Load); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/FormCanShuJiSuan.cs b/LP/FormCanShuJiSuan.cs new file mode 100644 index 0000000..e4328a4 --- /dev/null +++ b/LP/FormCanShuJiSuan.cs @@ -0,0 +1,180 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormCanShuJiSuan : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public string mMsg = ""; + + public TaskData mtData = null; + + private IContainer components = null; + + private Button buttonCurrent; + + private Button buttonDSMD; + + private Button buttonDMQJ; + + public FormCanShuJiSuan() + { + InitializeComponent(); + if (mtData == null) + { + mtData = new TaskData(); + } + mTitle = "参数计算"; + } + + private void FormCanShuJiSuan_Load(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + MyInput_TaskData(); + } + + private void FormCanShuJiSuan_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_TaskData() + { + mtData.copyFrom_TaskData(desktop.mTheTaskData); + } + + public void Destroy() + { + mTitle = ""; + if (mtData != null) + { + mtData.Destroy(); + } + mtData = null; + } + + private void buttonCurrent_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + DialogResult dialogResult = DialogResult.None; + dialogResult = desktop.mDlg_Current.ShowDialog(this); + if (dialogResult == DialogResult.OK && desktop.mXL.mCurrent_a_b_Ready) + { + MyFormSetTitle(this, $"雷电流a={desktop.mXL.mCurrent_a_All_GanTa} 雷电流b={desktop.mXL.mCurrent_b_All_GanTa}"); + } + } + + private void MyThread_SendTaskData() + { + for (int i = 0; i < 10; i++) + { + if (desktop.mAddTaskData.mID_Task <= 0) + { + break; + } + Thread.Sleep(1000); + } + desktop.mAddTaskData.copyFrom_TaskData(mtData); + desktop.MySendForm_TaskData(desktop, desktop.mAddTaskData); + } + + private void buttonDSMD_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + DialogResult dialogResult = DialogResult.None; + dialogResult = desktop.mDlg_DiShanMiDu.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + } + } + + private void buttonDMQJ_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + DialogResult dialogResult = DialogResult.None; + dialogResult = desktop.mDlg_DiMainQingJiao.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + MyFormSetTitle(this, mMsg); + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " —— " + value; + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.buttonCurrent = new System.Windows.Forms.Button(); + this.buttonDSMD = new System.Windows.Forms.Button(); + this.buttonDMQJ = new System.Windows.Forms.Button(); + base.SuspendLayout(); + this.buttonCurrent.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonCurrent.Location = new System.Drawing.Point(21, 27); + this.buttonCurrent.Name = "buttonCurrent"; + this.buttonCurrent.Size = new System.Drawing.Size(126, 40); + this.buttonCurrent.TabIndex = 0; + this.buttonCurrent.Text = "雷电流幅值"; + this.buttonCurrent.UseVisualStyleBackColor = true; + this.buttonCurrent.Click += new System.EventHandler(buttonCurrent_Click); + this.buttonDSMD.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonDSMD.Location = new System.Drawing.Point(164, 27); + this.buttonDSMD.Name = "buttonDSMD"; + this.buttonDSMD.Size = new System.Drawing.Size(126, 40); + this.buttonDSMD.TabIndex = 1; + this.buttonDSMD.Text = "地闪密度"; + this.buttonDSMD.UseVisualStyleBackColor = true; + this.buttonDSMD.Click += new System.EventHandler(buttonDSMD_Click); + this.buttonDMQJ.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonDMQJ.Location = new System.Drawing.Point(307, 27); + this.buttonDMQJ.Name = "buttonDMQJ"; + this.buttonDMQJ.Size = new System.Drawing.Size(126, 40); + this.buttonDMQJ.TabIndex = 2; + this.buttonDMQJ.Text = "地面倾角"; + this.buttonDMQJ.UseVisualStyleBackColor = true; + this.buttonDMQJ.Click += new System.EventHandler(buttonDMQJ_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(463, 92); + base.Controls.Add(this.buttonDMQJ); + base.Controls.Add(this.buttonDSMD); + base.Controls.Add(this.buttonCurrent); + base.Name = "FormCanShuJiSuan"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormCSJS"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormCanShuJiSuan_FormClosing); + base.Load += new System.EventHandler(FormCanShuJiSuan_Load); + base.ResumeLayout(false); + } +} diff --git a/LP/FormCreateGanTa.cs b/LP/FormCreateGanTa.cs new file mode 100644 index 0000000..c355364 --- /dev/null +++ b/LP/FormCreateGanTa.cs @@ -0,0 +1,272 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.IO; +using System.Windows.Forms; + +namespace LP; + +public class FormCreateGanTa : Form +{ + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + public int mIndexModel = -1; + + public string mTitle = ""; + + private IContainer components = null; + + private Panel panelCreateGanTa; + + private FlowLayoutPanel flowLayoutPanel_Models; + + private Panel panel0; + + private PictureBox pictureBox0; + + private Label label0; + + private Panel panel_North_SerchNameModel; + + private TextBox textBox_Search; + + public FormCreateGanTa() + { + InitializeComponent(); + } + + private void FormCreateGanTa_Load(object sender, EventArgs e) + { + mTitle = "选择杆塔模型"; + panel0.Visible = false; + MyInitControls(); + Text = mTitle; + } + + public void MyInput() + { + } + + public void MyOutput() + { + } + + private void MyInitControls() + { + string value = textBox_Search.Text.Trim(); + List list = null; + list = new List(); + list.Clear(); + for (int i = 0; i < GanTas.mName_GanTaModels.Count; i++) + { + if (string.IsNullOrEmpty(value) || GanTas.mName_GanTaModels[i].IndexOf(value) >= 0) + { + list.Add(GanTas.mName_GanTaModels[i].Trim()); + } + } + flowLayoutPanel_Models.Controls.Clear(); + for (int j = 0; j < list.Count; j++) + { + Panel panel = new Panel(); + panel.Location = panel0.Location; + panel.Size = panel0.Size; + panel.Tag = list[j]; + panel.BorderStyle = BorderStyle.FixedSingle; + panel.Visible = true; + panel.MouseEnter += panel0_MouseEnter; + panel.MouseLeave += panel0_MouseLeave; + Label label = new Label(); + label.Font = label0.Font; + label.Location = label0.Location; + label.Text = list[j]; + label.AutoSize = true; + label.Visible = true; + label.Tag = list[j]; + label.DoubleClick += panel0_DoubleClick; + panel.Controls.Add(label); + PictureBox pictureBox = new PictureBox(); + pictureBox.Location = pictureBox0.Location; + pictureBox.Size = pictureBox0.Size; + pictureBox.SizeMode = PictureBoxSizeMode.StretchImage; + string text = Application.StartupPath + "\\" + GanTas.mSubPath_ModelsSimple + "\\" + list[j] + ".jpg"; + if (File.Exists(text)) + { + Image image = Image.FromFile(text); + pictureBox.Image = image; + } + else + { + pictureBox.Image = null; + } + pictureBox.Visible = true; + pictureBox.Tag = list[j]; + pictureBox.DoubleClick += panel0_DoubleClick; + panel.Controls.Add(pictureBox); + flowLayoutPanel_Models.Controls.Add(panel); + } + } + + public void Destroy() + { + mTitle = ""; + } + + private void textBox_Search_TextChanged(object sender, EventArgs e) + { + MyInitControls(); + } + + private void panel0_DoubleClick(object sender, EventArgs e) + { + string text = ""; + try + { + text = ((Control)sender).Tag.ToString().Trim(); + } + catch (Exception) + { + text = ""; + } + mIndexModel = -1; + if (!string.IsNullOrEmpty(text)) + { + for (int i = 0; i < GanTas.mName_GanTaModels.Count; i++) + { + if (GanTas.mName_GanTaModels[i].Equals(text)) + { + mIndexModel = i; + break; + } + } + } + base.DialogResult = DialogResult.OK; + MyFormHide(this); + } + + private void panel0_MouseEnter(object sender, EventArgs e) + { + Control control = (Control)sender; + control.BackColor = Color.LightBlue; + } + + private void panel0_MouseLeave(object sender, EventArgs e) + { + Control control = (Control)sender; + control.BackColor = Color.White; + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.panelCreateGanTa = new System.Windows.Forms.Panel(); + this.flowLayoutPanel_Models = new System.Windows.Forms.FlowLayoutPanel(); + this.panel0 = new System.Windows.Forms.Panel(); + this.pictureBox0 = new System.Windows.Forms.PictureBox(); + this.label0 = new System.Windows.Forms.Label(); + this.panel_North_SerchNameModel = new System.Windows.Forms.Panel(); + this.textBox_Search = new System.Windows.Forms.TextBox(); + this.panelCreateGanTa.SuspendLayout(); + this.flowLayoutPanel_Models.SuspendLayout(); + this.panel0.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)this.pictureBox0).BeginInit(); + this.panel_North_SerchNameModel.SuspendLayout(); + base.SuspendLayout(); + this.panelCreateGanTa.Controls.Add(this.flowLayoutPanel_Models); + this.panelCreateGanTa.Controls.Add(this.panel_North_SerchNameModel); + this.panelCreateGanTa.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelCreateGanTa.Location = new System.Drawing.Point(0, 0); + this.panelCreateGanTa.Name = "panelCreateGanTa"; + this.panelCreateGanTa.Size = new System.Drawing.Size(854, 450); + this.panelCreateGanTa.TabIndex = 0; + this.flowLayoutPanel_Models.AutoScroll = true; + this.flowLayoutPanel_Models.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.flowLayoutPanel_Models.Controls.Add(this.panel0); + this.flowLayoutPanel_Models.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowLayoutPanel_Models.Location = new System.Drawing.Point(0, 48); + this.flowLayoutPanel_Models.Name = "flowLayoutPanel_Models"; + this.flowLayoutPanel_Models.Size = new System.Drawing.Size(854, 402); + this.flowLayoutPanel_Models.TabIndex = 1; + this.panel0.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel0.Controls.Add(this.label0); + this.panel0.Controls.Add(this.pictureBox0); + this.panel0.Location = new System.Drawing.Point(3, 3); + this.panel0.Name = "panel0"; + this.panel0.Size = new System.Drawing.Size(200, 216); + this.panel0.TabIndex = 0; + this.panel0.DoubleClick += new System.EventHandler(panel0_DoubleClick); + this.panel0.MouseEnter += new System.EventHandler(panel0_MouseEnter); + this.panel0.MouseLeave += new System.EventHandler(panel0_MouseLeave); + this.pictureBox0.Location = new System.Drawing.Point(12, 30); + this.pictureBox0.Name = "pictureBox0"; + this.pictureBox0.Size = new System.Drawing.Size(175, 169); + this.pictureBox0.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox0.TabIndex = 1; + this.pictureBox0.TabStop = false; + this.label0.AutoSize = true; + this.label0.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label0.Location = new System.Drawing.Point(66, 4); + this.label0.Name = "label0"; + this.label0.Size = new System.Drawing.Size(56, 16); + this.label0.TabIndex = 1; + this.label0.Text = "label1"; + this.label0.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.panel_North_SerchNameModel.Controls.Add(this.textBox_Search); + this.panel_North_SerchNameModel.Dock = System.Windows.Forms.DockStyle.Top; + this.panel_North_SerchNameModel.Location = new System.Drawing.Point(0, 0); + this.panel_North_SerchNameModel.Name = "panel_North_SerchNameModel"; + this.panel_North_SerchNameModel.Size = new System.Drawing.Size(854, 48); + this.panel_North_SerchNameModel.TabIndex = 0; + this.textBox_Search.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_Search.Location = new System.Drawing.Point(311, 12); + this.textBox_Search.Name = "textBox_Search"; + this.textBox_Search.Size = new System.Drawing.Size(173, 26); + this.textBox_Search.TabIndex = 0; + this.textBox_Search.TextChanged += new System.EventHandler(textBox_Search_TextChanged); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(854, 450); + base.Controls.Add(this.panelCreateGanTa); + base.Name = "FormCreateGanTa"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormCreateGanTa"; + base.Load += new System.EventHandler(FormCreateGanTa_Load); + this.panelCreateGanTa.ResumeLayout(false); + this.flowLayoutPanel_Models.ResumeLayout(false); + this.panel0.ResumeLayout(false); + this.panel0.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)this.pictureBox0).EndInit(); + this.panel_North_SerchNameModel.ResumeLayout(false); + this.panel_North_SerchNameModel.PerformLayout(); + base.ResumeLayout(false); + } +} diff --git a/LP/FormCreateXianLu.cs b/LP/FormCreateXianLu.cs new file mode 100644 index 0000000..0437592 --- /dev/null +++ b/LP/FormCreateXianLu.cs @@ -0,0 +1,263 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormCreateXianLu : Form +{ + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private XianLuData mXianLuData = null; + + private string mTitle = ""; + + public bool mFirst_Enter = true; + + private int mIndex_List_DYDJ = -1; + + private IContainer components = null; + + private TextBox textBox_Name_XianLu; + + private Label label1; + + private Label label2; + + private Button button_GanTa_LieBiao; + + private Button buttonCancel; + + private ComboBox comboBox_DYDJ; + + public FormCreateXianLu() + { + InitializeComponent(); + if (string.IsNullOrEmpty(mTitle)) + { + mTitle = "创建线路"; + } + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + if (mIndex_List_DYDJ < 0) + { + mIndex_List_DYDJ = 0; + } + } + + private void FormCreateXianLu_Load(object sender, EventArgs e) + { + Text = mTitle; + string[] array = new string[14] + { + "直流500kV", "直流800kV", "直流1000kV", "交流35kV", "交流66kV", "交流110kV", "交流220kV", "交流330kV", "交流500kV", "交流750kV", + "交流800kV", "交流1000kV", "交流110kV|交流110kV|交流110kV|交流110kV", "交流220kV|交流220kV|交流220kV|交流220kV" + }; + comboBox_DYDJ.Items.Clear(); + ComboBox.ObjectCollection items = comboBox_DYDJ.Items; + object[] items2 = array; + items.AddRange(items2); + comboBox_DYDJ.SelectedIndex = mIndex_List_DYDJ; + mFirst_Enter = true; + } + + public void MyInput_XianLuData() + { + mXianLuData.CopyPrimaryFrom_XianLuData(desktop.mTheXianLuData); + } + + public void MyOutput_XianLuData() + { + desktop.mTheXianLuData.CopyPrimaryFrom_XianLuData(mXianLuData); + } + + public void Destroy() + { + comboBox_DYDJ.Items.Clear(); + mXianLuData = null; + desktop = null; + } + + private void button_GanTa_LieBiao_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrEmpty(textBox_Name_XianLu.Text)) + { + MessageBox.Show("“线路名称”为空!", "提示信息:发现输入错误"); + textBox_Name_XianLu.Focus(); + return; + } + int num = -1; + num = comboBox_DYDJ.SelectedIndex; + if (num < 0 || num >= comboBox_DYDJ.Items.Count) + { + MyLog.AddLog($"FormCreateXianLu.cs button_GanTa_LieBiao_Click() comboBox_DYDJ.SelectedIndex={num}"); + return; + } + mIndex_List_DYDJ = num; + string[] separator = new string[3] { "|", "\r", "\n" }; + string[] array = null; + string text = comboBox_DYDJ.Items[num].ToString(); + array = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + text = array[0]; + string text2 = ""; + text2 = text.Substring(0, 2); + text = text.Replace("交流", ""); + text = text.Replace("直流", ""); + text = text.Replace("kV", ""); + int num2 = -1; + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -2; + } + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + mXianLuData.mHuiLuNo_XianLu = ((array.Length == 0) ? 1 : array.Length); + mXianLuData.mName_XianLu = textBox_Name_XianLu.Text.Trim(); + mXianLuData.mJLZL_XianLu = text2; + mXianLuData.mDYDJ_XianLu = num2; + mXianLuData.mGanTaNumber_XianLu = 0; + Thread thread = new Thread(MyThreadOK); + thread.Start(); + } + catch (Exception ex2) + { + MyLog.AddLog("FormCreateXianLu.cs button_GanTa_LieBiao_Click() Exception=" + ex2.Message); + } + } + + private void MyThreadOK() + { + try + { + mFirst_Enter = false; + base.DialogResult = DialogResult.OK; + MyFormHide(this); + } + catch (Exception ex) + { + MyLog.AddLog("FormCreateXianLu.cs MyThreadOK() Exception=" + ex.Message); + } + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + try + { + MyFormHide(this); + } + catch (Exception ex) + { + MyLog.AddLog("FormCreateXianLu.cs buttonCancel_Click() Exception=" + ex.Message); + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.textBox_Name_XianLu = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.button_GanTa_LieBiao = new System.Windows.Forms.Button(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.comboBox_DYDJ = new System.Windows.Forms.ComboBox(); + base.SuspendLayout(); + this.textBox_Name_XianLu.Location = new System.Drawing.Point(39, 31); + this.textBox_Name_XianLu.Name = "textBox_Name_XianLu"; + this.textBox_Name_XianLu.Size = new System.Drawing.Size(196, 29); + this.textBox_Name_XianLu.TabIndex = 0; + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(35, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(104, 19); + this.label1.TabIndex = 1; + this.label1.Text = "线路名称:"; + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(35, 71); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(104, 19); + this.label2.TabIndex = 1; + this.label2.Text = "电压等级:"; + this.button_GanTa_LieBiao.AutoSize = true; + this.button_GanTa_LieBiao.Location = new System.Drawing.Point(39, 136); + this.button_GanTa_LieBiao.Name = "button_GanTa_LieBiao"; + this.button_GanTa_LieBiao.Size = new System.Drawing.Size(133, 33); + this.button_GanTa_LieBiao.TabIndex = 3; + this.button_GanTa_LieBiao.Text = "跳转杆塔列表"; + this.button_GanTa_LieBiao.UseVisualStyleBackColor = true; + this.button_GanTa_LieBiao.Click += new System.EventHandler(button_GanTa_LieBiao_Click); + this.buttonCancel.AutoSize = true; + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.buttonCancel.Location = new System.Drawing.Point(178, 136); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(133, 33); + this.buttonCancel.TabIndex = 3; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.comboBox_DYDJ.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_DYDJ.FormattingEnabled = true; + this.comboBox_DYDJ.Location = new System.Drawing.Point(12, 93); + this.comboBox_DYDJ.Name = "comboBox_DYDJ"; + this.comboBox_DYDJ.Size = new System.Drawing.Size(327, 27); + this.comboBox_DYDJ.TabIndex = 4; + base.AutoScaleDimensions = new System.Drawing.SizeF(10f, 19f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.CancelButton = this.buttonCancel; + base.ClientSize = new System.Drawing.Size(351, 181); + base.Controls.Add(this.comboBox_DYDJ); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.button_GanTa_LieBiao); + base.Controls.Add(this.label2); + base.Controls.Add(this.label1); + base.Controls.Add(this.textBox_Name_XianLu); + this.Font = new System.Drawing.Font("宋体", 14.25f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + base.Margin = new System.Windows.Forms.Padding(5); + base.Name = "FormCreateXianLu"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "CreateXianLu"; + base.Load += new System.EventHandler(FormCreateXianLu_Load); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/FormCurrent.cs b/LP/FormCurrent.cs new file mode 100644 index 0000000..2ef0ad3 --- /dev/null +++ b/LP/FormCurrent.cs @@ -0,0 +1,792 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.IO; +using System.Text; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormCurrent : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public XianLuData mXianLuData = null; + + public TaskData mTaskData = null; + + private int mXianLuID = 0; + + public string mNameXianLu = ""; + + private string mNameTask = ""; + + public int mIndexControl_XianLuName = -1; + + public int mIndex_ListXianLuData = -1; + + public string mFileName = ""; + + public string[] mFileCurrentArr = null; + + private bool mAfterInit = false; + + private bool mReady_XianLuName = false; + + private bool mReady_CurrentFile = false; + + private bool mBusy_ButtonOK = false; + + private IContainer components = null; + + private Label label1; + + private ListBox listBox_XianLuName; + + private Label label2; + + private TextBox textBox_DS_FileName; + + private Button buttonCancel; + + private Button buttonOK; + + private Button buttonSelect; + + public bool Ready_XianLuName + { + get + { + return mReady_XianLuName; + } + set + { + mReady_XianLuName = value; + } + } + + public bool Ready_CurrentFile + { + get + { + return mReady_CurrentFile; + } + set + { + mReady_CurrentFile = value; + } + } + + public bool Busy_ButtonOK + { + get + { + return mBusy_ButtonOK; + } + set + { + mBusy_ButtonOK = value; + MyButtonEnabled(buttonCancel, !value); + MyButtonEnabled(buttonSelect, !value); + } + } + + public FormCurrent() + { + InitializeComponent(); + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + if (mTaskData == null) + { + mTaskData = new TaskData(); + } + mNameTask = "雷电流幅值计算"; + mTitle = "雷电流幅值统计"; + mIndexControl_XianLuName = -1; + mIndex_ListXianLuData = -1; + } + + private void FormCurrent_Load(object sender, EventArgs e) + { + mAfterInit = false; + Busy_ButtonOK = false; + MyFormSetTitle(this, ""); + bool ready_CurrentFile = (Ready_XianLuName = false); + Ready_CurrentFile = ready_CurrentFile; + base.DialogResult = DialogResult.None; + MyInput_TaskData(); + MyInput_List_XianLuData(); + mAfterInit = true; + } + + private void FormCurrent_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_TaskData() + { + mTaskData.copyFrom_TaskData(desktop.mDlg_CanShuJiSuan.mtData); + } + + public void MyOutput_TaskData() + { + desktop.mDlg_CanShuJiSuan.mtData.copyFrom_TaskData(mTaskData); + } + + public void MyInput_List_XianLuData() + { + MyListBoxItemsClear(listBox_XianLuName); + if (desktop.mXL == null || desktop.mXL.mListXianLuData == null) + { + return; + } + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + MyListBoxAdd(listBox_XianLuName, desktop.mXL.mListXianLuData[i].mName_XianLu); + } + if (mIndexControl_XianLuName < 0) + { + mIndexControl_XianLuName = 0; + } + if (mIndexControl_XianLuName >= 0 && mIndexControl_XianLuName < listBox_XianLuName.Items.Count) + { + MyListBoxSelectedIndex(listBox_XianLuName, mIndexControl_XianLuName); + mNameXianLu = listBox_XianLuName.SelectedItem.ToString(); + for (int j = 0; j < desktop.mXL.mListXianLuData.Count; j++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[j].mName_XianLu)) + { + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[j]); + mXianLuID = mXianLuData.mID_XianLu; + break; + } + } + Ready_XianLuName = true; + } + else + { + mNameXianLu = ""; + mXianLuID = 0; + Ready_XianLuName = false; + } + string text = textBox_DS_FileName.Text.Trim(); + string[] separator = new string[4] { "\r", "\n", " ", ";" }; + if (string.IsNullOrEmpty(text)) + { + return; + } + string[] array = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + bool flag = true; + for (int k = 0; k < array.Length; k++) + { + if (!File.Exists(array[k])) + { + flag = false; + break; + } + } + if (array.Length != 0) + { + mFileCurrentArr = new string[array.Length]; + for (int l = 0; l < array.Length; l++) + { + mFileCurrentArr[l] = array[l].Trim(); + } + } + if (flag) + { + Ready_CurrentFile = true; + } + } + + public void Destroy() + { + if (mXianLuData != null) + { + mXianLuData.Destroy(); + } + mXianLuData = null; + if (mTaskData != null) + { + mTaskData.Destroy(); + } + mTaskData = null; + if (mFileCurrentArr != null) + { + for (int i = 0; i < mFileCurrentArr.Length; i++) + { + mFileCurrentArr[i] = ""; + } + mFileCurrentArr = null; + } + } + + private void buttonOK_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + if (!Busy_ButtonOK) + { + Busy_ButtonOK = true; + if (!Ready_CurrentFile) + { + MyFormSetTitle(this, "请选择雷电文件,点击按钮“" + buttonOK.Text + "”。"); + buttonSelect.Focus(); + Busy_ButtonOK = false; + } + else + { + Thread thread = new Thread(MyCompute); + thread.Start(); + } + } + } + + private bool IsRepeatTask() + { + bool result = false; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (mNameTask.Equals(desktop.mTask.mListDetails[i].mTaskData.mName_Task) && mXianLuID == desktop.mTask.mListDetails[i].mTaskData.mXianLuID_Task) + { + result = true; + break; + } + } + return result; + } + + private void MyRefresh_TaskData() + { + mTaskData.mID_Task = TaskData.mNextID_static; + mTaskData.mTypeCode_Task = 11; + mTaskData.mName_Task = mNameTask; + mTaskData.mXianLuID_Task = mXianLuData.mID_XianLu; + mTaskData.mXianLuName_Task = mXianLuData.mName_XianLu; + mTaskData.mXianLuJLZL_Task = mXianLuData.mJLZL_XianLu; + mTaskData.mDYDJ_Task = mXianLuData.mDYDJ_XianLu; + mTaskData.mPrepare11_LightingCurrent = 0; + mXianLuData.mPrepare1_LightingCurrent = 0; + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (mXianLuID == desktop.mXL.mListXianLuData[i].mID_XianLu) + { + desktop.mXL.mListXianLuData[i].mPrepare1_LightingCurrent = 0; + break; + } + } + string text = ""; + int num = 0; + for (int j = 0; j < mFileCurrentArr.Length; j++) + { + if (!string.IsNullOrEmpty(mFileCurrentArr[j])) + { + if (num > 0) + { + text += " "; + } + text += mFileCurrentArr[j]; + num++; + } + } + mTaskData.mFName_Prepare = text; + } + + private void MyCompute() + { + string text = ""; + MyFormSetTitle(this, "请稍候......(0/2)"); + text = Compute_A_and_B(); + if (!text.Equals("OK")) + { + MyLog.AddLog("MyCompute() " + text); + } + Busy_ButtonOK = false; + base.DialogResult = DialogResult.OK; + MyFormHide(this); + } + + private string Compute_A_and_B() + { + string result = "OK"; + double num = 0.0; + double num2 = 0.0; + double num3 = 0.0; + string text = ""; + bool flag = false; + int num4 = 0; + int num5 = 0; + int num6 = 0; + int index = 0; + int index2 = 0; + double num7 = 1.0; + double num8 = -1.0; + double num9 = 0.0; + try + { + if (string.IsNullOrEmpty(mFileName)) + { + return "雷电流文件名mFileName为空。"; + } + if (!File.Exists(mFileName)) + { + return "文件未找到,mFileName=" + mFileName; + } + List list = new List(); + list.Clear(); + List list2 = new List(); + list2.Clear(); + List list3 = new List(); + list3.Clear(); + using (FileStream fileStream = new FileStream(mFileName, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader = new StreamReader(fileStream, Encoding.UTF8)) + { + while (!streamReader.EndOfStream) + { + text = streamReader.ReadLine().Trim(); + if (string.IsNullOrEmpty(text)) + { + continue; + } + flag = false; + try + { + num = Convert.ToDouble(text); + } + catch (Exception) + { + flag = true; + } + if (!flag) + { + if (num < 0.0) + { + num = 0.0 - num; + } + list.Add(num); + } + } + streamReader.Close(); + } + fileStream.Close(); + } + MyFormSetTitle(this, "请稍候......(1/2)"); + if (list.Count == 0) + { + return "文件内容空白,mFileName=" + mFileName; + } + num5 = list.Count; + for (int i = 0; i < list.Count; i++) + { + if (i == 0) + { + num2 = (num3 = list[i]); + continue; + } + if (num2 < list[i]) + { + num2 = list[i]; + } + if (num3 > list[i]) + { + num3 = list[i]; + } + } + list2.Add(num2); + list3.Add(1.0 / (double)num5); + while (num2 > num3) + { + num2 -= 0.1; + list2.Add(num2); + num4 = 0; + for (int j = 0; j < list.Count; j++) + { + if (list[j] >= num2) + { + num4++; + } + } + list3.Add((double)num4 * 1.0 / (double)num5); + } + num6 = list3.Count; + num7 = 1.0; + num8 = -1.0; + for (num4 = 0; num4 < num6; num4++) + { + num9 = list3[num4] - 0.5; + if (num9 < 0.0) + { + if (num8 < num9) + { + num8 = num9; + index2 = num4; + } + } + else if (num7 > num9) + { + num7 = num9; + index = num4; + } + } + double num10 = 0.0; + double num11 = 0.0; + num10 = (0.5 - list3[index]) * (list2[index2] - list2[index]) / (list3[index2] - list3[index]) + list2[index]; + double num12 = 0.0; + double num13 = 0.0; + for (num4 = 0; num4 < num6 - 1; num4++) + { + num13 = Math.Log(1.0 / list3[num4] - 1.0) / Math.Log(list2[num4] / num10); + num12 += num13; + } + num11 = num12 / (double)(num6 - 1); + desktop.mXL.mCurrent_a_All_GanTa = Math.Round(num10, 3); + desktop.mXL.mCurrent_b_All_GanTa = Math.Round(num11, 3); + desktop.mXL.mCurrent_a_b_Ready = true; + for (int k = 0; k < desktop.mXL.mListXianLuData.Count; k++) + { + if (desktop.mXL.mListXianLuData[k] != null) + { + desktop.mXL.mListXianLuData[k].mPrepare1_LightingCurrent = 1; + } + } + if (desktop.mXL != null && desktop.mXL.mListGanTas != null) + { + for (int l = 0; l < desktop.mXL.mListGanTas.Count; l++) + { + if (desktop.mXL.mListGanTas[l].mListGanTaData != null) + { + for (int m = 0; m < desktop.mXL.mListGanTas[l].mListGanTaData.Count; m++) + { + desktop.mXL.mListGanTas[l].mListGanTaData[m].mCurrent_a_GanTa = desktop.mXL.mCurrent_a_All_GanTa; + desktop.mXL.mListGanTas[l].mListGanTaData[m].mCurrent_b_GanTa = desktop.mXL.mCurrent_b_All_GanTa; + } + } + } + } + if (desktop.mTask != null && desktop.mTask.mListDetails != null) + { + for (int n = 0; n < desktop.mTask.mListDetails.Count; n++) + { + if (desktop.mTask.mListDetails[n] == null || desktop.mTask.mListDetails[n].mTaskGroup == null || desktop.mTask.mListDetails[n].mTaskGroup.mListExTaskData == null) + { + continue; + } + for (num4 = 0; num4 < desktop.mTask.mListDetails[n].mTaskGroup.mListExTaskData.Count; num4++) + { + if (desktop.mTask.mListDetails[n].mTaskGroup.mListExTaskData[num4] != null && desktop.mTask.mListDetails[n].mTaskGroup.mListExTaskData[num4].mTGanTas != null && desktop.mTask.mListDetails[n].mTaskGroup.mListExTaskData[num4].mTGanTas.mListTGanTaData != null) + { + for (int num14 = 0; num14 < desktop.mTask.mListDetails[n].mTaskGroup.mListExTaskData[num4].mTGanTas.mListTGanTaData.Count; num14++) + { + desktop.mTask.mListDetails[n].mTaskGroup.mListExTaskData[num4].mTGanTas.mListTGanTaData[num14].mCurrent_a_GanTa = desktop.mXL.mCurrent_a_All_GanTa; + desktop.mTask.mListDetails[n].mTaskGroup.mListExTaskData[num4].mTGanTas.mListTGanTaData[num14].mCurrent_b_GanTa = desktop.mXL.mCurrent_b_All_GanTa; + } + } + } + } + } + MyFormSetTitle(this, "请稍候......(2/2)"); + } + catch (Exception ex2) + { + result = "Compute_A_and_B() ex=" + ex2.Message; + } + return result; + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + MyButtonEnabled(buttonCancel, value: false); + Thread thread = new Thread(MyCancel); + thread.Start(); + } + + private void MyCancel() + { + MyFormSetTitle(this, "取消—"); + MyFormSetTitle(this, "取消———"); + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + + private void buttonSelect_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + openFileDialog.InitialDirectory = Application.StartupPath; + openFileDialog.Filter = "所有文件*.*|*.*|Excel文件(*.csv)|*.csv|Txt文件(*.txt)|*.txt"; + openFileDialog.FilterIndex = 3; + openFileDialog.Multiselect = false; + if (openFileDialog.ShowDialog(this) == DialogResult.OK) + { + mFileName = openFileDialog.FileName; + MyTextBoxSetText(textBox_DS_FileName, mFileName); + Ready_CurrentFile = true; + } + } + + private void listBox_XianLuName_SelectedIndexChanged(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + int selectedIndex = ((ListBox)sender).SelectedIndex; + mIndexControl_XianLuName = selectedIndex; + mNameXianLu = ((ListBox)sender).SelectedItem.ToString().Trim(); + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[i].mName_XianLu)) + { + mIndex_ListXianLuData = i; + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[i]); + mXianLuID = mXianLuData.mID_XianLu; + Ready_XianLuName = true; + break; + } + } + } + + private void textBox_DS_FileName_Leave(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + Ready_CurrentFile = false; + string text = textBox_DS_FileName.Text.Trim(); + string[] separator = new string[4] { "\r", "\n", " ", ";" }; + string[] array = null; + if (string.IsNullOrEmpty(text)) + { + return; + } + array = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + bool ready_CurrentFile = true; + for (int i = 0; i < array.Length; i++) + { + if (!File.Exists(array[i])) + { + ready_CurrentFile = false; + break; + } + } + if (array.Length != 0) + { + mFileCurrentArr = new string[array.Length]; + for (int j = 0; j < array.Length; j++) + { + mFileCurrentArr[j] = array[j].Trim(); + } + } + Ready_CurrentFile = ready_CurrentFile; + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSelectedIndex method = MyListBoxSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.listBox_XianLuName = new System.Windows.Forms.ListBox(); + this.label2 = new System.Windows.Forms.Label(); + this.textBox_DS_FileName = new System.Windows.Forms.TextBox(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.buttonSelect = new System.Windows.Forms.Button(); + base.SuspendLayout(); + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(33, 17); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(72, 16); + this.label1.TabIndex = 0; + this.label1.Text = "线路名称"; + this.listBox_XianLuName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.listBox_XianLuName.FormattingEnabled = true; + this.listBox_XianLuName.ItemHeight = 16; + this.listBox_XianLuName.Location = new System.Drawing.Point(33, 42); + this.listBox_XianLuName.Name = "listBox_XianLuName"; + this.listBox_XianLuName.Size = new System.Drawing.Size(356, 20); + this.listBox_XianLuName.TabIndex = 0; + this.listBox_XianLuName.SelectedIndexChanged += new System.EventHandler(listBox_XianLuName_SelectedIndexChanged); + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label2.Location = new System.Drawing.Point(33, 103); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(120, 16); + this.label2.TabIndex = 0; + this.label2.Text = "雷电流数据文件"; + this.textBox_DS_FileName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_DS_FileName.Location = new System.Drawing.Point(33, 135); + this.textBox_DS_FileName.Name = "textBox_DS_FileName"; + this.textBox_DS_FileName.Size = new System.Drawing.Size(290, 26); + this.textBox_DS_FileName.TabIndex = 1; + this.textBox_DS_FileName.Leave += new System.EventHandler(textBox_DS_FileName_Leave); + this.buttonCancel.Location = new System.Drawing.Point(281, 183); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(108, 28); + this.buttonCancel.TabIndex = 4; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(146, 183); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(108, 28); + this.buttonOK.TabIndex = 3; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.buttonSelect.Location = new System.Drawing.Point(340, 133); + this.buttonSelect.Name = "buttonSelect"; + this.buttonSelect.Size = new System.Drawing.Size(49, 28); + this.buttonSelect.TabIndex = 2; + this.buttonSelect.Text = "选择"; + this.buttonSelect.UseVisualStyleBackColor = true; + this.buttonSelect.Click += new System.EventHandler(buttonSelect_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(417, 228); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonSelect); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.textBox_DS_FileName); + base.Controls.Add(this.listBox_XianLuName); + base.Controls.Add(this.label2); + base.Controls.Add(this.label1); + base.Name = "FormCurrent"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormCurrent"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormCurrent_FormClosing); + base.Load += new System.EventHandler(FormCurrent_Load); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/FormDesktop.cs b/LP/FormDesktop.cs new file mode 100644 index 0000000..1351690 --- /dev/null +++ b/LP/FormDesktop.cs @@ -0,0 +1,2245 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.IO; +using System.Threading; +using System.Windows.Forms; +using AxMapWinGIS; +using MapWinGIS; + +namespace LP; + +public class FormDesktop : Form +{ + private delegate void delegateFormTitle(Form form, string value); + + private delegate void delegateFormSendTaskData(Form form, TaskData value); + + private delegate void delegateLabelText(System.Windows.Forms.Label label, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void dltFlowlayoutAddControl(FlowLayoutPanel flowLayoutPanel, Control value); + + private string mTitle = ""; + + private bool mAfterInit = false; + + public bool mBusy_Start = false; + + private tkCursorMode mDefault_CursorMode = tkCursorMode.cmNone; + + public XianLu mXL = null; + + public Task mTask = null; + + public MySignal mSignal = null; + + public MyFunction mFunc = null; + + public All_CanShuFenJi mAll_CanShuFenJi = null; + + public FormCreateXianLu mDlg_CreateXianLu = null; + + public FormGanTaList mDlg_GanTaList = null; + + public FormCreateGanTa mDlg_CreateGanTa = null; + + public FormGanTa0zhiliu mDlg_GanTa_0zhiliu = null; + + public FormGanTa1Hui mDlg_GanTa_1Hui = null; + + public FormGanTa2Hui mDlg_GanTa_2Hui = null; + + public FormGanTa4Hui mDlg_GanTa_4Hui = null; + + public FormCanShuJiSuan mDlg_CanShuJiSuan = null; + + public FormCurrent mDlg_Current = null; + + public FormDiShanMiDu mDlg_DiShanMiDu = null; + + public FormDiMianQingJiao mDlg_DiMainQingJiao = null; + + public FormFangLeiJiSuan mDlg_FangLeiJiSuan = null; + + public FormFangLeiGaiZao mDlg_FangLeiGaiZao = null; + + public Form_PuTongJiSuan mDlg_PuTongJiSuan = null; + + public Form_GJSZ_PuTongJiSuan mDlg_GJSZ_PuTongJiSuan = null; + + public Form_TongTiaoJiSuan mDlg_TongTiaoJiSuan = null; + + public Form4_FengXianPingGu mDlg_4FengXianPingGu = null; + + public Form5_CuoShiTuiJian mDlg_5CuoShiTuiJian = null; + + public Form_GaoFengXianYuanYin mDlg_GaoFengXianYuanYin = null; + + public FormLook1PuTongJiSuan mDlgLook1_PuTongJiSuan = null; + + public FormLook2FengXianPingGu mDlgLook2FengXianPingGu = null; + + public FormLook3CuoShiTuiJian mDlgLook3CuoShiTuiJian = null; + + public Form7_GuZhangFuXian mDlg_7GuZhangFuXian = null; + + public Form6_ReportTask mDlg_6ReportTask = null; + + public XianLuData mTheXianLuData = null; + + public GanTaData mTheGanTaData = null; + + public TaskData mTheTaskData = null; + + public TaskData mGaiZao_TaskData = null; + + public TaskData mAddTaskData = null; + + public TaskData m4TaskData_FengXianPingGu = null; + + public TaskData m5TaskData_CuoShiTuiJian = null; + + public TaskData mRightTaskData = null; + + public TaskData m6TaskData_Report = null; + + public XianLuData mRightXianLuData = null; + + public TaskGroup mRightGroup = null; + + public FuXian mFuXian = null; + + public int mIndex_ListControl = -1; + + public int mNo_ListControl = 0; + + public MyReport mReport = null; + + public Thread mThread = null; + + public DisplayAllXianLu mDisplayAllXianLu = null; + + public static readonly string mSubPath_Primary = "Primary"; + + public string mSubPath_ATP_Setting = "SettingTxtFile"; + + public AxMap mAxMap = null; + + private IContainer components = null; + + private Panel panelCenter; + + private FlowLayoutPanel flowLayoutPanel_TopButtons; + + private Button buttonCreateXianLu; + + private Button buttonReport; + + private Button buttonFangLeiGaiZao; + + private Button buttonLightningProofCompute; + + private Button buttonCanShuJiSuan; + + private FlowLayoutPanel flowLayoutPanel_LeftListXianLu; + + private System.Windows.Forms.Label label1; + + private System.Windows.Forms.Label label_Num_GanTa; + + private System.Windows.Forms.Label label_DYDJ_L; + + private System.Windows.Forms.Label label_AC_DC_L; + + private System.Windows.Forms.Label label_NameXianLu_L; + + private FlowLayoutPanel flowLayoutPanel_RightListTask; + + private System.Windows.Forms.Label label2; + + private Panel panel_XianLu; + + private Panel panel_Task; + + private System.Windows.Forms.Label label_NameXianLu_R; + + private System.Windows.Forms.Label label_DYDJ_R; + + private System.Windows.Forms.Label label_AC_DC_R; + + private Button buttonLook; + + private Button buttonStart; + + private System.Windows.Forms.Label label_NameTask; + + private AxMap axMap; + + private Panel panelDesktop; + + private Button buttonRepeat; + + private CheckBox checkBox_XianLu; + + private ContextMenuStrip contextMenuStrip_Left; + + private ToolStripMenuItem toolStripMenuItem1; + + private ToolStripMenuItem toolStripMenuItem2; + + private ContextMenuStrip contextMenuStrip_Right; + + private ToolStripMenuItem toolStripMenuItem3; + + private Button button1; + + private MenuStrip menuStrip1; + + private ToolStripMenuItem 详情ToolStripMenuItem; + + private ToolStripMenuItem 线路详情ToolStripMenuItem1; + + private ToolStripMenuItem 线路删除ToolStripMenuItem; + + private ToolStripMenuItem toolStripMenuItem4; + + private ToolStripMenuItem 任务删除ToolStripMenuItem; + + public FormDesktop() + { + InitializeComponent(); + string path = Application.StartupPath + "\\" + mSubPath_Primary; + if (!Directory.Exists(path)) + { + Directory.CreateDirectory(path); + } + path = Application.StartupPath + "\\" + mSubPath_ATP_Setting; + if (!Directory.Exists(path)) + { + Directory.CreateDirectory(path); + } + mIndex_ListControl = -1; + mNo_ListControl = 0; + if (m4TaskData_FengXianPingGu == null) + { + m4TaskData_FengXianPingGu = new TaskData(); + } + m4TaskData_FengXianPingGu.mID_Task = -1; + if (m5TaskData_CuoShiTuiJian == null) + { + m5TaskData_CuoShiTuiJian = new TaskData(); + } + m5TaskData_CuoShiTuiJian.mID_Task = -1; + if (m6TaskData_Report == null) + { + m6TaskData_Report = new TaskData(); + } + m6TaskData_Report.mID_Task = -1; + } + + private void FormDesktop_Load(object sender, EventArgs e) + { + mAfterInit = false; + MyLog.Init_Log(); + MyLog.Load_Log(Application.StartupPath + "\\" + mSubPath_Primary); + mTitle = "XX输电线路综合一体化防雷软件"; + CenterToScreen(); + if (mAxMap == null) + { + mAxMap = axMap; + } + checkBox_XianLu.Tag = 1; + mDefault_CursorMode = mAxMap.CursorMode; + MySetFormTitle(this, Application.StartupPath); + if (mFunc == null) + { + mFunc = new MyFunction(); + } + mFunc.desktop = this; + if (mSignal == null) + { + mSignal = new MySignal(); + } + mSignal.MyLoad_Setting(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_Setting.txt"); + if (!mSignal.mNeed_PrepareParameters_setting) + { + buttonCanShuJiSuan.Visible = false; + } + panel_XianLu.Visible = false; + panel_Task.Visible = false; + Init_Map_Object(); + if (mDisplayAllXianLu == null) + { + mDisplayAllXianLu = new DisplayAllXianLu(); + } + if (mXL == null) + { + mXL = new XianLu(); + } + if (mXL.mRQ == null) + { + mXL.MySet_RongQi(flowLayoutPanel_LeftListXianLu); + } + if (mXL.mPanel1st == null) + { + mXL.MySet_Control1st(panel_XianLu, label_NameXianLu_L, label_AC_DC_L, label_DYDJ_L, label_Num_GanTa, checkBox_XianLu); + } + mXL.MyClear_ListXianLu(); + if (mSignal.mLoadXianLu_setting) + { + MyXianLu_LoadFromFile(); + } + if (!mSignal.mLoadXianLu_setting) + { + MyXianLu_InitForTest(); + } + for (int i = 0; i < mXL.mListXianLuControl.Count; i++) + { + mXL.mListXianLuControl[i].mShow_XianLu_CheckBox.CheckedChanged += checkBox_XianLu_CheckedChanged; + } + if (mSignal.mLoadGanTa_setting) + { + MyGanTa_LoadFromFile(); + } + if (mTask == null) + { + mTask = new Task(); + } + mTask.desktop = this; + if (mTask.mRQ == null) + { + mTask.MySet_RongQi(flowLayoutPanel_RightListTask); + } + if (mTask.mPanel1st == null) + { + mTask.MySet_Control1st(panel_Task, buttonStart, buttonLook, label_NameTask, label_NameXianLu_R, label_AC_DC_R, label_DYDJ_R); + } + mTask.MyClear_ListTask(); + if (mAll_CanShuFenJi == null) + { + mAll_CanShuFenJi = new All_CanShuFenJi(); + } + if (mSignal.mLoadTask_setting) + { + MyTask_LoadFromFile(); + } + if (!mSignal.mLoadTask_setting) + { + MyTask_InitForTest(); + } + if (mSignal.mLoadExTask_setting) + { + mTask.MyLoadExTask(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_ExTask.txt"); + } + if (mSignal.mLoadTGanTa_setting) + { + MyTGanTa_LoadFromFile(); + } + if (mSignal.mLoadCanShuFenJi_setting) + { + mAll_CanShuFenJi.MyLoadCanShuFenJi(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_CanShuFenJi.txt"); + } + if (mFuXian == null) + { + mFuXian = new FuXian(); + } + MyRefresh_ToolStripMenuItem(); + if (mDlg_CreateXianLu == null) + { + mDlg_CreateXianLu = new FormCreateXianLu(); + } + mDlg_CreateXianLu.desktop = this; + if (mDlg_GanTaList == null) + { + mDlg_GanTaList = new FormGanTaList(); + } + mDlg_GanTaList.desktop = this; + if (mDlg_CreateGanTa == null) + { + mDlg_CreateGanTa = new FormCreateGanTa(); + } + mDlg_CreateGanTa.desktop = this; + if (mDlg_GanTa_0zhiliu == null) + { + mDlg_GanTa_0zhiliu = new FormGanTa0zhiliu(); + } + mDlg_GanTa_0zhiliu.desktop = this; + if (mDlg_GanTa_1Hui == null) + { + mDlg_GanTa_1Hui = new FormGanTa1Hui(); + } + mDlg_GanTa_1Hui.desktop = this; + if (mDlg_GanTa_2Hui == null) + { + mDlg_GanTa_2Hui = new FormGanTa2Hui(); + } + mDlg_GanTa_2Hui.desktop = this; + if (mDlg_GanTa_4Hui == null) + { + mDlg_GanTa_4Hui = new FormGanTa4Hui(); + } + mDlg_GanTa_4Hui.desktop = this; + if (mDlg_CanShuJiSuan == null) + { + mDlg_CanShuJiSuan = new FormCanShuJiSuan(); + } + mDlg_CanShuJiSuan.desktop = this; + if (mDlg_Current == null) + { + mDlg_Current = new FormCurrent(); + } + mDlg_Current.desktop = this; + if (mDlg_DiShanMiDu == null) + { + mDlg_DiShanMiDu = new FormDiShanMiDu(); + } + mDlg_DiShanMiDu.desktop = this; + if (mDlg_DiMainQingJiao == null) + { + mDlg_DiMainQingJiao = new FormDiMianQingJiao(); + } + mDlg_DiMainQingJiao.desktop = this; + if (mDlg_FangLeiJiSuan == null) + { + mDlg_FangLeiJiSuan = new FormFangLeiJiSuan(); + } + mDlg_FangLeiJiSuan.desktop = this; + if (mDlg_FangLeiGaiZao == null) + { + mDlg_FangLeiGaiZao = new FormFangLeiGaiZao(); + } + mDlg_FangLeiGaiZao.desktop = this; + if (mDlg_PuTongJiSuan == null) + { + mDlg_PuTongJiSuan = new Form_PuTongJiSuan(); + } + mDlg_PuTongJiSuan.desktop = this; + if (mDlg_GJSZ_PuTongJiSuan == null) + { + mDlg_GJSZ_PuTongJiSuan = new Form_GJSZ_PuTongJiSuan(); + } + mDlg_GJSZ_PuTongJiSuan.desktop = this; + if (mDlg_TongTiaoJiSuan == null) + { + mDlg_TongTiaoJiSuan = new Form_TongTiaoJiSuan(); + } + mDlg_TongTiaoJiSuan.desktop = this; + if (mDlg_4FengXianPingGu == null) + { + mDlg_4FengXianPingGu = new Form4_FengXianPingGu(); + } + mDlg_4FengXianPingGu.desktop = this; + if (mDlg_5CuoShiTuiJian == null) + { + mDlg_5CuoShiTuiJian = new Form5_CuoShiTuiJian(); + } + mDlg_5CuoShiTuiJian.desktop = this; + if (mDlg_GaoFengXianYuanYin == null) + { + mDlg_GaoFengXianYuanYin = new Form_GaoFengXianYuanYin(); + } + mDlg_GaoFengXianYuanYin.desktop = this; + if (mDlgLook1_PuTongJiSuan == null) + { + mDlgLook1_PuTongJiSuan = new FormLook1PuTongJiSuan(); + } + mDlgLook1_PuTongJiSuan.desktop = this; + if (mDlgLook2FengXianPingGu == null) + { + mDlgLook2FengXianPingGu = new FormLook2FengXianPingGu(); + } + mDlgLook2FengXianPingGu.desktop = this; + if (mDlgLook3CuoShiTuiJian == null) + { + mDlgLook3CuoShiTuiJian = new FormLook3CuoShiTuiJian(); + } + mDlgLook3CuoShiTuiJian.desktop = this; + if (mDlg_7GuZhangFuXian == null) + { + mDlg_7GuZhangFuXian = new Form7_GuZhangFuXian(); + } + mDlg_7GuZhangFuXian.desktop = this; + if (mDlg_6ReportTask == null) + { + mDlg_6ReportTask = new Form6_ReportTask(); + } + mDlg_6ReportTask.desktop = this; + if (mTheXianLuData == null) + { + mTheXianLuData = new XianLuData(); + } + if (mTheGanTaData == null) + { + mTheGanTaData = new GanTaData(); + } + if (mTheTaskData == null) + { + mTheTaskData = new TaskData(); + } + if (mGaiZao_TaskData == null) + { + mGaiZao_TaskData = new TaskData(); + } + if (mAddTaskData == null) + { + mAddTaskData = new TaskData(); + } + mAddTaskData.mID_Task = -1; + if (mRightTaskData == null) + { + mRightTaskData = new TaskData(); + } + if (mRightXianLuData == null) + { + mRightXianLuData = new XianLuData(); + } + if (mRightGroup == null) + { + mRightGroup = new TaskGroup(); + } + mXL.Refresh_GanTaNumber_Label(); + if (mReport == null) + { + mReport = new MyReport(); + } + mReport.desktop = this; + buttonRepeat.Visible = mSignal.mShowButton_GuZhangFuXian; + MyLog.AddLog_EveryOne("\n" + DateTime.Now.ToString()); + mAfterInit = true; + } + + public void MyRefresh_ToolStripMenuItem() + { + if (线路详情ToolStripMenuItem1 != null && 线路详情ToolStripMenuItem1.DropDownItems != null && 线路删除ToolStripMenuItem != null && 线路删除ToolStripMenuItem.DropDownItems != null && 任务删除ToolStripMenuItem != null && 任务删除ToolStripMenuItem.DropDownItems != null) + { + for (int i = 0; i < 线路详情ToolStripMenuItem1.DropDownItems.Count; i++) + { + 线路详情ToolStripMenuItem1.DropDownItems[i].Click -= MenuItem_Click; + } + 线路详情ToolStripMenuItem1.DropDownItems.Clear(); + for (int j = 0; j < 线路删除ToolStripMenuItem.DropDownItems.Count; j++) + { + 线路删除ToolStripMenuItem.DropDownItems[j].Click -= MenuItem2_Click; + } + 线路删除ToolStripMenuItem.DropDownItems.Clear(); + for (int k = 0; k < 任务删除ToolStripMenuItem.DropDownItems.Count; k++) + { + 任务删除ToolStripMenuItem.DropDownItems[k].Click -= MenuItem3_Click; + } + 任务删除ToolStripMenuItem.DropDownItems.Clear(); + for (int l = 0; l < mXL.mListXianLuData.Count; l++) + { + ToolStripMenuItem toolStripMenuItem = null; + toolStripMenuItem = new ToolStripMenuItem(); + toolStripMenuItem.Name = $"toolStripMenuItem_详情_{l}"; + toolStripMenuItem.Text = "详情-" + mXL.mListXianLuData[l].mName_XianLu; + toolStripMenuItem.Size = new Size(280, 22); + toolStripMenuItem.Tag = $"{mXL.mListXianLuData[l].mID_XianLu}"; + toolStripMenuItem.Click += MenuItem_Click; + toolStripMenuItem.Visible = true; + 线路详情ToolStripMenuItem1.DropDownItems.Add(toolStripMenuItem); + ToolStripMenuItem toolStripMenuItem2 = null; + toolStripMenuItem2 = new ToolStripMenuItem(); + toolStripMenuItem2.Name = $"toolStripMenuItem_删除_{l}"; + toolStripMenuItem2.Text = "删除-" + mXL.mListXianLuData[l].mName_XianLu; + toolStripMenuItem2.Size = new Size(280, 22); + toolStripMenuItem2.Tag = $"{mXL.mListXianLuData[l].mID_XianLu}"; + toolStripMenuItem2.Click += MenuItem2_Click; + toolStripMenuItem2.Visible = true; + 线路删除ToolStripMenuItem.DropDownItems.Add(toolStripMenuItem2); + } + for (int m = 0; m < mTask.mListDetails.Count; m++) + { + ToolStripMenuItem toolStripMenuItem3 = null; + toolStripMenuItem3 = new ToolStripMenuItem(); + toolStripMenuItem3.Name = $"toolStripMenuItem_任务删除_{m}"; + toolStripMenuItem3.Text = "删除-" + mTask.mListDetails[m].mTaskData.mName_Task; + toolStripMenuItem3.Size = new Size(280, 22); + toolStripMenuItem3.Tag = $"{mTask.mListDetails[m].mTaskID_Detail}"; + toolStripMenuItem3.Click += MenuItem3_Click; + toolStripMenuItem3.Visible = true; + 任务删除ToolStripMenuItem.DropDownItems.Add(toolStripMenuItem3); + } + } + } + + private void MenuItem_Click(object sender, EventArgs e) + { + string text = ""; + text = ((ToolStripMenuItem)sender).Tag.ToString().Trim(); + int num = -1; + try + { + num = Convert.ToInt32(text); + } + catch (Exception) + { + num = -1; + } + for (int i = 0; i < mXL.mListXianLuData.Count; i++) + { + if (mXL.mListXianLuData[i].mID_XianLu == num) + { + mTheXianLuData.CopyFrom_XianLuData(mXL.mListXianLuData[i]); + if (mDlg_GanTaList == null) + { + mDlg_GanTaList = new FormGanTaList(); + mDlg_GanTaList.desktop = this; + } + mDlg_GanTaList.MyInput_XianLuData(); + mDlg_GanTaList.ShowDialog(this); + break; + } + } + } + + private void MenuItem2_Click(object sender, EventArgs e) + { + string text = ""; + text = ((ToolStripMenuItem)sender).Tag.ToString().Trim(); + Thread thread = null; + int num = -1; + try + { + num = Convert.ToInt32(text); + } + catch (Exception) + { + num = -1; + } + for (int i = 0; i < mXL.mListXianLuData.Count; i++) + { + if (mXL.mListXianLuData[i].mID_XianLu == num) + { + DialogResult dialogResult = DialogResult.None; + dialogResult = MessageBox.Show("将要删除线路:" + mXL.mListXianLuData[i].mName_XianLu + ",此操作不可恢复。确定继续吗?", "确认", MessageBoxButtons.OKCancel); + if (dialogResult == DialogResult.OK) + { + mThread = new Thread(MyDeleteXianLu); + mThread.Start(); + } + Thread.Sleep(50); + if (dialogResult == DialogResult.OK) + { + thread = new Thread(MyThread_after_delete_XianLu); + thread.Start(); + } + break; + } + } + } + + private void MenuItem3_Click(object sender, EventArgs e) + { + string text = ""; + text = ((ToolStripMenuItem)sender).Tag.ToString().Trim(); + Thread thread = null; + int num = -1; + try + { + num = Convert.ToInt32(text); + } + catch (Exception) + { + num = -1; + } + for (int i = 0; i < mTask.mListDetails.Count; i++) + { + if (mTask.mListDetails[i].mTaskID_Detail == num) + { + DialogResult dialogResult = DialogResult.None; + dialogResult = MessageBox.Show("将要删除任务:" + mTask.mListDetails[i].mTaskData.mName_Task + ",此操作不可恢复。确定继续吗?", "确认", MessageBoxButtons.OKCancel); + if (dialogResult == DialogResult.OK) + { + mIndex_ListControl = i; + mThread = new Thread(MyDeleteTask); + mThread.Start(); + } + Thread.Sleep(50); + if (dialogResult == DialogResult.OK) + { + thread = new Thread(MyThread_after_delete_XianLu); + thread.Start(); + } + break; + } + } + } + + private void MyThread_after_delete_XianLu() + { + if (mThread != null) + { + mThread.Join(); + Thread.Sleep(100); + mThread = null; + MyRefresh_ToolStripMenuItem(); + } + } + + private void MyXianLu_LoadFromFile() + { + mXL.MyLoadXianLu(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_XianLu.txt"); + for (int i = 0; i < mXL.mListXianLuControl.Count; i++) + { + Panel panel = null; + panel = mXL.GetXianLuControl_Panel(i); + if (panel != null) + { + panel.MouseDown += panel_XianLu_MouseDown; + } + } + } + + private void MyGanTa_LoadFromFile() + { + mXL.MyLoadGanTa(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_GanTa.txt"); + } + + private void MyTGanTa_LoadFromFile() + { + mTask.MyLoadTGanTa(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_TGanTa.txt"); + } + + private void MyXianLu_InitForTest() + { + mXL.Add1XianLuControl(1, "线路1名称", "交流", 110, 20, XianLuData.mNextID_static, 0, 0, 0); + mXL.GetLastXianLuControl_Panel().MouseDown += panel_XianLu_MouseDown; + mXL.Add1XianLuControl(0, "线路2名称", "直流", 500, 34, XianLuData.mNextID_static, 0, 0, 0); + mXL.GetLastXianLuControl_Panel().MouseDown += panel_XianLu_MouseDown; + } + + private void MyTask_LoadFromFile() + { + mTask.MyLoadTask(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_Task.txt"); + for (int i = 0; i < mTask.mListDetails.Count; i++) + { + Panel panel = null; + panel = mTask.mListDetails[i].mTaskControl.mPanel_Task; + if (panel == null) + { + continue; + } + panel.MouseDown += panel_Task_MouseDown; + Button button = null; + button = mTask.mListDetails[i].mTaskControl.mStart_Task_Button; + if (button != null) + { + button.Click += buttonStart_Click; + button = null; + button = mTask.mListDetails[i].mTaskControl.mResult_Task_Button; + if (button != null) + { + button.Click += buttonLook_Click; + } + } + } + } + + private void MyTask_InitForTest() + { + int num = 0; + TaskData taskData = new TaskData(); + taskData.mTypeCode_Task = 1; + taskData.mName_Task = "任务Alpha"; + taskData.mXianLuID_Task = 2; + taskData.mXianLuName_Task = "线路2名称"; + taskData.mXianLuJLZL_Task = "直流"; + taskData.mDYDJ_Task = 500; + TaskDetail taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = taskData.mID_Task; + taskDetail.mXianLuID_Detail = taskData.mXianLuID_Task; + num = mTask.mListDetails.Count; + mTask.mListDetails.Add(taskDetail); + mTask.Add1TaskData(num, taskData); + mTask.Add1TaskControl(num, taskData); + mTask.mListDetails[num].mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; + mTask.mListDetails[num].mTaskControl.mPanel_Task.MouseDown += panel_Task_MouseDown; + mTask.mListDetails[num].mTaskControl.mStart_Task_Button.DoubleClick += buttonStart_Click; + mTask.mListDetails[num].mTaskControl.mResult_Task_Button.DoubleClick += buttonLook_Click; + taskData = new TaskData(); + taskData.mTypeCode_Task = 1; + taskData.mName_Task = "任务Belta"; + taskData.mXianLuID_Task = 1; + taskData.mXianLuName_Task = "线路1名称"; + taskData.mXianLuJLZL_Task = "交流"; + taskData.mDYDJ_Task = 120; + taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = taskData.mID_Task; + taskDetail.mXianLuID_Detail = taskData.mXianLuID_Task; + num = mTask.mListDetails.Count; + mTask.mListDetails.Add(taskDetail); + mTask.Add1TaskData(num, taskData); + mTask.Add1TaskControl(num, taskData); + mTask.mListDetails[num].mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; + mTask.mListDetails[num].mTaskControl.mPanel_Task.MouseDown += panel_Task_MouseDown; + mTask.mListDetails[num].mTaskControl.mStart_Task_Button.DoubleClick += buttonStart_Click; + mTask.mListDetails[num].mTaskControl.mResult_Task_Button.DoubleClick += buttonLook_Click; + } + + private void FormDesktop_FormClosing(object sender, FormClosingEventArgs e) + { + if (mSignal.mSaveXianLu_setting) + { + mXL.MySaveXianLu(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_XianLu.txt"); + } + if (mSignal.mSaveTask_setting) + { + mTask.MySaveTask(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_Task.txt"); + } + if (mSignal.mSaveExTask_setting) + { + mTask.MySaveExTask(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_ExTask.txt"); + } + if (mSignal.mSaveGanTa_setting) + { + mXL.MySaveGanTa(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_GanTa.txt"); + } + if (mSignal.mSaveTGanTa_setting) + { + mTask.MySaveTGanTa(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_TGanTa.txt"); + } + if (mSignal.mSaveCanShuFenJi_setting) + { + mAll_CanShuFenJi.MySaveCanShuFenJi(Application.StartupPath + "\\" + mSubPath_Primary + "\\LP_CanShuFenJi.txt"); + } + Destroy(); + MyLog.Save_Log(Application.StartupPath + "\\" + mSubPath_Primary); + } + + private void Destroy() + { + for (int i = 0; i < mXL.mListXianLuControl.Count; i++) + { + Panel panel = null; + panel = mXL.GetXianLuControl_Panel(i); + if (panel != null) + { + panel.MouseDown -= panel_XianLu_MouseDown; + } + } + for (int j = 0; j < mTask.mListDetails.Count; j++) + { + if (mTask.mListDetails[j].mTaskControl != null) + { + Panel panel2 = null; + panel2 = mTask.mListDetails[j].mTaskControl.mPanel_Task; + if (panel2 != null) + { + panel2.MouseDown -= panel_Task_MouseDown; + } + } + } + mDlg_CreateXianLu.Destroy(); + mDlg_CreateXianLu.RemoveOwnedForm(this); + mDlg_CreateXianLu.Dispose(); + mDlg_GanTaList.Destroy(); + mDlg_GanTaList.RemoveOwnedForm(this); + mDlg_GanTaList.Dispose(); + mDlg_CreateGanTa.Destroy(); + mDlg_CreateGanTa.RemoveOwnedForm(this); + mDlg_CreateGanTa.Dispose(); + mDlg_GanTa_0zhiliu.Destroy(); + mDlg_GanTa_0zhiliu.RemoveOwnedForm(this); + mDlg_GanTa_0zhiliu.Dispose(); + mDlg_GanTa_1Hui.Destroy(); + mDlg_GanTa_1Hui.RemoveOwnedForm(this); + mDlg_GanTa_1Hui.Dispose(); + mDlg_GanTa_2Hui.Destroy(); + mDlg_GanTa_2Hui.RemoveOwnedForm(this); + mDlg_GanTa_2Hui.Dispose(); + mDlg_GanTa_4Hui.Destroy(); + mDlg_GanTa_4Hui.RemoveOwnedForm(this); + mDlg_GanTa_4Hui.Dispose(); + mDlg_CanShuJiSuan.Destroy(); + mDlg_CanShuJiSuan.RemoveOwnedForm(this); + mDlg_CanShuJiSuan.Dispose(); + mDlg_Current.Destroy(); + mDlg_Current.RemoveOwnedForm(this); + mDlg_Current.Dispose(); + mDlg_DiShanMiDu.Destroy(); + mDlg_DiShanMiDu.RemoveOwnedForm(this); + mDlg_DiShanMiDu.Dispose(); + mDlg_DiMainQingJiao.Destroy(); + mDlg_DiMainQingJiao.RemoveOwnedForm(this); + mDlg_DiMainQingJiao.Dispose(); + mDlg_FangLeiJiSuan.Destroy(); + mDlg_FangLeiJiSuan.RemoveOwnedForm(this); + mDlg_FangLeiJiSuan.Dispose(); + mDlg_FangLeiGaiZao.Destroy(); + mDlg_FangLeiGaiZao.RemoveOwnedForm(this); + mDlg_FangLeiGaiZao.Dispose(); + mDlg_PuTongJiSuan.Destroy(); + mDlg_PuTongJiSuan.RemoveOwnedForm(this); + mDlg_PuTongJiSuan.Dispose(); + mDlg_GJSZ_PuTongJiSuan.Destroy(); + mDlg_GJSZ_PuTongJiSuan.RemoveOwnedForm(this); + mDlg_GJSZ_PuTongJiSuan.Dispose(); + mDlg_TongTiaoJiSuan.Destroy(); + mDlg_TongTiaoJiSuan.RemoveOwnedForm(this); + mDlg_TongTiaoJiSuan.Dispose(); + mDlg_4FengXianPingGu.Destroy(); + mDlg_4FengXianPingGu.RemoveOwnedForm(this); + mDlg_4FengXianPingGu.Dispose(); + mDlg_5CuoShiTuiJian.Destroy(); + mDlg_5CuoShiTuiJian.RemoveOwnedForm(this); + mDlg_5CuoShiTuiJian.Dispose(); + mDlg_GaoFengXianYuanYin.Destroy(); + mDlg_GaoFengXianYuanYin.RemoveOwnedForm(this); + mDlg_GaoFengXianYuanYin.Dispose(); + mDlg_6ReportTask.Destroy(); + mDlg_6ReportTask.RemoveOwnedForm(this); + mDlg_6ReportTask.Dispose(); + mDlg_7GuZhangFuXian.Destroy(); + mDlg_7GuZhangFuXian.RemoveOwnedForm(this); + mDlg_7GuZhangFuXian.Dispose(); + mDlgLook1_PuTongJiSuan.Destroy(); + mDlgLook1_PuTongJiSuan.RemoveOwnedForm(this); + mDlgLook1_PuTongJiSuan.Dispose(); + mDlgLook2FengXianPingGu.Destroy(); + mDlgLook2FengXianPingGu.RemoveOwnedForm(this); + mDlgLook2FengXianPingGu.Dispose(); + mDlgLook3CuoShiTuiJian.Destroy(); + mDlgLook3CuoShiTuiJian.RemoveOwnedForm(this); + mDlgLook3CuoShiTuiJian.Dispose(); + mTask.Destroy(); + mXL.Destroy(); + if (mFuXian != null) + { + mFuXian.Destroy(); + } + mFuXian = null; + if (mTheXianLuData != null) + { + mTheXianLuData.Destroy(); + } + mTheXianLuData = null; + if (mTheTaskData != null) + { + mTheTaskData.Destroy(); + } + mTheTaskData = null; + if (mGaiZao_TaskData != null) + { + mGaiZao_TaskData.Destroy(); + } + mGaiZao_TaskData = null; + if (mTheGanTaData != null) + { + mTheGanTaData.Destroy(); + } + mTheGanTaData = null; + if (mAddTaskData != null) + { + mAddTaskData.Destroy(); + } + mAddTaskData = null; + if (m4TaskData_FengXianPingGu != null) + { + m4TaskData_FengXianPingGu.Destroy(); + } + m4TaskData_FengXianPingGu = null; + if (m5TaskData_CuoShiTuiJian != null) + { + m5TaskData_CuoShiTuiJian.Destroy(); + } + m5TaskData_CuoShiTuiJian = null; + if (m6TaskData_Report != null) + { + m6TaskData_Report.Destroy(); + } + m6TaskData_Report = null; + if (mRightXianLuData != null) + { + mRightXianLuData.Destroy(); + } + mRightXianLuData = null; + if (mRightTaskData != null) + { + mRightTaskData.Destroy(); + } + mRightTaskData = null; + if (mRightGroup != null) + { + mRightGroup.Destroy(); + } + mRightGroup = null; + if (mAll_CanShuFenJi != null) + { + mAll_CanShuFenJi.Destroy(); + } + mAll_CanShuFenJi = null; + mDisplayAllXianLu.Destroy(); + } + + private void Init_Map_Object() + { + mAxMap.Projection = tkMapProjection.PROJECTION_GOOGLE_MERCATOR; + mAxMap.TileProvider = tkTileProvider.ProviderNone; + mAxMap.KnownExtents = tkKnownExtents.keUSA; + } + + private void buttonCreateXianLu_Click(object sender, EventArgs e) + { + MySetFormTitle(this, ""); + if (mDlg_CreateXianLu == null) + { + mDlg_CreateXianLu = new FormCreateXianLu(); + mDlg_CreateXianLu.desktop = this; + } + DialogResult dialogResult = DialogResult.None; + if (mDlg_CreateXianLu.mFirst_Enter) + { + mDlg_CreateXianLu.MyInput_XianLuData(); + } + dialogResult = mDlg_CreateXianLu.ShowDialog(this); + if (dialogResult != DialogResult.OK) + { + return; + } + mDlg_CreateXianLu.MyOutput_XianLuData(); + if (mXL.IsRepeatXianLuName(mTheXianLuData.mName_XianLu.Trim())) + { + MessageBox.Show("线路名称重名错误,请重新输入! '" + mTheXianLuData.mName_XianLu + "'"); + return; + } + mXL.Add1XianLuControl(mTheXianLuData.mHuiLuNo_XianLu, mTheXianLuData.mName_XianLu, mTheXianLuData.mJLZL_XianLu, mTheXianLuData.mDYDJ_XianLu, mTheXianLuData.mGanTaNumber_XianLu, XianLuData.mNextID_static, mTheXianLuData.mPrepare1_LightingCurrent, mTheXianLuData.mPrepare2_DiShanMiDu, mTheXianLuData.mPrepare3_DiMianQingJiao); + mXL.GetLastXianLuControl_Panel().MouseDown += panel_XianLu_MouseDown; + MyRefresh_ToolStripMenuItem(); + mTheXianLuData.CopyFrom_XianLuData(mXL.GetLastXianLuData()); + if (mDlg_GanTaList == null) + { + mDlg_GanTaList = new FormGanTaList(); + mDlg_GanTaList.desktop = this; + } + mDlg_GanTaList.MyInput_XianLuData(); + mDlg_GanTaList.ShowDialog(this); + } + + private void buttonCanShuJiSuan_Click(object sender, EventArgs e) + { + MySetFormTitle(this, ""); + mDlg_CanShuJiSuan.ShowDialog(this); + } + + private void MyDeleteXianLu() + { + if (mIndex_ListControl < 0 || mIndex_ListControl >= mXL.mListXianLuData.Count) + { + MyLog.AddLog($"MyDeleteXianLu() 线路数据下标{mIndex_ListControl}越界:[0,{mXL.mListXianLuData.Count - 1}]"); + return; + } + Panel panel = null; + panel = mXL.GetXianLuControl_Panel(mIndex_ListControl); + if (panel != null) + { + panel.MouseDown -= panel_XianLu_MouseDown; + flowLayoutPanel_LeftListXianLu.Controls.Remove(panel); + } + int mID_XianLu = mXL.mListXianLuData[mIndex_ListControl].mID_XianLu; + string text = ""; + text = mXL.Delete1_XianLuControl_and_XianLuData(mIndex_ListControl); + if (!text.Equals("OK")) + { + MyLog.AddLog("MyDeleteXianLu() Delete1_XianLuControl_and_XianLuData()=" + text); + } + try + { + int num = mIndex_ListControl; + for (int i = 0; i < mTask.mListDetails.Count; i++) + { + if (mID_XianLu == mTask.mListDetails[i].mXianLuID_Detail) + { + mIndex_ListControl = i; + MyDeleteTask(); + } + } + mIndex_ListControl = num; + } + catch (Exception ex) + { + MyLog.AddLog("MyDeleteXianLu() 删除关联任务,遇到异常(" + ex.Message + ")."); + } + } + + private void MyDeleteTask() + { + if (mIndex_ListControl < 0 || mIndex_ListControl >= mTask.mListDetails.Count) + { + MyLog.AddLog($"MyDeleteTask() 任务数据下标{mIndex_ListControl}越界:[0,{mTask.mListDetails.Count - 1}]"); + return; + } + Panel panel = null; + panel = mTask.mListDetails[mIndex_ListControl].mTaskControl.mPanel_Task; + if (panel != null) + { + panel.MouseDown -= panel_Task_MouseDown; + flowLayoutPanel_RightListTask.Controls.Remove(panel); + } + string text = ""; + text = mTask.Delete1_TaskControl_and_TaskData(mIndex_ListControl); + if (!text.Equals("OK")) + { + MyLog.AddLog("MyDeleteTask() Delete1_TaskControl_and_TaskData()=" + text); + } + if (mTask.mListDetails.Count == 0) + { + mAll_CanShuFenJi.MyDeleteAll(); + } + } + + private void buttonLightningProofCompute_Click(object sender, EventArgs e) + { + MySetFormTitle(this, ""); + mDlg_FangLeiJiSuan.MyInput_TaskData(); + mDlg_FangLeiJiSuan.ShowDialog(this); + } + + private void buttonFangLeiGaiZao_Click(object sender, EventArgs e) + { + MySetFormTitle(this, ""); + mDlg_FangLeiGaiZao.MyInput_TaskData(); + mDlg_FangLeiGaiZao.ShowDialog(this); + } + + private void buttonPingGu_Click(object sender, EventArgs e) + { + MySetFormTitle(this, ""); + mDlg_4FengXianPingGu.ShowDialog(this); + } + + private void buttonReport_Click(object sender, EventArgs e) + { + DialogResult dialogResult = DialogResult.None; + dialogResult = mDlg_6ReportTask.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + Thread thread = new Thread(MyThread_SendTaskData_ReportTask); + thread.Start(); + } + } + + private void MyThread_SendTaskData_ReportTask() + { + for (int i = 0; i < 10; i++) + { + if (mAddTaskData.mID_Task <= 0) + { + break; + } + Thread.Sleep(1000); + } + mAddTaskData.copyFrom_TaskData(mDlg_6ReportTask.mTaskData); + MySendForm_TaskData(this, mAddTaskData); + } + + private void TestDraw() + { + string text = ""; + List list = new List(); + List list2 = new List(); + mDisplayAllXianLu.MyClear(); + DisplayGanTaIn1XianLu.MyCenterSet(110.0, 23.0); + for (int i = 0; i < mXL.mListXianLuControl.Count; i++) + { + if (mXL.mListXianLuControl[i].mShow_XianLu_CheckBox.CheckState != CheckState.Checked || i >= mXL.mListXianLuData.Count || !mXL.mListXianLuData[i].mShow_XianLu) + { + continue; + } + text += $" {mXL.mListXianLuData[i].mID_XianLu}"; + if (i < mXL.mListGanTas.Count && mXL.mListGanTas[i].mListGanTaData.Count != 0) + { + list.Clear(); + list2.Clear(); + for (int j = 0; j < mXL.mListGanTas[i].mListGanTaData.Count; j++) + { + list.Add(mXL.mListGanTas[i].mListGanTaData[j].mJingDu_GanTa); + list2.Add(mXL.mListGanTas[i].mListGanTaData[j].mWeiDu_GanTa); + } + mDisplayAllXianLu.Add1XianLu_JingDu_WeiDu(list, list2, mXL.mListXianLuData[i].mID_XianLu); + } + } + mDisplayAllXianLu.MyMinMax_JingWeiDu(); + mDisplayAllXianLu.MyBuildXY(); + mDisplayAllXianLu.mFileName_province = Application.StartupPath + "\\" + mSubPath_Primary + "\\province.shp"; + text = mDisplayAllXianLu.MyInfor_JingDu_WeiDu(); + text = ((!string.IsNullOrEmpty(text)) ? ("选中线路编号:" + text) : "未选中线路编号"); + MySetFormTitle(this, text ?? ""); + if (GanTas.mName_GanTaModels.Count > 0) + { + mDisplayAllXianLu.MyLinesPattern(this, ref mAxMap); + } + if (GanTas.mName_GanTaModels.Count <= 0) + { + } + } + + private void buttonRepeat_Click(object sender, EventArgs e) + { + MySetFormTitle(this, ""); + mDlg_7GuZhangFuXian.ShowDialog(this); + } + + private void label_Num_GanTa_DoubleClick(object sender, EventArgs e) + { + } + + private void panel_XianLu_DoubleClick(object sender, EventArgs e) + { + string text = ""; + text = ((Panel)sender).Tag.ToString(); + int num = -1; + try + { + num = Convert.ToInt32(text.Trim()); + } + catch (Exception) + { + num = -2; + MyLog.AddLog("panel_XianLu_DoubleClick() 未匹配,无效线路编号,tag=" + text); + } + bool flag = false; + int index = 0; + for (int i = 0; i < mXL.mListXianLuData.Count; i++) + { + if (mXL.mListXianLuData[i].mID_XianLu == num) + { + index = i; + flag = true; + break; + } + } + if (!flag) + { + MessageBox.Show("线路编号无效:" + text); + return; + } + mIndex_ListControl = index; + mNo_ListControl = 1; + mTheXianLuData.CopyFrom_XianLuData(mXL.mListXianLuData[index]); + if (mDlg_GanTaList == null) + { + mDlg_GanTaList = new FormGanTaList(); + mDlg_GanTaList.desktop = this; + } + mDlg_GanTaList.MyInput_XianLuData(); + mDlg_GanTaList.ShowDialog(this); + } + + private void panel_XianLu_MouseDown(object sender, MouseEventArgs e) + { + string text = ""; + text = ((Panel)sender).Tag.ToString(); + int num = -1; + try + { + num = Convert.ToInt32(text.Trim()); + } + catch (Exception) + { + num = -2; + MyLog.AddLog("panel_XianLu_MouseDown() 未匹配,无效线路编号,tag=" + text); + } + bool flag = false; + int num2 = 0; + for (int i = 0; i < mXL.mListXianLuData.Count; i++) + { + if (mXL.mListXianLuData[i].mID_XianLu == num) + { + num2 = i; + flag = true; + break; + } + } + if (!flag) + { + MessageBox.Show("线路编号无效:" + text); + return; + } + mIndex_ListControl = num2; + mNo_ListControl = 1; + } + + private void toolStripMenuItem1_Click(object sender, EventArgs e) + { + string text = ""; + text = ((ToolStripMenuItem)sender).Text; + if (text.Equals("详情")) + { + mTheXianLuData.CopyFrom_XianLuData(mXL.mListXianLuData[mIndex_ListControl]); + if (mDlg_GanTaList == null) + { + mDlg_GanTaList = new FormGanTaList(); + mDlg_GanTaList.desktop = this; + } + mDlg_GanTaList.MyInput_XianLuData(); + mDlg_GanTaList.ShowDialog(this); + } + } + + private void toolStripMenuItem2_Click(object sender, EventArgs e) + { + string text = ""; + text = ((ToolStripMenuItem)sender).Text; + if (!text.Equals("删除")) + { + return; + } + DialogResult dialogResult = DialogResult.None; + if (mIndex_ListControl < 0) + { + MySetFormTitle(this, "未选中线路。"); + return; + } + if (mIndex_ListControl >= mXL.mListXianLuData.Count) + { + MySetFormTitle(this, "线路已删除。"); + return; + } + dialogResult = MessageBox.Show("将要删除线路:" + mXL.mListXianLuData[mIndex_ListControl].mName_XianLu + ",此操作不可恢复。确定继续吗?", "确认", MessageBoxButtons.OKCancel); + if (dialogResult == DialogResult.OK) + { + Thread thread = new Thread(MyDeleteXianLu); + thread.Start(); + } + } + + private void 详情ToolStripMenuItem1_Click(object sender, EventArgs e) + { + } + + private void toolStripMenuItem3_Click(object sender, EventArgs e) + { + string text = ""; + text = ((ToolStripMenuItem)sender).Text; + if (!text.Equals("删除")) + { + return; + } + DialogResult dialogResult = DialogResult.None; + if (mIndex_ListControl < 0) + { + MySetFormTitle(this, "未选中任务。"); + return; + } + if (mIndex_ListControl >= mTask.mListDetails.Count) + { + MySetFormTitle(this, "任务已删除。"); + return; + } + dialogResult = MessageBox.Show("将要删除任务:" + mTask.mListDetails[mIndex_ListControl].mTaskData.mName_Task + ",此操作不可恢复。确定继续吗?", "确认", MessageBoxButtons.OKCancel); + if (dialogResult == DialogResult.OK) + { + Thread thread = new Thread(MyDeleteTask); + thread.Start(); + } + } + + private void panel_Task_MouseDown(object sender, MouseEventArgs e) + { + string text = ""; + text = ((Panel)sender).Tag.ToString(); + int num = -1; + try + { + num = Convert.ToInt32(text.Trim()); + } + catch (Exception) + { + num = -2; + MyLog.AddLog("panel_Task_MouseDown() 未匹配,无效任务编号,tag=" + text); + } + MySetFormTitle(this, $"任务编号:{num}"); + bool flag = false; + int num2 = 0; + for (int i = 0; i < mTask.mListDetails.Count; i++) + { + if (mTask.mListDetails[i].mTaskID_Detail == num) + { + num2 = i; + flag = true; + break; + } + } + if (!flag) + { + MessageBox.Show("任务编号无效:" + text); + return; + } + mIndex_ListControl = num2; + mNo_ListControl = 2; + } + + private void panel_Task_DoubleClick(object sender, EventArgs e) + { + string text = ""; + text = ((Panel)sender).Tag.ToString(); + int num = -1; + try + { + num = Convert.ToInt32(text.Trim()); + } + catch (Exception) + { + num = -2; + MyLog.AddLog("panel_Task_DoubleClick() 未匹配,无效任务编号,tag=" + text); + } + MySetFormTitle(this, $"任务编号:{num}"); + bool flag = false; + int num2 = 0; + for (int i = 0; i < mTask.mListDetails.Count; i++) + { + if (mTask.mListDetails[i].mTaskID_Detail == num) + { + num2 = i; + flag = true; + break; + } + } + if (!flag) + { + MessageBox.Show("任务编号无效:" + text); + return; + } + mIndex_ListControl = num2; + mNo_ListControl = 2; + } + + private void buttonStart_Click(object sender, EventArgs e) + { + if (!mAfterInit || mBusy_Start) + { + return; + } + mBusy_Start = true; + string text = ((Button)sender).Tag.ToString().Trim(); + MySetFormTitle(this, ""); + if (string.IsNullOrEmpty(text)) + { + MyLog.AddLog("buttonStart_Click(),tag为空。"); + mBusy_Start = false; + return; + } + int num = 0; + try + { + num = Convert.ToInt32(text); + } + catch (Exception) + { + num = 0; + } + bool flag = false; + for (int i = 0; i < mTask.mListDetails.Count; i++) + { + if (num == mTask.mListDetails[i].mTaskID_Detail) + { + mIndex_ListControl = i; + mNo_ListControl = 2; + flag = true; + break; + } + } + if (!flag) + { + MyLog.AddLog("buttonStart_Click(),ID_Control未找到匹配的任务。"); + mBusy_Start = false; + return; + } + for (int j = 0; j < mTask.mListDetails.Count; j++) + { + if (mTask.GetTaskControl_ButtonStart(j).Tag.ToString().Trim().Equals(text)) + { + MySetButtonEnabled(mTask.GetTaskControl_ButtonStart(j), value: false); + } + } + Thread thread = new Thread(MyThread_Start); + thread.Start(text); + } + + private void MyThread_Start(object obj_tag) + { + string text = ""; + string value = obj_tag.ToString().Trim(); + int num = 0; + try + { + num = Convert.ToInt32(value); + } + catch (Exception) + { + num = 0; + } + int index = -1; + for (int i = 0; i < mTask.mListDetails.Count; i++) + { + if (mTask.mListDetails[i].mTaskID_Detail == num) + { + index = i; + break; + } + } + text = mFunc.MyStart(num, mTask.mListDetails, mXL.mListXianLuData, mXL.mListGanTas); + for (int j = 0; j < mTask.mListDetails.Count; j++) + { + if (mTask.GetTaskControl_ButtonStart(j).Tag.ToString().Trim().Equals(value)) + { + MySetButtonEnabled(mTask.GetTaskControl_ButtonStart(j), value: true); + } + } + if (!text.Equals("OK")) + { + MySetFormTitle(this, text); + } + if (text.Equals("OK") && mTask.mListDetails[index].mTaskData.mTypeCode_Task == 5) + { + MySetFormTitle(this, "报告文件名=" + mReport.mFileName_jss); + mTask.mListDetails[index].mTaskData.mFName_Prepare = MyReport.jss_subpath + "\\" + mReport.mFileName_jss; + } + mBusy_Start = false; + } + + private void buttonLook_Click(object sender, EventArgs e) + { + string value = ((Button)sender).Tag.ToString().Trim(); + MySetFormTitle(this, ""); + bool flag = false; + int index = 0; + int num = 0; + if (string.IsNullOrEmpty(value)) + { + MyLog.AddLog("buttonLook_Click(), tag为空。"); + return; + } + try + { + num = Convert.ToInt32(value); + } + catch (Exception) + { + num = -1; + } + for (int i = 0; i < mTask.mListDetails.Count; i++) + { + if (mTask.mListDetails[i] != null && num == mTask.mListDetails[i].mTaskID_Detail) + { + index = i; + mRightTaskData.copyFrom_TaskData(mTask.mListDetails[i].mTaskData); + flag = true; + break; + } + } + if (!flag) + { + MyLog.AddLog($"buttonLook_Click() 未找到匹配任务(ID_Task={num})。"); + return; + } + bool flag2 = false; + for (int j = 0; j < mXL.mListXianLuData.Count; j++) + { + if (mRightTaskData.mXianLuName_Task.Equals(mXL.mListXianLuData[j].mName_XianLu)) + { + mRightXianLuData.CopyFrom_XianLuData(mXL.mListXianLuData[j]); + flag2 = true; + break; + } + } + if (!flag2) + { + MyLog.AddLog($"buttonLook_Click() 未找到匹配线路(foundNameXL={flag2})。"); + return; + } + switch (mRightTaskData.mTypeCode_Task) + { + case 1: + if (mRightTaskData.Complete != 1) + { + MySetFormTitle(this, "未完成:普通计算。"); + return; + } + break; + case 2: + if (mRightTaskData.Complete != 1) + { + MySetFormTitle(this, "未完成:风险评估。"); + return; + } + break; + case 3: + case 302: + if (mRightTaskData.Complete != 1) + { + MySetFormTitle(this, "未完成:措施推荐。"); + return; + } + break; + case 4: + if (mRightTaskData.Complete != 1) + { + MySetFormTitle(this, "未完成:同跳计算。"); + return; + } + break; + case 5: + if (mRightTaskData.Complete >= 0) + { + MySetFormTitle(this, mRightTaskData.mFName_Prepare ?? ""); + return; + } + break; + case 6: + case 602: + if (mRightTaskData.Complete != 1) + { + MySetFormTitle(this, "未完成:安装避雷器。"); + return; + } + break; + case 11: + if (mRightTaskData.Complete != 1) + { + MySetFormTitle(this, "未完成:雷电流幅值计算。"); + return; + } + break; + case 12: + if (mRightTaskData.Complete != 1) + { + MySetFormTitle(this, "未完成:地闪密度。"); + return; + } + break; + case 13: + if (mRightTaskData.Complete != 1) + { + MySetFormTitle(this, "未完成:地面倾角。"); + return; + } + break; + } + bool flag3 = false; + for (int k = 0; k < mTask.mListDetails.Count; k++) + { + if (mTask.mListDetails[k] != null && num == mTask.mListDetails[k].mTaskID_Detail) + { + mRightGroup.copyFrom_TaskGroup(mTask.mListDetails[k].mTaskGroup); + flag3 = true; + break; + } + } + if (!flag3) + { + MyLog.AddLog($"buttonLook_Click() 未找到匹配任务组(ID_Task={num})。"); + return; + } + switch (mRightTaskData.mTypeCode_Task) + { + case 1: + mDlgLook1_PuTongJiSuan.MySet_mIndex_detail_Look1(index); + mDlgLook1_PuTongJiSuan.ShowDialog(this); + break; + case 2: + mDlgLook2FengXianPingGu.ShowDialog(this); + break; + case 3: + case 6: + case 302: + case 602: + mDlgLook3CuoShiTuiJian.MySet_mIndex_detail_Look3(index); + mDlgLook3CuoShiTuiJian.ShowDialog(this); + break; + case 4: + mDlgLook1_PuTongJiSuan.MySet_mIndex_detail_Look1(index); + mDlgLook1_PuTongJiSuan.ShowDialog(this); + break; + } + } + + private void checkBox_XianLu_CheckedChanged(object sender, EventArgs e) + { + bool flag = false; + flag = ((CheckBox)sender).CheckState == CheckState.Checked; + int num = 0; + try + { + num = Convert.ToInt32(((CheckBox)sender).Tag.ToString()); + } + catch (Exception) + { + num = -1; + } + bool flag2 = false; + for (int i = 0; i < mXL.mListXianLuData.Count; i++) + { + if (num == mXL.mListXianLuData[i].mID_XianLu) + { + mXL.mListXianLuData[i].mShow_XianLu = flag; + flag2 = true; + break; + } + } + if (!flag2) + { + MyLog.AddLog($"checkBox_XianLu_CheckedChanged() 未找到匹配线路(id_XianLu={num})。"); + MessageBox.Show($"checkBox_XianLu_CheckedChanged() 未找到匹配线路(id_XianLu={num})。"); + } + } + + private void button1_Click(object sender, EventArgs e) + { + TestDraw(); + } + + private void axMap_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) + { + Keys keyCode = e.KeyCode; + Keys keys = keyCode; + if ((uint)(keys - 37) <= 3u) + { + e.IsInputKey = true; + } + } + + private Shapefile CreateLines() + { + Shapefile shapefile = null; + if (shapefile == null) + { + shapefile = new ShapefileClass(); + } + shapefile.CreateNew("", ShpfileType.SHP_POLYLINE); + int num = 500; + int num2 = 50; + for (int i = 0; i < 3; i++) + { + Shape shape = new ShapeClass(); + shape.Create(ShpfileType.SHP_POLYLINE); + MapWinGIS.Point point = new PointClass(); + point.x = 0.0; + point.y = i * num2; + int pointIndex = shape.numPoints; + shape.InsertPoint(point, ref pointIndex); + point = new PointClass(); + point.x = num; + point.y = i * num2; + pointIndex = shape.numPoints; + shape.InsertPoint(point, ref pointIndex); + pointIndex = shapefile.NumShapes; + shapefile.EditInsertShape(shape, ref pointIndex); + } + return shapefile; + } + + public void LinePattern(AxMap axMap1) + { + axMap1.Projection = tkMapProjection.PROJECTION_GOOGLE_MERCATOR; + Shapefile shapefile = CreateLines(); + axMap1.AddLayer(shapefile, visible: true); + Utils utils = new UtilsClass(); + LinePattern linePattern = new LinePatternClass(); + linePattern.AddLine(utils.ColorByName(tkMapColor.Black), 6f, tkDashStyle.dsSolid); + linePattern.AddLine(utils.ColorByName(tkMapColor.White), 5f, tkDashStyle.dsDot); + ShapefileCategory shapefileCategory = shapefile.Categories.Add("Railroad"); + shapefileCategory.DrawingOptions.LinePattern = linePattern; + shapefileCategory.DrawingOptions.UseLinePattern = true; + ((IShapefile)shapefile).set_ShapeCategory(0, 0); + linePattern = new LinePatternClass(); + linePattern.AddLine(utils.ColorByName(tkMapColor.DarkBlue), 6f, tkDashStyle.dsSolid); + linePattern.AddLine(utils.ColorByName(tkMapColor.LightBlue), 4f, tkDashStyle.dsSolid); + shapefileCategory = shapefile.Categories.Add("River"); + shapefileCategory.DrawingOptions.LinePattern = linePattern; + shapefileCategory.DrawingOptions.UseLinePattern = true; + ((IShapefile)shapefile).set_ShapeCategory(1, 1); + linePattern = new LinePatternClass(); + linePattern.AddLine(utils.ColorByName(tkMapColor.Gray), 8f, tkDashStyle.dsSolid); + linePattern.AddLine(utils.ColorByName(tkMapColor.Yellow), 7f, tkDashStyle.dsSolid); + LineSegment lineSegment = linePattern.AddMarker(tkDefaultPointSymbol.dpsArrowRight); + lineSegment.Color = utils.ColorByName(tkMapColor.Orange); + lineSegment.MarkerSize = 10f; + lineSegment.MarkerInterval = 32f; + shapefileCategory = shapefile.Categories.Add("Direction"); + shapefileCategory.DrawingOptions.LinePattern = linePattern; + shapefileCategory.DrawingOptions.UseLinePattern = true; + ((IShapefile)shapefile).set_ShapeCategory(2, 2); + } + + public void MySetFormTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormTitle method = MySetFormTitle; + form.Invoke(method, form, value); + } + else + { + form.Text = mTitle + " " + value; + } + } + + public void MySendForm_TaskData(Form form, TaskData value) + { + if (form.InvokeRequired) + { + delegateFormSendTaskData method = MySendForm_TaskData; + form.Invoke(method, form, value); + } + else if (value.mID_Task >= 0) + { + int num = 0; + num = mTask.mListDetails.Count - 1; + mTask.Add1TaskData(num, value); + mTask.Add1TaskControl(num, value); + mTask.mListDetails[num].mTaskGroup.mID_Task = value.mID_Task; + mTask.mListDetails[num].mTaskControl.mStart_Task_Button.DoubleClick += buttonStart_Click; + mTask.mListDetails[num].mTaskControl.mResult_Task_Button.DoubleClick += buttonLook_Click; + Panel panel = null; + panel = mTask.mListDetails[num].mTaskControl.mPanel_Task; + if (panel != null) + { + panel.MouseDown += panel_Task_MouseDown; + } + Button button = null; + button = mTask.mListDetails[num].mTaskControl.mStart_Task_Button; + if (button != null) + { + button.Click += buttonStart_Click; + } + button = null; + button = mTask.mListDetails[num].mTaskControl.mResult_Task_Button; + if (button != null) + { + button.Click += buttonLook_Click; + } + value.mID_Task = -1; + MyRefresh_ToolStripMenuItem(); + } + } + + public static void MySetLabelText(System.Windows.Forms.Label label, string value) + { + if (label.InvokeRequired) + { + delegateLabelText method = MySetLabelText; + label.Invoke(method, label, value); + } + else + { + label.Text = value; + } + } + + public void MySetButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MySetButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFlowLayoutPanelAddControl(FlowLayoutPanel flowLayoutPanel, Control value) + { + if (flowLayoutPanel.InvokeRequired) + { + dltFlowlayoutAddControl method = MyFlowLayoutPanelAddControl; + flowLayoutPanel.Invoke(method, flowLayoutPanel, value); + } + else + { + flowLayoutPanel.Controls.Add(value); + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LP.FormDesktop)); + this.panelCenter = new System.Windows.Forms.Panel(); + this.axMap = new AxMapWinGIS.AxMap(); + this.flowLayoutPanel_TopButtons = new System.Windows.Forms.FlowLayoutPanel(); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.详情ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.线路详情ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.线路删除ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.任务删除ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.buttonCreateXianLu = new System.Windows.Forms.Button(); + this.buttonCanShuJiSuan = new System.Windows.Forms.Button(); + this.buttonLightningProofCompute = new System.Windows.Forms.Button(); + this.buttonFangLeiGaiZao = new System.Windows.Forms.Button(); + this.buttonReport = new System.Windows.Forms.Button(); + this.buttonRepeat = new System.Windows.Forms.Button(); + this.button1 = new System.Windows.Forms.Button(); + this.flowLayoutPanel_LeftListXianLu = new System.Windows.Forms.FlowLayoutPanel(); + this.label1 = new System.Windows.Forms.Label(); + this.panel_XianLu = new System.Windows.Forms.Panel(); + this.contextMenuStrip_Left = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.label_Num_GanTa = new System.Windows.Forms.Label(); + this.label_NameXianLu_L = new System.Windows.Forms.Label(); + this.checkBox_XianLu = new System.Windows.Forms.CheckBox(); + this.label_DYDJ_L = new System.Windows.Forms.Label(); + this.label_AC_DC_L = new System.Windows.Forms.Label(); + this.flowLayoutPanel_RightListTask = new System.Windows.Forms.FlowLayoutPanel(); + this.label2 = new System.Windows.Forms.Label(); + this.panel_Task = new System.Windows.Forms.Panel(); + this.contextMenuStrip_Right = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.buttonStart = new System.Windows.Forms.Button(); + this.buttonLook = new System.Windows.Forms.Button(); + this.label_NameTask = new System.Windows.Forms.Label(); + this.label_NameXianLu_R = new System.Windows.Forms.Label(); + this.label_DYDJ_R = new System.Windows.Forms.Label(); + this.label_AC_DC_R = new System.Windows.Forms.Label(); + this.panelDesktop = new System.Windows.Forms.Panel(); + this.panelCenter.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)this.axMap).BeginInit(); + this.flowLayoutPanel_TopButtons.SuspendLayout(); + this.menuStrip1.SuspendLayout(); + this.flowLayoutPanel_LeftListXianLu.SuspendLayout(); + this.panel_XianLu.SuspendLayout(); + this.contextMenuStrip_Left.SuspendLayout(); + this.flowLayoutPanel_RightListTask.SuspendLayout(); + this.panel_Task.SuspendLayout(); + this.contextMenuStrip_Right.SuspendLayout(); + this.panelDesktop.SuspendLayout(); + base.SuspendLayout(); + this.panelCenter.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.panelCenter.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.panelCenter.Controls.Add(this.axMap); + this.panelCenter.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelCenter.Location = new System.Drawing.Point(240, 55); + this.panelCenter.Name = "panelCenter"; + this.panelCenter.Size = new System.Drawing.Size(793, 736); + this.panelCenter.TabIndex = 0; + this.axMap.Dock = System.Windows.Forms.DockStyle.Fill; + this.axMap.Enabled = true; + this.axMap.Location = new System.Drawing.Point(0, 0); + this.axMap.Name = "axMap"; + this.axMap.OcxState = (System.Windows.Forms.AxHost.State)resources.GetObject("axMap.OcxState"); + this.axMap.Size = new System.Drawing.Size(789, 732); + this.axMap.TabIndex = 0; + this.axMap.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(axMap_PreviewKeyDown); + this.flowLayoutPanel_TopButtons.AutoScroll = true; + this.flowLayoutPanel_TopButtons.AutoSize = true; + this.flowLayoutPanel_TopButtons.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.flowLayoutPanel_TopButtons.Controls.Add(this.menuStrip1); + this.flowLayoutPanel_TopButtons.Controls.Add(this.buttonCreateXianLu); + this.flowLayoutPanel_TopButtons.Controls.Add(this.buttonCanShuJiSuan); + this.flowLayoutPanel_TopButtons.Controls.Add(this.buttonLightningProofCompute); + this.flowLayoutPanel_TopButtons.Controls.Add(this.buttonFangLeiGaiZao); + this.flowLayoutPanel_TopButtons.Controls.Add(this.buttonReport); + this.flowLayoutPanel_TopButtons.Controls.Add(this.buttonRepeat); + this.flowLayoutPanel_TopButtons.Controls.Add(this.button1); + this.flowLayoutPanel_TopButtons.Dock = System.Windows.Forms.DockStyle.Top; + this.flowLayoutPanel_TopButtons.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flowLayoutPanel_TopButtons.Location = new System.Drawing.Point(0, 0); + this.flowLayoutPanel_TopButtons.Name = "flowLayoutPanel_TopButtons"; + this.flowLayoutPanel_TopButtons.Size = new System.Drawing.Size(1273, 55); + this.flowLayoutPanel_TopButtons.TabIndex = 1; + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[1] { this.详情ToolStripMenuItem }); + this.menuStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow; + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(52, 25); + this.menuStrip1.TabIndex = 3; + this.menuStrip1.Text = "menuStrip1"; + this.详情ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[3] { this.线路详情ToolStripMenuItem1, this.线路删除ToolStripMenuItem, this.任务删除ToolStripMenuItem }); + this.详情ToolStripMenuItem.Name = "详情ToolStripMenuItem"; + this.详情ToolStripMenuItem.Size = new System.Drawing.Size(44, 21); + this.详情ToolStripMenuItem.Text = "操作"; + this.线路详情ToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[1] { this.toolStripMenuItem4 }); + this.线路详情ToolStripMenuItem1.Name = "线路详情ToolStripMenuItem1"; + this.线路详情ToolStripMenuItem1.Size = new System.Drawing.Size(124, 22); + this.线路详情ToolStripMenuItem1.Text = "线路详情"; + this.线路详情ToolStripMenuItem1.Click += new System.EventHandler(详情ToolStripMenuItem1_Click); + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(192, 22); + this.toolStripMenuItem4.Text = "toolStripMenuItem4"; + this.线路删除ToolStripMenuItem.Name = "线路删除ToolStripMenuItem"; + this.线路删除ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); + this.线路删除ToolStripMenuItem.Text = "线路删除"; + this.任务删除ToolStripMenuItem.Name = "任务删除ToolStripMenuItem"; + this.任务删除ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); + this.任务删除ToolStripMenuItem.Text = "任务删除"; + this.buttonCreateXianLu.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonCreateXianLu.Location = new System.Drawing.Point(55, 3); + this.buttonCreateXianLu.Name = "buttonCreateXianLu"; + this.buttonCreateXianLu.Size = new System.Drawing.Size(135, 45); + this.buttonCreateXianLu.TabIndex = 0; + this.buttonCreateXianLu.Text = "创建线路"; + this.buttonCreateXianLu.UseVisualStyleBackColor = true; + this.buttonCreateXianLu.Click += new System.EventHandler(buttonCreateXianLu_Click); + this.buttonCanShuJiSuan.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonCanShuJiSuan.Location = new System.Drawing.Point(196, 3); + this.buttonCanShuJiSuan.Name = "buttonCanShuJiSuan"; + this.buttonCanShuJiSuan.Size = new System.Drawing.Size(135, 45); + this.buttonCanShuJiSuan.TabIndex = 0; + this.buttonCanShuJiSuan.Text = "参数计算"; + this.buttonCanShuJiSuan.UseVisualStyleBackColor = true; + this.buttonCanShuJiSuan.Click += new System.EventHandler(buttonCanShuJiSuan_Click); + this.buttonLightningProofCompute.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonLightningProofCompute.Location = new System.Drawing.Point(337, 3); + this.buttonLightningProofCompute.Name = "buttonLightningProofCompute"; + this.buttonLightningProofCompute.Size = new System.Drawing.Size(135, 45); + this.buttonLightningProofCompute.TabIndex = 0; + this.buttonLightningProofCompute.Text = "防雷计算"; + this.buttonLightningProofCompute.UseVisualStyleBackColor = true; + this.buttonLightningProofCompute.Click += new System.EventHandler(buttonLightningProofCompute_Click); + this.buttonFangLeiGaiZao.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonFangLeiGaiZao.Location = new System.Drawing.Point(478, 3); + this.buttonFangLeiGaiZao.Name = "buttonFangLeiGaiZao"; + this.buttonFangLeiGaiZao.Size = new System.Drawing.Size(135, 45); + this.buttonFangLeiGaiZao.TabIndex = 0; + this.buttonFangLeiGaiZao.Text = "防雷改造"; + this.buttonFangLeiGaiZao.UseVisualStyleBackColor = true; + this.buttonFangLeiGaiZao.Click += new System.EventHandler(buttonFangLeiGaiZao_Click); + this.buttonReport.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonReport.Location = new System.Drawing.Point(619, 3); + this.buttonReport.Name = "buttonReport"; + this.buttonReport.Size = new System.Drawing.Size(135, 45); + this.buttonReport.TabIndex = 0; + this.buttonReport.Text = "报告生成"; + this.buttonReport.UseVisualStyleBackColor = true; + this.buttonReport.Click += new System.EventHandler(buttonReport_Click); + this.buttonRepeat.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonRepeat.Location = new System.Drawing.Point(760, 3); + this.buttonRepeat.Name = "buttonRepeat"; + this.buttonRepeat.Size = new System.Drawing.Size(135, 45); + this.buttonRepeat.TabIndex = 1; + this.buttonRepeat.Text = "故障复现"; + this.buttonRepeat.UseVisualStyleBackColor = true; + this.buttonRepeat.Click += new System.EventHandler(buttonRepeat_Click); + this.button1.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.button1.Location = new System.Drawing.Point(901, 3); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(135, 45); + this.button1.TabIndex = 2; + this.button1.Text = "绘图"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(button1_Click); + this.flowLayoutPanel_LeftListXianLu.AutoScroll = true; + this.flowLayoutPanel_LeftListXianLu.AutoSize = true; + this.flowLayoutPanel_LeftListXianLu.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.flowLayoutPanel_LeftListXianLu.Controls.Add(this.label1); + this.flowLayoutPanel_LeftListXianLu.Controls.Add(this.panel_XianLu); + this.flowLayoutPanel_LeftListXianLu.Dock = System.Windows.Forms.DockStyle.Left; + this.flowLayoutPanel_LeftListXianLu.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flowLayoutPanel_LeftListXianLu.Location = new System.Drawing.Point(0, 55); + this.flowLayoutPanel_LeftListXianLu.Name = "flowLayoutPanel_LeftListXianLu"; + this.flowLayoutPanel_LeftListXianLu.Size = new System.Drawing.Size(240, 736); + this.flowLayoutPanel_LeftListXianLu.TabIndex = 4; + this.label1.AutoSize = true; + this.label1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.label1.Font = new System.Drawing.Font("宋体", 14.25f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(3, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(179, 21); + this.label1.TabIndex = 0; + this.label1.Text = " 输电线路 "; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.panel_XianLu.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel_XianLu.ContextMenuStrip = this.contextMenuStrip_Left; + this.panel_XianLu.Controls.Add(this.label_Num_GanTa); + this.panel_XianLu.Controls.Add(this.label_NameXianLu_L); + this.panel_XianLu.Controls.Add(this.checkBox_XianLu); + this.panel_XianLu.Controls.Add(this.label_DYDJ_L); + this.panel_XianLu.Controls.Add(this.label_AC_DC_L); + this.panel_XianLu.Location = new System.Drawing.Point(3, 24); + this.panel_XianLu.Name = "panel_XianLu"; + this.panel_XianLu.Size = new System.Drawing.Size(230, 45); + this.panel_XianLu.TabIndex = 1; + this.panel_XianLu.DoubleClick += new System.EventHandler(panel_XianLu_DoubleClick); + this.panel_XianLu.MouseDown += new System.Windows.Forms.MouseEventHandler(panel_XianLu_MouseDown); + this.contextMenuStrip_Left.Items.AddRange(new System.Windows.Forms.ToolStripItem[2] { this.toolStripMenuItem1, this.toolStripMenuItem2 }); + this.contextMenuStrip_Left.Name = "contextMenuStrip_Left"; + this.contextMenuStrip_Left.Size = new System.Drawing.Size(101, 48); + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(100, 22); + this.toolStripMenuItem1.Text = "详情"; + this.toolStripMenuItem1.Click += new System.EventHandler(toolStripMenuItem1_Click); + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(100, 22); + this.toolStripMenuItem2.Text = "删除"; + this.toolStripMenuItem2.Click += new System.EventHandler(toolStripMenuItem2_Click); + this.label_Num_GanTa.AutoSize = true; + this.label_Num_GanTa.Font = new System.Drawing.Font("宋体", 9f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label_Num_GanTa.Location = new System.Drawing.Point(113, 26); + this.label_Num_GanTa.Name = "label_Num_GanTa"; + this.label_Num_GanTa.Size = new System.Drawing.Size(65, 12); + this.label_Num_GanTa.TabIndex = 1; + this.label_Num_GanTa.Tag = "1"; + this.label_Num_GanTa.Text = "[13]个杆塔"; + this.label_Num_GanTa.DoubleClick += new System.EventHandler(label_Num_GanTa_DoubleClick); + this.label_NameXianLu_L.AutoSize = true; + this.label_NameXianLu_L.Font = new System.Drawing.Font("宋体", 9f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label_NameXianLu_L.Location = new System.Drawing.Point(6, 7); + this.label_NameXianLu_L.Name = "label_NameXianLu_L"; + this.label_NameXianLu_L.Size = new System.Drawing.Size(53, 12); + this.label_NameXianLu_L.TabIndex = 1; + this.label_NameXianLu_L.Text = "线路名称"; + this.checkBox_XianLu.AutoSize = true; + this.checkBox_XianLu.Font = new System.Drawing.Font("宋体", 9f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.checkBox_XianLu.Location = new System.Drawing.Point(189, 3); + this.checkBox_XianLu.Name = "checkBox_XianLu"; + this.checkBox_XianLu.Size = new System.Drawing.Size(36, 16); + this.checkBox_XianLu.TabIndex = 3; + this.checkBox_XianLu.Text = "显"; + this.checkBox_XianLu.UseVisualStyleBackColor = true; + this.checkBox_XianLu.CheckedChanged += new System.EventHandler(checkBox_XianLu_CheckedChanged); + this.label_DYDJ_L.AutoSize = true; + this.label_DYDJ_L.Font = new System.Drawing.Font("宋体", 9f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label_DYDJ_L.Location = new System.Drawing.Point(54, 26); + this.label_DYDJ_L.Name = "label_DYDJ_L"; + this.label_DYDJ_L.Size = new System.Drawing.Size(35, 12); + this.label_DYDJ_L.TabIndex = 1; + this.label_DYDJ_L.Text = "110kV"; + this.label_AC_DC_L.AutoSize = true; + this.label_AC_DC_L.Font = new System.Drawing.Font("宋体", 9f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label_AC_DC_L.Location = new System.Drawing.Point(6, 26); + this.label_AC_DC_L.Name = "label_AC_DC_L"; + this.label_AC_DC_L.Size = new System.Drawing.Size(29, 12); + this.label_AC_DC_L.TabIndex = 1; + this.label_AC_DC_L.Text = "交流"; + this.flowLayoutPanel_RightListTask.AutoScroll = true; + this.flowLayoutPanel_RightListTask.AutoSize = true; + this.flowLayoutPanel_RightListTask.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.flowLayoutPanel_RightListTask.Controls.Add(this.label2); + this.flowLayoutPanel_RightListTask.Controls.Add(this.panel_Task); + this.flowLayoutPanel_RightListTask.Dock = System.Windows.Forms.DockStyle.Right; + this.flowLayoutPanel_RightListTask.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flowLayoutPanel_RightListTask.Location = new System.Drawing.Point(1033, 55); + this.flowLayoutPanel_RightListTask.Name = "flowLayoutPanel_RightListTask"; + this.flowLayoutPanel_RightListTask.Size = new System.Drawing.Size(240, 736); + this.flowLayoutPanel_RightListTask.TabIndex = 5; + this.label2.AutoSize = true; + this.label2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.label2.Font = new System.Drawing.Font("宋体", 14.25f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.label2.Location = new System.Drawing.Point(3, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(179, 21); + this.label2.TabIndex = 0; + this.label2.Text = " 防雷计算 "; + this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.panel_Task.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel_Task.ContextMenuStrip = this.contextMenuStrip_Right; + this.panel_Task.Controls.Add(this.buttonStart); + this.panel_Task.Controls.Add(this.buttonLook); + this.panel_Task.Controls.Add(this.label_NameTask); + this.panel_Task.Controls.Add(this.label_NameXianLu_R); + this.panel_Task.Controls.Add(this.label_DYDJ_R); + this.panel_Task.Controls.Add(this.label_AC_DC_R); + this.panel_Task.Location = new System.Drawing.Point(3, 24); + this.panel_Task.Name = "panel_Task"; + this.panel_Task.Size = new System.Drawing.Size(230, 52); + this.panel_Task.TabIndex = 2; + this.panel_Task.DoubleClick += new System.EventHandler(panel_Task_DoubleClick); + this.panel_Task.MouseDown += new System.Windows.Forms.MouseEventHandler(panel_Task_MouseDown); + this.contextMenuStrip_Right.Items.AddRange(new System.Windows.Forms.ToolStripItem[1] { this.toolStripMenuItem3 }); + this.contextMenuStrip_Right.Name = "contextMenuStrip_Right"; + this.contextMenuStrip_Right.Size = new System.Drawing.Size(101, 26); + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(100, 22); + this.toolStripMenuItem3.Text = "删除"; + this.toolStripMenuItem3.Click += new System.EventHandler(toolStripMenuItem3_Click); + this.buttonStart.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonStart.Location = new System.Drawing.Point(119, 3); + this.buttonStart.Name = "buttonStart"; + this.buttonStart.Size = new System.Drawing.Size(51, 23); + this.buttonStart.TabIndex = 2; + this.buttonStart.Text = "开始"; + this.buttonStart.UseVisualStyleBackColor = true; + this.buttonStart.Click += new System.EventHandler(buttonStart_Click); + this.buttonLook.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonLook.Location = new System.Drawing.Point(174, 3); + this.buttonLook.Name = "buttonLook"; + this.buttonLook.Size = new System.Drawing.Size(51, 23); + this.buttonLook.TabIndex = 2; + this.buttonLook.Text = "查看"; + this.buttonLook.UseVisualStyleBackColor = true; + this.buttonLook.Click += new System.EventHandler(buttonLook_Click); + this.label_NameTask.AutoSize = true; + this.label_NameTask.Font = new System.Drawing.Font("宋体", 9f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label_NameTask.Location = new System.Drawing.Point(3, 9); + this.label_NameTask.Name = "label_NameTask"; + this.label_NameTask.Size = new System.Drawing.Size(113, 12); + this.label_NameTask.TabIndex = 1; + this.label_NameTask.Text = "任务名称1234568901"; + this.label_NameXianLu_R.AutoSize = true; + this.label_NameXianLu_R.Font = new System.Drawing.Font("宋体", 9f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label_NameXianLu_R.Location = new System.Drawing.Point(6, 33); + this.label_NameXianLu_R.Name = "label_NameXianLu_R"; + this.label_NameXianLu_R.Size = new System.Drawing.Size(53, 12); + this.label_NameXianLu_R.TabIndex = 1; + this.label_NameXianLu_R.Text = "线路名称"; + this.label_DYDJ_R.AutoSize = true; + this.label_DYDJ_R.Font = new System.Drawing.Font("宋体", 9f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label_DYDJ_R.Location = new System.Drawing.Point(149, 33); + this.label_DYDJ_R.Name = "label_DYDJ_R"; + this.label_DYDJ_R.Size = new System.Drawing.Size(53, 12); + this.label_DYDJ_R.TabIndex = 1; + this.label_DYDJ_R.Text = "电压等级"; + this.label_AC_DC_R.AutoSize = true; + this.label_AC_DC_R.Font = new System.Drawing.Font("宋体", 9f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label_AC_DC_R.Location = new System.Drawing.Point(101, 33); + this.label_AC_DC_R.Name = "label_AC_DC_R"; + this.label_AC_DC_R.Size = new System.Drawing.Size(29, 12); + this.label_AC_DC_R.TabIndex = 1; + this.label_AC_DC_R.Text = "交流"; + this.panelDesktop.Controls.Add(this.panelCenter); + this.panelDesktop.Controls.Add(this.flowLayoutPanel_LeftListXianLu); + this.panelDesktop.Controls.Add(this.flowLayoutPanel_RightListTask); + this.panelDesktop.Controls.Add(this.flowLayoutPanel_TopButtons); + this.panelDesktop.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelDesktop.Location = new System.Drawing.Point(0, 0); + this.panelDesktop.Name = "panelDesktop"; + this.panelDesktop.Size = new System.Drawing.Size(1273, 791); + this.panelDesktop.TabIndex = 6; + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(1273, 791); + base.Controls.Add(this.panelDesktop); + base.MainMenuStrip = this.menuStrip1; + base.Name = "FormDesktop"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Form1"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormDesktop_FormClosing); + base.Load += new System.EventHandler(FormDesktop_Load); + this.panelCenter.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)this.axMap).EndInit(); + this.flowLayoutPanel_TopButtons.ResumeLayout(false); + this.flowLayoutPanel_TopButtons.PerformLayout(); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.flowLayoutPanel_LeftListXianLu.ResumeLayout(false); + this.flowLayoutPanel_LeftListXianLu.PerformLayout(); + this.panel_XianLu.ResumeLayout(false); + this.panel_XianLu.PerformLayout(); + this.contextMenuStrip_Left.ResumeLayout(false); + this.flowLayoutPanel_RightListTask.ResumeLayout(false); + this.flowLayoutPanel_RightListTask.PerformLayout(); + this.panel_Task.ResumeLayout(false); + this.panel_Task.PerformLayout(); + this.contextMenuStrip_Right.ResumeLayout(false); + this.panelDesktop.ResumeLayout(false); + this.panelDesktop.PerformLayout(); + base.ResumeLayout(false); + } +} diff --git a/LP/FormDiMianQingJiao.cs b/LP/FormDiMianQingJiao.cs new file mode 100644 index 0000000..b65e2bd --- /dev/null +++ b/LP/FormDiMianQingJiao.cs @@ -0,0 +1,823 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.IO; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormDiMianQingJiao : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateComboBoxItemsClear(ComboBox comboBox); + + private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); + + private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public XianLuData mXianLuData = null; + + public TaskData mTaskData = null; + + private int mXianLuID = 0; + + public string mNameXianLu = ""; + + private string mNameTask = ""; + + public int mIndexControl_XianLuName = -1; + + public int mIndex_ListXianLuData = -1; + + public string[] mFileCurrentArr = null; + + public string mFileName = ""; + + private bool mAfterInit = false; + + private bool mReady_XianLuName = false; + + private bool mReady_CurrentFile = false; + + private bool mBusy_ButtonOK = false; + + private IContainer components = null; + + private Button buttonCancel; + + private Button buttonSelect; + + private Button buttonOK; + + private TextBox textBox_GC_FileName; + + private ComboBox comboBox_XianLuName; + + private Label label2; + + private Label label1; + + public bool Ready_XianLuName + { + get + { + return mReady_XianLuName; + } + set + { + mReady_XianLuName = value; + } + } + + public bool Ready_CurrentFile + { + get + { + return mReady_CurrentFile; + } + set + { + mReady_CurrentFile = value; + } + } + + public bool Busy_ButtonOK + { + get + { + return mBusy_ButtonOK; + } + set + { + mBusy_ButtonOK = value; + MyButtonEnabled(buttonCancel, !value); + MyButtonEnabled(buttonSelect, !value); + } + } + + public FormDiMianQingJiao() + { + InitializeComponent(); + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + if (mTaskData == null) + { + mTaskData = new TaskData(); + } + mNameTask = "地面倾角计算"; + mTitle = "地面倾角计算"; + mIndexControl_XianLuName = -1; + mIndex_ListXianLuData = -1; + } + + private void FormDiMianQingJiao_Load(object sender, EventArgs e) + { + mAfterInit = false; + Busy_ButtonOK = false; + MyFormSetTitle(this, ""); + bool ready_CurrentFile = (Ready_XianLuName = false); + Ready_CurrentFile = ready_CurrentFile; + base.DialogResult = DialogResult.None; + MyInput_TaskData(); + MyInput_List_XianLuData(); + mAfterInit = true; + } + + private void FormDiMianQingJiao_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_TaskData() + { + mTaskData.copyFrom_TaskData(desktop.mDlg_CanShuJiSuan.mtData); + } + + public void MyOutput_TaskData() + { + desktop.mDlg_CanShuJiSuan.mtData.copyFrom_TaskData(mTaskData); + } + + public void MyInput_List_XianLuData() + { + MyComboBoxItemsClear(comboBox_XianLuName); + if (desktop.mXL == null || desktop.mXL.mListXianLuData == null) + { + return; + } + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + MyComboBoxAdd(comboBox_XianLuName, desktop.mXL.mListXianLuData[i].mName_XianLu); + } + if (mIndexControl_XianLuName < 0) + { + mIndexControl_XianLuName = 0; + } + if (mIndexControl_XianLuName >= 0 && mIndexControl_XianLuName < comboBox_XianLuName.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_XianLuName, mIndexControl_XianLuName); + mNameXianLu = comboBox_XianLuName.SelectedItem.ToString(); + for (int j = 0; j < desktop.mXL.mListXianLuData.Count; j++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[j].mName_XianLu)) + { + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[j]); + mXianLuID = mXianLuData.mID_XianLu; + break; + } + } + Ready_XianLuName = true; + } + else + { + mNameXianLu = ""; + mXianLuID = 0; + Ready_XianLuName = false; + } + string text = textBox_GC_FileName.Text.Trim(); + string[] separator = new string[4] { "\r", "\n", " ", ";" }; + string[] array = null; + if (string.IsNullOrEmpty(text)) + { + return; + } + array = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + bool flag = true; + for (int k = 0; k < array.Length; k++) + { + if (!File.Exists(array[k])) + { + flag = false; + break; + } + } + if (array.Length != 0) + { + mFileCurrentArr = new string[array.Length]; + for (int l = 0; l < array.Length; l++) + { + mFileCurrentArr[l] = array[l].Trim(); + } + } + if (flag) + { + Ready_CurrentFile = true; + } + } + + public void Destroy() + { + if (mXianLuData != null) + { + mXianLuData.Destroy(); + } + mXianLuData = null; + if (mTaskData != null) + { + mTaskData.Destroy(); + } + mTaskData = null; + if (mFileCurrentArr != null) + { + for (int i = 0; i < mFileCurrentArr.Length; i++) + { + mFileCurrentArr[i] = ""; + } + mFileCurrentArr = null; + } + } + + private void buttonOK_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + if (Busy_ButtonOK) + { + return; + } + Busy_ButtonOK = true; + if (!Ready_XianLuName) + { + if (comboBox_XianLuName.Items.Count > 0) + { + MyFormSetTitle(this, "请选择线路,然后点击按钮“" + buttonOK.Text + "”。"); + } + if (comboBox_XianLuName.Items.Count == 0) + { + MyFormSetTitle(this, "缺少线路数据。 请点击按钮“" + buttonCancel.Text + "”,退出对话框。"); + } + comboBox_XianLuName.Focus(); + Busy_ButtonOK = false; + } + else if (!Ready_CurrentFile) + { + MyFormSetTitle(this, "请选择高程文件,点击按钮“" + buttonOK.Text + "”。"); + buttonSelect.Focus(); + Busy_ButtonOK = false; + } + else + { + Thread thread = new Thread(MyCompute); + thread.Start(); + } + } + + private bool IsRepeatTask() + { + bool result = false; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (mNameTask.Equals(desktop.mTask.mListDetails[i].mTaskData.mName_Task) && mXianLuID == desktop.mTask.mListDetails[i].mXianLuID_Detail) + { + result = true; + break; + } + } + return result; + } + + private void MyRefresh_TaskData() + { + mTaskData.mID_Task = TaskData.mNextID_static; + mTaskData.mTypeCode_Task = 13; + mTaskData.mName_Task = mNameTask; + mTaskData.mXianLuID_Task = mXianLuData.mID_XianLu; + mTaskData.mXianLuName_Task = mXianLuData.mName_XianLu; + mTaskData.mXianLuJLZL_Task = mXianLuData.mJLZL_XianLu; + mTaskData.mDYDJ_Task = mXianLuData.mDYDJ_XianLu; + mTaskData.mPrepare13_DiMianQingJiao = 0; + mXianLuData.mPrepare3_DiMianQingJiao = 0; + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (mXianLuID == desktop.mXL.mListXianLuData[i].mID_XianLu) + { + desktop.mXL.mListXianLuData[i].mPrepare3_DiMianQingJiao = 0; + break; + } + } + string text = ""; + int num = 0; + for (int j = 0; j < mFileCurrentArr.Length; j++) + { + if (!string.IsNullOrEmpty(mFileCurrentArr[j])) + { + if (num > 0) + { + text += " "; + } + text += mFileCurrentArr[j]; + num++; + } + } + mTaskData.mFName_Prepare = text; + } + + private void MyCompute() + { + string text = ""; + MyFormSetTitle(this, "请稍候..."); + text = Compute_DiMianQingJiao(); + if (!text.Equals("OK")) + { + MyLog.AddLog("MyCompute() " + text); + } + Busy_ButtonOK = false; + base.DialogResult = DialogResult.OK; + MyFormHide(this); + } + + private string Compute_DiMianQingJiao() + { + string result = "OK"; + byte[] array = new byte[100]; + int num = 0; + int num2 = 0; + int num3 = 0; + int num4 = 0; + int num5 = 0; + int num6 = 0; + int num7 = 0; + double num8 = 0.0; + double num9 = 0.0; + double num10 = 0.0; + double num11 = 0.0; + double num12 = 0.0; + double[] array2 = new double[9]; + double[] array3 = new double[9]; + double[] array4 = new double[9]; + double[] array5 = new double[9]; + double num13 = 0.0; + double num14 = 0.0; + double num15 = 0.0; + double num16 = 0.0; + double num17 = 0.0; + int num18 = 0; + int num19 = 0; + int i = 0; + GanTas ganTas = null; + bool flag = false; + MyFormSetTitle(this, "请稍候......"); + try + { + if (desktop.mXL.mListXianLuData == null) + { + return $"线路数据为空,mXianLuID={mXianLuID} mNameXianLu={mNameXianLu}"; + } + for (num7 = 0; num7 < desktop.mXL.mListXianLuData.Count && (desktop.mXL.mListXianLuData[num7] == null || desktop.mXL.mListXianLuData[num7].mID_XianLu != mXianLuID); num7++) + { + } + if (num7 >= desktop.mXL.mListXianLuData.Count) + { + return $"线路数据不匹配,mXianLuID={mXianLuID} mNameXianLu={mNameXianLu}"; + } + ganTas = desktop.mXL.mListGanTas[num7]; + num19 = desktop.mXL.mListGanTas[num7].mListGanTaData.Count; + if (string.IsNullOrEmpty(mFileName)) + { + return "高程数据文件名mFileName为空。"; + } + if (!File.Exists(mFileName)) + { + return "文件未找到,mFileName=" + mFileName; + } + for (int j = 0; j < array.Length; j++) + { + array[j] = 0; + } + using (FileStream fileStream = new FileStream(mFileName, FileMode.Open, FileAccess.Read, FileShare.None)) + { + fileStream.Seek(0L, SeekOrigin.Begin); + fileStream.Read(array, 0, 12); + num = array[0] * 256 + array[1]; + num2 = array[2] * 256 + array[3]; + num3 = array[4] * 256 + array[5]; + num4 = array[6] * 256 + array[7]; + num5 = array[8] * 256 + array[9]; + num6 = array[10] * 256 + array[11]; + fileStream.Close(); + } + for (i = 0; i < ganTas.mListGanTaData.Count; i++) + { + num8 = ganTas.mListGanTaData[i].mJingDu_GanTa; + num10 = ganTas.mListGanTaData[i].mWeiDu_GanTa; + if (i == ganTas.mListGanTaData.Count - 1) + { + num9 = ganTas.mListGanTaData[i - 1].mJingDu_GanTa; + num11 = ganTas.mListGanTaData[i - 1].mWeiDu_GanTa; + } + else if (i < ganTas.mListGanTaData.Count - 1) + { + num9 = ganTas.mListGanTaData[i + 1].mJingDu_GanTa; + num11 = ganTas.mListGanTaData[i + 1].mWeiDu_GanTa; + } + num12 = Math.Atan((num11 - num10) / (num9 - num8)); + array2[0] = num8 - 200.0 * Math.Sin(num12) / 100000.0; + array2[1] = num8 - 150.0 * Math.Sin(num12) / 100000.0; + array2[2] = num8 - 100.0 * Math.Sin(num12) / 100000.0; + array2[3] = num8 - 50.0 * Math.Sin(num12) / 100000.0; + array2[4] = num8; + array2[5] = num8 + 50.0 * Math.Sin(num12) / 100000.0; + array2[6] = num8 + 100.0 * Math.Sin(num12) / 100000.0; + array2[7] = num8 + 150.0 * Math.Sin(num12) / 100000.0; + array2[8] = num8 + 200.0 * Math.Sin(num12) / 100000.0; + array3[0] = num10 + 200.0 * Math.Cos(num12) / 100000.0; + array3[1] = num10 + 150.0 * Math.Cos(num12) / 100000.0; + array3[2] = num10 + 100.0 * Math.Cos(num12) / 100000.0; + array3[3] = num10 + 50.0 * Math.Cos(num12) / 100000.0; + array3[4] = num10; + array3[5] = num10 - 50.0 * Math.Cos(num12) / 100000.0; + array3[6] = num10 - 100.0 * Math.Cos(num12) / 100000.0; + array3[7] = num10 - 150.0 * Math.Cos(num12) / 100000.0; + array3[8] = num10 - 200.0 * Math.Cos(num12) / 100000.0; + flag = false; + for (int k = 0; k < 9; k++) + { + num16 = array2[k] - (double)num; + num17 = array3[k] - (double)num3; + double num20 = num16 / (double)(num2 - num) * (double)num5; + num15 = (1.0 - num17 / (double)(num4 - num3)) * (double)num6; + num18 = (int)num15 * num5 + (int)num20; + for (int l = 0; l < array.Length; l++) + { + array[l] = 0; + } + try + { + using FileStream fileStream2 = new FileStream(mFileName, FileMode.Open, FileAccess.Read, FileShare.None); + fileStream2.Seek(12 + num18 * 2, SeekOrigin.Begin); + fileStream2.Read(array, 0, 2); + array4[k] = array[0] * 256 + array[1]; + fileStream2.Close(); + } + catch (Exception) + { + flag = true; + } + if (flag) + { + break; + } + } + if (!flag) + { + num13 = (num14 = 0.0); + for (int m = 0; m <= 3; m++) + { + array5[m] = Math.Atan((array4[4] - array4[m]) / 50.0); + num13 += array5[m]; + } + num13 = num13 / 4.0 * 180.0 / Math.PI; + for (int n = 5; n <= 8; n++) + { + array5[n] = Math.Atan((array4[4] - array4[n]) / 50.0); + num14 += array5[n]; + } + num14 = num14 / 4.0 * 180.0 / Math.PI; + ganTas.mListGanTaData[i].mDMQJ1_GanTa = num13; + ganTas.mListGanTaData[i].mDMQJ2_GanTa = num14; + MyFormSetTitle(this, $"请稍候......({i + 1}/{num19})"); + } + } + desktop.mXL.mListXianLuData[num7].mPrepare3_DiMianQingJiao = 1; + desktop.mDlg_CanShuJiSuan.mMsg = $"{num19}杆塔地面倾角"; + } + catch (Exception ex2) + { + result = $"Compute_DiMianQingJiao() t={i} N={num19} ex={ex2.Message}"; + } + return result; + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + MyButtonEnabled(buttonCancel, value: false); + Thread thread = new Thread(MyCancel); + thread.Start(); + } + + private void MyCancel() + { + MyFormSetTitle(this, "取消—"); + MyFormSetTitle(this, "取消———"); + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + + private void buttonSelect_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + openFileDialog.InitialDirectory = Application.StartupPath; + openFileDialog.Filter = "所有文件*.*|*.*|Excel文件(*.csv)|*.csv|Txt文件(*.txt)|*.txt"; + openFileDialog.FilterIndex = 1; + openFileDialog.Multiselect = true; + if (openFileDialog.ShowDialog(this) == DialogResult.OK) + { + mFileName = openFileDialog.FileName; + MyTextBoxSetText(textBox_GC_FileName, mFileName); + Ready_CurrentFile = true; + } + } + + private void comboBox_XianLuName_SelectedIndexChanged(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + int selectedIndex = ((ComboBox)sender).SelectedIndex; + mIndexControl_XianLuName = selectedIndex; + mNameXianLu = ((ComboBox)sender).SelectedItem.ToString().Trim(); + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[i].mName_XianLu)) + { + mIndex_ListXianLuData = i; + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[i]); + mXianLuID = mXianLuData.mID_XianLu; + Ready_XianLuName = true; + break; + } + } + } + + private void textBox_GC_FileName_Leave(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + Ready_CurrentFile = false; + string text = textBox_GC_FileName.Text.Trim(); + string[] separator = new string[4] { "\r", "\n", " ", ";" }; + if (string.IsNullOrEmpty(text)) + { + return; + } + string[] array = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + bool ready_CurrentFile = true; + for (int i = 0; i < array.Length; i++) + { + if (!File.Exists(array[i])) + { + ready_CurrentFile = false; + break; + } + } + if (array.Length != 0) + { + mFileCurrentArr = new string[array.Length]; + for (int j = 0; j < array.Length; j++) + { + mFileCurrentArr[j] = array[j].Trim(); + } + } + Ready_CurrentFile = ready_CurrentFile; + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyComboBoxItemsClear(ComboBox comboBox) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxItemsClear method = MyComboBoxItemsClear; + comboBox.Invoke(method, comboBox); + } + else + { + comboBox.Items.Clear(); + } + } + + public void MyComboBoxAdd(ComboBox comboBox, string value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxAdd method = MyComboBoxAdd; + comboBox.Invoke(method, comboBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + comboBox.Items.Add(value); + } + } + + public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; + comboBox.Invoke(method, comboBox, value); + } + else if (value >= 0 && value < comboBox.Items.Count) + { + comboBox.SelectedIndex = value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSelectedIndex method = MyListBoxSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonSelect = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.textBox_GC_FileName = new System.Windows.Forms.TextBox(); + this.comboBox_XianLuName = new System.Windows.Forms.ComboBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + base.SuspendLayout(); + this.buttonCancel.Location = new System.Drawing.Point(267, 184); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(108, 28); + this.buttonCancel.TabIndex = 4; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonSelect.Location = new System.Drawing.Point(326, 134); + this.buttonSelect.Name = "buttonSelect"; + this.buttonSelect.Size = new System.Drawing.Size(49, 28); + this.buttonSelect.TabIndex = 2; + this.buttonSelect.Text = "选择"; + this.buttonSelect.UseVisualStyleBackColor = true; + this.buttonSelect.Click += new System.EventHandler(buttonSelect_Click); + this.buttonOK.Location = new System.Drawing.Point(132, 184); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(108, 28); + this.buttonOK.TabIndex = 3; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.textBox_GC_FileName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_GC_FileName.Location = new System.Drawing.Point(19, 136); + this.textBox_GC_FileName.Name = "textBox_GC_FileName"; + this.textBox_GC_FileName.Size = new System.Drawing.Size(290, 26); + this.textBox_GC_FileName.TabIndex = 1; + this.textBox_GC_FileName.Leave += new System.EventHandler(textBox_GC_FileName_Leave); + this.comboBox_XianLuName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_XianLuName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_XianLuName.FormattingEnabled = true; + this.comboBox_XianLuName.Location = new System.Drawing.Point(19, 43); + this.comboBox_XianLuName.Name = "comboBox_XianLuName"; + this.comboBox_XianLuName.Size = new System.Drawing.Size(356, 20); + this.comboBox_XianLuName.TabIndex = 0; + this.comboBox_XianLuName.SelectedIndexChanged += new System.EventHandler(comboBox_XianLuName_SelectedIndexChanged); + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label2.Location = new System.Drawing.Point(19, 104); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(104, 16); + this.label2.TabIndex = 57; + this.label2.Text = "高程数据文件"; + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(19, 18); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(72, 16); + this.label1.TabIndex = 58; + this.label1.Text = "线路名称"; + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(394, 231); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonSelect); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.textBox_GC_FileName); + base.Controls.Add(this.comboBox_XianLuName); + base.Controls.Add(this.label2); + base.Controls.Add(this.label1); + base.Name = "FormDiMianQingJiao"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormDiMianQingJiao"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormDiMianQingJiao_FormClosing); + base.Load += new System.EventHandler(FormDiMianQingJiao_Load); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/FormDiShanMiDu.cs b/LP/FormDiShanMiDu.cs new file mode 100644 index 0000000..ff521a5 --- /dev/null +++ b/LP/FormDiShanMiDu.cs @@ -0,0 +1,1070 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.Drawing; +using System.IO; +using System.Text; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormDiShanMiDu : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateComboBoxItemsClear(ComboBox comboBox); + + private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); + + private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public XianLuData mXianLuData = null; + + public TaskData mTaskData = null; + + private int mXianLuID = 0; + + public string mNameXianLu = ""; + + private string mNameTask = ""; + + public int mIndexControl_XianLuName = -1; + + public int mIndex_ListXianLuData = -1; + + public string[] mFileCurrentArr = null; + + public string mFileName = ""; + + private string mYanXian_QuYu = ""; + + public int mIndexControl_YanXian_QuYu = -1; + + private bool mAfterInit = false; + + private bool mReady_XianLuName = false; + + private bool mReady_CurrentFile = false; + + private bool mReady_YanXian_QuYu = false; + + private bool mBusy_ButtonOK = false; + + private string mThisImageFileName = ""; + + private string mTargetImageFileName = ""; + + private string mPythonEXE_FileName = ""; + + private IContainer components = null; + + private Button buttonCancel; + + private Button buttonSelect; + + private Button buttonOK; + + private TextBox textBox_DS_FileName; + + private ComboBox comboBox_XianLuName; + + private Label label2; + + private Label label1; + + private Label label3; + + private ComboBox comboBox_YanXian_QuYu; + + private Label label4; + + private TextBox textBox_NumberYears; + + private PictureBox pictureBox1; + + private Button buttonShow; + + public string YanXian_QuYu + { + get + { + return mYanXian_QuYu; + } + set + { + mYanXian_QuYu = value; + mNameTask = "地闪密度-" + mYanXian_QuYu; + } + } + + public bool Ready_XianLuName + { + get + { + return mReady_XianLuName; + } + set + { + mReady_XianLuName = value; + } + } + + public bool Ready_CurrentFile + { + get + { + return mReady_CurrentFile; + } + set + { + mReady_CurrentFile = value; + } + } + + public bool Ready_YanXian_QuYu + { + get + { + return mReady_YanXian_QuYu; + } + set + { + mReady_YanXian_QuYu = value; + } + } + + public bool Busy_ButtonOK + { + get + { + return mBusy_ButtonOK; + } + set + { + mBusy_ButtonOK = value; + MyButtonEnabled(buttonCancel, !value); + MyButtonEnabled(buttonSelect, !value); + MyButtonEnabled(buttonOK, !value); + MyButtonEnabled(buttonShow, !value); + } + } + + public FormDiShanMiDu() + { + InitializeComponent(); + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + if (mTaskData == null) + { + mTaskData = new TaskData(); + } + mTitle = "地闪密度计算绘制"; + mIndexControl_XianLuName = -1; + mIndex_ListXianLuData = -1; + mIndexControl_YanXian_QuYu = -1; + } + + private void FormDiShanMiDu_Load(object sender, EventArgs e) + { + mAfterInit = false; + Busy_ButtonOK = false; + MyFormSetTitle(this, ""); + bool flag = (Ready_XianLuName = false); + bool ready_YanXian_QuYu = (Ready_CurrentFile = flag); + Ready_YanXian_QuYu = ready_YanXian_QuYu; + base.DialogResult = DialogResult.None; + MyInput_TaskData(); + MyInput_List_XianLuData(); + bool visible = false; + textBox_NumberYears.Visible = visible; + textBox_DS_FileName.Visible = visible; + buttonSelect.Visible = visible; + comboBox_YanXian_QuYu.Visible = visible; + label2.Visible = visible; + label3.Visible = visible; + label4.Visible = visible; + mAfterInit = true; + } + + private void FormDiShanMiDu_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_TaskData() + { + mTaskData.copyFrom_TaskData(desktop.mDlg_CanShuJiSuan.mtData); + } + + public void MyOutput_TaskData() + { + desktop.mDlg_CanShuJiSuan.mtData.copyFrom_TaskData(mTaskData); + } + + public void MyInput_List_XianLuData() + { + MyComboBoxItemsClear(comboBox_XianLuName); + if (desktop.mXL == null || desktop.mXL.mListXianLuData == null) + { + return; + } + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + MyComboBoxAdd(comboBox_XianLuName, desktop.mXL.mListXianLuData[i].mName_XianLu); + } + if (mIndexControl_XianLuName < 0) + { + mIndexControl_XianLuName = 0; + } + if (mIndexControl_XianLuName >= 0 && mIndexControl_XianLuName < comboBox_XianLuName.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_XianLuName, mIndexControl_XianLuName); + mNameXianLu = comboBox_XianLuName.SelectedItem.ToString(); + for (int j = 0; j < desktop.mXL.mListXianLuData.Count; j++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[j].mName_XianLu)) + { + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[j]); + mXianLuID = mXianLuData.mID_XianLu; + break; + } + } + Ready_XianLuName = true; + } + else + { + mNameXianLu = ""; + mXianLuID = 0; + Ready_XianLuName = false; + } + MyComboBoxItemsClear(comboBox_YanXian_QuYu); + MyComboBoxAdd(comboBox_YanXian_QuYu, "沿线"); + if (mIndexControl_YanXian_QuYu < 0) + { + mIndexControl_YanXian_QuYu = 0; + } + if (mIndexControl_YanXian_QuYu >= 0 && mIndexControl_YanXian_QuYu < comboBox_YanXian_QuYu.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_YanXian_QuYu, mIndexControl_YanXian_QuYu); + YanXian_QuYu = comboBox_YanXian_QuYu.SelectedItem.ToString().Trim(); + Ready_YanXian_QuYu = true; + } + string text = textBox_DS_FileName.Text.Trim(); + string[] separator = new string[4] { "\r", "\n", " ", ";" }; + string[] array = null; + if (string.IsNullOrEmpty(text)) + { + return; + } + array = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + bool flag = true; + for (int k = 0; k < array.Length; k++) + { + if (!File.Exists(array[k])) + { + flag = false; + break; + } + } + if (array.Length != 0) + { + mFileCurrentArr = new string[array.Length]; + for (int l = 0; l < array.Length; l++) + { + mFileCurrentArr[l] = array[l].Trim(); + } + } + if (flag) + { + Ready_CurrentFile = true; + } + } + + public void Destroy() + { + if (mXianLuData != null) + { + mXianLuData.Destroy(); + } + mXianLuData = null; + if (mTaskData != null) + { + mTaskData.Destroy(); + } + mTaskData = null; + if (mFileCurrentArr != null) + { + for (int i = 0; i < mFileCurrentArr.Length; i++) + { + mFileCurrentArr[i] = ""; + } + mFileCurrentArr = null; + } + } + + private void MyRefresh_TaskData() + { + mTaskData.mID_Task = TaskData.mNextID_static; + mTaskData.mTypeCode_Task = 12; + mTaskData.mName_Task = mNameTask; + mTaskData.mXianLuID_Task = mXianLuData.mID_XianLu; + mTaskData.mXianLuName_Task = mXianLuData.mName_XianLu; + mTaskData.mXianLuJLZL_Task = mXianLuData.mJLZL_XianLu; + mTaskData.mDYDJ_Task = mXianLuData.mDYDJ_XianLu; + mTaskData.mPrepare12_DiShanMiDu = 0; + mXianLuData.mPrepare2_DiShanMiDu = 0; + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (mXianLuID == desktop.mXL.mListXianLuData[i].mID_XianLu) + { + desktop.mXL.mListXianLuData[i].mPrepare2_DiShanMiDu = 0; + break; + } + } + string text = ""; + int num = 0; + for (int j = 0; j < mFileCurrentArr.Length; j++) + { + if (!string.IsNullOrEmpty(mFileCurrentArr[j])) + { + if (num > 0) + { + text += " "; + } + text += mFileCurrentArr[j]; + num++; + } + } + mTaskData.mFName_Prepare = text; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + if (Busy_ButtonOK) + { + return; + } + Busy_ButtonOK = true; + if (!Ready_XianLuName) + { + if (comboBox_XianLuName.Items.Count > 0) + { + MyFormSetTitle(this, "请选择线路,然后点击按钮“" + buttonOK.Text + "”。"); + } + if (comboBox_XianLuName.Items.Count == 0) + { + MyFormSetTitle(this, "缺少线路数据。 请点击按钮“" + buttonCancel.Text + "”,退出对话框。"); + } + comboBox_XianLuName.Focus(); + Busy_ButtonOK = false; + } + else + { + Thread thread = new Thread(MyCompute); + thread.Start(); + } + } + + private void MyCompute() + { + if (mIndex_ListXianLuData < 0 || mIndex_ListXianLuData >= desktop.mXL.mListXianLuData.Count) + { + MyFormSetTitle(this, "线路无效"); + Busy_ButtonOK = false; + return; + } + if (mIndex_ListXianLuData >= desktop.mXL.mListGanTas.Count || desktop.mXL.mListGanTas[mIndex_ListXianLuData] == null || desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData == null) + { + MyFormSetTitle(this, "线路杆塔无效"); + Busy_ButtonOK = false; + return; + } + int num = 0; + try + { + MyFormSetTitle(this, "地闪密度进度 = 0/6"); + string text = Application.StartupPath + "\\地闪密度文件夹\\"; + if (!Directory.Exists(text)) + { + Directory.CreateDirectory(text); + } + mThisImageFileName = text + "lightning_density_map.png"; + string text2 = Application.StartupPath + "\\地闪密度图形\\"; + if (!Directory.Exists(text2)) + { + Directory.CreateDirectory(text2); + } + mTargetImageFileName = text2 + desktop.mXL.mListXianLuData[mIndex_ListXianLuData].mName_XianLu + ".png"; + if (File.Exists(mTargetImageFileName)) + { + File.Delete(mTargetImageFileName); + } + int num2 = 0; + int num3 = 0; + XianLuData xianLuData = desktop.mXL.mListXianLuData[mIndex_ListXianLuData]; + GanTaData ganTaData = desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData[0]; + if (xianLuData.mJLZL_XianLu.Equals("直流")) + { + num2 = 3; + } + else + { + if (!string.IsNullOrEmpty(ganTaData.mTaXing_GanTa)) + { + num3 = ((ganTaData.mTaXing_GanTa.IndexOf("35") >= 0) ? 35 : ((ganTaData.mTaXing_GanTa.IndexOf("66") >= 0) ? 66 : ((ganTaData.mTaXing_GanTa.IndexOf("110") >= 0) ? 110 : ((ganTaData.mTaXing_GanTa.IndexOf("220") >= 0) ? 220 : ((ganTaData.mTaXing_GanTa.IndexOf("330") >= 0) ? 330 : ((ganTaData.mTaXing_GanTa.IndexOf("500") >= 0) ? 500 : ((ganTaData.mTaXing_GanTa.IndexOf("750") >= 0) ? 750 : ((ganTaData.mTaXing_GanTa.IndexOf("800") >= 0) ? 800 : ((ganTaData.mTaXing_GanTa.IndexOf("1000") >= 0) ? 1000 : 0))))))))); + switch (num3) + { + case 35: + case 66: + case 110: + num2 = 1; + break; + case 220: + case 330: + num2 = 2; + break; + case 500: + case 750: + case 800: + case 1000: + num2 = 3; + break; + } + } + if (num3 == 0 || num2 == 0) + { + num3 = xianLuData.mDYDJ_XianLu; + switch (num3) + { + case 35: + case 66: + case 110: + num2 = 1; + break; + case 220: + case 330: + num2 = 2; + break; + case 500: + case 750: + case 800: + case 1000: + num2 = 3; + break; + } + } + } + if (num2 < 1 || num2 > 3) + { + num2 = 1; + num3 = 110; + } + int num4 = 0; + num4 = num2 switch + { + 1 => 2, + 2 => 3, + 3 => 5, + _ => 2, + }; + MyFormSetTitle(this, "地闪密度进度 = 1/6"); + string text3 = ""; + text3 = text + "杆塔坐标.csv"; + using (StreamWriter streamWriter = new StreamWriter(text3, append: false, Encoding.Default)) + { + streamWriter.WriteLine("电压等级,杆塔经度,杆塔纬度"); + for (int i = 0; i < desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; i++) + { + ganTaData = desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData[i]; + streamWriter.WriteLine($"{num3},{ganTaData.mJingDu_GanTa},{ganTaData.mWeiDu_GanTa}"); + } + } + MyFormSetTitle(this, "地闪密度进度 = 2/6"); + mPythonEXE_FileName = $"banjin{num2}.exe"; + ProcessStartInfo processStartInfo = null; + Process process = null; + int num5 = 0; + processStartInfo = new ProcessStartInfo(); + processStartInfo.FileName = mPythonEXE_FileName; + processStartInfo.Arguments = ""; + processStartInfo.WorkingDirectory = text; + processStartInfo.UseShellExecute = true; + processStartInfo.CreateNoWindow = true; + processStartInfo.WindowStyle = ProcessWindowStyle.Hidden; + try + { + process = Process.Start(processStartInfo); + process.WaitForExit(); + } + catch (Win32Exception) + { + } + catch (InvalidOperationException) + { + } + num5 = process.ExitCode; + process = null; + processStartInfo = null; + if (num5 != 0) + { + MyFormSetTitle(this, $"程序banjin{num2}.exe返回值无效"); + Busy_ButtonOK = false; + return; + } + MyFormSetTitle(this, "地闪密度进度 = 4/6"); + text3 = text + "区域雷击统计_简版.csv"; + try + { + if (File.Exists(mThisImageFileName)) + { + File.Copy(mThisImageFileName, mTargetImageFileName, overwrite: true); + } + } + catch (Exception ex3) + { + MyLog.AddLog("FormDiShanMiDu.cs MyCompute() 图片处理异常 e=" + ex3.Message); + } + double num6 = 0.0; + string text4 = ""; + string[] separator = new string[3] { "\r", "\n", "," }; + string[] array = null; + List list = null; + if (list == null) + { + list = new List(); + } + list.Clear(); + num = 0; + using (FileStream fileStream = new FileStream(text3, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader = new StreamReader(fileStream, Encoding.UTF8)) + { + while (!streamReader.EndOfStream) + { + text4 = streamReader.ReadLine().Trim(); + if (string.IsNullOrEmpty(text4)) + { + continue; + } + array = text4.Split(separator, StringSplitOptions.RemoveEmptyEntries); + if (array.Length < 7) + { + continue; + } + if (num == 0) + { + num++; + continue; + } + try + { + num6 = Convert.ToDouble(array[6].Trim()); + } + catch (Exception) + { + num6 = 0.0; + } + list.Add(num6); + num++; + } + streamReader.Close(); + } + fileStream.Close(); + } + MyFormSetTitle(this, "地闪密度进度 = 5/6"); + if (list.Count == 0) + { + Busy_ButtonOK = false; + return; + } + num = 0; + for (int j = 0; j < desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; j++) + { + ganTaData = desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData[j]; + if (ganTaData != null) + { + if (j / num4 < list.Count) + { + ganTaData.mDSMD_GanTa = list[j / num4]; + num++; + } + else if (j / num4 >= list.Count) + { + ganTaData.mDSMD_GanTa = list[list.Count - 1]; + num++; + } + } + } + MyFormSetTitle(this, "地闪密度进度 = 6/6"); + list?.Clear(); + list = null; + } + catch (Exception ex5) + { + MyLog.AddLog("FormDiShanMiDu.cs MyCompute() ex=" + ex5.Message); + } + MyFormSetTitle(this, $"完成地闪密度计算 杆塔数={desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count} 设置地闪密度数目={num}"); + Busy_ButtonOK = false; + } + + private void MyThreadKill() + { + Thread.Sleep(10); + string value = Application.StartupPath + "\\地闪密度文件夹\\"; + Process[] processes = Process.GetProcesses(); + foreach (Process process in processes) + { + if (process.ProcessName.Trim().IndexOf("Figure 1") >= 0 && process.StartInfo.WorkingDirectory.StartsWith(value)) + { + process.Kill(); + } + } + Process[] processes2 = Process.GetProcesses(); + foreach (Process process2 in processes2) + { + if (process2.MainWindowTitle.Trim().IndexOf("Figure 1") >= 0 && process2.StartInfo.WorkingDirectory.StartsWith(value) && !process2.CloseMainWindow()) + { + process2.Kill(); + } + } + Process[] processes3 = Process.GetProcesses(); + foreach (Process process3 in processes3) + { + if (process3.ProcessName.Trim().IndexOf(mPythonEXE_FileName ?? "") >= 0 && process3.StartInfo.WorkingDirectory.StartsWith(value)) + { + process3.Kill(); + } + } + Process[] processes4 = Process.GetProcesses(); + foreach (Process process4 in processes4) + { + if (process4.MainWindowTitle.Trim().IndexOf(mPythonEXE_FileName ?? "") >= 0 && process4.StartInfo.WorkingDirectory.StartsWith(value) && !process4.CloseMainWindow()) + { + process4.Kill(); + } + } + } + + private void buttonShow_Click(object sender, EventArgs e) + { + if (!string.IsNullOrEmpty(mTargetImageFileName) && File.Exists(mTargetImageFileName)) + { + Image image = null; + image = Image.FromFile(mTargetImageFileName); + if (image != null) + { + pictureBox1.BackgroundImage = image; + } + } + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + MyButtonEnabled(buttonCancel, value: false); + pictureBox1.BackgroundImage = null; + Thread thread = new Thread(MyCancel); + thread.Start(); + } + + private void MyCancel() + { + MyFormSetTitle(this, "取消—"); + MyFormSetTitle(this, "取消———"); + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + + private void buttonSelect_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + openFileDialog.InitialDirectory = Application.StartupPath; + openFileDialog.Filter = "所有文件*.*|*.*|Excel文件(*.csv)|*.csv|Txt文件(*.txt)|*.txt"; + openFileDialog.FilterIndex = 2; + openFileDialog.Multiselect = true; + if (openFileDialog.ShowDialog(this) == DialogResult.OK) + { + mFileName = openFileDialog.FileName; + Ready_CurrentFile = true; + } + } + + private void comboBox_XianLuName_SelectedIndexChanged(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + int selectedIndex = ((ComboBox)sender).SelectedIndex; + mIndexControl_XianLuName = selectedIndex; + mNameXianLu = ((ComboBox)sender).SelectedItem.ToString().Trim(); + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[i].mName_XianLu)) + { + mIndex_ListXianLuData = i; + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[i]); + mXianLuID = mXianLuData.mID_XianLu; + Ready_XianLuName = true; + break; + } + } + } + + private void comboBox_YanXian_QuYu_SelectedIndexChanged(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + int selectedIndex = ((ComboBox)sender).SelectedIndex; + mIndexControl_YanXian_QuYu = selectedIndex; + YanXian_QuYu = ((ComboBox)sender).SelectedItem.ToString().Trim(); + for (int i = 0; i < comboBox_YanXian_QuYu.Items.Count; i++) + { + if (YanXian_QuYu.Equals(comboBox_YanXian_QuYu.Items[i].ToString())) + { + Ready_YanXian_QuYu = true; + break; + } + } + } + + private void textBox_DS_FileName_Leave(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + Ready_CurrentFile = false; + string text = textBox_DS_FileName.Text.Trim(); + string[] separator = new string[4] { "\r", "\n", " ", ";" }; + if (string.IsNullOrEmpty(text)) + { + return; + } + string[] array = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + bool ready_CurrentFile = true; + for (int i = 0; i < array.Length; i++) + { + if (!File.Exists(array[i])) + { + ready_CurrentFile = false; + break; + } + } + if (array.Length != 0) + { + mFileCurrentArr = new string[array.Length]; + for (int j = 0; j < array.Length; j++) + { + mFileCurrentArr[j] = array[j].Trim(); + } + } + Ready_CurrentFile = ready_CurrentFile; + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyComboBoxItemsClear(ComboBox comboBox) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxItemsClear method = MyComboBoxItemsClear; + comboBox.Invoke(method, comboBox); + } + else + { + comboBox.Items.Clear(); + } + } + + public void MyComboBoxAdd(ComboBox comboBox, string value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxAdd method = MyComboBoxAdd; + comboBox.Invoke(method, comboBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + comboBox.Items.Add(value); + } + } + + public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; + comboBox.Invoke(method, comboBox, value); + } + else if (value >= 0 && value < comboBox.Items.Count) + { + comboBox.SelectedIndex = value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSelectedIndex method = MyListBoxSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonSelect = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.textBox_DS_FileName = new System.Windows.Forms.TextBox(); + this.comboBox_XianLuName = new System.Windows.Forms.ComboBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.comboBox_YanXian_QuYu = new System.Windows.Forms.ComboBox(); + this.label4 = new System.Windows.Forms.Label(); + this.textBox_NumberYears = new System.Windows.Forms.TextBox(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.buttonShow = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)this.pictureBox1).BeginInit(); + base.SuspendLayout(); + this.buttonCancel.Location = new System.Drawing.Point(448, 410); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(108, 28); + this.buttonCancel.TabIndex = 63; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonSelect.Location = new System.Drawing.Point(325, 178); + this.buttonSelect.Name = "buttonSelect"; + this.buttonSelect.Size = new System.Drawing.Size(49, 28); + this.buttonSelect.TabIndex = 61; + this.buttonSelect.Text = "选择"; + this.buttonSelect.UseVisualStyleBackColor = true; + this.buttonSelect.Click += new System.EventHandler(buttonSelect_Click); + this.buttonOK.Location = new System.Drawing.Point(18, 410); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(108, 28); + this.buttonOK.TabIndex = 62; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.textBox_DS_FileName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_DS_FileName.Location = new System.Drawing.Point(18, 179); + this.textBox_DS_FileName.Name = "textBox_DS_FileName"; + this.textBox_DS_FileName.Size = new System.Drawing.Size(290, 26); + this.textBox_DS_FileName.TabIndex = 60; + this.textBox_DS_FileName.Leave += new System.EventHandler(textBox_DS_FileName_Leave); + this.comboBox_XianLuName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_XianLuName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_XianLuName.FormattingEnabled = true; + this.comboBox_XianLuName.Location = new System.Drawing.Point(12, 30); + this.comboBox_XianLuName.Name = "comboBox_XianLuName"; + this.comboBox_XianLuName.Size = new System.Drawing.Size(544, 20); + this.comboBox_XianLuName.TabIndex = 59; + this.comboBox_XianLuName.SelectedIndexChanged += new System.EventHandler(comboBox_XianLuName_SelectedIndexChanged); + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label2.Location = new System.Drawing.Point(15, 150); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(104, 16); + this.label2.TabIndex = 57; + this.label2.Text = "雷电地闪数据"; + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(15, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(72, 16); + this.label1.TabIndex = 58; + this.label1.Text = "线路名称"; + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label3.Location = new System.Drawing.Point(18, 208); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(72, 16); + this.label3.TabIndex = 58; + this.label3.Text = "计算类型"; + this.comboBox_YanXian_QuYu.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_YanXian_QuYu.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_YanXian_QuYu.FormattingEnabled = true; + this.comboBox_YanXian_QuYu.Location = new System.Drawing.Point(18, 233); + this.comboBox_YanXian_QuYu.Name = "comboBox_YanXian_QuYu"; + this.comboBox_YanXian_QuYu.Size = new System.Drawing.Size(356, 20); + this.comboBox_YanXian_QuYu.TabIndex = 59; + this.comboBox_YanXian_QuYu.SelectedIndexChanged += new System.EventHandler(comboBox_YanXian_QuYu_SelectedIndexChanged); + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label4.Location = new System.Drawing.Point(18, 81); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(104, 16); + this.label4.TabIndex = 57; + this.label4.Text = "地闪数据年份"; + this.textBox_NumberYears.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_NumberYears.Location = new System.Drawing.Point(133, 81); + this.textBox_NumberYears.Name = "textBox_NumberYears"; + this.textBox_NumberYears.Size = new System.Drawing.Size(108, 26); + this.textBox_NumberYears.TabIndex = 60; + this.textBox_NumberYears.Leave += new System.EventHandler(textBox_DS_FileName_Leave); + this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.pictureBox1.Location = new System.Drawing.Point(12, 56); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(544, 348); + this.pictureBox1.TabIndex = 64; + this.pictureBox1.TabStop = false; + this.buttonShow.Location = new System.Drawing.Point(237, 410); + this.buttonShow.Name = "buttonShow"; + this.buttonShow.Size = new System.Drawing.Size(108, 28); + this.buttonShow.TabIndex = 65; + this.buttonShow.Text = "显示图形"; + this.buttonShow.UseVisualStyleBackColor = true; + this.buttonShow.Click += new System.EventHandler(buttonShow_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(568, 450); + base.Controls.Add(this.buttonShow); + base.Controls.Add(this.pictureBox1); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonSelect); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.textBox_NumberYears); + base.Controls.Add(this.textBox_DS_FileName); + base.Controls.Add(this.comboBox_YanXian_QuYu); + base.Controls.Add(this.comboBox_XianLuName); + base.Controls.Add(this.label4); + base.Controls.Add(this.label2); + base.Controls.Add(this.label3); + base.Controls.Add(this.label1); + base.Name = "FormDiShanMiDu"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormDiShanMiDu"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormDiShanMiDu_FormClosing); + base.Load += new System.EventHandler(FormDiShanMiDu_Load); + ((System.ComponentModel.ISupportInitialize)this.pictureBox1).EndInit(); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/FormFangLeiGaiZao.cs b/LP/FormFangLeiGaiZao.cs new file mode 100644 index 0000000..336ceed --- /dev/null +++ b/LP/FormFangLeiGaiZao.cs @@ -0,0 +1,183 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormFangLeiGaiZao : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public TaskData mtData = null; + + private IContainer components = null; + + private Button buttonGaiZaoTuiJian; + + private Button buttonGaoFengXianYuanYin; + + private Button buttonGaiZaoTuiJian_FeiJianXian; + + public FormFangLeiGaiZao() + { + InitializeComponent(); + if (mtData == null) + { + mtData = new TaskData(); + } + mTitle = "防雷改造"; + } + + private void FormFangLeiGaiZao_Load(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + } + + private void FormFangLeiGaiZao_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_TaskData() + { + mtData.copyFrom_TaskData(desktop.mGaiZao_TaskData); + } + + public void MyOutput_TaskData() + { + desktop.mGaiZao_TaskData.copyFrom_TaskData(mtData); + } + + public void Destroy() + { + if (mtData != null) + { + mtData.Destroy(); + } + mtData = null; + mTitle = ""; + } + + private void buttonGaoFengXianYuanYin_Click(object sender, EventArgs e) + { + DialogResult dialogResult = DialogResult.None; + dialogResult = desktop.mDlg_GaoFengXianYuanYin.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + } + } + + private void MyThread_SendTaskData() + { + for (int i = 0; i < 10; i++) + { + if (desktop.mAddTaskData.mID_Task <= 0) + { + break; + } + Thread.Sleep(1000); + } + desktop.mAddTaskData.copyFrom_TaskData(mtData); + desktop.MySendForm_TaskData(desktop, desktop.mAddTaskData); + } + + private void buttonGaiZaoTuiJian_Click(object sender, EventArgs e) + { + DialogResult dialogResult = DialogResult.None; + desktop.mDlg_5CuoShiTuiJian.mb_FeiJianXian = false; + dialogResult = desktop.mDlg_5CuoShiTuiJian.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + Thread thread = new Thread(MyThread_SendTaskData); + thread.Start(); + } + } + + private void buttonGaiZaoTuiJian_FeiJianXian_Click(object sender, EventArgs e) + { + DialogResult dialogResult = DialogResult.None; + desktop.mDlg_5CuoShiTuiJian.mb_FeiJianXian = true; + dialogResult = desktop.mDlg_5CuoShiTuiJian.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + Thread thread = new Thread(MyThread_SendTaskData); + thread.Start(); + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " —— " + value; + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.buttonGaiZaoTuiJian = new System.Windows.Forms.Button(); + this.buttonGaoFengXianYuanYin = new System.Windows.Forms.Button(); + this.buttonGaiZaoTuiJian_FeiJianXian = new System.Windows.Forms.Button(); + base.SuspendLayout(); + this.buttonGaiZaoTuiJian.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonGaiZaoTuiJian.Location = new System.Drawing.Point(169, 26); + this.buttonGaiZaoTuiJian.Name = "buttonGaiZaoTuiJian"; + this.buttonGaiZaoTuiJian.Size = new System.Drawing.Size(126, 40); + this.buttonGaiZaoTuiJian.TabIndex = 1; + this.buttonGaiZaoTuiJian.Text = "改造措施推荐"; + this.buttonGaiZaoTuiJian.UseVisualStyleBackColor = true; + this.buttonGaiZaoTuiJian.Click += new System.EventHandler(buttonGaiZaoTuiJian_Click); + this.buttonGaoFengXianYuanYin.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonGaoFengXianYuanYin.Location = new System.Drawing.Point(26, 26); + this.buttonGaoFengXianYuanYin.Name = "buttonGaoFengXianYuanYin"; + this.buttonGaoFengXianYuanYin.Size = new System.Drawing.Size(126, 40); + this.buttonGaoFengXianYuanYin.TabIndex = 0; + this.buttonGaoFengXianYuanYin.Text = "高风险原因"; + this.buttonGaoFengXianYuanYin.UseVisualStyleBackColor = true; + this.buttonGaoFengXianYuanYin.Click += new System.EventHandler(buttonGaoFengXianYuanYin_Click); + this.buttonGaiZaoTuiJian_FeiJianXian.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonGaiZaoTuiJian_FeiJianXian.Location = new System.Drawing.Point(312, 26); + this.buttonGaiZaoTuiJian_FeiJianXian.Name = "buttonGaiZaoTuiJian_FeiJianXian"; + this.buttonGaiZaoTuiJian_FeiJianXian.Size = new System.Drawing.Size(183, 40); + this.buttonGaiZaoTuiJian_FeiJianXian.TabIndex = 2; + this.buttonGaiZaoTuiJian_FeiJianXian.Text = "改造措施推荐(非建线)"; + this.buttonGaiZaoTuiJian_FeiJianXian.UseVisualStyleBackColor = true; + this.buttonGaiZaoTuiJian_FeiJianXian.Click += new System.EventHandler(buttonGaiZaoTuiJian_FeiJianXian_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(524, 92); + base.Controls.Add(this.buttonGaiZaoTuiJian_FeiJianXian); + base.Controls.Add(this.buttonGaiZaoTuiJian); + base.Controls.Add(this.buttonGaoFengXianYuanYin); + base.Name = "FormFangLeiGaiZao"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormFangLeiGaiZao"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormFangLeiGaiZao_FormClosing); + base.Load += new System.EventHandler(FormFangLeiGaiZao_Load); + base.ResumeLayout(false); + } +} diff --git a/LP/FormFangLeiJiSuan.cs b/LP/FormFangLeiJiSuan.cs new file mode 100644 index 0000000..17c8cfc --- /dev/null +++ b/LP/FormFangLeiJiSuan.cs @@ -0,0 +1,160 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormFangLeiJiSuan : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public TaskData mtData = null; + + private IContainer components = null; + + private Button buttonTongTiaoJiSuan; + + private Button buttonNormal; + + public FormFangLeiJiSuan() + { + InitializeComponent(); + if (mtData == null) + { + mtData = new TaskData(); + } + mTitle = "防雷计算"; + } + + private void FormFangLeiJiSuan_Load(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + } + + private void FormFangLeiJiSuan_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_TaskData() + { + mtData.copyFrom_TaskData(desktop.mTheTaskData); + } + + public void MyOutput_TaskData() + { + desktop.mTheTaskData.copyFrom_TaskData(mtData); + } + + public void Destroy() + { + if (mtData != null) + { + mtData.Destroy(); + } + mtData = null; + mTitle = ""; + } + + private void buttonNormal_Click(object sender, EventArgs e) + { + DialogResult dialogResult = DialogResult.None; + dialogResult = desktop.mDlg_PuTongJiSuan.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + Thread thread = new Thread(MyThread_SendTaskData); + thread.Start(); + } + } + + private void MyThread_SendTaskData() + { + for (int i = 0; i < 10; i++) + { + if (desktop.mAddTaskData.mID_Task <= 0) + { + break; + } + Thread.Sleep(1000); + } + desktop.mAddTaskData.copyFrom_TaskData(mtData); + desktop.MySendForm_TaskData(desktop, desktop.mAddTaskData); + } + + private void buttonTongTiaoJiSuan_Click(object sender, EventArgs e) + { + DialogResult dialogResult = DialogResult.None; + dialogResult = desktop.mDlg_TongTiaoJiSuan.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + Thread thread = new Thread(MyThread_SendTaskData); + thread.Start(); + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " —— " + value; + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.buttonTongTiaoJiSuan = new System.Windows.Forms.Button(); + this.buttonNormal = new System.Windows.Forms.Button(); + base.SuspendLayout(); + this.buttonTongTiaoJiSuan.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonTongTiaoJiSuan.Location = new System.Drawing.Point(168, 26); + this.buttonTongTiaoJiSuan.Name = "buttonGaiZaoTuiJian"; + this.buttonTongTiaoJiSuan.Size = new System.Drawing.Size(126, 40); + this.buttonTongTiaoJiSuan.TabIndex = 1; + this.buttonTongTiaoJiSuan.Text = "同跳计算"; + this.buttonTongTiaoJiSuan.UseVisualStyleBackColor = true; + this.buttonTongTiaoJiSuan.Click += new System.EventHandler(buttonTongTiaoJiSuan_Click); + this.buttonNormal.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonNormal.Location = new System.Drawing.Point(25, 26); + this.buttonNormal.Name = "buttonGaoFengXianYuanYin"; + this.buttonNormal.Size = new System.Drawing.Size(126, 40); + this.buttonNormal.TabIndex = 0; + this.buttonNormal.Text = "普通计算"; + this.buttonNormal.UseVisualStyleBackColor = true; + this.buttonNormal.Click += new System.EventHandler(buttonNormal_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(321, 92); + base.Controls.Add(this.buttonTongTiaoJiSuan); + base.Controls.Add(this.buttonNormal); + base.Name = "FormFangLeiJiSuan"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormFangLeiJiSuan"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormFangLeiJiSuan_FormClosing); + base.Load += new System.EventHandler(FormFangLeiJiSuan_Load); + base.ResumeLayout(false); + } +} diff --git a/LP/FormGanTa0zhiliu.cs b/LP/FormGanTa0zhiliu.cs new file mode 100644 index 0000000..0d7e798 --- /dev/null +++ b/LP/FormGanTa0zhiliu.cs @@ -0,0 +1,968 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormGanTa0zhiliu : Form +{ + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateListBoxSetIndex(ListBox listBox, string value); + + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public GanTaData mGanTaData = null; + + private IContainer components = null; + + private Label label49; + + private TextBox textBox_TaXing_GanTa; + + private ListBox listBox_DiXing_GanTa; + + private TextBox textBox_BLQ_C_GanTa; + + private TextBox textBox_BLQ_A_GanTa; + + private Label label6; + + private TextBox textBox_JYZCD_GanTa; + + private Label label11; + + private TextBox textBox_BLXGD_GanTa; + + private Label label10; + + private TextBox textBox_BLZJ_R_GanTa; + + private Label label9; + + private TextBox textBox_BLZJ_L_GanTa; + + private Label label8; + + private TextBox textBox_HaiBa_GanTa; + + private Label label15; + + private TextBox textBox_DaHao_GanTa; + + private Label label14; + + private TextBox textBox_XiaoHao_GanTa; + + private Label label13; + + private TextBox textBox_WeiDu_GanTa; + + private Label label4; + + private TextBox textBox_DMQJ2_GanTa; + + private Label label17; + + private TextBox textBox_DMQJ1_GanTa; + + private Label label16; + + private TextBox textBox_JingDu_GanTa; + + private Label label3; + + private TextBox textBox_Model_GanTa; + + private Label label2; + + private TextBox textBox_Current_b_GanTa; + + private TextBox textBox_Current_a_GanTa; + + private Label label48; + + private Label label47; + + private TextBox textBox_1GD_Xia_GanTa; + + private Label label22; + + private TextBox textBox_1ZJ_Xia_GanTa; + + private TextBox textBox_1GD_Shang_GanTa; + + private Label label20; + + private Label label21; + + private TextBox textBox_1ZJ_Shang_GanTa; + + private Label label18; + + private TextBox textBox_ID_GanTa; + + private Label label1; + + private TextBox textBox_DSMD_GanTa; + + private Label label46; + + private TextBox textBox_RaoJiFanJi_GanTa; + + private Label label45; + + private TextBox textBox_ZXNZ_GanTa; + + private Label label44; + + private TextBox textBox_HuGao_GanTa; + + private Label label12; + + private TextBox textBox_JDDZ_GanTa; + + private Label label42; + + private Label label7; + + private Button buttonCancel; + + private Button buttonOK; + + public FormGanTa0zhiliu() + { + InitializeComponent(); + } + + private void FormGanTa0zhiliu_Load(object sender, EventArgs e) + { + mTitle = "编辑杆塔属性"; + MyFormSetTitle(this, ""); + textBox_ID_GanTa.ReadOnly = true; + if (mGanTaData == null) + { + mGanTaData = new GanTaData(); + } + MyInput_GanTaData(); + } + + public void MyInput_GanTaData() + { + mGanTaData.CopyFrom_GanTaData(desktop.mTheGanTaData); + MyTextBoxSetText(textBox_ID_GanTa, mGanTaData.mID_GanTa ?? ""); + MyTextBoxSetText(textBox_Model_GanTa, mGanTaData.mModel_GanTa ?? ""); + MyTextBoxSetText(textBox_JingDu_GanTa, $"{mGanTaData.mJingDu_GanTa}"); + MyTextBoxSetText(textBox_WeiDu_GanTa, $"{mGanTaData.mWeiDu_GanTa}"); + MyTextBoxSetText(textBox_XiaoHao_GanTa, $"{mGanTaData.mXiaoHao_GanTa}"); + MyTextBoxSetText(textBox_DaHao_GanTa, $"{mGanTaData.mDaHao_GanTa}"); + MyTextBoxSetText(textBox_HaiBa_GanTa, $"{mGanTaData.mHaiBa_GanTa}"); + MyTextBoxSetText(textBox_DMQJ1_GanTa, $"{mGanTaData.mDMQJ1_GanTa}"); + MyTextBoxSetText(textBox_DMQJ2_GanTa, $"{mGanTaData.mDMQJ2_GanTa}"); + MyTextBoxSetText(textBox_BLZJ_L_GanTa, $"{mGanTaData.mBLZJ_L_GanTa}"); + MyTextBoxSetText(textBox_BLZJ_R_GanTa, $"{mGanTaData.mBLZJ_R_GanTa}"); + MyTextBoxSetText(textBox_BLXGD_GanTa, $"{mGanTaData.mBLXGD_GanTa}"); + MyTextBoxSetText(textBox_JYZCD_GanTa, $"{mGanTaData.mJYZCD_GanTa}"); + MyTextBoxSetText(textBox_JDDZ_GanTa, $"{mGanTaData.mJDDZ_GanTa}"); + MyTextBoxSetText(textBox_HuGao_GanTa, $"{mGanTaData.mHuGao_GanTa}"); + MyTextBoxSetText(textBox_BLQ_A_GanTa, mGanTaData.mBLQ_A_GanTa ?? ""); + MyTextBoxSetText(textBox_BLQ_C_GanTa, mGanTaData.mBLQ_C_GanTa ?? ""); + MyTextBoxSetText(textBox_1ZJ_Shang_GanTa, $"{mGanTaData.m1ZJ_Shang_GanTa}"); + MyTextBoxSetText(textBox_1ZJ_Xia_GanTa, $"{mGanTaData.m1ZJ_Xia_GanTa}"); + MyTextBoxSetText(textBox_1GD_Shang_GanTa, $"{mGanTaData.m1GD_Shang_GanTa}"); + MyTextBoxSetText(textBox_1GD_Xia_GanTa, $"{mGanTaData.m1GD_Xia_GanTa}"); + MyListBoxSetIndex(listBox_DiXing_GanTa, mGanTaData.mDiXing_GanTa ?? ""); + MyTextBoxSetText(textBox_ZXNZ_GanTa, mGanTaData.mZXNZ_GanTa ?? ""); + MyTextBoxSetText(textBox_RaoJiFanJi_GanTa, $"{mGanTaData.mRaoJiFanJi_GanTa}"); + MyTextBoxSetText(textBox_DSMD_GanTa, $"{mGanTaData.mDSMD_GanTa}"); + MyTextBoxSetText(textBox_Current_a_GanTa, $"{mGanTaData.mCurrent_a_GanTa}"); + MyTextBoxSetText(textBox_Current_b_GanTa, $"{mGanTaData.mCurrent_b_GanTa}"); + MyTextBoxSetText(textBox_TaXing_GanTa, mGanTaData.mTaXing_GanTa ?? ""); + } + + public void Destroy() + { + mTitle = ""; + mGanTaData = null; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (!MyInputIsRight()) + { + MyFormSetTitle(this, "数据错误!!! 先修订,然后点击“确定”"); + return; + } + Thread thread = new Thread(MyThreadOK); + thread.Start(); + } + + private void MyThreadOK() + { + try + { + desktop.mTheGanTaData.CopyFrom_GanTaData(mGanTaData); + base.DialogResult = DialogResult.OK; + MyFormHide(this); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTa0zhiliu.cs MyThreadOK() Exception=" + ex.Message); + } + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + Thread thread = new Thread(MyThreadCancel); + thread.Start(); + } + + private void MyThreadCancel() + { + try + { + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTa0zhiliu.cs MyThreadCancel() Exception=" + ex.Message); + } + } + + private bool MyInputIsRight() + { + bool result = false; + int num = 0; + double num2 = 0.0; + mGanTaData.mID_GanTa = textBox_ID_GanTa.Text.Trim(); + mGanTaData.mModel_GanTa = textBox_Model_GanTa.Text.Trim(); + try + { + num2 = Convert.ToDouble(textBox_JingDu_GanTa.Text.Trim()); + mGanTaData.mJingDu_GanTa = num2; + } + catch (Exception) + { + textBox_JingDu_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_WeiDu_GanTa.Text.Trim()); + mGanTaData.mWeiDu_GanTa = num2; + } + catch (Exception) + { + textBox_WeiDu_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_XiaoHao_GanTa.Text.Trim()); + mGanTaData.mXiaoHao_GanTa = num2; + } + catch (Exception) + { + textBox_XiaoHao_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DaHao_GanTa.Text.Trim()); + mGanTaData.mDaHao_GanTa = num2; + } + catch (Exception) + { + textBox_DaHao_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_HaiBa_GanTa.Text.Trim()); + mGanTaData.mHaiBa_GanTa = num2; + } + catch (Exception) + { + textBox_HaiBa_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DMQJ1_GanTa.Text.Trim()); + mGanTaData.mDMQJ1_GanTa = num2; + } + catch (Exception) + { + textBox_DMQJ1_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DMQJ2_GanTa.Text.Trim()); + mGanTaData.mDMQJ2_GanTa = num2; + } + catch (Exception) + { + textBox_DMQJ2_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLZJ_L_GanTa.Text.Trim()); + mGanTaData.mBLZJ_L_GanTa = num2; + } + catch (Exception) + { + textBox_BLZJ_L_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLZJ_R_GanTa.Text.Trim()); + mGanTaData.mBLZJ_R_GanTa = num2; + } + catch (Exception) + { + textBox_BLZJ_R_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLXGD_GanTa.Text.Trim()); + mGanTaData.mBLXGD_GanTa = num2; + } + catch (Exception) + { + textBox_BLXGD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_JYZCD_GanTa.Text.Trim()); + mGanTaData.mJYZCD_GanTa = num2; + } + catch (Exception) + { + textBox_JYZCD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_JDDZ_GanTa.Text.Trim()); + mGanTaData.mJDDZ_GanTa = num2; + } + catch (Exception) + { + textBox_JDDZ_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_HuGao_GanTa.Text.Trim()); + mGanTaData.mHuGao_GanTa = num2; + } + catch (Exception) + { + textBox_HuGao_GanTa.Focus(); + return result; + } + mGanTaData.mBLQ_A_GanTa = textBox_BLQ_A_GanTa.Text.Trim(); + mGanTaData.mBLQ_C_GanTa = textBox_BLQ_C_GanTa.Text.Trim(); + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Shang_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Xia_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Shang_GanTa.Text.Trim()); + mGanTaData.m1GD_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Xia_GanTa.Text.Trim()); + mGanTaData.m1GD_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Xia_GanTa.Focus(); + return result; + } + mGanTaData.mDiXing_GanTa = listBox_DiXing_GanTa.SelectedItem.ToString().Trim(); + mGanTaData.mZXNZ_GanTa = textBox_ZXNZ_GanTa.Text.Trim(); + try + { + num = Convert.ToInt32(textBox_RaoJiFanJi_GanTa.Text.Trim()); + mGanTaData.mRaoJiFanJi_GanTa = num; + } + catch (Exception) + { + textBox_RaoJiFanJi_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DSMD_GanTa.Text.Trim()); + mGanTaData.mDSMD_GanTa = num2; + } + catch (Exception) + { + textBox_DSMD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_Current_a_GanTa.Text.Trim()); + mGanTaData.mCurrent_a_GanTa = num2; + } + catch (Exception) + { + textBox_Current_a_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_Current_b_GanTa.Text.Trim()); + mGanTaData.mCurrent_b_GanTa = num2; + } + catch (Exception) + { + textBox_Current_b_GanTa.Focus(); + return result; + } + mGanTaData.mTaXing_GanTa = textBox_TaXing_GanTa.Text.Trim(); + return true; + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyListBoxSetIndex(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSetIndex method = MyListBoxSetIndex; + listBox.Invoke(method, listBox, value); + } + else if (string.IsNullOrEmpty(value)) + { + listBox.SelectedIndex = 0; + } + else if (value.Equals("平原")) + { + listBox.SelectedIndex = 0; + } + else if (value.Equals("山区")) + { + listBox.SelectedIndex = 1; + } + else + { + listBox.SelectedIndex = 0; + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " —— " + value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.label49 = new System.Windows.Forms.Label(); + this.textBox_TaXing_GanTa = new System.Windows.Forms.TextBox(); + this.listBox_DiXing_GanTa = new System.Windows.Forms.ListBox(); + this.textBox_BLQ_C_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_BLQ_A_GanTa = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.textBox_JYZCD_GanTa = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.textBox_BLXGD_GanTa = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.textBox_BLZJ_R_GanTa = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.textBox_BLZJ_L_GanTa = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.textBox_HaiBa_GanTa = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); + this.textBox_DaHao_GanTa = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.textBox_XiaoHao_GanTa = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.textBox_WeiDu_GanTa = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.textBox_DMQJ2_GanTa = new System.Windows.Forms.TextBox(); + this.label17 = new System.Windows.Forms.Label(); + this.textBox_DMQJ1_GanTa = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.textBox_JingDu_GanTa = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.textBox_Model_GanTa = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.textBox_Current_b_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_Current_a_GanTa = new System.Windows.Forms.TextBox(); + this.label48 = new System.Windows.Forms.Label(); + this.label47 = new System.Windows.Forms.Label(); + this.textBox_1GD_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.label22 = new System.Windows.Forms.Label(); + this.textBox_1ZJ_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1GD_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label20 = new System.Windows.Forms.Label(); + this.label21 = new System.Windows.Forms.Label(); + this.textBox_1ZJ_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label18 = new System.Windows.Forms.Label(); + this.textBox_ID_GanTa = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.textBox_DSMD_GanTa = new System.Windows.Forms.TextBox(); + this.label46 = new System.Windows.Forms.Label(); + this.textBox_RaoJiFanJi_GanTa = new System.Windows.Forms.TextBox(); + this.label45 = new System.Windows.Forms.Label(); + this.textBox_ZXNZ_GanTa = new System.Windows.Forms.TextBox(); + this.label44 = new System.Windows.Forms.Label(); + this.textBox_HuGao_GanTa = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.textBox_JDDZ_GanTa = new System.Windows.Forms.TextBox(); + this.label42 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + base.SuspendLayout(); + this.label49.AutoSize = true; + this.label49.Location = new System.Drawing.Point(238, 384); + this.label49.Name = "label49"; + this.label49.Size = new System.Drawing.Size(29, 12); + this.label49.TabIndex = 184; + this.label49.Text = "塔型"; + this.textBox_TaXing_GanTa.Location = new System.Drawing.Point(241, 399); + this.textBox_TaXing_GanTa.Name = "textBox_TaXing_GanTa"; + this.textBox_TaXing_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_TaXing_GanTa.TabIndex = 140; + this.listBox_DiXing_GanTa.FormattingEnabled = true; + this.listBox_DiXing_GanTa.ItemHeight = 12; + this.listBox_DiXing_GanTa.Items.AddRange(new object[2] { "平原", "山区" }); + this.listBox_DiXing_GanTa.Location = new System.Drawing.Point(448, 43); + this.listBox_DiXing_GanTa.Name = "listBox_DiXing_GanTa"; + this.listBox_DiXing_GanTa.Size = new System.Drawing.Size(160, 16); + this.listBox_DiXing_GanTa.TabIndex = 141; + this.textBox_BLQ_C_GanTa.Location = new System.Drawing.Point(302, 85); + this.textBox_BLQ_C_GanTa.Name = "textBox_BLQ_C_GanTa"; + this.textBox_BLQ_C_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_C_GanTa.TabIndex = 133; + this.textBox_BLQ_A_GanTa.Location = new System.Drawing.Point(240, 85); + this.textBox_BLQ_A_GanTa.Name = "textBox_BLQ_A_GanTa"; + this.textBox_BLQ_A_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_A_GanTa.TabIndex = 131; + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(240, 70); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(149, 12); + this.label6.TabIndex = 178; + this.label6.Text = "左相 右相 是否安装避雷器"; + this.textBox_JYZCD_GanTa.Location = new System.Drawing.Point(26, 482); + this.textBox_JYZCD_GanTa.Name = "textBox_JYZCD_GanTa"; + this.textBox_JYZCD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JYZCD_GanTa.TabIndex = 129; + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(26, 467); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(101, 12); + this.label11.TabIndex = 177; + this.label11.Text = "绝缘子串长度(mm)"; + this.textBox_BLXGD_GanTa.Location = new System.Drawing.Point(26, 439); + this.textBox_BLXGD_GanTa.Name = "textBox_BLXGD_GanTa"; + this.textBox_BLXGD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLXGD_GanTa.TabIndex = 128; + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(26, 424); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(83, 12); + this.label10.TabIndex = 175; + this.label10.Text = "避雷线高度(m)"; + this.textBox_BLZJ_R_GanTa.Location = new System.Drawing.Point(26, 395); + this.textBox_BLZJ_R_GanTa.Name = "textBox_BLZJ_R_GanTa"; + this.textBox_BLZJ_R_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLZJ_R_GanTa.TabIndex = 127; + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(26, 380); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(83, 12); + this.label9.TabIndex = 173; + this.label9.Text = "右避雷中距(m)"; + this.textBox_BLZJ_L_GanTa.Location = new System.Drawing.Point(26, 354); + this.textBox_BLZJ_L_GanTa.Name = "textBox_BLZJ_L_GanTa"; + this.textBox_BLZJ_L_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLZJ_L_GanTa.TabIndex = 126; + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(26, 339); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(83, 12); + this.label8.TabIndex = 172; + this.label8.Text = "左避雷中距(m)"; + this.textBox_HaiBa_GanTa.Location = new System.Drawing.Point(26, 306); + this.textBox_HaiBa_GanTa.Name = "textBox_HaiBa_GanTa"; + this.textBox_HaiBa_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_HaiBa_GanTa.TabIndex = 125; + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(26, 291); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(71, 12); + this.label15.TabIndex = 170; + this.label15.Text = "海拔高度(m)"; + this.textBox_DaHao_GanTa.Location = new System.Drawing.Point(26, 264); + this.textBox_DaHao_GanTa.Name = "textBox_DaHao_GanTa"; + this.textBox_DaHao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DaHao_GanTa.TabIndex = 124; + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(26, 249); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(83, 12); + this.label14.TabIndex = 183; + this.label14.Text = "大号侧档距(m)"; + this.textBox_XiaoHao_GanTa.Location = new System.Drawing.Point(26, 220); + this.textBox_XiaoHao_GanTa.Name = "textBox_XiaoHao_GanTa"; + this.textBox_XiaoHao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_XiaoHao_GanTa.TabIndex = 123; + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(26, 205); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(83, 12); + this.label13.TabIndex = 171; + this.label13.Text = "小号侧档距(m)"; + this.textBox_WeiDu_GanTa.Location = new System.Drawing.Point(26, 176); + this.textBox_WeiDu_GanTa.Name = "textBox_WeiDu_GanTa"; + this.textBox_WeiDu_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_WeiDu_GanTa.TabIndex = 122; + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(26, 161); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(53, 12); + this.label4.TabIndex = 174; + this.label4.Text = "纬度(°)"; + this.textBox_DMQJ2_GanTa.Location = new System.Drawing.Point(447, 485); + this.textBox_DMQJ2_GanTa.Name = "textBox_DMQJ2_GanTa"; + this.textBox_DMQJ2_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DMQJ2_GanTa.TabIndex = 151; + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(447, 470); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(83, 12); + this.label17.TabIndex = 176; + this.label17.Text = "地面倾角2(°)"; + this.textBox_DMQJ1_GanTa.Location = new System.Drawing.Point(447, 444); + this.textBox_DMQJ1_GanTa.Name = "textBox_DMQJ1_GanTa"; + this.textBox_DMQJ1_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DMQJ1_GanTa.TabIndex = 150; + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(447, 429); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(83, 12); + this.label16.TabIndex = 179; + this.label16.Text = "地面倾角1(°)"; + this.textBox_JingDu_GanTa.Location = new System.Drawing.Point(26, 131); + this.textBox_JingDu_GanTa.Name = "textBox_JingDu_GanTa"; + this.textBox_JingDu_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JingDu_GanTa.TabIndex = 121; + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(26, 116); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(53, 12); + this.label3.TabIndex = 180; + this.label3.Text = "经度(°)"; + this.textBox_Model_GanTa.Location = new System.Drawing.Point(26, 84); + this.textBox_Model_GanTa.Name = "textBox_Model_GanTa"; + this.textBox_Model_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Model_GanTa.TabIndex = 120; + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(26, 69); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(53, 12); + this.label2.TabIndex = 181; + this.label2.Text = "杆塔模型"; + this.textBox_Current_b_GanTa.Location = new System.Drawing.Point(447, 399); + this.textBox_Current_b_GanTa.Name = "textBox_Current_b_GanTa"; + this.textBox_Current_b_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Current_b_GanTa.TabIndex = 149; + this.textBox_Current_a_GanTa.Location = new System.Drawing.Point(447, 354); + this.textBox_Current_a_GanTa.Name = "textBox_Current_a_GanTa"; + this.textBox_Current_a_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Current_a_GanTa.TabIndex = 148; + this.label48.AutoSize = true; + this.label48.Location = new System.Drawing.Point(447, 384); + this.label48.Name = "label48"; + this.label48.Size = new System.Drawing.Size(71, 12); + this.label48.TabIndex = 163; + this.label48.Text = "雷电流幅值b"; + this.label47.AutoSize = true; + this.label47.Location = new System.Drawing.Point(447, 339); + this.label47.Name = "label47"; + this.label47.Size = new System.Drawing.Size(71, 12); + this.label47.TabIndex = 162; + this.label47.Text = "雷电流幅值a"; + this.textBox_1GD_Xia_GanTa.Location = new System.Drawing.Point(240, 356); + this.textBox_1GD_Xia_GanTa.Name = "textBox_1GD_Xia_GanTa"; + this.textBox_1GD_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Xia_GanTa.TabIndex = 139; + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(240, 341); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(95, 12); + this.label22.TabIndex = 169; + this.label22.Text = "右相导线高度(m)"; + this.textBox_1ZJ_Xia_GanTa.Location = new System.Drawing.Point(240, 221); + this.textBox_1ZJ_Xia_GanTa.Name = "textBox_1ZJ_Xia_GanTa"; + this.textBox_1ZJ_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Xia_GanTa.TabIndex = 136; + this.textBox_1GD_Shang_GanTa.Location = new System.Drawing.Point(241, 306); + this.textBox_1GD_Shang_GanTa.Name = "textBox_1GD_Shang_GanTa"; + this.textBox_1GD_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Shang_GanTa.TabIndex = 137; + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(240, 206); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(95, 12); + this.label20.TabIndex = 165; + this.label20.Text = "右相导线中距(m)"; + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(240, 291); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(95, 12); + this.label21.TabIndex = 166; + this.label21.Text = "左相导线高度(m)"; + this.textBox_1ZJ_Shang_GanTa.Location = new System.Drawing.Point(240, 176); + this.textBox_1ZJ_Shang_GanTa.Name = "textBox_1ZJ_Shang_GanTa"; + this.textBox_1ZJ_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Shang_GanTa.TabIndex = 134; + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(238, 161); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(95, 12); + this.label18.TabIndex = 167; + this.label18.Text = "左相导线中距(m)"; + this.textBox_ID_GanTa.Location = new System.Drawing.Point(26, 38); + this.textBox_ID_GanTa.Name = "textBox_ID_GanTa"; + this.textBox_ID_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_ID_GanTa.TabIndex = 119; + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(26, 23); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(53, 12); + this.label1.TabIndex = 168; + this.label1.Text = "杆塔编号"; + this.textBox_DSMD_GanTa.Location = new System.Drawing.Point(448, 309); + this.textBox_DSMD_GanTa.Name = "textBox_DSMD_GanTa"; + this.textBox_DSMD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DSMD_GanTa.TabIndex = 147; + this.label46.AutoSize = true; + this.label46.Location = new System.Drawing.Point(446, 294); + this.label46.Name = "label46"; + this.label46.Size = new System.Drawing.Size(137, 12); + this.label46.TabIndex = 159; + this.label46.Text = "地闪密度(次/(km^2*年))"; + this.textBox_RaoJiFanJi_GanTa.Location = new System.Drawing.Point(447, 263); + this.textBox_RaoJiFanJi_GanTa.Name = "textBox_RaoJiFanJi_GanTa"; + this.textBox_RaoJiFanJi_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_RaoJiFanJi_GanTa.TabIndex = 146; + this.label45.AutoSize = true; + this.label45.Location = new System.Drawing.Point(447, 248); + this.label45.Name = "label45"; + this.label45.Size = new System.Drawing.Size(53, 12); + this.label45.TabIndex = 158; + this.label45.Text = "绕击反击"; + this.textBox_ZXNZ_GanTa.Location = new System.Drawing.Point(448, 218); + this.textBox_ZXNZ_GanTa.Name = "textBox_ZXNZ_GanTa"; + this.textBox_ZXNZ_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_ZXNZ_GanTa.TabIndex = 145; + this.label44.AutoSize = true; + this.label44.Location = new System.Drawing.Point(448, 203); + this.label44.Name = "label44"; + this.label44.Size = new System.Drawing.Size(89, 12); + this.label44.TabIndex = 157; + this.label44.Text = "直线或耐张杆塔"; + this.textBox_HuGao_GanTa.Location = new System.Drawing.Point(448, 128); + this.textBox_HuGao_GanTa.Name = "textBox_HuGao_GanTa"; + this.textBox_HuGao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_HuGao_GanTa.TabIndex = 143; + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(448, 113); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(71, 12); + this.label12.TabIndex = 155; + this.label12.Text = "杆塔呼高(m)"; + this.textBox_JDDZ_GanTa.Location = new System.Drawing.Point(448, 83); + this.textBox_JDDZ_GanTa.Name = "textBox_JDDZ_GanTa"; + this.textBox_JDDZ_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JDDZ_GanTa.TabIndex = 142; + this.label42.AutoSize = true; + this.label42.Location = new System.Drawing.Point(448, 23); + this.label42.Name = "label42"; + this.label42.Size = new System.Drawing.Size(29, 12); + this.label42.TabIndex = 160; + this.label42.Text = "地形"; + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(448, 69); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(77, 12); + this.label7.TabIndex = 154; + this.label7.Text = "接地电阻(Ω)"; + this.buttonCancel.Location = new System.Drawing.Point(500, 522); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(108, 28); + this.buttonCancel.TabIndex = 153; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(355, 522); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(108, 28); + this.buttonOK.TabIndex = 152; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(635, 573); + base.Controls.Add(this.label49); + base.Controls.Add(this.textBox_TaXing_GanTa); + base.Controls.Add(this.listBox_DiXing_GanTa); + base.Controls.Add(this.textBox_BLQ_C_GanTa); + base.Controls.Add(this.textBox_BLQ_A_GanTa); + base.Controls.Add(this.label6); + base.Controls.Add(this.textBox_JYZCD_GanTa); + base.Controls.Add(this.label11); + base.Controls.Add(this.textBox_BLXGD_GanTa); + base.Controls.Add(this.label10); + base.Controls.Add(this.textBox_BLZJ_R_GanTa); + base.Controls.Add(this.label9); + base.Controls.Add(this.textBox_BLZJ_L_GanTa); + base.Controls.Add(this.label8); + base.Controls.Add(this.textBox_HaiBa_GanTa); + base.Controls.Add(this.label15); + base.Controls.Add(this.textBox_DaHao_GanTa); + base.Controls.Add(this.label14); + base.Controls.Add(this.textBox_XiaoHao_GanTa); + base.Controls.Add(this.label13); + base.Controls.Add(this.textBox_WeiDu_GanTa); + base.Controls.Add(this.label4); + base.Controls.Add(this.textBox_DMQJ2_GanTa); + base.Controls.Add(this.label17); + base.Controls.Add(this.textBox_DMQJ1_GanTa); + base.Controls.Add(this.label16); + base.Controls.Add(this.textBox_JingDu_GanTa); + base.Controls.Add(this.label3); + base.Controls.Add(this.textBox_Model_GanTa); + base.Controls.Add(this.label2); + base.Controls.Add(this.textBox_Current_b_GanTa); + base.Controls.Add(this.textBox_Current_a_GanTa); + base.Controls.Add(this.label48); + base.Controls.Add(this.label47); + base.Controls.Add(this.textBox_1GD_Xia_GanTa); + base.Controls.Add(this.label22); + base.Controls.Add(this.textBox_1ZJ_Xia_GanTa); + base.Controls.Add(this.textBox_1GD_Shang_GanTa); + base.Controls.Add(this.label20); + base.Controls.Add(this.label21); + base.Controls.Add(this.textBox_1ZJ_Shang_GanTa); + base.Controls.Add(this.label18); + base.Controls.Add(this.textBox_ID_GanTa); + base.Controls.Add(this.label1); + base.Controls.Add(this.textBox_DSMD_GanTa); + base.Controls.Add(this.label46); + base.Controls.Add(this.textBox_RaoJiFanJi_GanTa); + base.Controls.Add(this.label45); + base.Controls.Add(this.textBox_ZXNZ_GanTa); + base.Controls.Add(this.label44); + base.Controls.Add(this.textBox_HuGao_GanTa); + base.Controls.Add(this.label12); + base.Controls.Add(this.textBox_JDDZ_GanTa); + base.Controls.Add(this.label42); + base.Controls.Add(this.label7); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonOK); + base.Name = "FormGanTa0zhiliu"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormGanTa0zhiliu"; + base.Load += new System.EventHandler(FormGanTa0zhiliu_Load); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/FormGanTa1Hui.cs b/LP/FormGanTa1Hui.cs new file mode 100644 index 0000000..890b484 --- /dev/null +++ b/LP/FormGanTa1Hui.cs @@ -0,0 +1,1104 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormGanTa1Hui : Form +{ + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateListBoxSetIndex(ListBox listBox, string value); + + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public GanTaData mGanTaData = null; + + private IContainer components = null; + + private Panel panelGanTa1Hui; + + private Button buttonCancel; + + private Button buttonOK; + + private ListBox listBox_DiXing_GanTa; + + private TextBox textBox_BLQ_C_GanTa; + + private TextBox textBox_BLQ_B_GanTa; + + private TextBox textBox_BLQ_A_GanTa; + + private Label label6; + + private TextBox textBox_XiangXu1_GanTa; + + private Label label5; + + private TextBox textBox_JYZCD_GanTa; + + private Label label11; + + private TextBox textBox_BLXGD_GanTa; + + private Label label10; + + private TextBox textBox_BLZJ_R_GanTa; + + private Label label9; + + private TextBox textBox_BLZJ_L_GanTa; + + private Label label8; + + private TextBox textBox_HaiBa_GanTa; + + private Label label15; + + private TextBox textBox_DaHao_GanTa; + + private Label label14; + + private TextBox textBox_XiaoHao_GanTa; + + private Label label13; + + private TextBox textBox_WeiDu_GanTa; + + private Label label4; + + private TextBox textBox_DMQJ2_GanTa; + + private Label label17; + + private TextBox textBox_DMQJ1_GanTa; + + private Label label16; + + private TextBox textBox_JingDu_GanTa; + + private Label label3; + + private TextBox textBox_Model_GanTa; + + private Label label2; + + private TextBox textBox_1GD_Zhong_GanTa; + + private TextBox textBox_Current_b_GanTa; + + private TextBox textBox_Current_a_GanTa; + + private TextBox textBox_1ZJ_Zhong_GanTa; + + private Label label48; + + private Label label47; + + private Label label23; + + private Label label19; + + private TextBox textBox_1GD_Xia_GanTa; + + private Label label22; + + private TextBox textBox_1ZJ_Xia_GanTa; + + private TextBox textBox_1GD_Shang_GanTa; + + private Label label20; + + private Label label21; + + private TextBox textBox_1ZJ_Shang_GanTa; + + private Label label18; + + private TextBox textBox_ID_GanTa; + + private Label label1; + + private TextBox textBox_DSMD_GanTa; + + private Label label46; + + private TextBox textBox_RaoJiFanJi_GanTa; + + private Label label45; + + private TextBox textBox_ZXNZ_GanTa; + + private Label label44; + + private TextBox textBox_Angle_GanTa; + + private Label label43; + + private TextBox textBox_HuGao_GanTa; + + private Label label12; + + private TextBox textBox_JDDZ_GanTa; + + private Label label42; + + private Label label7; + + private Label label49; + + private TextBox textBox_TaXing_GanTa; + + public FormGanTa1Hui() + { + InitializeComponent(); + } + + private void FormGanTa1Hui_Load(object sender, EventArgs e) + { + mTitle = "编辑杆塔属性"; + MyFormSetTitle(this, ""); + textBox_ID_GanTa.ReadOnly = true; + textBox_RaoJiFanJi_GanTa.ReadOnly = true; + if (mGanTaData == null) + { + mGanTaData = new GanTaData(); + } + MyInput_GanTaData(); + } + + private void FormGanTa1Hui_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_GanTaData() + { + mGanTaData.CopyFrom_GanTaData(desktop.mTheGanTaData); + MyTextBoxSetText(textBox_ID_GanTa, mGanTaData.mID_GanTa ?? ""); + MyTextBoxSetText(textBox_Model_GanTa, mGanTaData.mModel_GanTa ?? ""); + MyTextBoxSetText(textBox_JingDu_GanTa, $"{mGanTaData.mJingDu_GanTa}"); + MyTextBoxSetText(textBox_WeiDu_GanTa, $"{mGanTaData.mWeiDu_GanTa}"); + MyTextBoxSetText(textBox_XiaoHao_GanTa, $"{mGanTaData.mXiaoHao_GanTa}"); + MyTextBoxSetText(textBox_DaHao_GanTa, $"{mGanTaData.mDaHao_GanTa}"); + MyTextBoxSetText(textBox_HaiBa_GanTa, $"{mGanTaData.mHaiBa_GanTa}"); + MyTextBoxSetText(textBox_DMQJ1_GanTa, $"{mGanTaData.mDMQJ1_GanTa}"); + MyTextBoxSetText(textBox_DMQJ2_GanTa, $"{mGanTaData.mDMQJ2_GanTa}"); + MyTextBoxSetText(textBox_BLZJ_L_GanTa, $"{mGanTaData.mBLZJ_L_GanTa}"); + MyTextBoxSetText(textBox_BLZJ_R_GanTa, $"{mGanTaData.mBLZJ_R_GanTa}"); + MyTextBoxSetText(textBox_BLXGD_GanTa, $"{mGanTaData.mBLXGD_GanTa}"); + MyTextBoxSetText(textBox_JYZCD_GanTa, $"{mGanTaData.mJYZCD_GanTa}"); + MyTextBoxSetText(textBox_JDDZ_GanTa, $"{mGanTaData.mJDDZ_GanTa}"); + MyTextBoxSetText(textBox_HuGao_GanTa, $"{mGanTaData.mHuGao_GanTa}"); + MyTextBoxSetText(textBox_XiangXu1_GanTa, mGanTaData.mXiangXu1_GanTa ?? ""); + MyTextBoxSetText(textBox_BLQ_A_GanTa, mGanTaData.mBLQ_A_GanTa ?? ""); + MyTextBoxSetText(textBox_BLQ_B_GanTa, mGanTaData.mBLQ_B_GanTa ?? ""); + MyTextBoxSetText(textBox_BLQ_C_GanTa, mGanTaData.mBLQ_C_GanTa ?? ""); + MyTextBoxSetText(textBox_1ZJ_Shang_GanTa, $"{mGanTaData.m1ZJ_Shang_GanTa}"); + MyTextBoxSetText(textBox_1ZJ_Zhong_GanTa, $"{mGanTaData.m1ZJ_Zhong_GanTa}"); + MyTextBoxSetText(textBox_1ZJ_Xia_GanTa, $"{mGanTaData.m1ZJ_Xia_GanTa}"); + MyTextBoxSetText(textBox_1GD_Shang_GanTa, $"{mGanTaData.m1GD_Shang_GanTa}"); + MyTextBoxSetText(textBox_1GD_Zhong_GanTa, $"{mGanTaData.m1GD_Zhong_GanTa}"); + MyTextBoxSetText(textBox_1GD_Xia_GanTa, $"{mGanTaData.m1GD_Xia_GanTa}"); + MyListBoxSetIndex(listBox_DiXing_GanTa, mGanTaData.mDiXing_GanTa ?? ""); + MyTextBoxSetText(textBox_Angle_GanTa, $"{mGanTaData.mAngle_GanTa}"); + MyTextBoxSetText(textBox_ZXNZ_GanTa, mGanTaData.mZXNZ_GanTa ?? ""); + MyTextBoxSetText(textBox_RaoJiFanJi_GanTa, $"{mGanTaData.mRaoJiFanJi_GanTa}"); + MyTextBoxSetText(textBox_DSMD_GanTa, $"{mGanTaData.mDSMD_GanTa}"); + MyTextBoxSetText(textBox_Current_a_GanTa, $"{mGanTaData.mCurrent_a_GanTa}"); + MyTextBoxSetText(textBox_Current_b_GanTa, $"{mGanTaData.mCurrent_b_GanTa}"); + MyTextBoxSetText(textBox_TaXing_GanTa, mGanTaData.mTaXing_GanTa ?? ""); + } + + public void Destroy() + { + mTitle = ""; + mGanTaData = null; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (!MyInputIsRight()) + { + MyFormSetTitle(this, "数据错误!!! 先修订,然后点击“确定”"); + return; + } + Thread thread = new Thread(MyThreadOK); + thread.Start(); + } + + private void MyThreadOK() + { + try + { + desktop.mTheGanTaData.CopyFrom_GanTaData(mGanTaData); + base.DialogResult = DialogResult.OK; + MyFormHide(this); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTa1Hui.cs MyThreadOK() Exception=" + ex.Message); + } + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + Thread thread = new Thread(MyThreadCancel); + thread.Start(); + } + + private void MyThreadCancel() + { + try + { + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTa1Hui.cs MyThreadCancel() Exception=" + ex.Message); + } + } + + private bool MyInputIsRight() + { + bool result = false; + int num = 0; + double num2 = 0.0; + mGanTaData.mID_GanTa = textBox_ID_GanTa.Text.Trim(); + mGanTaData.mModel_GanTa = textBox_Model_GanTa.Text.Trim(); + try + { + num2 = Convert.ToDouble(textBox_JingDu_GanTa.Text.Trim()); + mGanTaData.mJingDu_GanTa = num2; + } + catch (Exception) + { + textBox_JingDu_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_WeiDu_GanTa.Text.Trim()); + mGanTaData.mWeiDu_GanTa = num2; + } + catch (Exception) + { + textBox_WeiDu_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_XiaoHao_GanTa.Text.Trim()); + mGanTaData.mXiaoHao_GanTa = num2; + } + catch (Exception) + { + textBox_XiaoHao_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DaHao_GanTa.Text.Trim()); + mGanTaData.mDaHao_GanTa = num2; + } + catch (Exception) + { + textBox_DaHao_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_HaiBa_GanTa.Text.Trim()); + mGanTaData.mHaiBa_GanTa = num2; + } + catch (Exception) + { + textBox_HaiBa_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DMQJ1_GanTa.Text.Trim()); + mGanTaData.mDMQJ1_GanTa = num2; + } + catch (Exception) + { + textBox_DMQJ1_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DMQJ2_GanTa.Text.Trim()); + mGanTaData.mDMQJ2_GanTa = num2; + } + catch (Exception) + { + textBox_DMQJ2_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLZJ_L_GanTa.Text.Trim()); + mGanTaData.mBLZJ_L_GanTa = num2; + } + catch (Exception) + { + textBox_BLZJ_L_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLZJ_R_GanTa.Text.Trim()); + mGanTaData.mBLZJ_R_GanTa = num2; + } + catch (Exception) + { + textBox_BLZJ_R_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLXGD_GanTa.Text.Trim()); + mGanTaData.mBLXGD_GanTa = num2; + } + catch (Exception) + { + textBox_BLXGD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_JYZCD_GanTa.Text.Trim()); + mGanTaData.mJYZCD_GanTa = num2; + } + catch (Exception) + { + textBox_JYZCD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_JDDZ_GanTa.Text.Trim()); + mGanTaData.mJDDZ_GanTa = num2; + } + catch (Exception) + { + textBox_JDDZ_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_HuGao_GanTa.Text.Trim()); + mGanTaData.mHuGao_GanTa = num2; + } + catch (Exception) + { + textBox_HuGao_GanTa.Focus(); + return result; + } + mGanTaData.mXiangXu1_GanTa = textBox_XiangXu1_GanTa.Text.Trim(); + mGanTaData.mBLQ_A_GanTa = textBox_BLQ_A_GanTa.Text.Trim(); + mGanTaData.mBLQ_B_GanTa = textBox_BLQ_B_GanTa.Text.Trim(); + mGanTaData.mBLQ_C_GanTa = textBox_BLQ_C_GanTa.Text.Trim(); + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Shang_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Zhong_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Xia_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Shang_GanTa.Text.Trim()); + mGanTaData.m1GD_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Zhong_GanTa.Text.Trim()); + mGanTaData.m1GD_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Xia_GanTa.Text.Trim()); + mGanTaData.m1GD_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Xia_GanTa.Focus(); + return result; + } + mGanTaData.mDiXing_GanTa = listBox_DiXing_GanTa.SelectedItem.ToString().Trim(); + try + { + num2 = Convert.ToDouble(textBox_Angle_GanTa.Text.Trim()); + mGanTaData.mAngle_GanTa = num2; + } + catch (Exception) + { + textBox_Angle_GanTa.Focus(); + return result; + } + mGanTaData.mZXNZ_GanTa = textBox_ZXNZ_GanTa.Text.Trim(); + try + { + num = Convert.ToInt32(textBox_RaoJiFanJi_GanTa.Text.Trim()); + mGanTaData.mRaoJiFanJi_GanTa = num; + } + catch (Exception) + { + textBox_RaoJiFanJi_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DSMD_GanTa.Text.Trim()); + mGanTaData.mDSMD_GanTa = num2; + } + catch (Exception) + { + textBox_DSMD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_Current_a_GanTa.Text.Trim()); + mGanTaData.mCurrent_a_GanTa = num2; + } + catch (Exception) + { + textBox_Current_a_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_Current_b_GanTa.Text.Trim()); + mGanTaData.mCurrent_b_GanTa = num2; + } + catch (Exception) + { + textBox_Current_b_GanTa.Focus(); + return result; + } + mGanTaData.mTaXing_GanTa = textBox_TaXing_GanTa.Text.Trim(); + return true; + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyListBoxSetIndex(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSetIndex method = MyListBoxSetIndex; + listBox.Invoke(method, listBox, value); + } + else if (string.IsNullOrEmpty(value)) + { + listBox.SelectedIndex = 0; + } + else if (value.Equals("平原")) + { + listBox.SelectedIndex = 0; + } + else if (value.Equals("山区")) + { + listBox.SelectedIndex = 1; + } + else + { + listBox.SelectedIndex = 0; + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " —— " + value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.panelGanTa1Hui = new System.Windows.Forms.Panel(); + this.label49 = new System.Windows.Forms.Label(); + this.textBox_TaXing_GanTa = new System.Windows.Forms.TextBox(); + this.listBox_DiXing_GanTa = new System.Windows.Forms.ListBox(); + this.textBox_BLQ_C_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_BLQ_B_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_BLQ_A_GanTa = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.textBox_XiangXu1_GanTa = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.textBox_JYZCD_GanTa = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.textBox_BLXGD_GanTa = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.textBox_BLZJ_R_GanTa = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.textBox_BLZJ_L_GanTa = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.textBox_HaiBa_GanTa = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); + this.textBox_DaHao_GanTa = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.textBox_XiaoHao_GanTa = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.textBox_WeiDu_GanTa = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.textBox_DMQJ2_GanTa = new System.Windows.Forms.TextBox(); + this.label17 = new System.Windows.Forms.Label(); + this.textBox_DMQJ1_GanTa = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.textBox_JingDu_GanTa = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.textBox_Model_GanTa = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.textBox_1GD_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_Current_b_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_Current_a_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1ZJ_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.label48 = new System.Windows.Forms.Label(); + this.label47 = new System.Windows.Forms.Label(); + this.label23 = new System.Windows.Forms.Label(); + this.label19 = new System.Windows.Forms.Label(); + this.textBox_1GD_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.label22 = new System.Windows.Forms.Label(); + this.textBox_1ZJ_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1GD_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label20 = new System.Windows.Forms.Label(); + this.label21 = new System.Windows.Forms.Label(); + this.textBox_1ZJ_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label18 = new System.Windows.Forms.Label(); + this.textBox_ID_GanTa = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.textBox_DSMD_GanTa = new System.Windows.Forms.TextBox(); + this.label46 = new System.Windows.Forms.Label(); + this.textBox_RaoJiFanJi_GanTa = new System.Windows.Forms.TextBox(); + this.label45 = new System.Windows.Forms.Label(); + this.textBox_ZXNZ_GanTa = new System.Windows.Forms.TextBox(); + this.label44 = new System.Windows.Forms.Label(); + this.textBox_Angle_GanTa = new System.Windows.Forms.TextBox(); + this.label43 = new System.Windows.Forms.Label(); + this.textBox_HuGao_GanTa = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.textBox_JDDZ_GanTa = new System.Windows.Forms.TextBox(); + this.label42 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.panelGanTa1Hui.SuspendLayout(); + base.SuspendLayout(); + this.panelGanTa1Hui.AutoScroll = true; + this.panelGanTa1Hui.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.panelGanTa1Hui.Controls.Add(this.label49); + this.panelGanTa1Hui.Controls.Add(this.textBox_TaXing_GanTa); + this.panelGanTa1Hui.Controls.Add(this.listBox_DiXing_GanTa); + this.panelGanTa1Hui.Controls.Add(this.textBox_BLQ_C_GanTa); + this.panelGanTa1Hui.Controls.Add(this.textBox_BLQ_B_GanTa); + this.panelGanTa1Hui.Controls.Add(this.textBox_BLQ_A_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label6); + this.panelGanTa1Hui.Controls.Add(this.textBox_XiangXu1_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label5); + this.panelGanTa1Hui.Controls.Add(this.textBox_JYZCD_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label11); + this.panelGanTa1Hui.Controls.Add(this.textBox_BLXGD_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label10); + this.panelGanTa1Hui.Controls.Add(this.textBox_BLZJ_R_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label9); + this.panelGanTa1Hui.Controls.Add(this.textBox_BLZJ_L_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label8); + this.panelGanTa1Hui.Controls.Add(this.textBox_HaiBa_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label15); + this.panelGanTa1Hui.Controls.Add(this.textBox_DaHao_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label14); + this.panelGanTa1Hui.Controls.Add(this.textBox_XiaoHao_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label13); + this.panelGanTa1Hui.Controls.Add(this.textBox_WeiDu_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label4); + this.panelGanTa1Hui.Controls.Add(this.textBox_DMQJ2_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label17); + this.panelGanTa1Hui.Controls.Add(this.textBox_DMQJ1_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label16); + this.panelGanTa1Hui.Controls.Add(this.textBox_JingDu_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label3); + this.panelGanTa1Hui.Controls.Add(this.textBox_Model_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label2); + this.panelGanTa1Hui.Controls.Add(this.textBox_1GD_Zhong_GanTa); + this.panelGanTa1Hui.Controls.Add(this.textBox_Current_b_GanTa); + this.panelGanTa1Hui.Controls.Add(this.textBox_Current_a_GanTa); + this.panelGanTa1Hui.Controls.Add(this.textBox_1ZJ_Zhong_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label48); + this.panelGanTa1Hui.Controls.Add(this.label47); + this.panelGanTa1Hui.Controls.Add(this.label23); + this.panelGanTa1Hui.Controls.Add(this.label19); + this.panelGanTa1Hui.Controls.Add(this.textBox_1GD_Xia_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label22); + this.panelGanTa1Hui.Controls.Add(this.textBox_1ZJ_Xia_GanTa); + this.panelGanTa1Hui.Controls.Add(this.textBox_1GD_Shang_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label20); + this.panelGanTa1Hui.Controls.Add(this.label21); + this.panelGanTa1Hui.Controls.Add(this.textBox_1ZJ_Shang_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label18); + this.panelGanTa1Hui.Controls.Add(this.textBox_ID_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label1); + this.panelGanTa1Hui.Controls.Add(this.textBox_DSMD_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label46); + this.panelGanTa1Hui.Controls.Add(this.textBox_RaoJiFanJi_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label45); + this.panelGanTa1Hui.Controls.Add(this.textBox_ZXNZ_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label44); + this.panelGanTa1Hui.Controls.Add(this.textBox_Angle_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label43); + this.panelGanTa1Hui.Controls.Add(this.textBox_HuGao_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label12); + this.panelGanTa1Hui.Controls.Add(this.textBox_JDDZ_GanTa); + this.panelGanTa1Hui.Controls.Add(this.label42); + this.panelGanTa1Hui.Controls.Add(this.label7); + this.panelGanTa1Hui.Controls.Add(this.buttonCancel); + this.panelGanTa1Hui.Controls.Add(this.buttonOK); + this.panelGanTa1Hui.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelGanTa1Hui.Location = new System.Drawing.Point(0, 0); + this.panelGanTa1Hui.Name = "panelGanTa1Hui"; + this.panelGanTa1Hui.Size = new System.Drawing.Size(635, 573); + this.panelGanTa1Hui.TabIndex = 0; + this.label49.AutoSize = true; + this.label49.Location = new System.Drawing.Point(237, 393); + this.label49.Name = "label49"; + this.label49.Size = new System.Drawing.Size(29, 12); + this.label49.TabIndex = 118; + this.label49.Text = "塔型"; + this.textBox_TaXing_GanTa.Location = new System.Drawing.Point(240, 408); + this.textBox_TaXing_GanTa.Name = "textBox_TaXing_GanTa"; + this.textBox_TaXing_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_TaXing_GanTa.TabIndex = 21; + this.listBox_DiXing_GanTa.FormattingEnabled = true; + this.listBox_DiXing_GanTa.ItemHeight = 12; + this.listBox_DiXing_GanTa.Items.AddRange(new object[2] { "平原", "山区" }); + this.listBox_DiXing_GanTa.Location = new System.Drawing.Point(447, 52); + this.listBox_DiXing_GanTa.Name = "listBox_DiXing_GanTa"; + this.listBox_DiXing_GanTa.Size = new System.Drawing.Size(160, 16); + this.listBox_DiXing_GanTa.TabIndex = 22; + this.textBox_BLQ_C_GanTa.Location = new System.Drawing.Point(313, 94); + this.textBox_BLQ_C_GanTa.Name = "textBox_BLQ_C_GanTa"; + this.textBox_BLQ_C_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_C_GanTa.TabIndex = 14; + this.textBox_BLQ_B_GanTa.Location = new System.Drawing.Point(276, 94); + this.textBox_BLQ_B_GanTa.Name = "textBox_BLQ_B_GanTa"; + this.textBox_BLQ_B_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_B_GanTa.TabIndex = 13; + this.textBox_BLQ_A_GanTa.Location = new System.Drawing.Point(239, 94); + this.textBox_BLQ_A_GanTa.Name = "textBox_BLQ_A_GanTa"; + this.textBox_BLQ_A_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_A_GanTa.TabIndex = 12; + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(239, 79); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(161, 12); + this.label6.TabIndex = 108; + this.label6.Text = "A相 B相 C相 是否安装避雷器"; + this.textBox_XiangXu1_GanTa.Location = new System.Drawing.Point(239, 47); + this.textBox_XiangXu1_GanTa.Name = "textBox_XiangXu1_GanTa"; + this.textBox_XiangXu1_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_XiangXu1_GanTa.TabIndex = 11; + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(239, 32); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(29, 12); + this.label5.TabIndex = 116; + this.label5.Text = "相序"; + this.textBox_JYZCD_GanTa.Location = new System.Drawing.Point(25, 491); + this.textBox_JYZCD_GanTa.Name = "textBox_JYZCD_GanTa"; + this.textBox_JYZCD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JYZCD_GanTa.TabIndex = 10; + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(25, 476); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(101, 12); + this.label11.TabIndex = 106; + this.label11.Text = "绝缘子串长度(mm)"; + this.textBox_BLXGD_GanTa.Location = new System.Drawing.Point(25, 448); + this.textBox_BLXGD_GanTa.Name = "textBox_BLXGD_GanTa"; + this.textBox_BLXGD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLXGD_GanTa.TabIndex = 9; + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(25, 433); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(83, 12); + this.label10.TabIndex = 101; + this.label10.Text = "避雷线高度(m)"; + this.textBox_BLZJ_R_GanTa.Location = new System.Drawing.Point(25, 404); + this.textBox_BLZJ_R_GanTa.Name = "textBox_BLZJ_R_GanTa"; + this.textBox_BLZJ_R_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLZJ_R_GanTa.TabIndex = 8; + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(25, 389); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(83, 12); + this.label9.TabIndex = 98; + this.label9.Text = "右避雷中距(m)"; + this.textBox_BLZJ_L_GanTa.Location = new System.Drawing.Point(25, 363); + this.textBox_BLZJ_L_GanTa.Name = "textBox_BLZJ_L_GanTa"; + this.textBox_BLZJ_L_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLZJ_L_GanTa.TabIndex = 7; + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(25, 348); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(83, 12); + this.label8.TabIndex = 96; + this.label8.Text = "左避雷中距(m)"; + this.textBox_HaiBa_GanTa.Location = new System.Drawing.Point(25, 315); + this.textBox_HaiBa_GanTa.Name = "textBox_HaiBa_GanTa"; + this.textBox_HaiBa_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_HaiBa_GanTa.TabIndex = 6; + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(25, 300); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(71, 12); + this.label15.TabIndex = 92; + this.label15.Text = "海拔高度(m)"; + this.textBox_DaHao_GanTa.Location = new System.Drawing.Point(25, 273); + this.textBox_DaHao_GanTa.Name = "textBox_DaHao_GanTa"; + this.textBox_DaHao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DaHao_GanTa.TabIndex = 5; + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(25, 258); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(83, 12); + this.label14.TabIndex = 117; + this.label14.Text = "大号侧档距(m)"; + this.textBox_XiaoHao_GanTa.Location = new System.Drawing.Point(25, 229); + this.textBox_XiaoHao_GanTa.Name = "textBox_XiaoHao_GanTa"; + this.textBox_XiaoHao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_XiaoHao_GanTa.TabIndex = 4; + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(25, 214); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(83, 12); + this.label13.TabIndex = 94; + this.label13.Text = "小号侧档距(m)"; + this.textBox_WeiDu_GanTa.Location = new System.Drawing.Point(25, 185); + this.textBox_WeiDu_GanTa.Name = "textBox_WeiDu_GanTa"; + this.textBox_WeiDu_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_WeiDu_GanTa.TabIndex = 3; + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(25, 170); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(53, 12); + this.label4.TabIndex = 100; + this.label4.Text = "纬度(°)"; + this.textBox_DMQJ2_GanTa.Location = new System.Drawing.Point(446, 494); + this.textBox_DMQJ2_GanTa.Name = "textBox_DMQJ2_GanTa"; + this.textBox_DMQJ2_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DMQJ2_GanTa.TabIndex = 32; + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(446, 479); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(83, 12); + this.label17.TabIndex = 103; + this.label17.Text = "地面倾角2(°)"; + this.textBox_DMQJ1_GanTa.Location = new System.Drawing.Point(446, 453); + this.textBox_DMQJ1_GanTa.Name = "textBox_DMQJ1_GanTa"; + this.textBox_DMQJ1_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DMQJ1_GanTa.TabIndex = 31; + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(446, 438); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(83, 12); + this.label16.TabIndex = 110; + this.label16.Text = "地面倾角1(°)"; + this.textBox_JingDu_GanTa.Location = new System.Drawing.Point(25, 140); + this.textBox_JingDu_GanTa.Name = "textBox_JingDu_GanTa"; + this.textBox_JingDu_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JingDu_GanTa.TabIndex = 2; + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(25, 125); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(53, 12); + this.label3.TabIndex = 112; + this.label3.Text = "经度(°)"; + this.textBox_Model_GanTa.Location = new System.Drawing.Point(25, 93); + this.textBox_Model_GanTa.Name = "textBox_Model_GanTa"; + this.textBox_Model_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Model_GanTa.TabIndex = 1; + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(25, 78); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(53, 12); + this.label2.TabIndex = 113; + this.label2.Text = "杆塔模型"; + this.textBox_1GD_Zhong_GanTa.Location = new System.Drawing.Point(239, 320); + this.textBox_1GD_Zhong_GanTa.Name = "textBox_1GD_Zhong_GanTa"; + this.textBox_1GD_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Zhong_GanTa.TabIndex = 19; + this.textBox_Current_b_GanTa.Location = new System.Drawing.Point(446, 408); + this.textBox_Current_b_GanTa.Name = "textBox_Current_b_GanTa"; + this.textBox_Current_b_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Current_b_GanTa.TabIndex = 30; + this.textBox_Current_a_GanTa.Location = new System.Drawing.Point(446, 363); + this.textBox_Current_a_GanTa.Name = "textBox_Current_a_GanTa"; + this.textBox_Current_a_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Current_a_GanTa.TabIndex = 29; + this.textBox_1ZJ_Zhong_GanTa.Location = new System.Drawing.Point(239, 185); + this.textBox_1ZJ_Zhong_GanTa.Name = "textBox_1ZJ_Zhong_GanTa"; + this.textBox_1ZJ_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Zhong_GanTa.TabIndex = 16; + this.label48.AutoSize = true; + this.label48.Location = new System.Drawing.Point(446, 393); + this.label48.Name = "label48"; + this.label48.Size = new System.Drawing.Size(71, 12); + this.label48.TabIndex = 70; + this.label48.Text = "雷电流幅值b"; + this.label47.AutoSize = true; + this.label47.Location = new System.Drawing.Point(446, 348); + this.label47.Name = "label47"; + this.label47.Size = new System.Drawing.Size(71, 12); + this.label47.TabIndex = 68; + this.label47.Text = "雷电流幅值a"; + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(239, 305); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(65, 12); + this.label23.TabIndex = 71; + this.label23.Text = "B相高度(m)"; + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(239, 170); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(65, 12); + this.label19.TabIndex = 64; + this.label19.Text = "B相中距(m)"; + this.textBox_1GD_Xia_GanTa.Location = new System.Drawing.Point(239, 365); + this.textBox_1GD_Xia_GanTa.Name = "textBox_1GD_Xia_GanTa"; + this.textBox_1GD_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Xia_GanTa.TabIndex = 20; + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(239, 350); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(65, 12); + this.label22.TabIndex = 87; + this.label22.Text = "C相高度(m)"; + this.textBox_1ZJ_Xia_GanTa.Location = new System.Drawing.Point(239, 230); + this.textBox_1ZJ_Xia_GanTa.Name = "textBox_1ZJ_Xia_GanTa"; + this.textBox_1ZJ_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Xia_GanTa.TabIndex = 17; + this.textBox_1GD_Shang_GanTa.Location = new System.Drawing.Point(239, 275); + this.textBox_1GD_Shang_GanTa.Name = "textBox_1GD_Shang_GanTa"; + this.textBox_1GD_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Shang_GanTa.TabIndex = 18; + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(239, 215); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(65, 12); + this.label20.TabIndex = 79; + this.label20.Text = "C相中距(m)"; + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(239, 260); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(65, 12); + this.label21.TabIndex = 81; + this.label21.Text = "A相高度(m)"; + this.textBox_1ZJ_Shang_GanTa.Location = new System.Drawing.Point(239, 140); + this.textBox_1ZJ_Shang_GanTa.Name = "textBox_1ZJ_Shang_GanTa"; + this.textBox_1ZJ_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Shang_GanTa.TabIndex = 15; + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(239, 125); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(65, 12); + this.label18.TabIndex = 85; + this.label18.Text = "A相中距(m)"; + this.textBox_ID_GanTa.Location = new System.Drawing.Point(25, 47); + this.textBox_ID_GanTa.Name = "textBox_ID_GanTa"; + this.textBox_ID_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_ID_GanTa.TabIndex = 0; + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(25, 32); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(53, 12); + this.label1.TabIndex = 86; + this.label1.Text = "杆塔编号"; + this.textBox_DSMD_GanTa.Location = new System.Drawing.Point(447, 318); + this.textBox_DSMD_GanTa.Name = "textBox_DSMD_GanTa"; + this.textBox_DSMD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DSMD_GanTa.TabIndex = 28; + this.label46.AutoSize = true; + this.label46.Location = new System.Drawing.Point(445, 303); + this.label46.Name = "label46"; + this.label46.Size = new System.Drawing.Size(137, 12); + this.label46.TabIndex = 59; + this.label46.Text = "地闪密度(次/(km^2*年))"; + this.textBox_RaoJiFanJi_GanTa.Location = new System.Drawing.Point(446, 272); + this.textBox_RaoJiFanJi_GanTa.Name = "textBox_RaoJiFanJi_GanTa"; + this.textBox_RaoJiFanJi_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_RaoJiFanJi_GanTa.TabIndex = 27; + this.label45.AutoSize = true; + this.label45.Location = new System.Drawing.Point(446, 257); + this.label45.Name = "label45"; + this.label45.Size = new System.Drawing.Size(53, 12); + this.label45.TabIndex = 58; + this.label45.Text = "绕击反击"; + this.textBox_ZXNZ_GanTa.Location = new System.Drawing.Point(447, 227); + this.textBox_ZXNZ_GanTa.Name = "textBox_ZXNZ_GanTa"; + this.textBox_ZXNZ_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_ZXNZ_GanTa.TabIndex = 26; + this.label44.AutoSize = true; + this.label44.Location = new System.Drawing.Point(447, 212); + this.label44.Name = "label44"; + this.label44.Size = new System.Drawing.Size(89, 12); + this.label44.TabIndex = 57; + this.label44.Text = "直线或耐张杆塔"; + this.textBox_Angle_GanTa.Location = new System.Drawing.Point(447, 182); + this.textBox_Angle_GanTa.Name = "textBox_Angle_GanTa"; + this.textBox_Angle_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Angle_GanTa.TabIndex = 25; + this.label43.AutoSize = true; + this.label43.Location = new System.Drawing.Point(447, 167); + this.label43.Name = "label43"; + this.label43.Size = new System.Drawing.Size(41, 12); + this.label43.TabIndex = 56; + this.label43.Text = "电角度"; + this.textBox_HuGao_GanTa.Location = new System.Drawing.Point(447, 137); + this.textBox_HuGao_GanTa.Name = "textBox_HuGao_GanTa"; + this.textBox_HuGao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_HuGao_GanTa.TabIndex = 24; + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(447, 122); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(71, 12); + this.label12.TabIndex = 55; + this.label12.Text = "杆塔呼高(m)"; + this.textBox_JDDZ_GanTa.Location = new System.Drawing.Point(447, 92); + this.textBox_JDDZ_GanTa.Name = "textBox_JDDZ_GanTa"; + this.textBox_JDDZ_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JDDZ_GanTa.TabIndex = 23; + this.label42.AutoSize = true; + this.label42.Location = new System.Drawing.Point(447, 32); + this.label42.Name = "label42"; + this.label42.Size = new System.Drawing.Size(29, 12); + this.label42.TabIndex = 61; + this.label42.Text = "地形"; + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(447, 78); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(77, 12); + this.label7.TabIndex = 54; + this.label7.Text = "接地电阻(Ω)"; + this.buttonCancel.Location = new System.Drawing.Point(499, 531); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(108, 28); + this.buttonCancel.TabIndex = 34; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(354, 531); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(108, 28); + this.buttonOK.TabIndex = 33; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(635, 573); + base.Controls.Add(this.panelGanTa1Hui); + base.Name = "FormGanTa1Hui"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormGanTa1Hui"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormGanTa1Hui_FormClosing); + base.Load += new System.EventHandler(FormGanTa1Hui_Load); + this.panelGanTa1Hui.ResumeLayout(false); + this.panelGanTa1Hui.PerformLayout(); + base.ResumeLayout(false); + } +} diff --git a/LP/FormGanTa2Hui.cs b/LP/FormGanTa2Hui.cs new file mode 100644 index 0000000..45805c3 --- /dev/null +++ b/LP/FormGanTa2Hui.cs @@ -0,0 +1,1310 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormGanTa2Hui : Form +{ + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateListBoxSetIndex(ListBox listBox, string value); + + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateFormHide(Form form); + + private delegate void delegateFormSetVisible(Form form, bool value); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public GanTaData mGanTaData = null; + + private IContainer components = null; + + private Panel panelGanTa2Hui; + + private ListBox listBox_DiXing_GanTa; + + private TextBox textBox_BLQ_C_GanTa; + + private TextBox textBox_BLQ_B_GanTa; + + private TextBox textBox_XiangXu2_GanTa; + + private TextBox textBox_BLQ_A_GanTa; + + private Label label6; + + private TextBox textBox_XiangXu1_GanTa; + + private Label label5; + + private TextBox textBox_JYZCD_GanTa; + + private Label label11; + + private TextBox textBox_BLXGD_GanTa; + + private Label label10; + + private TextBox textBox_BLZJ_R_GanTa; + + private Label label9; + + private TextBox textBox_BLZJ_L_GanTa; + + private Label label8; + + private TextBox textBox_HaiBa_GanTa; + + private Label label15; + + private TextBox textBox_DaHao_GanTa; + + private Label label14; + + private TextBox textBox_XiaoHao_GanTa; + + private Label label13; + + private TextBox textBox_WeiDu_GanTa; + + private Label label4; + + private TextBox textBox_DMQJ2_GanTa; + + private Label label17; + + private TextBox textBox_DMQJ1_GanTa; + + private Label label16; + + private TextBox textBox_JingDu_GanTa; + + private Label label3; + + private TextBox textBox_Model_GanTa; + + private Label label2; + + private TextBox textBox_2GD_Zhong_GanTa; + + private TextBox textBox_1GD_Zhong_GanTa; + + private TextBox textBox_Current_b_GanTa; + + private TextBox textBox_Current_a_GanTa; + + private TextBox textBox_2ZJ_Zhong_GanTa; + + private TextBox textBox_1ZJ_Zhong_GanTa; + + private Label label29; + + private Label label48; + + private Label label47; + + private Label label23; + + private Label label28; + + private Label label19; + + private TextBox textBox_2GD_Xia_GanTa; + + private Label label27; + + private TextBox textBox_1GD_Xia_GanTa; + + private TextBox textBox_2ZJ_Xia_GanTa; + + private Label label22; + + private TextBox textBox_2GD_Shang_GanTa; + + private TextBox textBox_1ZJ_Xia_GanTa; + + private Label label26; + + private TextBox textBox_1GD_Shang_GanTa; + + private Label label25; + + private Label label20; + + private TextBox textBox_2ZJ_Shang_GanTa; + + private Label label21; + + private Label label24; + + private TextBox textBox_1ZJ_Shang_GanTa; + + private Label label18; + + private TextBox textBox_ID_GanTa; + + private Label label1; + + private TextBox textBox_DSMD_GanTa; + + private Label label46; + + private TextBox textBox_RaoJiFanJi_GanTa; + + private Label label45; + + private TextBox textBox_ZXNZ_GanTa; + + private Label label44; + + private TextBox textBox_Angle_GanTa; + + private Label label43; + + private TextBox textBox_HuGao_GanTa; + + private Label label12; + + private TextBox textBox_JDDZ_GanTa; + + private Label label42; + + private Label label7; + + private Button buttonCancel; + + private Button buttonOK; + + private Label label49; + + private TextBox textBox_TaXing_GanTa; + + public FormGanTa2Hui() + { + InitializeComponent(); + } + + private void FormGanTa2Hui_Load(object sender, EventArgs e) + { + mTitle = "编辑杆塔属性(双回路)"; + MyFormSetTitle(this, ""); + textBox_ID_GanTa.ReadOnly = true; + textBox_RaoJiFanJi_GanTa.ReadOnly = true; + if (mGanTaData == null) + { + mGanTaData = new GanTaData(); + } + MyInput_GanTaData(); + } + + private void FormGanTa2Hui_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_GanTaData() + { + mGanTaData.CopyFrom_GanTaData(desktop.mTheGanTaData); + MyTextBoxSetText(textBox_ID_GanTa, mGanTaData.mID_GanTa ?? ""); + MyTextBoxSetText(textBox_Model_GanTa, mGanTaData.mModel_GanTa ?? ""); + MyTextBoxSetText(textBox_JingDu_GanTa, $"{mGanTaData.mJingDu_GanTa}"); + MyTextBoxSetText(textBox_WeiDu_GanTa, $"{mGanTaData.mWeiDu_GanTa}"); + MyTextBoxSetText(textBox_XiaoHao_GanTa, $"{mGanTaData.mXiaoHao_GanTa}"); + MyTextBoxSetText(textBox_DaHao_GanTa, $"{mGanTaData.mDaHao_GanTa}"); + MyTextBoxSetText(textBox_HaiBa_GanTa, $"{mGanTaData.mHaiBa_GanTa}"); + MyTextBoxSetText(textBox_DMQJ1_GanTa, $"{mGanTaData.mDMQJ1_GanTa}"); + MyTextBoxSetText(textBox_DMQJ2_GanTa, $"{mGanTaData.mDMQJ2_GanTa}"); + MyTextBoxSetText(textBox_BLZJ_L_GanTa, $"{mGanTaData.mBLZJ_L_GanTa}"); + MyTextBoxSetText(textBox_BLZJ_R_GanTa, $"{mGanTaData.mBLZJ_R_GanTa}"); + MyTextBoxSetText(textBox_BLXGD_GanTa, $"{mGanTaData.mBLXGD_GanTa}"); + MyTextBoxSetText(textBox_JYZCD_GanTa, $"{mGanTaData.mJYZCD_GanTa}"); + MyTextBoxSetText(textBox_JDDZ_GanTa, $"{mGanTaData.mJDDZ_GanTa}"); + MyTextBoxSetText(textBox_HuGao_GanTa, $"{mGanTaData.mHuGao_GanTa}"); + MyTextBoxSetText(textBox_XiangXu1_GanTa, mGanTaData.mXiangXu1_GanTa ?? ""); + MyTextBoxSetText(textBox_XiangXu2_GanTa, mGanTaData.mXiangXu2_GanTa ?? ""); + MyTextBoxSetText(textBox_BLQ_A_GanTa, mGanTaData.mBLQ_A_GanTa ?? ""); + MyTextBoxSetText(textBox_BLQ_B_GanTa, mGanTaData.mBLQ_B_GanTa ?? ""); + MyTextBoxSetText(textBox_BLQ_C_GanTa, mGanTaData.mBLQ_C_GanTa ?? ""); + MyTextBoxSetText(textBox_1ZJ_Shang_GanTa, $"{mGanTaData.m1ZJ_Shang_GanTa}"); + MyTextBoxSetText(textBox_1ZJ_Zhong_GanTa, $"{mGanTaData.m1ZJ_Zhong_GanTa}"); + MyTextBoxSetText(textBox_1ZJ_Xia_GanTa, $"{mGanTaData.m1ZJ_Xia_GanTa}"); + MyTextBoxSetText(textBox_1GD_Shang_GanTa, $"{mGanTaData.m1GD_Shang_GanTa}"); + MyTextBoxSetText(textBox_1GD_Zhong_GanTa, $"{mGanTaData.m1GD_Zhong_GanTa}"); + MyTextBoxSetText(textBox_1GD_Xia_GanTa, $"{mGanTaData.m1GD_Xia_GanTa}"); + MyTextBoxSetText(textBox_2ZJ_Shang_GanTa, $"{mGanTaData.m2ZJ_Shang_GanTa}"); + MyTextBoxSetText(textBox_2ZJ_Zhong_GanTa, $"{mGanTaData.m2ZJ_Zhong_GanTa}"); + MyTextBoxSetText(textBox_2ZJ_Xia_GanTa, $"{mGanTaData.m2ZJ_Xia_GanTa}"); + MyTextBoxSetText(textBox_2GD_Shang_GanTa, $"{mGanTaData.m2GD_Shang_GanTa}"); + MyTextBoxSetText(textBox_2GD_Zhong_GanTa, $"{mGanTaData.m2GD_Zhong_GanTa}"); + MyTextBoxSetText(textBox_2GD_Xia_GanTa, $"{mGanTaData.m2GD_Xia_GanTa}"); + MyListBoxSetIndex(listBox_DiXing_GanTa, mGanTaData.mDiXing_GanTa ?? ""); + MyTextBoxSetText(textBox_Angle_GanTa, $"{mGanTaData.mAngle_GanTa}"); + MyTextBoxSetText(textBox_ZXNZ_GanTa, mGanTaData.mZXNZ_GanTa ?? ""); + MyTextBoxSetText(textBox_RaoJiFanJi_GanTa, $"{mGanTaData.mRaoJiFanJi_GanTa}"); + MyTextBoxSetText(textBox_DSMD_GanTa, $"{mGanTaData.mDSMD_GanTa}"); + MyTextBoxSetText(textBox_Current_a_GanTa, $"{mGanTaData.mCurrent_a_GanTa}"); + MyTextBoxSetText(textBox_Current_b_GanTa, $"{mGanTaData.mCurrent_b_GanTa}"); + MyTextBoxSetText(textBox_TaXing_GanTa, mGanTaData.mTaXing_GanTa ?? ""); + } + + public void Destroy() + { + mTitle = ""; + mGanTaData = null; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (!MyInputIsRight()) + { + MyFormSetTitle(this, "数据错误!!! 先修订,然后点击“确定”"); + return; + } + Thread thread = new Thread(MyThreadOK); + thread.Start(); + } + + private void MyThreadOK() + { + try + { + desktop.mTheGanTaData.CopyFrom_GanTaData(mGanTaData); + base.DialogResult = DialogResult.OK; + MyFormSetVisible(this, value: false); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTa2Hui.cs MyThreadOK() Exception=" + ex.Message); + } + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + Thread thread = new Thread(MyThreadCancel); + thread.Start(); + } + + private void MyThreadCancel() + { + try + { + base.DialogResult = DialogResult.Cancel; + MyFormSetVisible(this, value: false); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTa2Hui.cs MyThreadCancel() Exception=" + ex.Message); + } + } + + private bool MyInputIsRight() + { + bool result = false; + int num = 0; + double num2 = 0.0; + mGanTaData.mID_GanTa = textBox_ID_GanTa.Text.Trim(); + mGanTaData.mModel_GanTa = textBox_Model_GanTa.Text.Trim(); + try + { + num2 = Convert.ToDouble(textBox_JingDu_GanTa.Text.Trim()); + mGanTaData.mJingDu_GanTa = num2; + } + catch (Exception) + { + textBox_JingDu_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_WeiDu_GanTa.Text.Trim()); + mGanTaData.mWeiDu_GanTa = num2; + } + catch (Exception) + { + textBox_WeiDu_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_XiaoHao_GanTa.Text.Trim()); + mGanTaData.mXiaoHao_GanTa = num2; + } + catch (Exception) + { + textBox_XiaoHao_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DaHao_GanTa.Text.Trim()); + mGanTaData.mDaHao_GanTa = num2; + } + catch (Exception) + { + textBox_DaHao_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_HaiBa_GanTa.Text.Trim()); + mGanTaData.mHaiBa_GanTa = num2; + } + catch (Exception) + { + textBox_HaiBa_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DMQJ1_GanTa.Text.Trim()); + mGanTaData.mDMQJ1_GanTa = num2; + } + catch (Exception) + { + textBox_DMQJ1_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DMQJ2_GanTa.Text.Trim()); + mGanTaData.mDMQJ2_GanTa = num2; + } + catch (Exception) + { + textBox_DMQJ2_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLZJ_L_GanTa.Text.Trim()); + mGanTaData.mBLZJ_L_GanTa = num2; + } + catch (Exception) + { + textBox_BLZJ_L_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLZJ_R_GanTa.Text.Trim()); + mGanTaData.mBLZJ_R_GanTa = num2; + } + catch (Exception) + { + textBox_BLZJ_R_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLXGD_GanTa.Text.Trim()); + mGanTaData.mBLXGD_GanTa = num2; + } + catch (Exception) + { + textBox_BLXGD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_JYZCD_GanTa.Text.Trim()); + mGanTaData.mJYZCD_GanTa = num2; + } + catch (Exception) + { + textBox_JYZCD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_JDDZ_GanTa.Text.Trim()); + mGanTaData.mJDDZ_GanTa = num2; + } + catch (Exception) + { + textBox_JDDZ_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_HuGao_GanTa.Text.Trim()); + mGanTaData.mHuGao_GanTa = num2; + } + catch (Exception) + { + textBox_HuGao_GanTa.Focus(); + return result; + } + mGanTaData.mXiangXu1_GanTa = textBox_XiangXu1_GanTa.Text.Trim(); + mGanTaData.mXiangXu2_GanTa = textBox_XiangXu2_GanTa.Text.Trim(); + mGanTaData.mBLQ_A_GanTa = textBox_BLQ_A_GanTa.Text.Trim(); + mGanTaData.mBLQ_B_GanTa = textBox_BLQ_B_GanTa.Text.Trim(); + mGanTaData.mBLQ_C_GanTa = textBox_BLQ_C_GanTa.Text.Trim(); + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Shang_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Zhong_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Xia_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Shang_GanTa.Text.Trim()); + mGanTaData.m1GD_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Zhong_GanTa.Text.Trim()); + mGanTaData.m1GD_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Xia_GanTa.Text.Trim()); + mGanTaData.m1GD_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2ZJ_Shang_GanTa.Text.Trim()); + mGanTaData.m2ZJ_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_2ZJ_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2ZJ_Zhong_GanTa.Text.Trim()); + mGanTaData.m2ZJ_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_2ZJ_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2ZJ_Xia_GanTa.Text.Trim()); + mGanTaData.m2ZJ_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_2ZJ_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2GD_Shang_GanTa.Text.Trim()); + mGanTaData.m2GD_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_2GD_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2GD_Zhong_GanTa.Text.Trim()); + mGanTaData.m2GD_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_2GD_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2GD_Xia_GanTa.Text.Trim()); + mGanTaData.m2GD_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_2GD_Xia_GanTa.Focus(); + return result; + } + mGanTaData.mDiXing_GanTa = listBox_DiXing_GanTa.SelectedItem.ToString().Trim(); + try + { + num2 = Convert.ToDouble(textBox_Angle_GanTa.Text.Trim()); + mGanTaData.mAngle_GanTa = num2; + } + catch (Exception) + { + textBox_Angle_GanTa.Focus(); + return result; + } + mGanTaData.mZXNZ_GanTa = textBox_ZXNZ_GanTa.Text.Trim(); + try + { + num = Convert.ToInt32(textBox_RaoJiFanJi_GanTa.Text.Trim()); + mGanTaData.mRaoJiFanJi_GanTa = num; + } + catch (Exception) + { + textBox_RaoJiFanJi_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DSMD_GanTa.Text.Trim()); + mGanTaData.mDSMD_GanTa = num2; + } + catch (Exception) + { + textBox_DSMD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_Current_a_GanTa.Text.Trim()); + mGanTaData.mCurrent_a_GanTa = num2; + } + catch (Exception) + { + textBox_Current_a_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_Current_b_GanTa.Text.Trim()); + mGanTaData.mCurrent_b_GanTa = num2; + } + catch (Exception) + { + textBox_Current_b_GanTa.Focus(); + return result; + } + mGanTaData.mTaXing_GanTa = textBox_TaXing_GanTa.Text.Trim(); + return true; + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyListBoxSetIndex(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSetIndex method = MyListBoxSetIndex; + listBox.Invoke(method, listBox, value); + } + else if (string.IsNullOrEmpty(value)) + { + listBox.SelectedIndex = 0; + } + else if (value.Equals("平原")) + { + listBox.SelectedIndex = 0; + } + else if (value.Equals("山区")) + { + listBox.SelectedIndex = 1; + } + else + { + listBox.SelectedIndex = 0; + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " —— " + value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + public void MyFormSetVisible(Form form, bool value) + { + try + { + if (form.InvokeRequired) + { + delegateFormSetVisible method = MyFormSetVisible; + form.Invoke(method, form, value); + } + else + { + form.Visible = value; + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.panelGanTa2Hui = new System.Windows.Forms.Panel(); + this.label49 = new System.Windows.Forms.Label(); + this.textBox_TaXing_GanTa = new System.Windows.Forms.TextBox(); + this.listBox_DiXing_GanTa = new System.Windows.Forms.ListBox(); + this.textBox_BLQ_C_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_BLQ_B_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_XiangXu2_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_BLQ_A_GanTa = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.textBox_XiangXu1_GanTa = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.textBox_JYZCD_GanTa = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.textBox_BLXGD_GanTa = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.textBox_BLZJ_R_GanTa = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.textBox_BLZJ_L_GanTa = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.textBox_HaiBa_GanTa = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); + this.textBox_DaHao_GanTa = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.textBox_XiaoHao_GanTa = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.textBox_WeiDu_GanTa = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.textBox_DMQJ2_GanTa = new System.Windows.Forms.TextBox(); + this.label17 = new System.Windows.Forms.Label(); + this.textBox_DMQJ1_GanTa = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.textBox_JingDu_GanTa = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.textBox_Model_GanTa = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.textBox_2GD_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1GD_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_Current_b_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_Current_a_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_2ZJ_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1ZJ_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.label29 = new System.Windows.Forms.Label(); + this.label48 = new System.Windows.Forms.Label(); + this.label47 = new System.Windows.Forms.Label(); + this.label23 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.label19 = new System.Windows.Forms.Label(); + this.textBox_2GD_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.label27 = new System.Windows.Forms.Label(); + this.textBox_1GD_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_2ZJ_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.label22 = new System.Windows.Forms.Label(); + this.textBox_2GD_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1ZJ_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.label26 = new System.Windows.Forms.Label(); + this.textBox_1GD_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label25 = new System.Windows.Forms.Label(); + this.label20 = new System.Windows.Forms.Label(); + this.textBox_2ZJ_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label21 = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); + this.textBox_1ZJ_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label18 = new System.Windows.Forms.Label(); + this.textBox_ID_GanTa = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.textBox_DSMD_GanTa = new System.Windows.Forms.TextBox(); + this.label46 = new System.Windows.Forms.Label(); + this.textBox_RaoJiFanJi_GanTa = new System.Windows.Forms.TextBox(); + this.label45 = new System.Windows.Forms.Label(); + this.textBox_ZXNZ_GanTa = new System.Windows.Forms.TextBox(); + this.label44 = new System.Windows.Forms.Label(); + this.textBox_Angle_GanTa = new System.Windows.Forms.TextBox(); + this.label43 = new System.Windows.Forms.Label(); + this.textBox_HuGao_GanTa = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.textBox_JDDZ_GanTa = new System.Windows.Forms.TextBox(); + this.label42 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.panelGanTa2Hui.SuspendLayout(); + base.SuspendLayout(); + this.panelGanTa2Hui.AutoScroll = true; + this.panelGanTa2Hui.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.panelGanTa2Hui.Controls.Add(this.label49); + this.panelGanTa2Hui.Controls.Add(this.textBox_TaXing_GanTa); + this.panelGanTa2Hui.Controls.Add(this.listBox_DiXing_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_BLQ_C_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_BLQ_B_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_XiangXu2_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_BLQ_A_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label6); + this.panelGanTa2Hui.Controls.Add(this.textBox_XiangXu1_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label5); + this.panelGanTa2Hui.Controls.Add(this.textBox_JYZCD_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label11); + this.panelGanTa2Hui.Controls.Add(this.textBox_BLXGD_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label10); + this.panelGanTa2Hui.Controls.Add(this.textBox_BLZJ_R_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label9); + this.panelGanTa2Hui.Controls.Add(this.textBox_BLZJ_L_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label8); + this.panelGanTa2Hui.Controls.Add(this.textBox_HaiBa_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label15); + this.panelGanTa2Hui.Controls.Add(this.textBox_DaHao_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label14); + this.panelGanTa2Hui.Controls.Add(this.textBox_XiaoHao_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label13); + this.panelGanTa2Hui.Controls.Add(this.textBox_WeiDu_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label4); + this.panelGanTa2Hui.Controls.Add(this.textBox_DMQJ2_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label17); + this.panelGanTa2Hui.Controls.Add(this.textBox_DMQJ1_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label16); + this.panelGanTa2Hui.Controls.Add(this.textBox_JingDu_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label3); + this.panelGanTa2Hui.Controls.Add(this.textBox_Model_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label2); + this.panelGanTa2Hui.Controls.Add(this.textBox_2GD_Zhong_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_1GD_Zhong_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_Current_b_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_Current_a_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_2ZJ_Zhong_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_1ZJ_Zhong_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label29); + this.panelGanTa2Hui.Controls.Add(this.label48); + this.panelGanTa2Hui.Controls.Add(this.label47); + this.panelGanTa2Hui.Controls.Add(this.label23); + this.panelGanTa2Hui.Controls.Add(this.label28); + this.panelGanTa2Hui.Controls.Add(this.label19); + this.panelGanTa2Hui.Controls.Add(this.textBox_2GD_Xia_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label27); + this.panelGanTa2Hui.Controls.Add(this.textBox_1GD_Xia_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_2ZJ_Xia_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label22); + this.panelGanTa2Hui.Controls.Add(this.textBox_2GD_Shang_GanTa); + this.panelGanTa2Hui.Controls.Add(this.textBox_1ZJ_Xia_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label26); + this.panelGanTa2Hui.Controls.Add(this.textBox_1GD_Shang_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label25); + this.panelGanTa2Hui.Controls.Add(this.label20); + this.panelGanTa2Hui.Controls.Add(this.textBox_2ZJ_Shang_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label21); + this.panelGanTa2Hui.Controls.Add(this.label24); + this.panelGanTa2Hui.Controls.Add(this.textBox_1ZJ_Shang_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label18); + this.panelGanTa2Hui.Controls.Add(this.textBox_ID_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label1); + this.panelGanTa2Hui.Controls.Add(this.textBox_DSMD_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label46); + this.panelGanTa2Hui.Controls.Add(this.textBox_RaoJiFanJi_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label45); + this.panelGanTa2Hui.Controls.Add(this.textBox_ZXNZ_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label44); + this.panelGanTa2Hui.Controls.Add(this.textBox_Angle_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label43); + this.panelGanTa2Hui.Controls.Add(this.textBox_HuGao_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label12); + this.panelGanTa2Hui.Controls.Add(this.textBox_JDDZ_GanTa); + this.panelGanTa2Hui.Controls.Add(this.label42); + this.panelGanTa2Hui.Controls.Add(this.label7); + this.panelGanTa2Hui.Controls.Add(this.buttonCancel); + this.panelGanTa2Hui.Controls.Add(this.buttonOK); + this.panelGanTa2Hui.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelGanTa2Hui.Location = new System.Drawing.Point(0, 0); + this.panelGanTa2Hui.Name = "panelGanTa2Hui"; + this.panelGanTa2Hui.Size = new System.Drawing.Size(672, 620); + this.panelGanTa2Hui.TabIndex = 1; + this.label49.AutoSize = true; + this.label49.Location = new System.Drawing.Point(465, 521); + this.label49.Name = "label49"; + this.label49.Size = new System.Drawing.Size(29, 12); + this.label49.TabIndex = 55; + this.label49.Text = "塔型"; + this.textBox_TaXing_GanTa.Location = new System.Drawing.Point(467, 536); + this.textBox_TaXing_GanTa.Name = "textBox_TaXing_GanTa"; + this.textBox_TaXing_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_TaXing_GanTa.TabIndex = 39; + this.listBox_DiXing_GanTa.FormattingEnabled = true; + this.listBox_DiXing_GanTa.ItemHeight = 12; + this.listBox_DiXing_GanTa.Items.AddRange(new object[2] { "平原", "山区" }); + this.listBox_DiXing_GanTa.Location = new System.Drawing.Point(468, 45); + this.listBox_DiXing_GanTa.Name = "listBox_DiXing_GanTa"; + this.listBox_DiXing_GanTa.Size = new System.Drawing.Size(160, 16); + this.listBox_DiXing_GanTa.TabIndex = 28; + this.textBox_BLQ_C_GanTa.Location = new System.Drawing.Point(103, 575); + this.textBox_BLQ_C_GanTa.Name = "textBox_BLQ_C_GanTa"; + this.textBox_BLQ_C_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_C_GanTa.TabIndex = 15; + this.textBox_BLQ_B_GanTa.Location = new System.Drawing.Point(66, 575); + this.textBox_BLQ_B_GanTa.Name = "textBox_BLQ_B_GanTa"; + this.textBox_BLQ_B_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_B_GanTa.TabIndex = 14; + this.textBox_XiangXu2_GanTa.Location = new System.Drawing.Point(117, 528); + this.textBox_XiangXu2_GanTa.Name = "textBox_XiangXu2_GanTa"; + this.textBox_XiangXu2_GanTa.Size = new System.Drawing.Size(73, 21); + this.textBox_XiangXu2_GanTa.TabIndex = 12; + this.textBox_BLQ_A_GanTa.Location = new System.Drawing.Point(29, 575); + this.textBox_BLQ_A_GanTa.Name = "textBox_BLQ_A_GanTa"; + this.textBox_BLQ_A_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_A_GanTa.TabIndex = 13; + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(29, 560); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(161, 12); + this.label6.TabIndex = 12; + this.label6.Text = "A相 B相 C相 是否安装避雷器"; + this.textBox_XiangXu1_GanTa.Location = new System.Drawing.Point(29, 528); + this.textBox_XiangXu1_GanTa.Name = "textBox_XiangXu1_GanTa"; + this.textBox_XiangXu1_GanTa.Size = new System.Drawing.Size(71, 21); + this.textBox_XiangXu1_GanTa.TabIndex = 11; + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(29, 513); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(83, 12); + this.label5.TabIndex = 16; + this.label5.Text = "I回 II回 相序"; + this.textBox_JYZCD_GanTa.Location = new System.Drawing.Point(29, 484); + this.textBox_JYZCD_GanTa.Name = "textBox_JYZCD_GanTa"; + this.textBox_JYZCD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JYZCD_GanTa.TabIndex = 10; + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(29, 469); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(101, 12); + this.label11.TabIndex = 11; + this.label11.Text = "绝缘子串长度(mm)"; + this.textBox_BLXGD_GanTa.Location = new System.Drawing.Point(29, 441); + this.textBox_BLXGD_GanTa.Name = "textBox_BLXGD_GanTa"; + this.textBox_BLXGD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLXGD_GanTa.TabIndex = 9; + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(29, 426); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(83, 12); + this.label10.TabIndex = 9; + this.label10.Text = "避雷线高度(m)"; + this.textBox_BLZJ_R_GanTa.Location = new System.Drawing.Point(29, 397); + this.textBox_BLZJ_R_GanTa.Name = "textBox_BLZJ_R_GanTa"; + this.textBox_BLZJ_R_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLZJ_R_GanTa.TabIndex = 8; + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(29, 382); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(83, 12); + this.label9.TabIndex = 7; + this.label9.Text = "右避雷中距(m)"; + this.textBox_BLZJ_L_GanTa.Location = new System.Drawing.Point(29, 356); + this.textBox_BLZJ_L_GanTa.Name = "textBox_BLZJ_L_GanTa"; + this.textBox_BLZJ_L_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLZJ_L_GanTa.TabIndex = 7; + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(29, 341); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(83, 12); + this.label8.TabIndex = 6; + this.label8.Text = "左避雷中距(m)"; + this.textBox_HaiBa_GanTa.Location = new System.Drawing.Point(29, 308); + this.textBox_HaiBa_GanTa.Name = "textBox_HaiBa_GanTa"; + this.textBox_HaiBa_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_HaiBa_GanTa.TabIndex = 6; + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(29, 293); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(71, 12); + this.label15.TabIndex = 4; + this.label15.Text = "海拔高度(m)"; + this.textBox_DaHao_GanTa.Location = new System.Drawing.Point(29, 266); + this.textBox_DaHao_GanTa.Name = "textBox_DaHao_GanTa"; + this.textBox_DaHao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DaHao_GanTa.TabIndex = 5; + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(29, 251); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(83, 12); + this.label14.TabIndex = 17; + this.label14.Text = "大号侧档距(m)"; + this.textBox_XiaoHao_GanTa.Location = new System.Drawing.Point(29, 222); + this.textBox_XiaoHao_GanTa.Name = "textBox_XiaoHao_GanTa"; + this.textBox_XiaoHao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_XiaoHao_GanTa.TabIndex = 4; + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(29, 207); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(83, 12); + this.label13.TabIndex = 5; + this.label13.Text = "小号侧档距(m)"; + this.textBox_WeiDu_GanTa.Location = new System.Drawing.Point(29, 178); + this.textBox_WeiDu_GanTa.Name = "textBox_WeiDu_GanTa"; + this.textBox_WeiDu_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_WeiDu_GanTa.TabIndex = 3; + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(29, 163); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(53, 12); + this.label4.TabIndex = 8; + this.label4.Text = "纬度(°)"; + this.textBox_DMQJ2_GanTa.Location = new System.Drawing.Point(467, 487); + this.textBox_DMQJ2_GanTa.Name = "textBox_DMQJ2_GanTa"; + this.textBox_DMQJ2_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DMQJ2_GanTa.TabIndex = 38; + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(467, 472); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(83, 12); + this.label17.TabIndex = 10; + this.label17.Text = "地面倾角2(°)"; + this.textBox_DMQJ1_GanTa.Location = new System.Drawing.Point(467, 446); + this.textBox_DMQJ1_GanTa.Name = "textBox_DMQJ1_GanTa"; + this.textBox_DMQJ1_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DMQJ1_GanTa.TabIndex = 37; + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(467, 431); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(83, 12); + this.label16.TabIndex = 13; + this.label16.Text = "地面倾角1(°)"; + this.textBox_JingDu_GanTa.Location = new System.Drawing.Point(29, 133); + this.textBox_JingDu_GanTa.Name = "textBox_JingDu_GanTa"; + this.textBox_JingDu_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JingDu_GanTa.TabIndex = 2; + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(29, 118); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(53, 12); + this.label3.TabIndex = 14; + this.label3.Text = "经度(°)"; + this.textBox_Model_GanTa.Location = new System.Drawing.Point(29, 86); + this.textBox_Model_GanTa.Name = "textBox_Model_GanTa"; + this.textBox_Model_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Model_GanTa.TabIndex = 1; + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(29, 71); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(53, 12); + this.label2.TabIndex = 15; + this.label2.Text = "杆塔模型"; + this.textBox_2GD_Zhong_GanTa.Location = new System.Drawing.Point(247, 491); + this.textBox_2GD_Zhong_GanTa.Name = "textBox_2GD_Zhong_GanTa"; + this.textBox_2GD_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2GD_Zhong_GanTa.TabIndex = 26; + this.textBox_1GD_Zhong_GanTa.Location = new System.Drawing.Point(247, 220); + this.textBox_1GD_Zhong_GanTa.Name = "textBox_1GD_Zhong_GanTa"; + this.textBox_1GD_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Zhong_GanTa.TabIndex = 20; + this.textBox_Current_b_GanTa.Location = new System.Drawing.Point(467, 401); + this.textBox_Current_b_GanTa.Name = "textBox_Current_b_GanTa"; + this.textBox_Current_b_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Current_b_GanTa.TabIndex = 36; + this.textBox_Current_a_GanTa.Location = new System.Drawing.Point(467, 356); + this.textBox_Current_a_GanTa.Name = "textBox_Current_a_GanTa"; + this.textBox_Current_a_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Current_a_GanTa.TabIndex = 35; + this.textBox_2ZJ_Zhong_GanTa.Location = new System.Drawing.Point(247, 356); + this.textBox_2ZJ_Zhong_GanTa.Name = "textBox_2ZJ_Zhong_GanTa"; + this.textBox_2ZJ_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2ZJ_Zhong_GanTa.TabIndex = 23; + this.textBox_1ZJ_Zhong_GanTa.Location = new System.Drawing.Point(247, 85); + this.textBox_1ZJ_Zhong_GanTa.Name = "textBox_1ZJ_Zhong_GanTa"; + this.textBox_1ZJ_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Zhong_GanTa.TabIndex = 17; + this.label29.AutoSize = true; + this.label29.Location = new System.Drawing.Point(247, 476); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(77, 12); + this.label29.TabIndex = 3; + this.label29.Text = "右B相高度(m)"; + this.label48.AutoSize = true; + this.label48.Location = new System.Drawing.Point(467, 386); + this.label48.Name = "label48"; + this.label48.Size = new System.Drawing.Size(71, 12); + this.label48.TabIndex = 3; + this.label48.Text = "雷电流幅值b"; + this.label47.AutoSize = true; + this.label47.Location = new System.Drawing.Point(467, 341); + this.label47.Name = "label47"; + this.label47.Size = new System.Drawing.Size(71, 12); + this.label47.TabIndex = 3; + this.label47.Text = "雷电流幅值a"; + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(247, 205); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(77, 12); + this.label23.TabIndex = 3; + this.label23.Text = "左B相高度(m)"; + this.label28.AutoSize = true; + this.label28.Location = new System.Drawing.Point(247, 341); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(77, 12); + this.label28.TabIndex = 3; + this.label28.Text = "右B相中距(m)"; + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(247, 70); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(77, 12); + this.label19.TabIndex = 3; + this.label19.Text = "左B相中距(m)"; + this.textBox_2GD_Xia_GanTa.Location = new System.Drawing.Point(247, 536); + this.textBox_2GD_Xia_GanTa.Name = "textBox_2GD_Xia_GanTa"; + this.textBox_2GD_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2GD_Xia_GanTa.TabIndex = 27; + this.label27.AutoSize = true; + this.label27.Location = new System.Drawing.Point(247, 521); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(77, 12); + this.label27.TabIndex = 3; + this.label27.Text = "右C相高度(m)"; + this.textBox_1GD_Xia_GanTa.Location = new System.Drawing.Point(247, 265); + this.textBox_1GD_Xia_GanTa.Name = "textBox_1GD_Xia_GanTa"; + this.textBox_1GD_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Xia_GanTa.TabIndex = 21; + this.textBox_2ZJ_Xia_GanTa.Location = new System.Drawing.Point(247, 401); + this.textBox_2ZJ_Xia_GanTa.Name = "textBox_2ZJ_Xia_GanTa"; + this.textBox_2ZJ_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2ZJ_Xia_GanTa.TabIndex = 24; + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(247, 250); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(77, 12); + this.label22.TabIndex = 3; + this.label22.Text = "左C相高度(m)"; + this.textBox_2GD_Shang_GanTa.Location = new System.Drawing.Point(247, 446); + this.textBox_2GD_Shang_GanTa.Name = "textBox_2GD_Shang_GanTa"; + this.textBox_2GD_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2GD_Shang_GanTa.TabIndex = 25; + this.textBox_1ZJ_Xia_GanTa.Location = new System.Drawing.Point(247, 130); + this.textBox_1ZJ_Xia_GanTa.Name = "textBox_1ZJ_Xia_GanTa"; + this.textBox_1ZJ_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Xia_GanTa.TabIndex = 18; + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(247, 386); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(77, 12); + this.label26.TabIndex = 3; + this.label26.Text = "右C相中距(m)"; + this.textBox_1GD_Shang_GanTa.Location = new System.Drawing.Point(247, 175); + this.textBox_1GD_Shang_GanTa.Name = "textBox_1GD_Shang_GanTa"; + this.textBox_1GD_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Shang_GanTa.TabIndex = 19; + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(247, 431); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(77, 12); + this.label25.TabIndex = 3; + this.label25.Text = "右A相高度(m)"; + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(247, 115); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(77, 12); + this.label20.TabIndex = 3; + this.label20.Text = "左C相中距(m)"; + this.textBox_2ZJ_Shang_GanTa.Location = new System.Drawing.Point(247, 311); + this.textBox_2ZJ_Shang_GanTa.Name = "textBox_2ZJ_Shang_GanTa"; + this.textBox_2ZJ_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2ZJ_Shang_GanTa.TabIndex = 22; + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(247, 160); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(77, 12); + this.label21.TabIndex = 3; + this.label21.Text = "左A相高度(m)"; + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(247, 296); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(77, 12); + this.label24.TabIndex = 3; + this.label24.Text = "右A相中距(m)"; + this.textBox_1ZJ_Shang_GanTa.Location = new System.Drawing.Point(247, 40); + this.textBox_1ZJ_Shang_GanTa.Name = "textBox_1ZJ_Shang_GanTa"; + this.textBox_1ZJ_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Shang_GanTa.TabIndex = 16; + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(247, 25); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(77, 12); + this.label18.TabIndex = 3; + this.label18.Text = "左A相中距(m)"; + this.textBox_ID_GanTa.Location = new System.Drawing.Point(29, 40); + this.textBox_ID_GanTa.Name = "textBox_ID_GanTa"; + this.textBox_ID_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_ID_GanTa.TabIndex = 0; + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(29, 25); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(53, 12); + this.label1.TabIndex = 3; + this.label1.Text = "杆塔编号"; + this.textBox_DSMD_GanTa.Location = new System.Drawing.Point(468, 311); + this.textBox_DSMD_GanTa.Name = "textBox_DSMD_GanTa"; + this.textBox_DSMD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DSMD_GanTa.TabIndex = 34; + this.label46.AutoSize = true; + this.label46.Location = new System.Drawing.Point(466, 296); + this.label46.Name = "label46"; + this.label46.Size = new System.Drawing.Size(137, 12); + this.label46.TabIndex = 1; + this.label46.Text = "地闪密度(次/(km^2*年))"; + this.textBox_RaoJiFanJi_GanTa.Location = new System.Drawing.Point(467, 265); + this.textBox_RaoJiFanJi_GanTa.Name = "textBox_RaoJiFanJi_GanTa"; + this.textBox_RaoJiFanJi_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_RaoJiFanJi_GanTa.TabIndex = 33; + this.label45.AutoSize = true; + this.label45.Location = new System.Drawing.Point(467, 250); + this.label45.Name = "label45"; + this.label45.Size = new System.Drawing.Size(53, 12); + this.label45.TabIndex = 1; + this.label45.Text = "绕击反击"; + this.textBox_ZXNZ_GanTa.Location = new System.Drawing.Point(468, 220); + this.textBox_ZXNZ_GanTa.Name = "textBox_ZXNZ_GanTa"; + this.textBox_ZXNZ_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_ZXNZ_GanTa.TabIndex = 32; + this.label44.AutoSize = true; + this.label44.Location = new System.Drawing.Point(468, 205); + this.label44.Name = "label44"; + this.label44.Size = new System.Drawing.Size(89, 12); + this.label44.TabIndex = 1; + this.label44.Text = "直线或耐张杆塔"; + this.textBox_Angle_GanTa.Location = new System.Drawing.Point(468, 175); + this.textBox_Angle_GanTa.Name = "textBox_Angle_GanTa"; + this.textBox_Angle_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Angle_GanTa.TabIndex = 31; + this.label43.AutoSize = true; + this.label43.Location = new System.Drawing.Point(468, 160); + this.label43.Name = "label43"; + this.label43.Size = new System.Drawing.Size(41, 12); + this.label43.TabIndex = 1; + this.label43.Text = "电角度"; + this.textBox_HuGao_GanTa.Location = new System.Drawing.Point(468, 130); + this.textBox_HuGao_GanTa.Name = "textBox_HuGao_GanTa"; + this.textBox_HuGao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_HuGao_GanTa.TabIndex = 30; + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(468, 115); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(71, 12); + this.label12.TabIndex = 1; + this.label12.Text = "杆塔呼高(m)"; + this.textBox_JDDZ_GanTa.Location = new System.Drawing.Point(468, 85); + this.textBox_JDDZ_GanTa.Name = "textBox_JDDZ_GanTa"; + this.textBox_JDDZ_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JDDZ_GanTa.TabIndex = 29; + this.label42.AutoSize = true; + this.label42.Location = new System.Drawing.Point(468, 25); + this.label42.Name = "label42"; + this.label42.Size = new System.Drawing.Size(29, 12); + this.label42.TabIndex = 1; + this.label42.Text = "地形"; + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(468, 71); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(77, 12); + this.label7.TabIndex = 1; + this.label7.Text = "接地电阻(Ω)"; + this.buttonCancel.Location = new System.Drawing.Point(520, 575); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(108, 28); + this.buttonCancel.TabIndex = 41; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseCompatibleTextRendering = true; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(389, 575); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(108, 28); + this.buttonOK.TabIndex = 40; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(672, 620); + base.Controls.Add(this.panelGanTa2Hui); + base.Name = "FormGanTa2Hui"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormGanTa2Hui"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormGanTa2Hui_FormClosing); + base.Load += new System.EventHandler(FormGanTa2Hui_Load); + this.panelGanTa2Hui.ResumeLayout(false); + this.panelGanTa2Hui.PerformLayout(); + base.ResumeLayout(false); + } +} diff --git a/LP/FormGanTa4Hui.cs b/LP/FormGanTa4Hui.cs new file mode 100644 index 0000000..17d3cd1 --- /dev/null +++ b/LP/FormGanTa4Hui.cs @@ -0,0 +1,1656 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormGanTa4Hui : Form +{ + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateListBoxSetIndex(ListBox listBox, string value); + + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + public string mTitle = ""; + + public GanTaData mGanTaData = null; + + private IContainer components = null; + + private Panel panelGanTa4Hui; + + private Button buttonCancel; + + private Button buttonOK; + + private TextBox textBox_JDDZ_GanTa; + + private Label label7; + + private TextBox textBox_HuGao_GanTa; + + private Label label12; + + private TextBox textBox_XiangXu4_GanTa; + + private TextBox textBox_BLQ_C_GanTa; + + private TextBox textBox_XiangXu3_GanTa; + + private TextBox textBox_BLQ_B_GanTa; + + private TextBox textBox_XiangXu2_GanTa; + + private TextBox textBox_BLQ_A_GanTa; + + private Label label6; + + private TextBox textBox_XiangXu1_GanTa; + + private Label label5; + + private TextBox textBox_JYZCD_GanTa; + + private Label label11; + + private TextBox textBox_BLXGD_GanTa; + + private Label label10; + + private TextBox textBox_BLZJ_R_GanTa; + + private Label label9; + + private TextBox textBox_BLZJ_L_GanTa; + + private Label label8; + + private TextBox textBox_HaiBa_GanTa; + + private Label label15; + + private TextBox textBox_DaHao_GanTa; + + private Label label14; + + private TextBox textBox_XiaoHao_GanTa; + + private Label label13; + + private TextBox textBox_WeiDu_GanTa; + + private Label label4; + + private TextBox textBox_DMQJ2_GanTa; + + private Label label17; + + private TextBox textBox_DMQJ1_GanTa; + + private Label label16; + + private TextBox textBox_JingDu_GanTa; + + private Label label3; + + private TextBox textBox_Model_GanTa; + + private Label label2; + + private TextBox textBox_1ZJ_Shang_GanTa; + + private Label label18; + + private TextBox textBox_ID_GanTa; + + private Label label1; + + private TextBox textBox_4GD_Zhong_GanTa; + + private TextBox textBox_2GD_Zhong_GanTa; + + private TextBox textBox_3GD_Zhong_GanTa; + + private TextBox textBox_1GD_Zhong_GanTa; + + private TextBox textBox_4ZJ_Zhong_GanTa; + + private TextBox textBox_2ZJ_Zhong_GanTa; + + private TextBox textBox_3ZJ_Zhong_GanTa; + + private TextBox textBox_1ZJ_Zhong_GanTa; + + private Label label41; + + private Label label29; + + private Label label40; + + private Label label23; + + private Label label39; + + private Label label28; + + private Label label38; + + private Label label19; + + private TextBox textBox_4GD_Xia_GanTa; + + private TextBox textBox_2GD_Xia_GanTa; + + private Label label37; + + private Label label27; + + private TextBox textBox_3GD_Xia_GanTa; + + private TextBox textBox_1GD_Xia_GanTa; + + private TextBox textBox_4ZJ_Xia_GanTa; + + private TextBox textBox_2ZJ_Xia_GanTa; + + private Label label36; + + private Label label22; + + private TextBox textBox_4GD_Shang_GanTa; + + private TextBox textBox_2GD_Shang_GanTa; + + private TextBox textBox_3ZJ_Xia_GanTa; + + private TextBox textBox_1ZJ_Xia_GanTa; + + private Label label35; + + private Label label26; + + private TextBox textBox_3GD_Shang_GanTa; + + private TextBox textBox_1GD_Shang_GanTa; + + private Label label34; + + private Label label25; + + private Label label33; + + private Label label20; + + private TextBox textBox_4ZJ_Shang_GanTa; + + private TextBox textBox_2ZJ_Shang_GanTa; + + private Label label32; + + private Label label21; + + private Label label31; + + private Label label24; + + private TextBox textBox_3ZJ_Shang_GanTa; + + private Label label30; + + private ListBox listBox_DiXing_GanTa; + + private Label label42; + + private TextBox textBox_Angle_GanTa; + + private Label label43; + + private TextBox textBox_ZXNZ_GanTa; + + private Label label44; + + private TextBox textBox_RaoJiFanJi_GanTa; + + private Label label45; + + private TextBox textBox_DSMD_GanTa; + + private Label label46; + + private TextBox textBox_Current_a_GanTa; + + private Label label47; + + private TextBox textBox_Current_b_GanTa; + + private Label label48; + + private Label label49; + + private TextBox textBox_TaXing_GanTa; + + public FormGanTa4Hui() + { + InitializeComponent(); + } + + private void FormGanTa4Hui_Load(object sender, EventArgs e) + { + mTitle = "编辑杆塔属性(四回路)"; + MyFormSetTitle(this, ""); + textBox_ID_GanTa.ReadOnly = true; + textBox_RaoJiFanJi_GanTa.ReadOnly = true; + if (mGanTaData == null) + { + mGanTaData = new GanTaData(); + } + MyInput_GanTaData(); + } + + private void FormGanTa4Hui_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_GanTaData() + { + mGanTaData.CopyFrom_GanTaData(desktop.mTheGanTaData); + MyTextBoxSetText(textBox_ID_GanTa, mGanTaData.mID_GanTa ?? ""); + MyTextBoxSetText(textBox_Model_GanTa, mGanTaData.mModel_GanTa ?? ""); + MyTextBoxSetText(textBox_JingDu_GanTa, $"{mGanTaData.mJingDu_GanTa}"); + MyTextBoxSetText(textBox_WeiDu_GanTa, $"{mGanTaData.mWeiDu_GanTa}"); + MyTextBoxSetText(textBox_XiaoHao_GanTa, $"{mGanTaData.mXiaoHao_GanTa}"); + MyTextBoxSetText(textBox_DaHao_GanTa, $"{mGanTaData.mDaHao_GanTa}"); + MyTextBoxSetText(textBox_HaiBa_GanTa, $"{mGanTaData.mHaiBa_GanTa}"); + MyTextBoxSetText(textBox_DMQJ1_GanTa, $"{mGanTaData.mDMQJ1_GanTa}"); + MyTextBoxSetText(textBox_DMQJ2_GanTa, $"{mGanTaData.mDMQJ2_GanTa}"); + MyTextBoxSetText(textBox_BLZJ_L_GanTa, $"{mGanTaData.mBLZJ_L_GanTa}"); + MyTextBoxSetText(textBox_BLZJ_R_GanTa, $"{mGanTaData.mBLZJ_R_GanTa}"); + MyTextBoxSetText(textBox_BLXGD_GanTa, $"{mGanTaData.mBLXGD_GanTa}"); + MyTextBoxSetText(textBox_JYZCD_GanTa, $"{mGanTaData.mJYZCD_GanTa}"); + MyTextBoxSetText(textBox_JDDZ_GanTa, $"{mGanTaData.mJDDZ_GanTa}"); + MyTextBoxSetText(textBox_HuGao_GanTa, $"{mGanTaData.mHuGao_GanTa}"); + MyTextBoxSetText(textBox_XiangXu1_GanTa, mGanTaData.mXiangXu1_GanTa ?? ""); + MyTextBoxSetText(textBox_XiangXu2_GanTa, mGanTaData.mXiangXu2_GanTa ?? ""); + MyTextBoxSetText(textBox_XiangXu3_GanTa, mGanTaData.mXiangXu3_GanTa ?? ""); + MyTextBoxSetText(textBox_XiangXu4_GanTa, mGanTaData.mXiangXu4_GanTa ?? ""); + MyTextBoxSetText(textBox_BLQ_A_GanTa, mGanTaData.mBLQ_A_GanTa ?? ""); + MyTextBoxSetText(textBox_BLQ_B_GanTa, mGanTaData.mBLQ_B_GanTa ?? ""); + MyTextBoxSetText(textBox_BLQ_C_GanTa, mGanTaData.mBLQ_C_GanTa ?? ""); + MyTextBoxSetText(textBox_1ZJ_Shang_GanTa, $"{mGanTaData.m1ZJ_Shang_GanTa}"); + MyTextBoxSetText(textBox_1ZJ_Zhong_GanTa, $"{mGanTaData.m1ZJ_Zhong_GanTa}"); + MyTextBoxSetText(textBox_1ZJ_Xia_GanTa, $"{mGanTaData.m1ZJ_Xia_GanTa}"); + MyTextBoxSetText(textBox_1GD_Shang_GanTa, $"{mGanTaData.m1GD_Shang_GanTa}"); + MyTextBoxSetText(textBox_1GD_Zhong_GanTa, $"{mGanTaData.m1GD_Zhong_GanTa}"); + MyTextBoxSetText(textBox_1GD_Xia_GanTa, $"{mGanTaData.m1GD_Xia_GanTa}"); + MyTextBoxSetText(textBox_2ZJ_Shang_GanTa, $"{mGanTaData.m2ZJ_Shang_GanTa}"); + MyTextBoxSetText(textBox_2ZJ_Zhong_GanTa, $"{mGanTaData.m2ZJ_Zhong_GanTa}"); + MyTextBoxSetText(textBox_2ZJ_Xia_GanTa, $"{mGanTaData.m2ZJ_Xia_GanTa}"); + MyTextBoxSetText(textBox_2GD_Shang_GanTa, $"{mGanTaData.m2GD_Shang_GanTa}"); + MyTextBoxSetText(textBox_2GD_Zhong_GanTa, $"{mGanTaData.m2GD_Zhong_GanTa}"); + MyTextBoxSetText(textBox_2GD_Xia_GanTa, $"{mGanTaData.m2GD_Xia_GanTa}"); + MyTextBoxSetText(textBox_3ZJ_Shang_GanTa, $"{mGanTaData.m3ZJ_Shang_GanTa}"); + MyTextBoxSetText(textBox_3ZJ_Zhong_GanTa, $"{mGanTaData.m3ZJ_Zhong_GanTa}"); + MyTextBoxSetText(textBox_3ZJ_Xia_GanTa, $"{mGanTaData.m3ZJ_Xia_GanTa}"); + MyTextBoxSetText(textBox_3GD_Shang_GanTa, $"{mGanTaData.m3GD_Shang_GanTa}"); + MyTextBoxSetText(textBox_3GD_Zhong_GanTa, $"{mGanTaData.m3GD_Zhong_GanTa}"); + MyTextBoxSetText(textBox_3GD_Xia_GanTa, $"{mGanTaData.m3GD_Xia_GanTa}"); + MyTextBoxSetText(textBox_4ZJ_Shang_GanTa, $"{mGanTaData.m4ZJ_Shang_GanTa}"); + MyTextBoxSetText(textBox_4ZJ_Zhong_GanTa, $"{mGanTaData.m4ZJ_Zhong_GanTa}"); + MyTextBoxSetText(textBox_4ZJ_Xia_GanTa, $"{mGanTaData.m4ZJ_Xia_GanTa}"); + MyTextBoxSetText(textBox_4GD_Shang_GanTa, $"{mGanTaData.m4GD_Shang_GanTa}"); + MyTextBoxSetText(textBox_4GD_Zhong_GanTa, $"{mGanTaData.m4GD_Zhong_GanTa}"); + MyTextBoxSetText(textBox_4GD_Xia_GanTa, $"{mGanTaData.m4GD_Xia_GanTa}"); + MyListBoxSetIndex(listBox_DiXing_GanTa, mGanTaData.mDiXing_GanTa ?? ""); + MyTextBoxSetText(textBox_Angle_GanTa, $"{mGanTaData.mAngle_GanTa}"); + MyTextBoxSetText(textBox_ZXNZ_GanTa, mGanTaData.mZXNZ_GanTa ?? ""); + MyTextBoxSetText(textBox_RaoJiFanJi_GanTa, $"{mGanTaData.mRaoJiFanJi_GanTa}"); + MyTextBoxSetText(textBox_DSMD_GanTa, $"{mGanTaData.mDSMD_GanTa}"); + MyTextBoxSetText(textBox_Current_a_GanTa, $"{mGanTaData.mCurrent_a_GanTa}"); + MyTextBoxSetText(textBox_Current_b_GanTa, $"{mGanTaData.mCurrent_b_GanTa}"); + MyTextBoxSetText(textBox_TaXing_GanTa, mGanTaData.mTaXing_GanTa ?? ""); + } + + public void Destroy() + { + mTitle = ""; + mGanTaData = null; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (!MyInputIsRight()) + { + MyFormSetTitle(this, "数据错误!!! 先修订,然后点击“确定”"); + return; + } + Thread thread = new Thread(MyThreadOK); + thread.Start(); + } + + private void MyThreadOK() + { + try + { + desktop.mTheGanTaData.CopyFrom_GanTaData(mGanTaData); + base.DialogResult = DialogResult.OK; + MyFormHide(this); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTa4Hui.cs MyThreadOK() Exception=" + ex.Message); + } + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + Thread thread = new Thread(MyThreadCancel); + thread.Start(); + } + + private void MyThreadCancel() + { + try + { + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTa4Hui.cs MyThreadCancel() Exception=" + ex.Message); + } + } + + private bool MyInputIsRight() + { + bool result = false; + int num = 0; + double num2 = 0.0; + mGanTaData.mID_GanTa = textBox_ID_GanTa.Text.Trim(); + mGanTaData.mModel_GanTa = textBox_Model_GanTa.Text.Trim(); + try + { + num2 = Convert.ToDouble(textBox_JingDu_GanTa.Text.Trim()); + mGanTaData.mJingDu_GanTa = num2; + } + catch (Exception) + { + textBox_JingDu_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_WeiDu_GanTa.Text.Trim()); + mGanTaData.mWeiDu_GanTa = num2; + } + catch (Exception) + { + textBox_WeiDu_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_XiaoHao_GanTa.Text.Trim()); + mGanTaData.mXiaoHao_GanTa = num2; + } + catch (Exception) + { + textBox_XiaoHao_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DaHao_GanTa.Text.Trim()); + mGanTaData.mDaHao_GanTa = num2; + } + catch (Exception) + { + textBox_DaHao_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_HaiBa_GanTa.Text.Trim()); + mGanTaData.mHaiBa_GanTa = num2; + } + catch (Exception) + { + textBox_HaiBa_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DMQJ1_GanTa.Text.Trim()); + mGanTaData.mDMQJ1_GanTa = num2; + } + catch (Exception) + { + textBox_DMQJ1_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DMQJ2_GanTa.Text.Trim()); + mGanTaData.mDMQJ2_GanTa = num2; + } + catch (Exception) + { + textBox_DMQJ2_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLZJ_L_GanTa.Text.Trim()); + mGanTaData.mBLZJ_L_GanTa = num2; + } + catch (Exception) + { + textBox_BLZJ_L_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLZJ_R_GanTa.Text.Trim()); + mGanTaData.mBLZJ_R_GanTa = num2; + } + catch (Exception) + { + textBox_BLZJ_R_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_BLXGD_GanTa.Text.Trim()); + mGanTaData.mBLXGD_GanTa = num2; + } + catch (Exception) + { + textBox_BLXGD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_JYZCD_GanTa.Text.Trim()); + mGanTaData.mJYZCD_GanTa = num2; + } + catch (Exception) + { + textBox_JYZCD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_JDDZ_GanTa.Text.Trim()); + mGanTaData.mJDDZ_GanTa = num2; + } + catch (Exception) + { + textBox_JDDZ_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_HuGao_GanTa.Text.Trim()); + mGanTaData.mHuGao_GanTa = num2; + } + catch (Exception) + { + textBox_HuGao_GanTa.Focus(); + return result; + } + mGanTaData.mXiangXu1_GanTa = textBox_XiangXu1_GanTa.Text.Trim(); + mGanTaData.mXiangXu2_GanTa = textBox_XiangXu2_GanTa.Text.Trim(); + mGanTaData.mXiangXu3_GanTa = textBox_XiangXu3_GanTa.Text.Trim(); + mGanTaData.mXiangXu4_GanTa = textBox_XiangXu4_GanTa.Text.Trim(); + mGanTaData.mBLQ_A_GanTa = textBox_BLQ_A_GanTa.Text.Trim(); + mGanTaData.mBLQ_B_GanTa = textBox_BLQ_B_GanTa.Text.Trim(); + mGanTaData.mBLQ_C_GanTa = textBox_BLQ_C_GanTa.Text.Trim(); + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Shang_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Zhong_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1ZJ_Xia_GanTa.Text.Trim()); + mGanTaData.m1ZJ_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_1ZJ_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Shang_GanTa.Text.Trim()); + mGanTaData.m1GD_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Zhong_GanTa.Text.Trim()); + mGanTaData.m1GD_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_1GD_Xia_GanTa.Text.Trim()); + mGanTaData.m1GD_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_1GD_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2ZJ_Shang_GanTa.Text.Trim()); + mGanTaData.m2ZJ_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_2ZJ_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2ZJ_Zhong_GanTa.Text.Trim()); + mGanTaData.m2ZJ_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_2ZJ_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2ZJ_Xia_GanTa.Text.Trim()); + mGanTaData.m2ZJ_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_2ZJ_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2GD_Shang_GanTa.Text.Trim()); + mGanTaData.m2GD_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_2GD_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2GD_Zhong_GanTa.Text.Trim()); + mGanTaData.m2GD_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_2GD_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_2GD_Xia_GanTa.Text.Trim()); + mGanTaData.m2GD_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_2GD_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_3ZJ_Shang_GanTa.Text.Trim()); + mGanTaData.m3ZJ_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_3ZJ_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_3ZJ_Zhong_GanTa.Text.Trim()); + mGanTaData.m3ZJ_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_3ZJ_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_3ZJ_Xia_GanTa.Text.Trim()); + mGanTaData.m3ZJ_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_3ZJ_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_3GD_Shang_GanTa.Text.Trim()); + mGanTaData.m3GD_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_3GD_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_3GD_Zhong_GanTa.Text.Trim()); + mGanTaData.m3GD_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_3GD_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_3GD_Xia_GanTa.Text.Trim()); + mGanTaData.m3GD_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_3GD_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_4ZJ_Shang_GanTa.Text.Trim()); + mGanTaData.m4ZJ_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_4ZJ_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_4ZJ_Zhong_GanTa.Text.Trim()); + mGanTaData.m4ZJ_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_4ZJ_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_4ZJ_Xia_GanTa.Text.Trim()); + mGanTaData.m4ZJ_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_4ZJ_Xia_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_4GD_Shang_GanTa.Text.Trim()); + mGanTaData.m4GD_Shang_GanTa = num2; + } + catch (Exception) + { + textBox_4GD_Shang_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_4GD_Zhong_GanTa.Text.Trim()); + mGanTaData.m4GD_Zhong_GanTa = num2; + } + catch (Exception) + { + textBox_4GD_Zhong_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_4GD_Xia_GanTa.Text.Trim()); + mGanTaData.m4GD_Xia_GanTa = num2; + } + catch (Exception) + { + textBox_4GD_Xia_GanTa.Focus(); + return result; + } + mGanTaData.mDiXing_GanTa = listBox_DiXing_GanTa.SelectedItem.ToString().Trim(); + try + { + num2 = Convert.ToDouble(textBox_Angle_GanTa.Text.Trim()); + mGanTaData.mAngle_GanTa = num2; + } + catch (Exception) + { + textBox_Angle_GanTa.Focus(); + return result; + } + mGanTaData.mZXNZ_GanTa = textBox_ZXNZ_GanTa.Text.Trim(); + try + { + num = Convert.ToInt32(textBox_RaoJiFanJi_GanTa.Text.Trim()); + mGanTaData.mRaoJiFanJi_GanTa = num; + } + catch (Exception) + { + textBox_RaoJiFanJi_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_DSMD_GanTa.Text.Trim()); + mGanTaData.mDSMD_GanTa = num2; + } + catch (Exception) + { + textBox_DSMD_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_Current_a_GanTa.Text.Trim()); + mGanTaData.mCurrent_a_GanTa = num2; + } + catch (Exception) + { + textBox_Current_a_GanTa.Focus(); + return result; + } + try + { + num2 = Convert.ToDouble(textBox_Current_b_GanTa.Text.Trim()); + mGanTaData.mCurrent_b_GanTa = num2; + } + catch (Exception) + { + textBox_Current_b_GanTa.Focus(); + return result; + } + mGanTaData.mTaXing_GanTa = textBox_TaXing_GanTa.Text.Trim(); + return true; + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyListBoxSetIndex(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSetIndex method = MyListBoxSetIndex; + listBox.Invoke(method, listBox, value); + } + else if (string.IsNullOrEmpty(value)) + { + listBox.SelectedIndex = 0; + } + else if (value.Equals("平原")) + { + listBox.SelectedIndex = 0; + } + else if (value.Equals("山区")) + { + listBox.SelectedIndex = 1; + } + else + { + listBox.SelectedIndex = 0; + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " —— " + value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.panelGanTa4Hui = new System.Windows.Forms.Panel(); + this.listBox_DiXing_GanTa = new System.Windows.Forms.ListBox(); + this.textBox_XiangXu4_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_BLQ_C_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_XiangXu3_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_BLQ_B_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_XiangXu2_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_BLQ_A_GanTa = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.textBox_XiangXu1_GanTa = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.textBox_JYZCD_GanTa = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.textBox_BLXGD_GanTa = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.textBox_BLZJ_R_GanTa = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.textBox_BLZJ_L_GanTa = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.textBox_HaiBa_GanTa = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); + this.textBox_DaHao_GanTa = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.textBox_XiaoHao_GanTa = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.textBox_WeiDu_GanTa = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.textBox_DMQJ2_GanTa = new System.Windows.Forms.TextBox(); + this.label17 = new System.Windows.Forms.Label(); + this.textBox_DMQJ1_GanTa = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.textBox_JingDu_GanTa = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.textBox_Model_GanTa = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.textBox_4GD_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_2GD_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_3GD_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1GD_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_Current_b_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_Current_a_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_4ZJ_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_2ZJ_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_3ZJ_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1ZJ_Zhong_GanTa = new System.Windows.Forms.TextBox(); + this.label41 = new System.Windows.Forms.Label(); + this.label29 = new System.Windows.Forms.Label(); + this.label48 = new System.Windows.Forms.Label(); + this.label40 = new System.Windows.Forms.Label(); + this.label47 = new System.Windows.Forms.Label(); + this.label23 = new System.Windows.Forms.Label(); + this.label39 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.label38 = new System.Windows.Forms.Label(); + this.label19 = new System.Windows.Forms.Label(); + this.textBox_4GD_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_2GD_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.label37 = new System.Windows.Forms.Label(); + this.label27 = new System.Windows.Forms.Label(); + this.textBox_3GD_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1GD_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_4ZJ_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_2ZJ_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.label36 = new System.Windows.Forms.Label(); + this.label22 = new System.Windows.Forms.Label(); + this.textBox_4GD_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_2GD_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_3ZJ_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1ZJ_Xia_GanTa = new System.Windows.Forms.TextBox(); + this.label35 = new System.Windows.Forms.Label(); + this.label26 = new System.Windows.Forms.Label(); + this.textBox_3GD_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_1GD_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label34 = new System.Windows.Forms.Label(); + this.label25 = new System.Windows.Forms.Label(); + this.label33 = new System.Windows.Forms.Label(); + this.label20 = new System.Windows.Forms.Label(); + this.textBox_4ZJ_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.textBox_2ZJ_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label32 = new System.Windows.Forms.Label(); + this.label21 = new System.Windows.Forms.Label(); + this.label31 = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); + this.textBox_3ZJ_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label30 = new System.Windows.Forms.Label(); + this.textBox_1ZJ_Shang_GanTa = new System.Windows.Forms.TextBox(); + this.label18 = new System.Windows.Forms.Label(); + this.textBox_ID_GanTa = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.textBox_DSMD_GanTa = new System.Windows.Forms.TextBox(); + this.label46 = new System.Windows.Forms.Label(); + this.textBox_RaoJiFanJi_GanTa = new System.Windows.Forms.TextBox(); + this.label45 = new System.Windows.Forms.Label(); + this.textBox_ZXNZ_GanTa = new System.Windows.Forms.TextBox(); + this.label44 = new System.Windows.Forms.Label(); + this.textBox_Angle_GanTa = new System.Windows.Forms.TextBox(); + this.label43 = new System.Windows.Forms.Label(); + this.textBox_HuGao_GanTa = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.textBox_JDDZ_GanTa = new System.Windows.Forms.TextBox(); + this.label42 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.label49 = new System.Windows.Forms.Label(); + this.textBox_TaXing_GanTa = new System.Windows.Forms.TextBox(); + this.panelGanTa4Hui.SuspendLayout(); + base.SuspendLayout(); + this.panelGanTa4Hui.AutoScroll = true; + this.panelGanTa4Hui.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.panelGanTa4Hui.Controls.Add(this.listBox_DiXing_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_XiangXu4_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_BLQ_C_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_XiangXu3_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_BLQ_B_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_XiangXu2_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_BLQ_A_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label6); + this.panelGanTa4Hui.Controls.Add(this.textBox_XiangXu1_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label5); + this.panelGanTa4Hui.Controls.Add(this.textBox_JYZCD_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label11); + this.panelGanTa4Hui.Controls.Add(this.textBox_BLXGD_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label10); + this.panelGanTa4Hui.Controls.Add(this.textBox_BLZJ_R_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label9); + this.panelGanTa4Hui.Controls.Add(this.textBox_BLZJ_L_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label8); + this.panelGanTa4Hui.Controls.Add(this.textBox_HaiBa_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label15); + this.panelGanTa4Hui.Controls.Add(this.textBox_DaHao_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label14); + this.panelGanTa4Hui.Controls.Add(this.textBox_XiaoHao_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label13); + this.panelGanTa4Hui.Controls.Add(this.textBox_WeiDu_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label4); + this.panelGanTa4Hui.Controls.Add(this.textBox_DMQJ2_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label49); + this.panelGanTa4Hui.Controls.Add(this.label17); + this.panelGanTa4Hui.Controls.Add(this.textBox_DMQJ1_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label16); + this.panelGanTa4Hui.Controls.Add(this.textBox_JingDu_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label3); + this.panelGanTa4Hui.Controls.Add(this.textBox_TaXing_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_Model_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label2); + this.panelGanTa4Hui.Controls.Add(this.textBox_4GD_Zhong_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_2GD_Zhong_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_3GD_Zhong_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_1GD_Zhong_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_Current_b_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_Current_a_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_4ZJ_Zhong_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_2ZJ_Zhong_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_3ZJ_Zhong_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_1ZJ_Zhong_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label41); + this.panelGanTa4Hui.Controls.Add(this.label29); + this.panelGanTa4Hui.Controls.Add(this.label48); + this.panelGanTa4Hui.Controls.Add(this.label40); + this.panelGanTa4Hui.Controls.Add(this.label47); + this.panelGanTa4Hui.Controls.Add(this.label23); + this.panelGanTa4Hui.Controls.Add(this.label39); + this.panelGanTa4Hui.Controls.Add(this.label28); + this.panelGanTa4Hui.Controls.Add(this.label38); + this.panelGanTa4Hui.Controls.Add(this.label19); + this.panelGanTa4Hui.Controls.Add(this.textBox_4GD_Xia_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_2GD_Xia_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label37); + this.panelGanTa4Hui.Controls.Add(this.label27); + this.panelGanTa4Hui.Controls.Add(this.textBox_3GD_Xia_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_1GD_Xia_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_4ZJ_Xia_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_2ZJ_Xia_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label36); + this.panelGanTa4Hui.Controls.Add(this.label22); + this.panelGanTa4Hui.Controls.Add(this.textBox_4GD_Shang_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_2GD_Shang_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_3ZJ_Xia_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_1ZJ_Xia_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label35); + this.panelGanTa4Hui.Controls.Add(this.label26); + this.panelGanTa4Hui.Controls.Add(this.textBox_3GD_Shang_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_1GD_Shang_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label34); + this.panelGanTa4Hui.Controls.Add(this.label25); + this.panelGanTa4Hui.Controls.Add(this.label33); + this.panelGanTa4Hui.Controls.Add(this.label20); + this.panelGanTa4Hui.Controls.Add(this.textBox_4ZJ_Shang_GanTa); + this.panelGanTa4Hui.Controls.Add(this.textBox_2ZJ_Shang_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label32); + this.panelGanTa4Hui.Controls.Add(this.label21); + this.panelGanTa4Hui.Controls.Add(this.label31); + this.panelGanTa4Hui.Controls.Add(this.label24); + this.panelGanTa4Hui.Controls.Add(this.textBox_3ZJ_Shang_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label30); + this.panelGanTa4Hui.Controls.Add(this.textBox_1ZJ_Shang_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label18); + this.panelGanTa4Hui.Controls.Add(this.textBox_ID_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label1); + this.panelGanTa4Hui.Controls.Add(this.textBox_DSMD_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label46); + this.panelGanTa4Hui.Controls.Add(this.textBox_RaoJiFanJi_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label45); + this.panelGanTa4Hui.Controls.Add(this.textBox_ZXNZ_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label44); + this.panelGanTa4Hui.Controls.Add(this.textBox_Angle_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label43); + this.panelGanTa4Hui.Controls.Add(this.textBox_HuGao_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label12); + this.panelGanTa4Hui.Controls.Add(this.textBox_JDDZ_GanTa); + this.panelGanTa4Hui.Controls.Add(this.label42); + this.panelGanTa4Hui.Controls.Add(this.label7); + this.panelGanTa4Hui.Controls.Add(this.buttonCancel); + this.panelGanTa4Hui.Controls.Add(this.buttonOK); + this.panelGanTa4Hui.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelGanTa4Hui.Location = new System.Drawing.Point(0, 0); + this.panelGanTa4Hui.Name = "panelGanTa4Hui"; + this.panelGanTa4Hui.Size = new System.Drawing.Size(878, 638); + this.panelGanTa4Hui.TabIndex = 0; + this.listBox_DiXing_GanTa.FormattingEnabled = true; + this.listBox_DiXing_GanTa.ItemHeight = 12; + this.listBox_DiXing_GanTa.Items.AddRange(new object[2] { "平原", "山区" }); + this.listBox_DiXing_GanTa.Location = new System.Drawing.Point(692, 45); + this.listBox_DiXing_GanTa.Name = "listBox_DiXing_GanTa"; + this.listBox_DiXing_GanTa.Size = new System.Drawing.Size(160, 16); + this.listBox_DiXing_GanTa.TabIndex = 42; + this.textBox_XiangXu4_GanTa.Location = new System.Drawing.Point(140, 528); + this.textBox_XiangXu4_GanTa.Name = "textBox_XiangXu4_GanTa"; + this.textBox_XiangXu4_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_XiangXu4_GanTa.TabIndex = 14; + this.textBox_BLQ_C_GanTa.Location = new System.Drawing.Point(103, 575); + this.textBox_BLQ_C_GanTa.Name = "textBox_BLQ_C_GanTa"; + this.textBox_BLQ_C_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_C_GanTa.TabIndex = 17; + this.textBox_XiangXu3_GanTa.Location = new System.Drawing.Point(103, 528); + this.textBox_XiangXu3_GanTa.Name = "textBox_XiangXu3_GanTa"; + this.textBox_XiangXu3_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_XiangXu3_GanTa.TabIndex = 13; + this.textBox_BLQ_B_GanTa.Location = new System.Drawing.Point(66, 575); + this.textBox_BLQ_B_GanTa.Name = "textBox_BLQ_B_GanTa"; + this.textBox_BLQ_B_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_B_GanTa.TabIndex = 16; + this.textBox_XiangXu2_GanTa.Location = new System.Drawing.Point(66, 528); + this.textBox_XiangXu2_GanTa.Name = "textBox_XiangXu2_GanTa"; + this.textBox_XiangXu2_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_XiangXu2_GanTa.TabIndex = 12; + this.textBox_BLQ_A_GanTa.Location = new System.Drawing.Point(29, 575); + this.textBox_BLQ_A_GanTa.Name = "textBox_BLQ_A_GanTa"; + this.textBox_BLQ_A_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_BLQ_A_GanTa.TabIndex = 15; + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(29, 560); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(161, 12); + this.label6.TabIndex = 12; + this.label6.Text = "A相 B相 C相 是否安装避雷器"; + this.textBox_XiangXu1_GanTa.Location = new System.Drawing.Point(29, 528); + this.textBox_XiangXu1_GanTa.Name = "textBox_XiangXu1_GanTa"; + this.textBox_XiangXu1_GanTa.Size = new System.Drawing.Size(31, 21); + this.textBox_XiangXu1_GanTa.TabIndex = 11; + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(29, 513); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(149, 12); + this.label5.TabIndex = 16; + this.label5.Text = "I回 II回 III回 IV回 相序"; + this.textBox_JYZCD_GanTa.Location = new System.Drawing.Point(29, 484); + this.textBox_JYZCD_GanTa.Name = "textBox_JYZCD_GanTa"; + this.textBox_JYZCD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JYZCD_GanTa.TabIndex = 10; + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(29, 469); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(101, 12); + this.label11.TabIndex = 11; + this.label11.Text = "绝缘子串长度(mm)"; + this.textBox_BLXGD_GanTa.Location = new System.Drawing.Point(29, 441); + this.textBox_BLXGD_GanTa.Name = "textBox_BLXGD_GanTa"; + this.textBox_BLXGD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLXGD_GanTa.TabIndex = 9; + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(29, 426); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(83, 12); + this.label10.TabIndex = 9; + this.label10.Text = "避雷线高度(m)"; + this.textBox_BLZJ_R_GanTa.Location = new System.Drawing.Point(29, 397); + this.textBox_BLZJ_R_GanTa.Name = "textBox_BLZJ_R_GanTa"; + this.textBox_BLZJ_R_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLZJ_R_GanTa.TabIndex = 8; + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(29, 382); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(83, 12); + this.label9.TabIndex = 7; + this.label9.Text = "右避雷中距(m)"; + this.textBox_BLZJ_L_GanTa.Location = new System.Drawing.Point(29, 356); + this.textBox_BLZJ_L_GanTa.Name = "textBox_BLZJ_L_GanTa"; + this.textBox_BLZJ_L_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_BLZJ_L_GanTa.TabIndex = 7; + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(29, 341); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(83, 12); + this.label8.TabIndex = 6; + this.label8.Text = "左避雷中距(m)"; + this.textBox_HaiBa_GanTa.Location = new System.Drawing.Point(29, 308); + this.textBox_HaiBa_GanTa.Name = "textBox_HaiBa_GanTa"; + this.textBox_HaiBa_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_HaiBa_GanTa.TabIndex = 6; + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(29, 293); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(71, 12); + this.label15.TabIndex = 4; + this.label15.Text = "海拔高度(m)"; + this.textBox_DaHao_GanTa.Location = new System.Drawing.Point(29, 266); + this.textBox_DaHao_GanTa.Name = "textBox_DaHao_GanTa"; + this.textBox_DaHao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DaHao_GanTa.TabIndex = 5; + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(29, 251); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(83, 12); + this.label14.TabIndex = 17; + this.label14.Text = "大号侧档距(m)"; + this.textBox_XiaoHao_GanTa.Location = new System.Drawing.Point(29, 222); + this.textBox_XiaoHao_GanTa.Name = "textBox_XiaoHao_GanTa"; + this.textBox_XiaoHao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_XiaoHao_GanTa.TabIndex = 4; + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(29, 207); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(83, 12); + this.label13.TabIndex = 5; + this.label13.Text = "小号侧档距(m)"; + this.textBox_WeiDu_GanTa.Location = new System.Drawing.Point(29, 178); + this.textBox_WeiDu_GanTa.Name = "textBox_WeiDu_GanTa"; + this.textBox_WeiDu_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_WeiDu_GanTa.TabIndex = 3; + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(29, 163); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(53, 12); + this.label4.TabIndex = 8; + this.label4.Text = "纬度(°)"; + this.textBox_DMQJ2_GanTa.Location = new System.Drawing.Point(691, 487); + this.textBox_DMQJ2_GanTa.Name = "textBox_DMQJ2_GanTa"; + this.textBox_DMQJ2_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DMQJ2_GanTa.TabIndex = 52; + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(691, 472); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(83, 12); + this.label17.TabIndex = 10; + this.label17.Text = "地面倾角2(°)"; + this.textBox_DMQJ1_GanTa.Location = new System.Drawing.Point(691, 446); + this.textBox_DMQJ1_GanTa.Name = "textBox_DMQJ1_GanTa"; + this.textBox_DMQJ1_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DMQJ1_GanTa.TabIndex = 51; + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(691, 431); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(83, 12); + this.label16.TabIndex = 13; + this.label16.Text = "地面倾角1(°)"; + this.textBox_JingDu_GanTa.Location = new System.Drawing.Point(29, 133); + this.textBox_JingDu_GanTa.Name = "textBox_JingDu_GanTa"; + this.textBox_JingDu_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JingDu_GanTa.TabIndex = 2; + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(29, 118); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(53, 12); + this.label3.TabIndex = 14; + this.label3.Text = "经度(°)"; + this.textBox_Model_GanTa.Location = new System.Drawing.Point(29, 86); + this.textBox_Model_GanTa.Name = "textBox_Model_GanTa"; + this.textBox_Model_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Model_GanTa.TabIndex = 1; + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(29, 71); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(53, 12); + this.label2.TabIndex = 15; + this.label2.Text = "杆塔模型"; + this.textBox_4GD_Zhong_GanTa.Location = new System.Drawing.Point(467, 491); + this.textBox_4GD_Zhong_GanTa.Name = "textBox_4GD_Zhong_GanTa"; + this.textBox_4GD_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_4GD_Zhong_GanTa.TabIndex = 40; + this.textBox_2GD_Zhong_GanTa.Location = new System.Drawing.Point(247, 491); + this.textBox_2GD_Zhong_GanTa.Name = "textBox_2GD_Zhong_GanTa"; + this.textBox_2GD_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2GD_Zhong_GanTa.TabIndex = 28; + this.textBox_3GD_Zhong_GanTa.Location = new System.Drawing.Point(467, 220); + this.textBox_3GD_Zhong_GanTa.Name = "textBox_3GD_Zhong_GanTa"; + this.textBox_3GD_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_3GD_Zhong_GanTa.TabIndex = 34; + this.textBox_1GD_Zhong_GanTa.Location = new System.Drawing.Point(247, 220); + this.textBox_1GD_Zhong_GanTa.Name = "textBox_1GD_Zhong_GanTa"; + this.textBox_1GD_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Zhong_GanTa.TabIndex = 22; + this.textBox_Current_b_GanTa.Location = new System.Drawing.Point(691, 401); + this.textBox_Current_b_GanTa.Name = "textBox_Current_b_GanTa"; + this.textBox_Current_b_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Current_b_GanTa.TabIndex = 50; + this.textBox_Current_a_GanTa.Location = new System.Drawing.Point(691, 356); + this.textBox_Current_a_GanTa.Name = "textBox_Current_a_GanTa"; + this.textBox_Current_a_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Current_a_GanTa.TabIndex = 49; + this.textBox_4ZJ_Zhong_GanTa.Location = new System.Drawing.Point(467, 356); + this.textBox_4ZJ_Zhong_GanTa.Name = "textBox_4ZJ_Zhong_GanTa"; + this.textBox_4ZJ_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_4ZJ_Zhong_GanTa.TabIndex = 37; + this.textBox_2ZJ_Zhong_GanTa.Location = new System.Drawing.Point(247, 356); + this.textBox_2ZJ_Zhong_GanTa.Name = "textBox_2ZJ_Zhong_GanTa"; + this.textBox_2ZJ_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2ZJ_Zhong_GanTa.TabIndex = 25; + this.textBox_3ZJ_Zhong_GanTa.Location = new System.Drawing.Point(467, 85); + this.textBox_3ZJ_Zhong_GanTa.Name = "textBox_3ZJ_Zhong_GanTa"; + this.textBox_3ZJ_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_3ZJ_Zhong_GanTa.TabIndex = 31; + this.textBox_1ZJ_Zhong_GanTa.Location = new System.Drawing.Point(247, 85); + this.textBox_1ZJ_Zhong_GanTa.Name = "textBox_1ZJ_Zhong_GanTa"; + this.textBox_1ZJ_Zhong_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Zhong_GanTa.TabIndex = 19; + this.label41.AutoSize = true; + this.label41.Location = new System.Drawing.Point(467, 476); + this.label41.Name = "label41"; + this.label41.Size = new System.Drawing.Size(101, 12); + this.label41.TabIndex = 3; + this.label41.Text = "B相高度(m) IV回"; + this.label29.AutoSize = true; + this.label29.Location = new System.Drawing.Point(247, 476); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(101, 12); + this.label29.TabIndex = 3; + this.label29.Text = "B相高度(m) II回"; + this.label48.AutoSize = true; + this.label48.Location = new System.Drawing.Point(691, 386); + this.label48.Name = "label48"; + this.label48.Size = new System.Drawing.Size(71, 12); + this.label48.TabIndex = 3; + this.label48.Text = "雷电流幅值b"; + this.label40.AutoSize = true; + this.label40.Location = new System.Drawing.Point(467, 205); + this.label40.Name = "label40"; + this.label40.Size = new System.Drawing.Size(107, 12); + this.label40.TabIndex = 3; + this.label40.Text = "B相高度(m) III回"; + this.label47.AutoSize = true; + this.label47.Location = new System.Drawing.Point(691, 341); + this.label47.Name = "label47"; + this.label47.Size = new System.Drawing.Size(71, 12); + this.label47.TabIndex = 3; + this.label47.Text = "雷电流幅值a"; + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(247, 205); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(95, 12); + this.label23.TabIndex = 3; + this.label23.Text = "B相高度(m) I回"; + this.label39.AutoSize = true; + this.label39.Location = new System.Drawing.Point(467, 341); + this.label39.Name = "label39"; + this.label39.Size = new System.Drawing.Size(101, 12); + this.label39.TabIndex = 3; + this.label39.Text = "B相中距(m) IV回"; + this.label28.AutoSize = true; + this.label28.Location = new System.Drawing.Point(247, 341); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(101, 12); + this.label28.TabIndex = 3; + this.label28.Text = "B相中距(m) II回"; + this.label38.AutoSize = true; + this.label38.Location = new System.Drawing.Point(467, 70); + this.label38.Name = "label38"; + this.label38.Size = new System.Drawing.Size(107, 12); + this.label38.TabIndex = 3; + this.label38.Text = "B相中距(m) III回"; + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(247, 70); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(95, 12); + this.label19.TabIndex = 3; + this.label19.Text = "B相中距(m) I回"; + this.textBox_4GD_Xia_GanTa.Location = new System.Drawing.Point(467, 536); + this.textBox_4GD_Xia_GanTa.Name = "textBox_4GD_Xia_GanTa"; + this.textBox_4GD_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_4GD_Xia_GanTa.TabIndex = 41; + this.textBox_2GD_Xia_GanTa.Location = new System.Drawing.Point(247, 536); + this.textBox_2GD_Xia_GanTa.Name = "textBox_2GD_Xia_GanTa"; + this.textBox_2GD_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2GD_Xia_GanTa.TabIndex = 29; + this.label37.AutoSize = true; + this.label37.Location = new System.Drawing.Point(467, 521); + this.label37.Name = "label37"; + this.label37.Size = new System.Drawing.Size(101, 12); + this.label37.TabIndex = 3; + this.label37.Text = "C相高度(m) IV回"; + this.label27.AutoSize = true; + this.label27.Location = new System.Drawing.Point(247, 521); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(101, 12); + this.label27.TabIndex = 3; + this.label27.Text = "C相高度(m) II回"; + this.textBox_3GD_Xia_GanTa.Location = new System.Drawing.Point(467, 265); + this.textBox_3GD_Xia_GanTa.Name = "textBox_3GD_Xia_GanTa"; + this.textBox_3GD_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_3GD_Xia_GanTa.TabIndex = 35; + this.textBox_1GD_Xia_GanTa.Location = new System.Drawing.Point(247, 265); + this.textBox_1GD_Xia_GanTa.Name = "textBox_1GD_Xia_GanTa"; + this.textBox_1GD_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Xia_GanTa.TabIndex = 23; + this.textBox_4ZJ_Xia_GanTa.Location = new System.Drawing.Point(467, 401); + this.textBox_4ZJ_Xia_GanTa.Name = "textBox_4ZJ_Xia_GanTa"; + this.textBox_4ZJ_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_4ZJ_Xia_GanTa.TabIndex = 38; + this.textBox_2ZJ_Xia_GanTa.Location = new System.Drawing.Point(247, 401); + this.textBox_2ZJ_Xia_GanTa.Name = "textBox_2ZJ_Xia_GanTa"; + this.textBox_2ZJ_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2ZJ_Xia_GanTa.TabIndex = 26; + this.label36.AutoSize = true; + this.label36.Location = new System.Drawing.Point(467, 250); + this.label36.Name = "label36"; + this.label36.Size = new System.Drawing.Size(107, 12); + this.label36.TabIndex = 3; + this.label36.Text = "C相高度(m) III回"; + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(247, 250); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(95, 12); + this.label22.TabIndex = 3; + this.label22.Text = "C相高度(m) I回"; + this.textBox_4GD_Shang_GanTa.Location = new System.Drawing.Point(467, 446); + this.textBox_4GD_Shang_GanTa.Name = "textBox_4GD_Shang_GanTa"; + this.textBox_4GD_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_4GD_Shang_GanTa.TabIndex = 39; + this.textBox_2GD_Shang_GanTa.Location = new System.Drawing.Point(247, 446); + this.textBox_2GD_Shang_GanTa.Name = "textBox_2GD_Shang_GanTa"; + this.textBox_2GD_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2GD_Shang_GanTa.TabIndex = 27; + this.textBox_3ZJ_Xia_GanTa.Location = new System.Drawing.Point(467, 130); + this.textBox_3ZJ_Xia_GanTa.Name = "textBox_3ZJ_Xia_GanTa"; + this.textBox_3ZJ_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_3ZJ_Xia_GanTa.TabIndex = 32; + this.textBox_1ZJ_Xia_GanTa.Location = new System.Drawing.Point(247, 130); + this.textBox_1ZJ_Xia_GanTa.Name = "textBox_1ZJ_Xia_GanTa"; + this.textBox_1ZJ_Xia_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Xia_GanTa.TabIndex = 20; + this.label35.AutoSize = true; + this.label35.Location = new System.Drawing.Point(467, 386); + this.label35.Name = "label35"; + this.label35.Size = new System.Drawing.Size(101, 12); + this.label35.TabIndex = 3; + this.label35.Text = "C相中距(m) IV回"; + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(247, 386); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(101, 12); + this.label26.TabIndex = 3; + this.label26.Text = "C相中距(m) II回"; + this.textBox_3GD_Shang_GanTa.Location = new System.Drawing.Point(467, 175); + this.textBox_3GD_Shang_GanTa.Name = "textBox_3GD_Shang_GanTa"; + this.textBox_3GD_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_3GD_Shang_GanTa.TabIndex = 33; + this.textBox_1GD_Shang_GanTa.Location = new System.Drawing.Point(247, 175); + this.textBox_1GD_Shang_GanTa.Name = "textBox_1GD_Shang_GanTa"; + this.textBox_1GD_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1GD_Shang_GanTa.TabIndex = 21; + this.label34.AutoSize = true; + this.label34.Location = new System.Drawing.Point(467, 431); + this.label34.Name = "label34"; + this.label34.Size = new System.Drawing.Size(101, 12); + this.label34.TabIndex = 3; + this.label34.Text = "A相高度(m) IV回"; + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(247, 431); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(101, 12); + this.label25.TabIndex = 3; + this.label25.Text = "A相高度(m) II回"; + this.label33.AutoSize = true; + this.label33.Location = new System.Drawing.Point(467, 115); + this.label33.Name = "label33"; + this.label33.Size = new System.Drawing.Size(107, 12); + this.label33.TabIndex = 3; + this.label33.Text = "C相中距(m) III回"; + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(247, 115); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(95, 12); + this.label20.TabIndex = 3; + this.label20.Text = "C相中距(m) I回"; + this.textBox_4ZJ_Shang_GanTa.Location = new System.Drawing.Point(467, 311); + this.textBox_4ZJ_Shang_GanTa.Name = "textBox_4ZJ_Shang_GanTa"; + this.textBox_4ZJ_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_4ZJ_Shang_GanTa.TabIndex = 36; + this.textBox_2ZJ_Shang_GanTa.Location = new System.Drawing.Point(247, 311); + this.textBox_2ZJ_Shang_GanTa.Name = "textBox_2ZJ_Shang_GanTa"; + this.textBox_2ZJ_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_2ZJ_Shang_GanTa.TabIndex = 24; + this.label32.AutoSize = true; + this.label32.Location = new System.Drawing.Point(467, 160); + this.label32.Name = "label32"; + this.label32.Size = new System.Drawing.Size(107, 12); + this.label32.TabIndex = 3; + this.label32.Text = "A相高度(m) III回"; + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(247, 160); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(95, 12); + this.label21.TabIndex = 3; + this.label21.Text = "A相高度(m) I回"; + this.label31.AutoSize = true; + this.label31.Location = new System.Drawing.Point(467, 296); + this.label31.Name = "label31"; + this.label31.Size = new System.Drawing.Size(101, 12); + this.label31.TabIndex = 3; + this.label31.Text = "A相中距(m) IV回"; + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(247, 296); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(101, 12); + this.label24.TabIndex = 3; + this.label24.Text = "A相中距(m) II回"; + this.textBox_3ZJ_Shang_GanTa.Location = new System.Drawing.Point(467, 40); + this.textBox_3ZJ_Shang_GanTa.Name = "textBox_3ZJ_Shang_GanTa"; + this.textBox_3ZJ_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_3ZJ_Shang_GanTa.TabIndex = 30; + this.label30.AutoSize = true; + this.label30.Location = new System.Drawing.Point(467, 25); + this.label30.Name = "label30"; + this.label30.Size = new System.Drawing.Size(107, 12); + this.label30.TabIndex = 3; + this.label30.Text = "A相中距(m) III回"; + this.textBox_1ZJ_Shang_GanTa.Location = new System.Drawing.Point(247, 40); + this.textBox_1ZJ_Shang_GanTa.Name = "textBox_1ZJ_Shang_GanTa"; + this.textBox_1ZJ_Shang_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_1ZJ_Shang_GanTa.TabIndex = 18; + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(247, 25); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(95, 12); + this.label18.TabIndex = 3; + this.label18.Text = "A相中距(m) I回"; + this.textBox_ID_GanTa.Location = new System.Drawing.Point(29, 40); + this.textBox_ID_GanTa.Name = "textBox_ID_GanTa"; + this.textBox_ID_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_ID_GanTa.TabIndex = 0; + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(29, 25); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(53, 12); + this.label1.TabIndex = 3; + this.label1.Text = "杆塔编号"; + this.textBox_DSMD_GanTa.Location = new System.Drawing.Point(692, 311); + this.textBox_DSMD_GanTa.Name = "textBox_DSMD_GanTa"; + this.textBox_DSMD_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_DSMD_GanTa.TabIndex = 48; + this.label46.AutoSize = true; + this.label46.Location = new System.Drawing.Point(690, 296); + this.label46.Name = "label46"; + this.label46.Size = new System.Drawing.Size(137, 12); + this.label46.TabIndex = 1; + this.label46.Text = "地闪密度(次/(km^2*年))"; + this.textBox_RaoJiFanJi_GanTa.Location = new System.Drawing.Point(691, 265); + this.textBox_RaoJiFanJi_GanTa.Name = "textBox_RaoJiFanJi_GanTa"; + this.textBox_RaoJiFanJi_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_RaoJiFanJi_GanTa.TabIndex = 47; + this.label45.AutoSize = true; + this.label45.Location = new System.Drawing.Point(691, 250); + this.label45.Name = "label45"; + this.label45.Size = new System.Drawing.Size(53, 12); + this.label45.TabIndex = 1; + this.label45.Text = "绕击反击"; + this.textBox_ZXNZ_GanTa.Location = new System.Drawing.Point(692, 220); + this.textBox_ZXNZ_GanTa.Name = "textBox_ZXNZ_GanTa"; + this.textBox_ZXNZ_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_ZXNZ_GanTa.TabIndex = 46; + this.label44.AutoSize = true; + this.label44.Location = new System.Drawing.Point(692, 205); + this.label44.Name = "label44"; + this.label44.Size = new System.Drawing.Size(89, 12); + this.label44.TabIndex = 1; + this.label44.Text = "直线或耐张杆塔"; + this.textBox_Angle_GanTa.Location = new System.Drawing.Point(692, 175); + this.textBox_Angle_GanTa.Name = "textBox_Angle_GanTa"; + this.textBox_Angle_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_Angle_GanTa.TabIndex = 45; + this.label43.AutoSize = true; + this.label43.Location = new System.Drawing.Point(692, 160); + this.label43.Name = "label43"; + this.label43.Size = new System.Drawing.Size(41, 12); + this.label43.TabIndex = 1; + this.label43.Text = "电角度"; + this.textBox_HuGao_GanTa.Location = new System.Drawing.Point(692, 130); + this.textBox_HuGao_GanTa.Name = "textBox_HuGao_GanTa"; + this.textBox_HuGao_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_HuGao_GanTa.TabIndex = 44; + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(692, 115); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(71, 12); + this.label12.TabIndex = 1; + this.label12.Text = "杆塔呼高(m)"; + this.textBox_JDDZ_GanTa.Location = new System.Drawing.Point(692, 85); + this.textBox_JDDZ_GanTa.Name = "textBox_JDDZ_GanTa"; + this.textBox_JDDZ_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_JDDZ_GanTa.TabIndex = 43; + this.label42.AutoSize = true; + this.label42.Location = new System.Drawing.Point(692, 25); + this.label42.Name = "label42"; + this.label42.Size = new System.Drawing.Size(29, 12); + this.label42.TabIndex = 1; + this.label42.Text = "地形"; + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(692, 71); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(77, 12); + this.label7.TabIndex = 1; + this.label7.Text = "接地电阻(Ω)"; + this.buttonCancel.Location = new System.Drawing.Point(744, 596); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(108, 28); + this.buttonCancel.TabIndex = 55; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(613, 596); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(108, 28); + this.buttonOK.TabIndex = 54; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.label49.AutoSize = true; + this.label49.Location = new System.Drawing.Point(689, 521); + this.label49.Name = "label49"; + this.label49.Size = new System.Drawing.Size(29, 12); + this.label49.TabIndex = 10; + this.label49.Text = "塔型"; + this.textBox_TaXing_GanTa.Location = new System.Drawing.Point(692, 536); + this.textBox_TaXing_GanTa.Name = "textBox_TaXing_GanTa"; + this.textBox_TaXing_GanTa.Size = new System.Drawing.Size(161, 21); + this.textBox_TaXing_GanTa.TabIndex = 53; + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(878, 638); + base.Controls.Add(this.panelGanTa4Hui); + base.Name = "FormGanTa4Hui"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormGanTa4Hui"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormGanTa4Hui_FormClosing); + base.Load += new System.EventHandler(FormGanTa4Hui_Load); + this.panelGanTa4Hui.ResumeLayout(false); + this.panelGanTa4Hui.PerformLayout(); + base.ResumeLayout(false); + } +} diff --git a/LP/FormGanTaList.cs b/LP/FormGanTaList.cs new file mode 100644 index 0000000..c6ae5c3 --- /dev/null +++ b/LP/FormGanTaList.cs @@ -0,0 +1,1613 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormGanTaList : Form +{ + private delegate void delegateFormTitle(Form form, string value); + + private delegate void delegateDataGridViewDataSource(DataGridView dataGridView, DataView value); + + private delegate void delegateGroupBoxVisible(GroupBox groupBox, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private string mTitle = ""; + + private XianLuData mXianLuData = null; + + private string mFileName = ""; + + private int mIndex_ListXianLuData = 0; + + private bool mOK_Index_ListXianLuData = false; + + private DataSet mDS = null; + + private bool mOK_DataSet = false; + + private int mDGV_Index = -1; + + private bool mBusy = false; + + public static object mLock = new object(); + + private IContainer components = null; + + private Panel panelGanTaList_Form; + + private Panel panelButtons; + + private Panel panelList; + + private Panel panelDetail; + + private Button buttonDelete; + + private Button buttonAppend; + + private Button buttonSave_GanTa; + + private Button buttonLoad_GanTa; + + private Panel panel1; + + private DataGridView dataGridView_Ganta; + + private PictureBox pictureBox_GanTa; + + private GroupBox groupBox_GanTa; + + private Label label2; + + private Label label1; + + private TextBox textBox_BLZJ_L; + + private Label label8; + + private Label label7; + + private Label label6; + + private Label label5; + + private Label label4; + + private Label label3; + + private Label label9; + + private TextBox textBox_BLZJ_R; + + private TextBox textBox_BLXGD; + + private TextBox textBox_ZJ_Shang; + + private TextBox textBox_GD_Shang; + + private TextBox textBox_GD_Xia; + + private TextBox textBox_ZJ_Xia; + + private TextBox textBox_GD_Zhong; + + private TextBox textBox_ZJ_Zhong; + + public FormGanTaList() + { + InitializeComponent(); + if (string.IsNullOrEmpty(mTitle)) + { + mTitle = "杆塔列表"; + } + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + mOK_Index_ListXianLuData = false; + mOK_DataSet = false; + if (mDS == null) + { + mDS = new DataSet(); + } + } + + private void FormGanTaList_Load(object sender, EventArgs e) + { + if (mXianLuData == null || string.IsNullOrEmpty(mXianLuData.mName_XianLu)) + { + MySet_Form_Title(this, ""); + } + else + { + MySet_Form_Title(this, $" - {mXianLuData.mName_XianLu} (共{mXianLuData.mGanTaNumber_XianLu}个杆塔)"); + } + if (mDS == null) + { + mDS = new DataSet(); + } + if (mOK_Index_ListXianLuData) + { + MyRefresh_DGV(); + } + dataGridView_Ganta.ReadOnly = true; + pictureBox_GanTa.Image = null; + if (mDS == null || mDS.Tables.Count == 0 || mDGV_Index >= mDS.Tables[0].Rows.Count) + { + mDGV_Index = -1; + } + MyRefresh_Right(); + } + + private void FormGanTaList_FormClosing(object sender, FormClosingEventArgs e) + { + if (mDS != null) + { + if (mDS.Tables.Count > 0) + { + mDS.Tables[0].Clear(); + } + mDS.Tables.Clear(); + mDS = null; + } + } + + public void MyInput_XianLuData() + { + mXianLuData.CopyFrom_XianLuData(desktop.mTheXianLuData); + mOK_Index_ListXianLuData = false; + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (desktop.mXL.mListXianLuData[i].mName_XianLu.Equals(mXianLuData.mName_XianLu)) + { + mIndex_ListXianLuData = i; + mOK_Index_ListXianLuData = true; + break; + } + } + MySet_DataGridView_DataSource(dataGridView_Ganta, null); + GetDataSet(); + if (mOK_DataSet) + { + MySet_DataGridView_DataSource(dataGridView_Ganta, mDS.Tables[0].DefaultView); + } + } + + public void MyOutput_XianLuData() + { + desktop.mTheXianLuData.CopyFrom_XianLuData(mXianLuData); + } + + private void MyRefresh_DGV() + { + try + { + mXianLuData.mGanTaNumber_XianLu = desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; + mXianLuData.mStringGanTaNumber_XianLu = $"[{mXianLuData.mGanTaNumber_XianLu}]个杆塔"; + MySet_Form_Title(this, $"{mXianLuData.mName_XianLu}({mXianLuData.mHuiLuNo_XianLu}) (共{mXianLuData.mGanTaNumber_XianLu}个杆塔)"); + MySet_DataGridView_DataSource(dataGridView_Ganta, null); + GetDataSet(); + if (mOK_DataSet) + { + MySet_DataGridView_DataSource(dataGridView_Ganta, mDS.Tables[0].DefaultView); + } + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTaList.cs MyRefresh_DGV() 异常=" + ex.Message); + MessageBox.Show(ex.Message); + } + } + + private void MyRefresh_Right() + { + lock (mLock) + { + try + { + string text = ""; + GanTaData ganTaData = null; + try + { + ganTaData = desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData[mDGV_Index]; + } + catch (Exception) + { + ganTaData = null; + } + if (ganTaData == null) + { + pictureBox_GanTa.Image = null; + MySet_GroupBox_Visible(groupBox_GanTa, value: false); + return; + } + text = ganTaData.mModel_GanTa; + if (!string.IsNullOrEmpty(text)) + { + string text2 = Application.StartupPath + "\\Models\\" + text + ".jpg"; + if (!File.Exists(text2)) + { + pictureBox_GanTa.Image = null; + } + else + { + pictureBox_GanTa.Image = Image.FromFile(text2); + } + } + MySet_GroupBox_Visible(groupBox_GanTa, value: true); + textBox_BLZJ_L.Text = $"{ganTaData.mBLZJ_L_GanTa}"; + textBox_BLZJ_R.Text = $"{ganTaData.mBLZJ_R_GanTa}"; + textBox_BLXGD.Text = $"{ganTaData.mBLXGD_GanTa}"; + textBox_ZJ_Shang.Text = $"{ganTaData.m1ZJ_Shang_GanTa}"; + textBox_GD_Shang.Text = $"{ganTaData.m1GD_Shang_GanTa}"; + textBox_ZJ_Zhong.Text = $"{ganTaData.m1ZJ_Zhong_GanTa}"; + textBox_GD_Zhong.Text = $"{ganTaData.m1GD_Zhong_GanTa}"; + textBox_ZJ_Xia.Text = $"{ganTaData.m1ZJ_Xia_GanTa}"; + textBox_GD_Xia.Text = $"{ganTaData.m1GD_Xia_GanTa}"; + } + catch (Exception ex2) + { + MyLog.AddLog("FormGanTaList.cs MyRefresh_Right() 异常=" + ex2.Message); + MessageBox.Show(ex2.Message); + } + } + } + + private void buttonLoad_GanTa_Click(object sender, EventArgs e) + { + if (mBusy) + { + return; + } + mBusy = true; + try + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + openFileDialog.InitialDirectory = Application.StartupPath; + openFileDialog.Filter = "所有文件*.*|*.*|Excel文件(*.csv)|*.csv|Txt文件(*.txt)|*.txt"; + openFileDialog.FilterIndex = 2; + if (openFileDialog.ShowDialog(this) != DialogResult.OK) + { + mBusy = false; + return; + } + mFileName = openFileDialog.FileName; + Thread thread = new Thread(MyLoad_GanTas); + thread.Start(); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTaList.cs buttonLoad_GanTa_Click() 异常=" + ex.Message); + MessageBox.Show(ex.Message); + mBusy = false; + } + } + + private void MyLoad_GanTas() + { + try + { + if (string.IsNullOrEmpty(mFileName)) + { + MyLog.AddLog("FormGanTaList.cs buttonLoad_GanTa_Click() MyLoad_GanTas() 文件名mFileName为空!"); + MessageBox.Show("文件名mFileName为空!"); + mBusy = false; + return; + } + if (!File.Exists(mFileName)) + { + MyLog.AddLog("FormGanTaList.cs buttonLoad_GanTa_Click() MyLoad_GanTas() 未找到文件! " + mFileName); + MessageBox.Show("未找到文件: " + mFileName); + mBusy = false; + return; + } + string[] separator = new string[3] { "\r", "\n", "," }; + string text = ""; + int num = 0; + int num2 = 0; + string text2 = ""; + Dictionary dictionary = new Dictionary(); + dictionary.Clear(); + bool flag = false; + bool flag2 = false; + int num3 = 0; + int num4 = 0; + double num5 = 0.0; + for (num3 = 0; num3 < desktop.mXL.mListXianLuData.Count; num3++) + { + if (desktop.mXL.mListXianLuData[num3].mName_XianLu.Equals(mXianLuData.mName_XianLu)) + { + flag2 = true; + break; + } + } + if (!flag2) + { + MyLog.AddLog("FormGanTaList.cs buttonLoad_GanTa_Click() MyLoad_GanTas() 未找到线路! " + mXianLuData.mName_XianLu); + MessageBox.Show("未找到线路: " + mXianLuData.mName_XianLu); + mBusy = false; + return; + } + if (!mOK_Index_ListXianLuData) + { + mOK_Index_ListXianLuData = true; + } + if (mIndex_ListXianLuData != num3) + { + mIndex_ListXianLuData = num3; + } + Encoding[] array = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num6 = 0; + flag2 = false; + for (int i = 0; i < array.Length; i++) + { + try + { + using FileStream fileStream = new FileStream(mFileName, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream, array[i])) + { + text = streamReader.ReadToEnd(); + if (text.IndexOf("塔号") >= 0) + { + num6 = i; + flag2 = true; + } + streamReader.Close(); + } + fileStream.Close(); + } + catch (Exception) + { + } + if (flag2) + { + break; + } + } + GanTaData ganTaData = null; + bool flag3 = false; + bool flag4 = false; + try + { + using FileStream fileStream2 = new FileStream(mFileName, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader2 = new StreamReader(fileStream2, array[num6])) + { + while (!streamReader2.EndOfStream) + { + text = streamReader2.ReadLine().Trim(); + if (string.IsNullOrEmpty(text)) + { + continue; + } + num++; + string[] array2 = text.Split(separator, StringSplitOptions.None); + if (num == 1 && text.IndexOf("塔号") >= 0) + { + for (int j = 0; j < array2.Length; j++) + { + dictionary.Add(array2[j], j); + } + flag = true; + continue; + } + ganTaData = new GanTaData(); + if (flag) + { + for (int k = 0; k < array2.Length; k++) + { + text2 = dictionary.ElementAt(k).Key; + num2 = dictionary.ElementAt(k).Value; + flag3 = (flag4 = false); + if (array2[num2] == null) + { + num4 = 0; + num5 = 0.0; + flag3 = (flag4 = true); + } + else + { + try + { + num4 = Convert.ToInt32(array2[num2].Trim()); + } + catch (Exception) + { + num4 = 1; + flag4 = true; + } + try + { + num5 = Convert.ToDouble(array2[num2].Trim()); + } + catch (Exception) + { + num5 = 1.0; + flag3 = true; + } + } + switch (text2) + { + case "线路编号": + ganTaData.mXianLuID = num4; + break; + case "序号": + ganTaData.mIndex__GanTa = (flag4 ? desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count : num4); + break; + case "线路名称": + ganTaData.mXianLuName = array2[num2].Trim(); + break; + case "电压等级": + ganTaData.mDYDJ_GanTa = num4; + break; + case "塔号": + ganTaData.mID_GanTa = array2[num2].Trim(); + break; + case "杆塔模型": + ganTaData.mModel_GanTa = array2[num2].Trim(); + break; + case "塔形": + ganTaData.mTaXing_GanTa = array2[num2].Trim(); + break; + case "经度": + ganTaData.mJingDu_GanTa = num5; + break; + case "纬度": + ganTaData.mWeiDu_GanTa = num5; + break; + case "I回相序": + ganTaData.mXiangXu1_GanTa = array2[num2].Trim(); + break; + case "II回相序": + ganTaData.mXiangXu2_GanTa = array2[num2].Trim(); + break; + case "III回相序": + ganTaData.mXiangXu3_GanTa = array2[num2].Trim(); + break; + case "IV回相序": + ganTaData.mXiangXu4_GanTa = array2[num2].Trim(); + break; + case "A相是否安装避雷器": + ganTaData.mBLQ_A_GanTa = array2[num2].Trim(); + break; + case "B相是否安装避雷器": + ganTaData.mBLQ_B_GanTa = array2[num2].Trim(); + break; + case "C相是否安装避雷器": + ganTaData.mBLQ_C_GanTa = array2[num2].Trim(); + break; + case "接地电阻": + ganTaData.mJDDZ_GanTa = num5; + break; + case "左避雷中距m": + ganTaData.mBLZJ_L_GanTa = num5; + break; + case "右避雷中距m": + ganTaData.mBLZJ_R_GanTa = num5; + break; + case "避雷线高度m": + ganTaData.mBLXGD_GanTa = num5; + break; + case "绝缘子串长度mm": + ganTaData.mJYZCD_GanTa = num5; + break; + case "杆塔呼高m": + ganTaData.mHuGao_GanTa = num5; + break; + case "I回上相中距m": + ganTaData.m1ZJ_Shang_GanTa = num5; + break; + case "I回中相中距m": + ganTaData.m1ZJ_Zhong_GanTa = num5; + break; + case "I回下相中距m": + ganTaData.m1ZJ_Xia_GanTa = num5; + break; + case "I回上相高度m": + ganTaData.m1GD_Shang_GanTa = num5; + break; + case "I回中相高度m": + ganTaData.m1GD_Zhong_GanTa = num5; + break; + case "I回下相高度m": + ganTaData.m1GD_Xia_GanTa = num5; + break; + case "II回上相中距m": + ganTaData.m2ZJ_Shang_GanTa = num5; + break; + case "II回中相中距m": + ganTaData.m2ZJ_Zhong_GanTa = num5; + break; + case "II回下相中距m": + ganTaData.m2ZJ_Xia_GanTa = num5; + break; + case "II回上相高度m": + ganTaData.m2GD_Shang_GanTa = num5; + break; + case "II回中相高度m": + ganTaData.m2GD_Zhong_GanTa = num5; + break; + case "II回下相高度m": + ganTaData.m2GD_Xia_GanTa = num5; + break; + case "III回上相中距m": + ganTaData.m3ZJ_Shang_GanTa = num5; + break; + case "III回中相中距m": + ganTaData.m3ZJ_Zhong_GanTa = num5; + break; + case "III回下相中距m": + ganTaData.m3ZJ_Xia_GanTa = num5; + break; + case "III回上相高度m": + ganTaData.m3GD_Shang_GanTa = num5; + break; + case "III回中相高度m": + ganTaData.m3GD_Zhong_GanTa = num5; + break; + case "III回下相高度m": + ganTaData.m3GD_Xia_GanTa = num5; + break; + case "IV回上相中距m": + ganTaData.m4ZJ_Shang_GanTa = num5; + break; + case "IV回中相中距m": + ganTaData.m4ZJ_Zhong_GanTa = num5; + break; + case "IV回下相中距m": + ganTaData.m4ZJ_Xia_GanTa = num5; + break; + case "IV回上相高度m": + ganTaData.m4GD_Shang_GanTa = num5; + break; + case "IV回中相高度m": + ganTaData.m4GD_Zhong_GanTa = num5; + break; + case "IV回下相高度m": + ganTaData.m4GD_Xia_GanTa = num5; + break; + case "小号侧档距": + ganTaData.mXiaoHao_GanTa = num5; + break; + case "大号侧档距": + ganTaData.mDaHao_GanTa = num5; + break; + case "电角度": + ganTaData.mAngle_GanTa = num5; + break; + case "雷电流幅值a": + ganTaData.mCurrent_a_GanTa = (flag3 ? 31.0 : num5); + break; + case "雷电流幅值b": + ganTaData.mCurrent_b_GanTa = (flag3 ? 2.6 : num5); + break; + case "地面倾角1": + ganTaData.mDMQJ1_GanTa = (flag3 ? 0.0 : num5); + break; + case "地面倾角2": + ganTaData.mDMQJ2_GanTa = (flag3 ? 0.0 : num5); + break; + case "海拔m": + ganTaData.mHaiBa_GanTa = num5; + break; + case "地形": + ganTaData.mDiXing_GanTa = array2[num2].Trim(); + break; + case "地闪密度": + ganTaData.mDSMD_GanTa = (flag3 ? 2.8 : num5); + break; + case "直线或耐张杆塔": + ganTaData.mZXNZ_GanTa = array2[num2].Trim(); + break; + case "绕击反击": + ganTaData.mRaoJiFanJi_GanTa = num4; + break; + case "反击耐雷水平kA": + ganTaData.mFJ_NLSP_GanTa = num5; + break; + case "反击跳闸率(次/100km.a)": + ganTaData.mFJ_TZL_GanTa = num5; + break; + case "绕击耐雷水平kA": + ganTaData.mRJ_NLSP_GanTa = num5; + break; + case "绕击跳闸率(次/100km.a)": + ganTaData.mRJ_TZL_GanTa = num5; + break; + case "雷击风险等级": + ganTaData.mFXDJ_GanTa = num4; + break; + } + } + } + else if (!flag) + { + for (num2 = 0; num2 < array2.Length; num2++) + { + flag3 = (flag4 = false); + if (array2[num2] == null) + { + num4 = 0; + num5 = 0.0; + flag3 = (flag4 = true); + } + else + { + try + { + num4 = Convert.ToInt32(array2[num2].Trim()); + } + catch (Exception) + { + num4 = 1; + flag4 = true; + } + try + { + num5 = Convert.ToDouble(array2[num2].Trim()); + } + catch (Exception) + { + num5 = 1.0; + flag3 = true; + } + } + switch (num2) + { + case 0: + ganTaData.mXianLuID = num4; + break; + case 1: + ganTaData.mIndex__GanTa = (flag4 ? desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count : num4); + break; + case 2: + ganTaData.mXianLuName = array2[num2].Trim(); + break; + case 3: + ganTaData.mDYDJ_GanTa = num4; + break; + case 4: + ganTaData.mID_GanTa = array2[num2].Trim(); + break; + case 5: + ganTaData.mModel_GanTa = array2[num2].Trim(); + break; + case 6: + ganTaData.mTaXing_GanTa = array2[num2].Trim(); + break; + case 7: + ganTaData.mJingDu_GanTa = num5; + break; + case 8: + ganTaData.mWeiDu_GanTa = num5; + break; + case 9: + ganTaData.mXiangXu1_GanTa = array2[num2].Trim(); + break; + case 10: + ganTaData.mXiangXu2_GanTa = array2[num2].Trim(); + break; + case 11: + ganTaData.mXiangXu3_GanTa = array2[num2].Trim(); + break; + case 12: + ganTaData.mXiangXu4_GanTa = array2[num2].Trim(); + break; + case 13: + ganTaData.mBLQ_A_GanTa = array2[num2].Trim(); + break; + case 14: + ganTaData.mBLQ_B_GanTa = array2[num2].Trim(); + break; + case 15: + ganTaData.mBLQ_C_GanTa = array2[num2].Trim(); + break; + case 16: + ganTaData.mJDDZ_GanTa = num5; + break; + case 17: + ganTaData.mBLZJ_L_GanTa = num5; + break; + case 18: + ganTaData.mBLZJ_R_GanTa = num5; + break; + case 19: + ganTaData.mBLXGD_GanTa = num5; + break; + case 20: + ganTaData.mJYZCD_GanTa = num5; + break; + case 21: + ganTaData.mHuGao_GanTa = num5; + break; + case 22: + ganTaData.m1ZJ_Shang_GanTa = num5; + break; + case 23: + ganTaData.m1ZJ_Zhong_GanTa = num5; + break; + case 24: + ganTaData.m1ZJ_Xia_GanTa = num5; + break; + case 25: + ganTaData.m1GD_Shang_GanTa = num5; + break; + case 26: + ganTaData.m1GD_Zhong_GanTa = num5; + break; + case 27: + ganTaData.m1GD_Xia_GanTa = num5; + break; + case 28: + ganTaData.m2ZJ_Shang_GanTa = num5; + break; + case 29: + ganTaData.m2ZJ_Zhong_GanTa = num5; + break; + case 30: + ganTaData.m2ZJ_Xia_GanTa = num5; + break; + case 31: + ganTaData.m2GD_Shang_GanTa = num5; + break; + case 32: + ganTaData.m2GD_Zhong_GanTa = num5; + break; + case 33: + ganTaData.m2GD_Xia_GanTa = num5; + break; + case 34: + ganTaData.m3ZJ_Shang_GanTa = num5; + break; + case 35: + ganTaData.m3ZJ_Zhong_GanTa = num5; + break; + case 36: + ganTaData.m3ZJ_Xia_GanTa = num5; + break; + case 37: + ganTaData.m3GD_Shang_GanTa = num5; + break; + case 38: + ganTaData.m3GD_Zhong_GanTa = num5; + break; + case 39: + ganTaData.m3GD_Xia_GanTa = num5; + break; + case 40: + ganTaData.m4ZJ_Shang_GanTa = num5; + break; + case 41: + ganTaData.m4ZJ_Zhong_GanTa = num5; + break; + case 42: + ganTaData.m4ZJ_Xia_GanTa = num5; + break; + case 43: + ganTaData.m4GD_Shang_GanTa = num5; + break; + case 44: + ganTaData.m4GD_Zhong_GanTa = num5; + break; + case 45: + ganTaData.m4GD_Xia_GanTa = num5; + break; + case 46: + ganTaData.mXiaoHao_GanTa = num5; + break; + case 47: + ganTaData.mDaHao_GanTa = num5; + break; + case 48: + ganTaData.mAngle_GanTa = num5; + break; + case 49: + ganTaData.mCurrent_a_GanTa = (flag3 ? 31.0 : num5); + break; + case 50: + ganTaData.mCurrent_b_GanTa = (flag3 ? 2.6 : num5); + break; + case 51: + ganTaData.mDMQJ1_GanTa = (flag3 ? 0.0 : num5); + break; + case 52: + ganTaData.mDMQJ2_GanTa = (flag3 ? 0.0 : num5); + break; + case 53: + ganTaData.mHaiBa_GanTa = num5; + break; + case 54: + ganTaData.mDiXing_GanTa = array2[num2].Trim(); + break; + case 55: + ganTaData.mDSMD_GanTa = (flag3 ? 2.8 : num5); + break; + case 56: + ganTaData.mZXNZ_GanTa = array2[num2].Trim(); + break; + case 57: + ganTaData.mRaoJiFanJi_GanTa = num4; + break; + case 58: + ganTaData.mFJ_NLSP_GanTa = num5; + break; + case 59: + ganTaData.mFJ_TZL_GanTa = num5; + break; + case 60: + ganTaData.mRJ_NLSP_GanTa = num5; + break; + case 61: + ganTaData.mRJ_TZL_GanTa = num5; + break; + case 62: + ganTaData.mFXDJ_GanTa = num4; + break; + } + } + } + ganTaData.mXianLuID = mXianLuData.mID_XianLu; + ganTaData.mXianLuName = mXianLuData.mName_XianLu; + desktop.mXL.mListGanTas[mIndex_ListXianLuData].Add1GanTaData(ganTaData); + } + streamReader2.Close(); + } + fileStream2.Close(); + } + catch (Exception ex6) + { + MyLog.AddLog("FormGanTaList.cs MyLoad_GanTas() 读文件异常=" + ex6.Message); + MessageBox.Show(ex6.Message); + } + try + { + desktop.mXL.Refresh_GanTaNumber_Label(); + MyRefresh_DGV(); + MyRefresh_Right(); + } + catch (Exception ex7) + { + MyLog.AddLog("FormGanTaList.cs MyLoad_GanTas() 更新显示异常=" + ex7.Message); + MessageBox.Show(ex7.Message); + } + } + catch (Exception ex8) + { + MyLog.AddLog("FormGanTaList.cs MyLoad_GanTas() 异常=" + ex8.Message); + MessageBox.Show(ex8.Message); + } + mBusy = false; + } + + private void GetDataSet() + { + try + { + mOK_DataSet = false; + if (!mOK_Index_ListXianLuData) + { + MyLog.AddLog("FormGanTaList.cs GetDataSet() 线路名称无匹配:" + mXianLuData.mName_XianLu); + MessageBox.Show("线路名称无匹配:" + mXianLuData.mName_XianLu); + } + else + { + if (desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count == 0) + { + return; + } + if (mDS == null) + { + mDS = new DataSet(); + } + if (mDS.Tables.Count == 0) + { + mDS.Tables.Add(new DataTable()); + } + if (mDS.Tables[0].Rows.Count > 0) + { + mDS.Tables[0].Rows.Clear(); + } + if (mDS.Tables[0].Columns.Count > 0) + { + mDS.Tables[0].Columns.Clear(); + } + mDS.Tables[0].Columns.Add("塔号"); + mDS.Tables[0].Columns.Add("杆塔模型"); + mDS.Tables[0].Columns.Add("地理坐标°"); + mDS.Tables[0].Columns.Add("档距"); + mDS.Tables[0].Columns.Add("海拔高度m"); + mDS.Tables[0].Columns.Add("地形"); + mDS.Tables[0].Columns.Add("接地电阻Ω"); + mDS.Tables[0].Columns.Add("地闪密度 次/(km^2*年)"); + mDS.Tables[0].Columns.Add("雷电流"); + mDS.Tables[0].Columns.Add("倾角"); + mDS.Tables[0].Columns.Add("塔形"); + GanTaData ganTaData = null; + for (int i = 0; i < desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; i++) + { + ganTaData = desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData[i]; + DataRow dataRow = mDS.Tables[0].NewRow(); + for (int j = 0; j < mDS.Tables[0].Columns.Count; j++) + { + dataRow[j] = ""; + } + dataRow[0] = ganTaData.mID_GanTa ?? ""; + dataRow[1] = ganTaData.mModel_GanTa ?? ""; + dataRow[2] = $"{ganTaData.mJingDu_GanTa}|{ganTaData.mWeiDu_GanTa}"; + dataRow[3] = $"{ganTaData.mXiaoHao_GanTa},{ganTaData.mDaHao_GanTa}"; + dataRow[4] = $"{ganTaData.mHaiBa_GanTa}"; + dataRow[5] = ganTaData.mDiXing_GanTa ?? ""; + dataRow[6] = $"{ganTaData.mJDDZ_GanTa}"; + dataRow[7] = $"{ganTaData.mDSMD_GanTa}"; + dataRow[8] = $"{ganTaData.mCurrent_a_GanTa},{ganTaData.mCurrent_b_GanTa}"; + dataRow[9] = $"{ganTaData.mDMQJ1_GanTa},{ganTaData.mDMQJ2_GanTa}"; + dataRow[10] = ganTaData.mTaXing_GanTa ?? ""; + mDS.Tables[0].Rows.Add(dataRow); + } + mOK_DataSet = true; + } + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTaList.cs GetDataSet() 异常=" + ex.Message); + MessageBox.Show(ex.Message); + } + } + + private void buttonSave_GanTa_Click(object sender, EventArgs e) + { + if (mBusy) + { + return; + } + mBusy = true; + try + { + if (!mOK_Index_ListXianLuData) + { + MyLog.AddLog("FormGanTaList.cs buttonSave_GanTa_Click() 线路名称无匹配:" + mXianLuData.mName_XianLu); + MessageBox.Show("线路名称无匹配:" + mXianLuData.mName_XianLu); + mBusy = false; + return; + } + if (desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count == 0) + { + MessageBox.Show("当前线路无杆塔数据可以导出!"); + mBusy = false; + return; + } + SaveFileDialog saveFileDialog = new SaveFileDialog(); + saveFileDialog.InitialDirectory = Application.StartupPath; + saveFileDialog.Filter = "所有文件*.*|*.*|Excel文件(*.csv)|*.csv|Txt文件(*.txt)|*.txt"; + saveFileDialog.FilterIndex = 2; + if (saveFileDialog.ShowDialog(this) != DialogResult.OK) + { + mBusy = false; + return; + } + mFileName = saveFileDialog.FileName; + Thread thread = new Thread(MySave_GanTas); + thread.Start(); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTaList.cs buttonSave_GanTa_Click() 异常=" + ex.Message); + MessageBox.Show(ex.Message); + mBusy = false; + } + } + + private void MySave_GanTas() + { + try + { + int num = 0; + bool flag = false; + for (num = 0; num < desktop.mXL.mListXianLuData.Count; num++) + { + if (desktop.mXL.mListXianLuData[num].mName_XianLu.Equals(mXianLuData.mName_XianLu)) + { + flag = true; + break; + } + } + if (!flag) + { + MyLog.AddLog("FormGanTaList.cs buttonSave_GanTa_Click() MySave_GanTas() 未找到线路! " + mXianLuData.mName_XianLu); + MessageBox.Show("未找到线路: " + mXianLuData.mName_XianLu); + mBusy = false; + return; + } + if (!mOK_Index_ListXianLuData) + { + mOK_Index_ListXianLuData = true; + } + if (mIndex_ListXianLuData != num) + { + mIndex_ListXianLuData = num; + } + GanTaData ganTaData = null; + int num2 = 0; + try + { + using FileStream fileStream = new FileStream(mFileName, FileMode.Create, FileAccess.Write, FileShare.None); + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + streamWriter.WriteLine("线路编号,序号,线路名称,电压等级,塔号,杆塔模型,塔形,经度,纬度,I回相序,II回相序,III回相序,IV回相序,A相是否安装避雷器,B相是否安装避雷器,C相是否安装避雷器,接地电阻,左避雷中距m,右避雷中距m,避雷线高度m,绝缘子串长度mm,杆塔呼高m,I回上相中距m,I回中相中距m,I回下相中距m,I回上相高度m,I回中相高度m,I回下相高度m,II回上相中距m,II回中相中距m,II回下相中距m,II回上相高度m,II回中相高度m,II回下相高度m,III回上相中距m,III回中相中距m,III回下相中距m,III回上相高度m,III回中相高度m,III回下相高度m,IV回上相中距m,IV回中相中距m,IV回下相中距m,IV回上相高度m,IV回中相高度m,IV回下相高度m,小号侧档距,大号侧档距,电角度,雷电流幅值a,雷电流幅值b,地面倾角1,地面倾角2,海拔m,地形,地闪密度,直线或耐张杆塔,绕击反击,反击耐雷水平kA,反击跳闸率(次/100km.a),绕击耐雷水平kA,绕击跳闸率(次/100km.a),雷击风险等级"); + if (desktop.mXL.mListGanTas[mIndex_ListXianLuData] != null && desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData != null && desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count > 0) + { + for (int i = 0; i < desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; i++) + { + ganTaData = desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData[i]; + streamWriter.WriteLine(ganTaData.MyToString()); + num2++; + } + } + streamWriter.Close(); + } + fileStream.Close(); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTaList.cs MySave_GanTas() 写文件异常=" + ex.Message); + MessageBox.Show(ex.Message); + } + MessageBox.Show($"导出{num2}条杆塔数据。文件名{mFileName}"); + } + catch (Exception ex2) + { + MyLog.AddLog("FormGanTaList.cs MySave_GanTas() 异常=" + ex2.Message); + MessageBox.Show(ex2.Message); + } + mBusy = false; + } + + private void buttonAppend_Click(object sender, EventArgs e) + { + if (mBusy) + { + return; + } + mBusy = true; + try + { + DialogResult dialogResult = DialogResult.No; + dialogResult = desktop.mDlg_CreateGanTa.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + int mIndexModel = desktop.mDlg_CreateGanTa.mIndexModel; + GanTaData ganTaData = new GanTaData(); + ganTaData.mModel_GanTa = GanTas.mName_GanTaModels[mIndexModel]; + ganTaData.mXianLuID = mXianLuData.mID_XianLu; + ganTaData.mXianLuName = mXianLuData.mName_XianLu; + if (mIndex_ListXianLuData < 0 || mIndex_ListXianLuData >= desktop.mXL.mListXianLuData.Count) + { + mBusy = false; + return; + } + ganTaData.mRaoJiFanJi_GanTa = 3; + ganTaData.mDSMD_GanTa = 2.8; + ganTaData.mCurrent_a_GanTa = 31.0; + ganTaData.mCurrent_b_GanTa = 2.6; + ganTaData.mDMQJ1_GanTa = 0.0; + ganTaData.mDMQJ2_GanTa = 0.0; + desktop.mXL.mListGanTas[mIndex_ListXianLuData].Add1GanTaData(ganTaData); + desktop.mXL.Refresh_GanTaNumber_Label(); + MyRefresh_DGV(); + MySet_Form_Title(this, $"{mXianLuData.mName_XianLu}({mXianLuData.mHuiLuNo_XianLu}) (共{mXianLuData.mGanTaNumber_XianLu}个杆塔)"); + MyRefresh_Right(); + } + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTaList.cs buttonAppend_Click() 异常=" + ex.Message); + MessageBox.Show(ex.Message); + } + mBusy = false; + } + + private void buttonDelete_Click(object sender, EventArgs e) + { + if (mBusy) + { + return; + } + mBusy = true; + if (desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count == 0) + { + mBusy = false; + return; + } + if (mDGV_Index < 0) + { + MessageBox.Show("未选中杆塔!"); + mBusy = false; + return; + } + if (mDGV_Index >= desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count) + { + MessageBox.Show("无效杆塔下标!"); + mBusy = false; + return; + } + try + { + desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.RemoveAt(mDGV_Index); + if (mDGV_Index >= desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count) + { + mDGV_Index = -1; + } + desktop.mXL.Refresh_GanTaNumber_Label(); + MyRefresh_DGV(); + MySet_Form_Title(this, $"{mXianLuData.mName_XianLu}({mXianLuData.mHuiLuNo_XianLu}) (共{mXianLuData.mGanTaNumber_XianLu}个杆塔)"); + MyRefresh_Right(); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTaList.cs buttonDelete_Click() 异常=" + ex.Message); + MessageBox.Show(ex.Message); + } + mBusy = false; + } + + private void dataGridView_Ganta_CellDoubleClick(object sender, DataGridViewCellEventArgs e) + { + if (mBusy) + { + return; + } + mBusy = true; + try + { + int rowIndex = e.RowIndex; + if (rowIndex < 0) + { + mBusy = false; + return; + } + mDGV_Index = e.RowIndex; + MyRefresh_Right(); + desktop.mTheGanTaData.CopyFrom_GanTaData(desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData[mDGV_Index]); + DialogResult dialogResult = DialogResult.None; + if (mDS.Tables[0].Rows[mDGV_Index]["塔形"].ToString().ToLower().IndexOf("guxing") >= 0) + { + dialogResult = desktop.mDlg_GanTa_2Hui.ShowDialog(this); + } + else if (mXianLuData.mHuiLuNo_XianLu == 1) + { + dialogResult = desktop.mDlg_GanTa_1Hui.ShowDialog(this); + } + else if (mXianLuData.mHuiLuNo_XianLu == 2) + { + dialogResult = desktop.mDlg_GanTa_2Hui.ShowDialog(this); + } + else if (mXianLuData.mHuiLuNo_XianLu == 4) + { + dialogResult = desktop.mDlg_GanTa_4Hui.ShowDialog(this); + } + else if (mXianLuData.mJLZL_XianLu.Equals("直流")) + { + dialogResult = desktop.mDlg_GanTa_0zhiliu.ShowDialog(this); + } + if (dialogResult != DialogResult.OK) + { + mBusy = false; + return; + } + desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData[mDGV_Index].CopyFrom_GanTaData(desktop.mTheGanTaData); + MyRefresh_DGV(); + MyRefresh_Right(); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTaList.cs dataGridView_GanTa_CellDoubleClick() 异常=" + ex.Message); + MessageBox.Show(ex.Message); + } + mBusy = false; + } + + private void dataGridView_Ganta_CellClick(object sender, DataGridViewCellEventArgs e) + { + if (mBusy) + { + return; + } + mBusy = true; + try + { + int rowIndex = e.RowIndex; + if (rowIndex < 0) + { + mBusy = false; + return; + } + mDGV_Index = e.RowIndex; + MyRefresh_Right(); + } + catch (Exception ex) + { + MyLog.AddLog("FormGanTaList.cs dataGridView_Ganta_CellClick() 异常=" + ex.Message); + MessageBox.Show(ex.Message); + } + mBusy = false; + } + + public void Destroy() + { + if (mDS != null) + { + if (mDS.Tables.Count > 0) + { + mDS.Tables[0].Clear(); + } + mDS.Tables.Clear(); + mDS.Clear(); + mDS = null; + } + if (mXianLuData != null) + { + mXianLuData.Destroy(); + } + mXianLuData = null; + desktop = null; + } + + public void MySet_Form_Title(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormTitle method = MySet_Form_Title; + form.Invoke(method, form, value); + } + else + { + form.Text = mTitle + " " + value; + } + } + + public void MySet_DataGridView_DataSource(DataGridView dataGridView, DataView value) + { + if (dataGridView.InvokeRequired) + { + delegateDataGridViewDataSource method = MySet_DataGridView_DataSource; + dataGridView.Invoke(method, dataGridView, value); + } + else + { + dataGridView.DataSource = value; + } + } + + public void MySet_GroupBox_Visible(GroupBox groupBox, bool value) + { + if (groupBox.InvokeRequired) + { + delegateGroupBoxVisible method = MySet_GroupBox_Visible; + groupBox.Invoke(method, groupBox, value); + } + else + { + groupBox.Visible = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.panelGanTaList_Form = new System.Windows.Forms.Panel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panelList = new System.Windows.Forms.Panel(); + this.dataGridView_Ganta = new System.Windows.Forms.DataGridView(); + this.panelDetail = new System.Windows.Forms.Panel(); + this.groupBox_GanTa = new System.Windows.Forms.GroupBox(); + this.textBox_GD_Shang = new System.Windows.Forms.TextBox(); + this.textBox_GD_Xia = new System.Windows.Forms.TextBox(); + this.textBox_ZJ_Xia = new System.Windows.Forms.TextBox(); + this.textBox_GD_Zhong = new System.Windows.Forms.TextBox(); + this.textBox_ZJ_Zhong = new System.Windows.Forms.TextBox(); + this.textBox_ZJ_Shang = new System.Windows.Forms.TextBox(); + this.textBox_BLXGD = new System.Windows.Forms.TextBox(); + this.textBox_BLZJ_R = new System.Windows.Forms.TextBox(); + this.textBox_BLZJ_L = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.pictureBox_GanTa = new System.Windows.Forms.PictureBox(); + this.panelButtons = new System.Windows.Forms.Panel(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonAppend = new System.Windows.Forms.Button(); + this.buttonSave_GanTa = new System.Windows.Forms.Button(); + this.buttonLoad_GanTa = new System.Windows.Forms.Button(); + this.panelGanTaList_Form.SuspendLayout(); + this.panelList.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_Ganta).BeginInit(); + this.panelDetail.SuspendLayout(); + this.groupBox_GanTa.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)this.pictureBox_GanTa).BeginInit(); + this.panelButtons.SuspendLayout(); + base.SuspendLayout(); + this.panelGanTaList_Form.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panelGanTaList_Form.Controls.Add(this.panel1); + this.panelGanTaList_Form.Controls.Add(this.panelList); + this.panelGanTaList_Form.Controls.Add(this.panelDetail); + this.panelGanTaList_Form.Controls.Add(this.panelButtons); + this.panelGanTaList_Form.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelGanTaList_Form.Location = new System.Drawing.Point(0, 0); + this.panelGanTaList_Form.Name = "panelGanTaList_Form"; + this.panelGanTaList_Form.Size = new System.Drawing.Size(1227, 585); + this.panelGanTaList_Form.TabIndex = 0; + this.panel1.Dock = System.Windows.Forms.DockStyle.Right; + this.panel1.Location = new System.Drawing.Point(979, 41); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(10, 542); + this.panel1.TabIndex = 3; + this.panelList.Controls.Add(this.dataGridView_Ganta); + this.panelList.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelList.Location = new System.Drawing.Point(0, 41); + this.panelList.Margin = new System.Windows.Forms.Padding(10); + this.panelList.Name = "panelList"; + this.panelList.Size = new System.Drawing.Size(989, 542); + this.panelList.TabIndex = 2; + this.dataGridView_Ganta.AllowUserToAddRows = false; + this.dataGridView_Ganta.AllowUserToDeleteRows = false; + this.dataGridView_Ganta.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dataGridView_Ganta.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView_Ganta.Dock = System.Windows.Forms.DockStyle.Fill; + this.dataGridView_Ganta.Location = new System.Drawing.Point(0, 0); + this.dataGridView_Ganta.Name = "dataGridView_Ganta"; + this.dataGridView_Ganta.RowTemplate.Height = 23; + this.dataGridView_Ganta.Size = new System.Drawing.Size(989, 542); + this.dataGridView_Ganta.TabIndex = 0; + this.dataGridView_Ganta.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(dataGridView_Ganta_CellClick); + this.dataGridView_Ganta.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(dataGridView_Ganta_CellDoubleClick); + this.panelDetail.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panelDetail.Controls.Add(this.groupBox_GanTa); + this.panelDetail.Controls.Add(this.pictureBox_GanTa); + this.panelDetail.Dock = System.Windows.Forms.DockStyle.Right; + this.panelDetail.Location = new System.Drawing.Point(989, 41); + this.panelDetail.Name = "panelDetail"; + this.panelDetail.Size = new System.Drawing.Size(236, 542); + this.panelDetail.TabIndex = 1; + this.groupBox_GanTa.Controls.Add(this.textBox_GD_Shang); + this.groupBox_GanTa.Controls.Add(this.textBox_GD_Xia); + this.groupBox_GanTa.Controls.Add(this.textBox_ZJ_Xia); + this.groupBox_GanTa.Controls.Add(this.textBox_GD_Zhong); + this.groupBox_GanTa.Controls.Add(this.textBox_ZJ_Zhong); + this.groupBox_GanTa.Controls.Add(this.textBox_ZJ_Shang); + this.groupBox_GanTa.Controls.Add(this.textBox_BLXGD); + this.groupBox_GanTa.Controls.Add(this.textBox_BLZJ_R); + this.groupBox_GanTa.Controls.Add(this.textBox_BLZJ_L); + this.groupBox_GanTa.Controls.Add(this.label2); + this.groupBox_GanTa.Controls.Add(this.label8); + this.groupBox_GanTa.Controls.Add(this.label7); + this.groupBox_GanTa.Controls.Add(this.label6); + this.groupBox_GanTa.Controls.Add(this.label5); + this.groupBox_GanTa.Controls.Add(this.label4); + this.groupBox_GanTa.Controls.Add(this.label3); + this.groupBox_GanTa.Controls.Add(this.label9); + this.groupBox_GanTa.Controls.Add(this.label1); + this.groupBox_GanTa.Location = new System.Drawing.Point(4, 267); + this.groupBox_GanTa.Name = "groupBox_GanTa"; + this.groupBox_GanTa.Size = new System.Drawing.Size(227, 271); + this.groupBox_GanTa.TabIndex = 1; + this.groupBox_GanTa.TabStop = false; + this.groupBox_GanTa.Text = "杆塔结构参数"; + this.textBox_GD_Shang.Location = new System.Drawing.Point(126, 129); + this.textBox_GD_Shang.Name = "textBox_GD_Shang"; + this.textBox_GD_Shang.Size = new System.Drawing.Size(78, 21); + this.textBox_GD_Shang.TabIndex = 1; + this.textBox_GD_Xia.Location = new System.Drawing.Point(126, 237); + this.textBox_GD_Xia.Name = "textBox_GD_Xia"; + this.textBox_GD_Xia.Size = new System.Drawing.Size(78, 21); + this.textBox_GD_Xia.TabIndex = 1; + this.textBox_ZJ_Xia.Location = new System.Drawing.Point(126, 210); + this.textBox_ZJ_Xia.Name = "textBox_ZJ_Xia"; + this.textBox_ZJ_Xia.Size = new System.Drawing.Size(78, 21); + this.textBox_ZJ_Xia.TabIndex = 1; + this.textBox_GD_Zhong.Location = new System.Drawing.Point(126, 183); + this.textBox_GD_Zhong.Name = "textBox_GD_Zhong"; + this.textBox_GD_Zhong.Size = new System.Drawing.Size(78, 21); + this.textBox_GD_Zhong.TabIndex = 1; + this.textBox_ZJ_Zhong.Location = new System.Drawing.Point(126, 156); + this.textBox_ZJ_Zhong.Name = "textBox_ZJ_Zhong"; + this.textBox_ZJ_Zhong.Size = new System.Drawing.Size(78, 21); + this.textBox_ZJ_Zhong.TabIndex = 1; + this.textBox_ZJ_Shang.Location = new System.Drawing.Point(126, 102); + this.textBox_ZJ_Shang.Name = "textBox_ZJ_Shang"; + this.textBox_ZJ_Shang.Size = new System.Drawing.Size(78, 21); + this.textBox_ZJ_Shang.TabIndex = 1; + this.textBox_BLXGD.Location = new System.Drawing.Point(142, 75); + this.textBox_BLXGD.Name = "textBox_BLXGD"; + this.textBox_BLXGD.Size = new System.Drawing.Size(78, 21); + this.textBox_BLXGD.TabIndex = 1; + this.textBox_BLZJ_R.Location = new System.Drawing.Point(142, 48); + this.textBox_BLZJ_R.Name = "textBox_BLZJ_R"; + this.textBox_BLZJ_R.Size = new System.Drawing.Size(78, 21); + this.textBox_BLZJ_R.TabIndex = 1; + this.textBox_BLZJ_L.Location = new System.Drawing.Point(142, 21); + this.textBox_BLZJ_L.Name = "textBox_BLZJ_L"; + this.textBox_BLZJ_L.Size = new System.Drawing.Size(78, 21); + this.textBox_BLZJ_L.TabIndex = 1; + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label2.Location = new System.Drawing.Point(8, 80); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(128, 16); + this.label2.TabIndex = 0; + this.label2.Text = "避雷线高度(m):"; + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label8.Location = new System.Drawing.Point(8, 242); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(112, 16); + this.label8.TabIndex = 0; + this.label8.Text = "下相高度(m):"; + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label7.Location = new System.Drawing.Point(8, 215); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(112, 16); + this.label7.TabIndex = 0; + this.label7.Text = "下相中距(m):"; + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label6.Location = new System.Drawing.Point(8, 188); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(112, 16); + this.label6.TabIndex = 0; + this.label6.Text = "中相高度(m):"; + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label5.Location = new System.Drawing.Point(8, 161); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(112, 16); + this.label5.TabIndex = 0; + this.label5.Text = "中相中距(m):"; + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label4.Location = new System.Drawing.Point(8, 134); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(112, 16); + this.label4.TabIndex = 0; + this.label4.Text = "上相高度(m):"; + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label3.Location = new System.Drawing.Point(8, 107); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(112, 16); + this.label3.TabIndex = 0; + this.label3.Text = "上相中距(m):"; + this.label9.AutoSize = true; + this.label9.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label9.Location = new System.Drawing.Point(8, 53); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(128, 16); + this.label9.TabIndex = 0; + this.label9.Text = "右避雷线中距(m)"; + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(8, 26); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(128, 16); + this.label1.TabIndex = 0; + this.label1.Text = "左避雷线中距(m)"; + this.pictureBox_GanTa.Dock = System.Windows.Forms.DockStyle.Top; + this.pictureBox_GanTa.Location = new System.Drawing.Point(0, 0); + this.pictureBox_GanTa.Name = "pictureBox_GanTa"; + this.pictureBox_GanTa.Size = new System.Drawing.Size(234, 263); + this.pictureBox_GanTa.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox_GanTa.TabIndex = 0; + this.pictureBox_GanTa.TabStop = false; + this.panelButtons.Controls.Add(this.buttonDelete); + this.panelButtons.Controls.Add(this.buttonAppend); + this.panelButtons.Controls.Add(this.buttonSave_GanTa); + this.panelButtons.Controls.Add(this.buttonLoad_GanTa); + this.panelButtons.Dock = System.Windows.Forms.DockStyle.Top; + this.panelButtons.Location = new System.Drawing.Point(0, 0); + this.panelButtons.Name = "panelButtons"; + this.panelButtons.Size = new System.Drawing.Size(1225, 41); + this.panelButtons.TabIndex = 0; + this.buttonDelete.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonDelete.Location = new System.Drawing.Point(374, 3); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(115, 35); + this.buttonDelete.TabIndex = 1; + this.buttonDelete.Text = "删除"; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(buttonDelete_Click); + this.buttonAppend.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonAppend.Location = new System.Drawing.Point(253, 3); + this.buttonAppend.Name = "buttonAppend"; + this.buttonAppend.Size = new System.Drawing.Size(115, 35); + this.buttonAppend.TabIndex = 1; + this.buttonAppend.Text = "添加"; + this.buttonAppend.UseVisualStyleBackColor = true; + this.buttonAppend.Click += new System.EventHandler(buttonAppend_Click); + this.buttonSave_GanTa.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonSave_GanTa.Location = new System.Drawing.Point(132, 3); + this.buttonSave_GanTa.Name = "buttonSave_GanTa"; + this.buttonSave_GanTa.Size = new System.Drawing.Size(115, 35); + this.buttonSave_GanTa.TabIndex = 1; + this.buttonSave_GanTa.Text = "导出"; + this.buttonSave_GanTa.UseVisualStyleBackColor = true; + this.buttonSave_GanTa.Click += new System.EventHandler(buttonSave_GanTa_Click); + this.buttonLoad_GanTa.Font = new System.Drawing.Font("幼圆", 18f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.buttonLoad_GanTa.Location = new System.Drawing.Point(11, 3); + this.buttonLoad_GanTa.Name = "buttonLoad_GanTa"; + this.buttonLoad_GanTa.Size = new System.Drawing.Size(115, 35); + this.buttonLoad_GanTa.TabIndex = 1; + this.buttonLoad_GanTa.Text = "导入"; + this.buttonLoad_GanTa.UseVisualStyleBackColor = true; + this.buttonLoad_GanTa.Click += new System.EventHandler(buttonLoad_GanTa_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(1227, 585); + base.Controls.Add(this.panelGanTaList_Form); + base.Name = "FormGanTaList"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormGanTaList"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormGanTaList_FormClosing); + base.Load += new System.EventHandler(FormGanTaList_Load); + this.panelGanTaList_Form.ResumeLayout(false); + this.panelList.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_Ganta).EndInit(); + this.panelDetail.ResumeLayout(false); + this.groupBox_GanTa.ResumeLayout(false); + this.groupBox_GanTa.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)this.pictureBox_GanTa).EndInit(); + this.panelButtons.ResumeLayout(false); + base.ResumeLayout(false); + } +} diff --git a/LP/FormLook1PuTongJiSuan.cs b/LP/FormLook1PuTongJiSuan.cs new file mode 100644 index 0000000..57cfedc --- /dev/null +++ b/LP/FormLook1PuTongJiSuan.cs @@ -0,0 +1,531 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Text; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormLook1PuTongJiSuan : Form +{ + private delegate void delegateFormTitle(Form form, string value); + + private delegate void delegateDataGridViewDataSource(DataGridView dataGridView, DataView value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private string mTitle = ""; + + private TaskData mLookTaskData = null; + + private XianLuData mLookXianLuData = null; + + private TaskGroup mLookTaskGroup = null; + + private DataSet mDS = null; + + private string mFileName = ""; + + private int mIndex_detail_Look1 = -1; + + private bool mAfterInit = false; + + private IContainer components = null; + + private Panel panel_Form; + + private Panel panel_Result; + + private DataGridView dataGridView_Result; + + private Button buttonCancel; + + private Button buttonExport; + + public FormLook1PuTongJiSuan() + { + InitializeComponent(); + mTitle = "展示计算结果(普通计算)"; + } + + public void MySet_mIndex_detail_Look1(int _index) + { + mIndex_detail_Look1 = _index; + } + + private void FormLook1PuTongJiSuan_Load(object sender, EventArgs e) + { + mAfterInit = false; + MyInput_Data(); + MySet_Form_Title(this, ""); + MyInit_DataSet(); + if (mDS != null) + { + MySet_DataGridView_DataSource(dataGridView_Result, mDS.Tables[0].DefaultView); + } + mAfterInit = true; + } + + private void FormLook1PuTongJiSuan_FormClosing(object sender, FormClosingEventArgs e) + { + MySet_DataGridView_DataSource(dataGridView_Result, null); + } + + public void Destroy() + { + if (mDS != null) + { + if (mDS.Tables.Count > 0) + { + mDS.Tables[0].Rows.Clear(); + mDS.Tables[0].Columns.Clear(); + } + mDS.Tables[0].Clear(); + mDS.Clear(); + mDS = null; + } + } + + public void MyInput_Data() + { + TaskDetail taskDetail = null; + if (mIndex_detail_Look1 >= 0) + { + taskDetail = desktop.mTask.mListDetails[mIndex_detail_Look1]; + mLookTaskData = taskDetail.mTaskData; + mLookTaskGroup = taskDetail.mTaskGroup; + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (taskDetail.mXianLuID_Detail == desktop.mXL.mListXianLuData[i].mID_XianLu) + { + mLookXianLuData = desktop.mXL.mListXianLuData[i]; + break; + } + } + } + taskDetail = null; + mTitle = "展示计算结果(普通计算) - " + mLookTaskData.mName_Task + " | " + mLookXianLuData.mName_XianLu; + if (mIndex_detail_Look1 < 0) + { + MyLog.AddLog($"FormLook1PuTongTuiJian.cs MyInput_Data() mIndex_detail_Look1={mIndex_detail_Look1}"); + } + } + + private void MyInit_DataSet() + { + if (mDS == null) + { + mDS = new DataSet(); + } + if (mDS.Tables.Count == 0) + { + mDS.Tables.Add(new DataTable()); + } + mDS.Tables[0].Rows.Clear(); + mDS.Tables[0].Columns.Clear(); + List list = new List(); + list.Clear(); + string[] array = new string[36] + { + "塔号", "杆塔模型", "塔形", "雷电流幅值a", "地面倾角1", "地闪密度", "波头时间/μs", "波尾时间/μs", "反击耐雷水平kA", "反击跳闸率(次/100km.a)", + "绕击耐雷水平kA", "绕击跳闸率(次/100km.a)", "雷击风险等级", "A相绕击耐雷水平kA", "B相绕击耐雷水平kA", "C相绕击耐雷水平kA", "单相反击耐雷水平kA", "单相闪络相", "单相反击跳闸率(次/100km.a)", "双相反击耐雷水平kA", + "双相闪络相", "双相反击跳闸率(次/100km.a)", "三相反击耐雷水平kA", "三相闪络相", "三相反击跳闸率(次/100km.a)", "四相反击耐雷水平kA", "四相闪络相", "四相反击跳闸率(次/100km.a)", "五相反击耐雷水平kA", "五相闪络相", + "五相反击跳闸率(次/100km.a)", "六相反击耐雷水平kA", "六相闪络相", "六相反击跳闸率(次/100km.a)", "保护角", "普通计算结果" + }; + string[] array2 = new string[15] + { + "塔号", "杆塔模型", "塔形", "雷电流幅值a", "地面倾角1", "地闪密度", "波头时间/μs", "波尾时间/μs", "反击耐雷水平kA", "反击跳闸率(次/100km.a)", + "绕击耐雷水平kA", "绕击跳闸率(次/100km.a)", "雷击风险等级", "保护角", "普通计算结果" + }; + string[] array3 = new string[33] + { + "塔号", "杆塔模型", "塔形", "雷电流幅值a", "地面倾角1", "地闪密度", "波头时间/μs", "波尾时间/μs", "绕击跳闸率(次/100km.a)", "雷击风险等级", + "A相绕击耐雷水平kA", "B相绕击耐雷水平kA", "C相绕击耐雷水平kA", "单相反击耐雷水平kA", "单相闪络相", "单相反击跳闸率(次/100km.a)", "双相反击耐雷水平kA", "双相闪络相", "双相反击跳闸率(次/100km.a)", "三相反击耐雷水平kA", + "三相闪络相", "三相反击跳闸率(次/100km.a)", "四相反击耐雷水平kA", "四相闪络相", "四相反击跳闸率(次/100km.a)", "五相反击耐雷水平kA", "五相闪络相", "五相反击跳闸率(次/100km.a)", "六相反击耐雷水平kA", "六相闪络相", + "六相反击跳闸率(次/100km.a)", "保护角", "普通计算结果" + }; + string text = ""; + TGanTas tGanTas = null; + try + { + tGanTas = mLookTaskGroup.mListExTaskData[0].mTGanTas; + } + catch (Exception) + { + tGanTas = null; + } + if (tGanTas != null) + { + text = tGanTas.mListTGanTaData[0].mM1_Xiang_GanTa; + text += tGanTas.mListTGanTaData[0].mM2_Xiang_GanTa; + text += tGanTas.mListTGanTaData[0].mM3_Xiang_GanTa; + text += tGanTas.mListTGanTaData[0].mM4_Xiang_GanTa; + text += tGanTas.mListTGanTaData[0].mM5_Xiang_GanTa; + text += tGanTas.mListTGanTaData[0].mM6_Xiang_GanTa; + text = text.ToUpper(); + } + bool flag = false; + flag = text.IndexOf("A") >= 0 || text.IndexOf("B") >= 0 || text.IndexOf("C") >= 0; + try + { + if (!flag) + { + for (int i = 0; i < array2.Length; i++) + { + list.Add(array2[i]); + } + } + else if (flag) + { + for (int j = 0; j < array3.Length; j++) + { + list.Add(array3[j]); + } + } + for (int k = 0; k < list.Count; k++) + { + mDS.Tables[0].Columns.Add(list[k]); + } + DataRow dataRow = null; + for (int l = 0; l < mLookTaskGroup.mListExTaskData.Count; l++) + { + if (mLookTaskGroup.mListExTaskData[l] == null || mLookTaskGroup.mListExTaskData[l].mTGanTas == null) + { + continue; + } + tGanTas = mLookTaskGroup.mListExTaskData[l].mTGanTas; + for (int m = 0; m < tGanTas.mListTGanTaData.Count; m++) + { + dataRow = mDS.Tables[0].NewRow(); + for (int n = 0; n < list.Count; n++) + { + switch (list[n]) + { + case "塔号": + dataRow[n] = tGanTas.mListTGanTaData[m].mID_GanTa; + break; + case "杆塔模型": + dataRow[n] = tGanTas.mListTGanTaData[m].mModel_GanTa; + break; + case "塔形": + dataRow[n] = tGanTas.mListTGanTaData[m].mTaXing_GanTa; + break; + case "雷电流幅值a": + dataRow[n] = tGanTas.mListTGanTaData[m].mCurrent_a_GanTa; + break; + case "地面倾角1": + dataRow[n] = tGanTas.mListTGanTaData[m].mDMQJ1_GanTa; + break; + case "地闪密度": + dataRow[n] = tGanTas.mListTGanTaData[m].mDSMD_GanTa; + break; + case "波头时间/μs": + dataRow[n] = tGanTas.mListTGanTaData[m].mCurrentHeadTime_GanTa; + break; + case "波尾时间/μs": + dataRow[n] = tGanTas.mListTGanTaData[m].mCurrentTailTime_GanTa; + break; + case "反击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mFJ_NLSP_GanTa; + break; + case "反击跳闸率(次/100km.a)": + dataRow[n] = tGanTas.mListTGanTaData[m].mFJ_TZL_GanTa; + break; + case "绕击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mRJ_NLSP_GanTa; + break; + case "绕击跳闸率(次/100km.a)": + dataRow[n] = tGanTas.mListTGanTaData[m].mRJ_TZL_GanTa; + break; + case "雷击风险等级": + dataRow[n] = tGanTas.mListTGanTaData[m].mFXDJ_GanTa; + break; + case "A相绕击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mMA_RJ_NLSP_GanTa; + break; + case "B相绕击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mMB_RJ_NLSP_GanTa; + break; + case "C相绕击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mMC_RJ_NLSP_GanTa; + break; + case "单相反击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mM1_NLSP_GanTa; + break; + case "单相闪络相": + dataRow[n] = tGanTas.mListTGanTaData[m].mM1_Xiang_GanTa; + break; + case "单相反击跳闸率(次/100km.a)": + dataRow[n] = tGanTas.mListTGanTaData[m].mM1_TZL_GanTa; + break; + case "双相反击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mM2_NLSP_GanTa; + break; + case "双相闪络相": + dataRow[n] = tGanTas.mListTGanTaData[m].mM2_Xiang_GanTa; + break; + case "双相反击跳闸率(次/100km.a)": + dataRow[n] = tGanTas.mListTGanTaData[m].mM2_TZL_GanTa; + break; + case "三相反击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mM3_NLSP_GanTa; + break; + case "三相闪络相": + dataRow[n] = tGanTas.mListTGanTaData[m].mM3_Xiang_GanTa; + break; + case "三相反击跳闸率(次/100km.a)": + dataRow[n] = tGanTas.mListTGanTaData[m].mM3_TZL_GanTa; + break; + case "四相反击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mM4_NLSP_GanTa; + break; + case "四相闪络相": + dataRow[n] = tGanTas.mListTGanTaData[m].mM4_Xiang_GanTa; + break; + case "四相反击跳闸率(次/100km.a)": + dataRow[n] = tGanTas.mListTGanTaData[m].mM4_TZL_GanTa; + break; + case "五相反击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mM5_NLSP_GanTa; + break; + case "五相闪络相": + dataRow[n] = tGanTas.mListTGanTaData[m].mM5_Xiang_GanTa; + break; + case "五相反击跳闸率(次/100km.a)": + dataRow[n] = tGanTas.mListTGanTaData[m].mM5_TZL_GanTa; + break; + case "六相反击耐雷水平kA": + dataRow[n] = tGanTas.mListTGanTaData[m].mM6_NLSP_GanTa; + break; + case "六相闪络相": + dataRow[n] = tGanTas.mListTGanTaData[m].mM6_Xiang_GanTa; + break; + case "六相反击跳闸率(次/100km.a)": + dataRow[n] = tGanTas.mListTGanTaData[m].mM6_TZL_GanTa; + break; + case "保护角": + dataRow[n] = tGanTas.mListTGanTaData[m].m_BaoHuJiao; + break; + case "普通计算结果": + dataRow[n] = tGanTas.mListTGanTaData[m].m_Result_PuTongJiSuan_GanTa; + break; + } + } + mDS.Tables[0].Rows.Add(dataRow); + } + } + } + catch (Exception ex2) + { + MyLog.AddLog("MyInit_DataSet() FormLook1 Exception=" + ex2.Message + "."); + } + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + if (mAfterInit) + { + Thread thread = new Thread(MyCancel); + thread.Start(); + } + } + + private void MyCancel() + { + MySet_Form_Title(this, "取消—"); + MySet_Form_Title(this, "取消———"); + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + + private void buttonExport_Click(object sender, EventArgs e) + { + if (mLookTaskGroup == null || mLookTaskGroup.mListExTaskData.Count == 0) + { + MyLog.AddLog($"buttonExport_Click() 杆塔数据无匹配:任务ID={mLookTaskGroup.mID_Task}"); + MessageBox.Show("无杆塔数据可以导出!"); + return; + } + SaveFileDialog saveFileDialog = new SaveFileDialog(); + saveFileDialog.InitialDirectory = Application.StartupPath; + saveFileDialog.Filter = "所有文件*.*|*.*|Excel文件(*.csv)|*.csv|Txt文件(*.txt)|*.txt"; + saveFileDialog.FilterIndex = 2; + if (saveFileDialog.ShowDialog(this) == DialogResult.OK) + { + mFileName = saveFileDialog.FileName; + Thread thread = new Thread(MySave_TGanTas); + thread.Start(); + } + } + + private void MySave_TGanTas() + { + TGanTaData tGanTaData = null; + int num = 0; + try + { + using FileStream fileStream = new FileStream(mFileName, FileMode.Create, FileAccess.Write, FileShare.None); + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + streamWriter.WriteLine(""); + for (int i = 0; i < mLookTaskGroup.mListExTaskData.Count; i++) + { + if (mLookTaskGroup.mListExTaskData[i] == null || mLookTaskGroup.mListExTaskData[i].mTGanTas == null) + { + continue; + } + for (int j = 0; j < mLookTaskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData.Count; j++) + { + tGanTaData = mLookTaskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData[j]; + if (tGanTaData != null) + { + if (num == 0) + { + streamWriter.WriteLine(TGanTaData.MyHead_ToString()); + } + streamWriter.WriteLine(tGanTaData.MyToString()); + num++; + } + } + } + streamWriter.WriteLine(""); + streamWriter.Close(); + } + fileStream.Close(); + } + catch (Exception ex) + { + MyLog.AddLog("MySave_TGanTas() 异常=" + ex.Message); + MessageBox.Show(ex.Message); + } + MessageBox.Show($"导出{num}条杆塔数据。文件名{mFileName}"); + } + + public void MySet_Form_Title(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormTitle method = MySet_Form_Title; + form.Invoke(method, form, value); + } + else + { + form.Text = mTitle + " " + value; + } + } + + public void MySet_DataGridView_DataSource(DataGridView dataGridView, DataView value) + { + if (dataGridView.InvokeRequired) + { + delegateDataGridViewDataSource method = MySet_DataGridView_DataSource; + dataGridView.Invoke(method, dataGridView, value); + } + else + { + dataGridView.DataSource = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.panel_Form = new System.Windows.Forms.Panel(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.panel_Result = new System.Windows.Forms.Panel(); + this.dataGridView_Result = new System.Windows.Forms.DataGridView(); + this.buttonExport = new System.Windows.Forms.Button(); + this.panel_Form.SuspendLayout(); + this.panel_Result.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_Result).BeginInit(); + base.SuspendLayout(); + this.panel_Form.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.panel_Form.Controls.Add(this.buttonExport); + this.panel_Form.Controls.Add(this.buttonCancel); + this.panel_Form.Controls.Add(this.panel_Result); + this.panel_Form.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel_Form.Location = new System.Drawing.Point(0, 0); + this.panel_Form.Name = "panel_Form"; + this.panel_Form.Size = new System.Drawing.Size(1476, 607); + this.panel_Form.TabIndex = 0; + this.buttonCancel.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonCancel.Location = new System.Drawing.Point(1419, 563); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(50, 29); + this.buttonCancel.TabIndex = 3; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.panel_Result.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel_Result.Controls.Add(this.dataGridView_Result); + this.panel_Result.Location = new System.Drawing.Point(10, 10); + this.panel_Result.Name = "panel_Result"; + this.panel_Result.Size = new System.Drawing.Size(1403, 583); + this.panel_Result.TabIndex = 2; + this.dataGridView_Result.AllowUserToAddRows = false; + this.dataGridView_Result.AllowUserToDeleteRows = false; + this.dataGridView_Result.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dataGridView_Result.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView_Result.Dock = System.Windows.Forms.DockStyle.Fill; + this.dataGridView_Result.Location = new System.Drawing.Point(0, 0); + this.dataGridView_Result.Name = "dataGridView_Result"; + this.dataGridView_Result.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; + this.dataGridView_Result.RowTemplate.Height = 23; + this.dataGridView_Result.Size = new System.Drawing.Size(1401, 581); + this.dataGridView_Result.TabIndex = 1; + this.buttonExport.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonExport.Location = new System.Drawing.Point(1419, 272); + this.buttonExport.Name = "buttonExport"; + this.buttonExport.Size = new System.Drawing.Size(50, 29); + this.buttonExport.TabIndex = 3; + this.buttonExport.Text = "导出"; + this.buttonExport.UseVisualStyleBackColor = true; + this.buttonExport.Click += new System.EventHandler(buttonExport_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(1476, 607); + base.Controls.Add(this.panel_Form); + base.Name = "FormLook1PuTongJiSuan"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormLook1PuTongJiSuan"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormLook1PuTongJiSuan_FormClosing); + base.Load += new System.EventHandler(FormLook1PuTongJiSuan_Load); + this.panel_Form.ResumeLayout(false); + this.panel_Result.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_Result).EndInit(); + base.ResumeLayout(false); + } +} diff --git a/LP/FormLook2FengXianPingGu.cs b/LP/FormLook2FengXianPingGu.cs new file mode 100644 index 0000000..fa09cc0 --- /dev/null +++ b/LP/FormLook2FengXianPingGu.cs @@ -0,0 +1,345 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormLook2FengXianPingGu : Form +{ + private delegate void delegateFormTitle(Form form, string value); + + private delegate void delegateDataGridViewDataSource(DataGridView dataGridView, DataView value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private string mTitle = ""; + + private TaskData mLookTaskData = null; + + private XianLuData mLookXianLuData = null; + + private DataSet mDS = null; + + private bool mAfterInit = false; + + private IContainer components = null; + + private Panel panel_Form; + + private Button buttonCancel; + + private Panel panel_Result; + + private DataGridView dataGridView_Result; + + public FormLook2FengXianPingGu() + { + InitializeComponent(); + mTitle = "展示计算结果(风险评估)"; + if (mLookTaskData == null) + { + mLookTaskData = new TaskData(); + } + if (mLookXianLuData == null) + { + mLookXianLuData = new XianLuData(); + } + } + + private void FormLook2FengXianPingGu_Load(object sender, EventArgs e) + { + mAfterInit = false; + MyInput_Data(); + MySet_Form_Title(this, ""); + MyInit_DataSet(); + if (mDS != null) + { + MySet_DataGridView_DataSource(dataGridView_Result, mDS.Tables[0].DefaultView); + } + mAfterInit = true; + } + + private void FormLook2FengXianPingGu_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void Destroy() + { + if (mLookXianLuData != null) + { + mLookXianLuData.Destroy(); + } + mLookXianLuData = null; + if (mLookTaskData != null) + { + mLookTaskData.Destroy(); + } + mLookTaskData = null; + if (mDS != null) + { + if (mDS.Tables.Count > 0) + { + mDS.Tables[0].Rows.Clear(); + mDS.Tables[0].Columns.Clear(); + } + mDS.Tables[0].Clear(); + mDS.Clear(); + mDS = null; + } + } + + public void MyInput_Data() + { + mLookTaskData.copyFrom_TaskData(desktop.mRightTaskData); + mLookXianLuData.CopyFrom_XianLuData(desktop.mRightXianLuData); + mTitle = "展示计算结果(风险评估) - " + mLookTaskData.mName_Task + " | " + mLookXianLuData.mName_XianLu; + } + + private void MyInit_DataSet() + { + if (mDS == null) + { + mDS = new DataSet(); + } + if (mDS.Tables.Count == 0) + { + mDS.Tables.Add(new DataTable()); + } + mDS.Tables[0].Rows.Clear(); + mDS.Tables[0].Columns.Clear(); + List list = new List(); + list.Clear(); + string[] array = new string[63] + { + "线路编号", "序号", "线路名称", "电压等级", "塔号", "杆塔模型", "塔形", "经度", "纬度", "I回相序", + "II回相序", "III回相序", "IV回相序", "A相是否安装避雷器", "B相是否安装避雷器", "C相是否安装避雷器", "接地电阻", "左避雷中距m", "右避雷中距m", "避雷线高度m", + "绝缘子串长度mm", "杆塔呼高m", "I回上相中距m", "I回中相中距m", "I回下相中距m", "I回上相高度m", "I回中相高度m", "I回下相高度m", "II回上相中距m", "II回中相中距m", + "II回下相中距m", "II回上相高度m", "II回中相高度m", "II回下相高度m", "III回上相中距m", "III回中相中距m", "III回下相中距m", "III回上相高度m", "III回中相高度m", "III回下相高度m", + "IV回上相中距m", "IV回中相中距m", "IV回下相中距m", "IV回上相高度m", "IV回中相高度m", "IV回下相高度m", "小号侧档距", "大号侧档距", "电角度", "雷电流幅值a", + "雷电流幅值b", "地面倾角1", "地面倾角2", "海拔m", "地形", "地闪密度", "直线或耐张杆塔", "绕击反击", "反击耐雷水平kA", "反击跳闸率(次/100km.a)", + "绕击耐雷水平kA", "绕击跳闸率(次/100km.a)", "雷击风险等级" + }; + string[] array2 = new string[11] + { + "塔号", "塔形", "接地电阻", "绝缘子串长度mm", "杆塔呼高m", "地面倾角1", "反击耐雷水平kA", "反击跳闸率(次/100km.a)", "绕击耐雷水平kA", "绕击跳闸率(次/100km.a)", + "雷击风险等级" + }; + int num = -1; + GanTas ganTas = null; + try + { + for (int i = 0; i < array2.Length; i++) + { + list.Add(array2[i]); + } + for (int j = 0; j < list.Count; j++) + { + mDS.Tables[0].Columns.Add(list[j]); + } + for (int k = 0; k < desktop.mXL.mListXianLuData.Count; k++) + { + if (mLookXianLuData.mName_XianLu.Equals(desktop.mXL.mListXianLuData[k].mName_XianLu)) + { + num = k; + } + } + if (num < 0) + { + MyLog.AddLog("MyInit_DataSet() FormLook1 未匹配线路(" + mLookXianLuData.mName_XianLu + ")."); + return; + } + if (num >= desktop.mXL.mListGanTas.Count) + { + MyLog.AddLog($"MyInit_DataSet() FormLook1 mListGanTas越界(index={num} out of [0,{desktop.mXL.mListGanTas.Count - 1}])."); + return; + } + ganTas = desktop.mXL.mListGanTas[num]; + for (int l = 0; l < ganTas.mListGanTaData.Count; l++) + { + DataRow dataRow = mDS.Tables[0].NewRow(); + for (int m = 0; m < list.Count; m++) + { + switch (list[m]) + { + case "塔号": + dataRow[m] = ganTas.mListGanTaData[l].mID_GanTa; + break; + case "塔形": + dataRow[m] = ganTas.mListGanTaData[l].mTaXing_GanTa; + break; + case "接地电阻": + dataRow[m] = ganTas.mListGanTaData[l].mJDDZ_GanTa; + break; + case "绝缘子串长度mm": + dataRow[m] = ganTas.mListGanTaData[l].mJYZCD_GanTa; + break; + case "杆塔呼高m": + dataRow[m] = ganTas.mListGanTaData[l].mHuGao_GanTa; + break; + case "地面倾角1": + dataRow[m] = ganTas.mListGanTaData[l].mDMQJ1_GanTa; + break; + case "地面倾角2": + dataRow[m] = ganTas.mListGanTaData[l].mDMQJ2_GanTa; + break; + case "反击耐雷水平kA": + dataRow[m] = ganTas.mListGanTaData[l].mFJ_NLSP_GanTa; + break; + case "反击跳闸率(次/100km.a)": + dataRow[m] = ganTas.mListGanTaData[l].mFJ_TZL_GanTa; + break; + case "绕击耐雷水平kA": + dataRow[m] = ganTas.mListGanTaData[l].mRJ_NLSP_GanTa; + break; + case "绕击跳闸率(次/100km.a)": + dataRow[m] = ganTas.mListGanTaData[l].mRJ_TZL_GanTa; + break; + case "雷击风险等级": + dataRow[m] = ganTas.mListGanTaData[l].mFXDJ_GanTa; + break; + } + } + mDS.Tables[0].Rows.Add(dataRow); + } + } + catch (Exception ex) + { + MyLog.AddLog("MyInit_DataSet() FormLook1 Exception=" + ex.Message + "."); + } + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + if (mAfterInit) + { + Thread thread = new Thread(MyCancel); + thread.Start(); + } + } + + private void MyCancel() + { + MySet_Form_Title(this, "取消—"); + MySet_Form_Title(this, "取消———"); + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + + public void MySet_Form_Title(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormTitle method = MySet_Form_Title; + form.Invoke(method, form, value); + } + else + { + form.Text = mTitle + " " + value; + } + } + + public void MySet_DataGridView_DataSource(DataGridView dataGridView, DataView value) + { + if (dataGridView.InvokeRequired) + { + delegateDataGridViewDataSource method = MySet_DataGridView_DataSource; + dataGridView.Invoke(method, dataGridView, value); + } + else + { + dataGridView.DataSource = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.panel_Form = new System.Windows.Forms.Panel(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.panel_Result = new System.Windows.Forms.Panel(); + this.dataGridView_Result = new System.Windows.Forms.DataGridView(); + this.panel_Form.SuspendLayout(); + this.panel_Result.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_Result).BeginInit(); + base.SuspendLayout(); + this.panel_Form.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.panel_Form.Controls.Add(this.buttonCancel); + this.panel_Form.Controls.Add(this.panel_Result); + this.panel_Form.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel_Form.Location = new System.Drawing.Point(0, 0); + this.panel_Form.Name = "panel_Form"; + this.panel_Form.Size = new System.Drawing.Size(1283, 607); + this.panel_Form.TabIndex = 1; + this.buttonCancel.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonCancel.Location = new System.Drawing.Point(1219, 563); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(50, 29); + this.buttonCancel.TabIndex = 3; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.panel_Result.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel_Result.Controls.Add(this.dataGridView_Result); + this.panel_Result.Location = new System.Drawing.Point(10, 10); + this.panel_Result.Name = "panel_Result"; + this.panel_Result.Size = new System.Drawing.Size(1203, 583); + this.panel_Result.TabIndex = 2; + this.dataGridView_Result.AllowUserToAddRows = false; + this.dataGridView_Result.AllowUserToDeleteRows = false; + this.dataGridView_Result.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dataGridView_Result.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView_Result.Dock = System.Windows.Forms.DockStyle.Fill; + this.dataGridView_Result.Location = new System.Drawing.Point(0, 0); + this.dataGridView_Result.Name = "dataGridView_Result"; + this.dataGridView_Result.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; + this.dataGridView_Result.RowTemplate.Height = 23; + this.dataGridView_Result.Size = new System.Drawing.Size(1201, 581); + this.dataGridView_Result.TabIndex = 1; + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(1283, 607); + base.Controls.Add(this.panel_Form); + base.Name = "FormLook2FengXianPingGu"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormLook2FengXianPingGu"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormLook2FengXianPingGu_FormClosing); + base.Load += new System.EventHandler(FormLook2FengXianPingGu_Load); + this.panel_Form.ResumeLayout(false); + this.panel_Result.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_Result).EndInit(); + base.ResumeLayout(false); + } +} diff --git a/LP/FormLook3CuoShiTuiJian.cs b/LP/FormLook3CuoShiTuiJian.cs new file mode 100644 index 0000000..6c58a58 --- /dev/null +++ b/LP/FormLook3CuoShiTuiJian.cs @@ -0,0 +1,1017 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Text; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class FormLook3CuoShiTuiJian : Form +{ + private delegate void delegateFormTitle(Form form, string value); + + private delegate void delegateDataGridViewDataSource(DataGridView dataGridView, DataView value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private string mTitle = ""; + + private TaskData mLookTaskData = null; + + private TaskData mBLQ_3_TaskData = null; + + private XianLuData mLookXianLuData = null; + + private TaskGroup mLookTaskGroup = null; + + private DataSet mDS = null; + + private List mList_SBH = null; + + private string mFileName = ""; + + private int mIndex_detail_Look3 = -1; + + private bool mAfterInit = false; + + private bool mBusy = false; + + private bool mPermitButton_AnZhuangBLQ = false; + + private IContainer components = null; + + private Panel panel_Form; + + private Button buttonExport; + + private Button buttonCancel; + + private Panel panel_Result; + + private DataGridView dataGridView_Result; + + private TextBox textBox_ShowInform; + + private Button buttonBLQ_compute; + + public FormLook3CuoShiTuiJian() + { + InitializeComponent(); + mTitle = "展示计算结果(措施推荐)"; + if (mList_SBH == null) + { + mList_SBH = new List(); + } + } + + public void MySet_mIndex_detail_Look3(int _index) + { + mIndex_detail_Look3 = _index; + } + + private void FormLook3CuoShiTuiJian_Load(object sender, EventArgs e) + { + mAfterInit = false; + mPermitButton_AnZhuangBLQ = false; + MyInput_Data(); + MySet_Form_Title(this, ""); + MyInit_DataSet(); + if (mDS != null) + { + MySet_DataGridView_DataSource(dataGridView_Result, mDS.Tables[0].DefaultView); + } + buttonBLQ_compute.Visible = mPermitButton_AnZhuangBLQ; + mAfterInit = true; + } + + private void FormLook3CuoShiTuiJian_FormClosing(object sender, FormClosingEventArgs e) + { + MySet_DataGridView_DataSource(dataGridView_Result, null); + } + + public void Destroy() + { + if (mList_SBH != null) + { + mList_SBH.Clear(); + } + mList_SBH = null; + if (mDS != null) + { + if (mDS.Tables.Count > 0) + { + mDS.Tables[0].Rows.Clear(); + mDS.Tables[0].Columns.Clear(); + } + mDS.Tables[0].Clear(); + mDS.Clear(); + mDS = null; + } + if (mBLQ_3_TaskData != null) + { + mBLQ_3_TaskData.Destroy(); + } + mBLQ_3_TaskData = null; + } + + public void MyInput_Data() + { + TaskDetail taskDetail = null; + if (mIndex_detail_Look3 >= 0) + { + taskDetail = desktop.mTask.mListDetails[mIndex_detail_Look3]; + mLookTaskData = taskDetail.mTaskData; + mLookTaskGroup = taskDetail.mTaskGroup; + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (taskDetail.mXianLuID_Detail == desktop.mXL.mListXianLuData[i].mID_XianLu) + { + mLookXianLuData = desktop.mXL.mListXianLuData[i]; + break; + } + } + } + taskDetail = null; + mTitle = "展示计算结果(措施推荐) - " + mLookTaskData.mName_Task + " | " + mLookXianLuData.mName_XianLu; + if (mIndex_detail_Look3 < 0) + { + MyLog.AddLog($"FormLook3CuoShiTuiJian.cs MyInput_Data() mIndex_detail_Look3={mIndex_detail_Look3}"); + } + } + + private void MyInit_DataSet() + { + if (mList_SBH == null) + { + mList_SBH = new List(); + } + mList_SBH.Clear(); + if (mDS == null) + { + mDS = new DataSet(); + } + if (mDS.Tables.Count == 0) + { + mDS.Tables.Add(new DataTable()); + } + mDS.Tables[0].Rows.Clear(); + mDS.Tables[0].Columns.Clear(); + List list = new List(); + list.Clear(); + string[] array = new string[20] + { + "塔号", "杆塔模型", "塔形", "雷电流幅值a", "地面倾角1", "地闪密度", "波头时间/μs", "波尾时间/μs", "反击耐雷水平kA", "反击跳闸率(次/100km.a)", + "绕击耐雷水平kA", "绕击跳闸率(次/100km.a)", "雷击风险等级", "保护角", "普通计算结果", "绝缘子串长mm推荐值", "绝缘子串长mm原始值", "接地电阻Ω推荐值", "接地电阻Ω原始值", "安装避雷器" + }; + string[] array2 = new string[38] + { + "塔号", "杆塔模型", "塔形", "雷电流幅值a", "地面倾角1", "地闪密度", "波头时间/μs", "波尾时间/μs", "绕击跳闸率(次/100km.a)", "雷击风险等级", + "A相绕击耐雷水平kA", "B相绕击耐雷水平kA", "C相绕击耐雷水平kA", "单相反击耐雷水平kA", "单相闪络相", "单相反击跳闸率(次/100km.a)", "双相反击耐雷水平kA", "双相闪络相", "双相反击跳闸率(次/100km.a)", "三相反击耐雷水平kA", + "三相闪络相", "三相反击跳闸率(次/100km.a)", "四相反击耐雷水平kA", "四相闪络相", "四相反击跳闸率(次/100km.a)", "五相反击耐雷水平kA", "五相闪络相", "五相反击跳闸率(次/100km.a)", "六相反击耐雷水平kA", "六相闪络相", + "六相反击跳闸率(次/100km.a)", "保护角", "普通计算结果", "绝缘子串长mm推荐值", "绝缘子串长mm原始值", "接地电阻Ω推荐值", "接地电阻Ω原始值", "安装避雷器" + }; + string[] array3 = new string[21] + { + "塔号", "杆塔模型", "塔形", "雷电流幅值a", "地面倾角1", "地闪密度", "波头时间/μs", "波尾时间/μs", "反击耐雷水平kA", "反击跳闸率(次/100km.a)", + "绕击耐雷水平kA", "绕击跳闸率(次/100km.a)", "雷击风险等级", "普通计算结果", "保护角推荐值", "保护角原始值", "绝缘子串长mm推荐值", "绝缘子串长mm原始值", "接地电阻Ω推荐值", "接地电阻Ω原始值", + "安装避雷器" + }; + string[] array4 = new string[39] + { + "塔号", "杆塔模型", "塔形", "雷电流幅值a", "地面倾角1", "地闪密度", "波头时间/μs", "波尾时间/μs", "绕击跳闸率(次/100km.a)", "雷击风险等级", + "A相绕击耐雷水平kA", "B相绕击耐雷水平kA", "C相绕击耐雷水平kA", "单相反击耐雷水平kA", "单相闪络相", "单相反击跳闸率(次/100km.a)", "双相反击耐雷水平kA", "双相闪络相", "双相反击跳闸率(次/100km.a)", "三相反击耐雷水平kA", + "三相闪络相", "三相反击跳闸率(次/100km.a)", "四相反击耐雷水平kA", "四相闪络相", "四相反击跳闸率(次/100km.a)", "五相反击耐雷水平kA", "五相闪络相", "五相反击跳闸率(次/100km.a)", "六相反击耐雷水平kA", "六相闪络相", + "六相反击跳闸率(次/100km.a)", "普通计算结果", "保护角推荐值", "保护角原始值", "绝缘子串长mm推荐值", "绝缘子串长mm原始值", "接地电阻Ω推荐值", "接地电阻Ω原始值", "安装避雷器" + }; + string text = ""; + TGanTas tGanTas = null; + try + { + tGanTas = mLookTaskGroup.mListExTaskData[0].mTGanTas; + } + catch (Exception) + { + tGanTas = null; + } + if (tGanTas != null) + { + text = tGanTas.mListTGanTaData[0].mM1_Xiang_GanTa; + text += tGanTas.mListTGanTaData[0].mM2_Xiang_GanTa; + text += tGanTas.mListTGanTaData[0].mM3_Xiang_GanTa; + text += tGanTas.mListTGanTaData[0].mM4_Xiang_GanTa; + text += tGanTas.mListTGanTaData[0].mM5_Xiang_GanTa; + text += tGanTas.mListTGanTaData[0].mM6_Xiang_GanTa; + text = text.ToUpper(); + } + bool flag = false; + flag = text.IndexOf("A") >= 0 || text.IndexOf("B") >= 0 || text.IndexOf("C") >= 0; + try + { + if (desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskData.mTypeCode_Task == 3 || desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskData.mTypeCode_Task == 6) + { + if (!flag) + { + for (int i = 0; i < array.Length; i++) + { + list.Add(array[i]); + } + } + else if (flag) + { + for (int j = 0; j < array2.Length; j++) + { + list.Add(array2[j]); + } + } + } + else if (desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskData.mTypeCode_Task == 302 || desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskData.mTypeCode_Task == 602) + { + if (!flag) + { + for (int k = 0; k < array3.Length; k++) + { + list.Add(array3[k]); + } + } + else if (flag) + { + for (int l = 0; l < array4.Length; l++) + { + list.Add(array4[l]); + } + } + } + for (int m = 0; m < list.Count; m++) + { + mDS.Tables[0].Columns.Add(list[m]); + } + DataRow dataRow = null; + int num = -1; + CanShuFenJi canShuFenJi = null; + string text2 = ""; + for (int n = 0; n < mLookTaskGroup.mListExTaskData.Count; n++) + { + if (mLookTaskGroup.mListExTaskData[n] == null || mLookTaskGroup.mListExTaskData[n].mTGanTas == null) + { + continue; + } + tGanTas = mLookTaskGroup.mListExTaskData[n].mTGanTas; + for (int num2 = 0; num2 < tGanTas.mListTGanTaData.Count; num2++) + { + dataRow = mDS.Tables[0].NewRow(); + num = desktop.mAll_CanShuFenJi.MyFind(tGanTas.mListTGanTaData[num2].m_ID_CanShuFenJi); + canShuFenJi = ((num <= 0) ? null : desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num]); + if (num > 0) + { + text2 = (canShuFenJi.mBLQ_need ? "需要安装避雷器" : "不需要安装避雷器"); + } + else + { + text2 = ""; + } + if (num > 0 && canShuFenJi.mBLQ_need && (desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskData.mTypeCode_Task == 3 || desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskData.mTypeCode_Task == 302)) + { + mPermitButton_AnZhuangBLQ = true; + } + for (int num3 = 0; num3 < list.Count; num3++) + { + switch (list[num3]) + { + case "塔号": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mID_GanTa; + break; + case "杆塔模型": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mModel_GanTa; + break; + case "塔形": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mTaXing_GanTa; + break; + case "雷电流幅值a": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mCurrent_a_GanTa; + break; + case "地面倾角1": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mDMQJ1_GanTa; + break; + case "地闪密度": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mDSMD_GanTa; + break; + case "波头时间/μs": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mCurrentHeadTime_GanTa; + break; + case "波尾时间/μs": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mCurrentTailTime_GanTa; + break; + case "反击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mFJ_NLSP_GanTa; + break; + case "反击跳闸率(次/100km.a)": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mFJ_TZL_GanTa; + break; + case "绕击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mRJ_NLSP_GanTa; + break; + case "绕击跳闸率(次/100km.a)": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mRJ_TZL_GanTa; + break; + case "雷击风险等级": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mFXDJ_GanTa; + break; + case "A相绕击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mMA_RJ_NLSP_GanTa; + break; + case "B相绕击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mMB_RJ_NLSP_GanTa; + break; + case "C相绕击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mMC_RJ_NLSP_GanTa; + break; + case "单相反击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM1_NLSP_GanTa; + break; + case "单相闪络相": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM1_Xiang_GanTa; + break; + case "单相反击跳闸率(次/100km.a)": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM1_TZL_GanTa; + break; + case "双相反击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM2_NLSP_GanTa; + break; + case "双相闪络相": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM2_Xiang_GanTa; + break; + case "双相反击跳闸率(次/100km.a)": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM2_TZL_GanTa; + break; + case "三相反击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM3_NLSP_GanTa; + break; + case "三相闪络相": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM3_Xiang_GanTa; + break; + case "三相反击跳闸率(次/100km.a)": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM3_TZL_GanTa; + break; + case "四相反击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM4_NLSP_GanTa; + break; + case "四相闪络相": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM4_Xiang_GanTa; + break; + case "四相反击跳闸率(次/100km.a)": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM4_TZL_GanTa; + break; + case "五相反击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM5_NLSP_GanTa; + break; + case "五相闪络相": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM5_Xiang_GanTa; + break; + case "五相反击跳闸率(次/100km.a)": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM5_TZL_GanTa; + break; + case "六相反击耐雷水平kA": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM6_NLSP_GanTa; + break; + case "六相闪络相": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM6_Xiang_GanTa; + break; + case "六相反击跳闸率(次/100km.a)": + dataRow[num3] = tGanTas.mListTGanTaData[num2].mM6_TZL_GanTa; + break; + case "保护角": + dataRow[num3] = tGanTas.mListTGanTaData[num2].m_BaoHuJiao; + break; + case "普通计算结果": + dataRow[num3] = tGanTas.mListTGanTaData[num2].m_Result_PuTongJiSuan_GanTa; + break; + case "绝缘子串长mm推荐值": + dataRow[num3] = ((num > 0) ? $"{canShuFenJi.mNew_JYZCD}" : ""); + break; + case "绝缘子串长mm原始值": + dataRow[num3] = ((num > 0) ? $"{canShuFenJi.mOld_JYZCD}" : ""); + break; + case "接地电阻Ω推荐值": + dataRow[num3] = ((num > 0) ? $"{canShuFenJi.mNew_JDDZ}" : ""); + break; + case "接地电阻Ω原始值": + dataRow[num3] = ((num > 0) ? $"{canShuFenJi.mOld_JDDZ}" : ""); + break; + case "保护角推荐值": + dataRow[num3] = ((num > 0) ? $"{canShuFenJi.mNew_BaoHuJiao}" : ""); + break; + case "保护角原始值": + dataRow[num3] = ((num > 0) ? $"{canShuFenJi.mOld_BaoHuJiao}" : ""); + break; + case "安装避雷器": + dataRow[num3] = tGanTas.mListTGanTaData[num2].m_CuoShiTuiJian_GanTa ?? ""; + break; + } + } + mDS.Tables[0].Rows.Add(dataRow); + mList_SBH.Add($"{tGanTas.mListTGanTaData[num2].mTaskIDstring}|{tGanTas.mListTGanTaData[num2].mIndex__GanTa}"); + } + } + } + catch (Exception ex2) + { + MyLog.AddLog("MyInit_DataSet() FormLook1 Exception=" + ex2.Message + "."); + } + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + if (mAfterInit) + { + Thread thread = new Thread(MyCancel); + thread.Start(); + } + } + + private void MyCancel() + { + MySet_Form_Title(this, "取消—"); + MySet_Form_Title(this, "取消———"); + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + + private void buttonExport_Click(object sender, EventArgs e) + { + if (mBusy) + { + return; + } + mBusy = true; + try + { + if (mLookTaskGroup == null || mLookTaskGroup.mListExTaskData.Count == 0) + { + MyLog.AddLog($"buttonExport_Click() 参数分级数据无匹配:任务ID={mLookTaskGroup.mID_Task}"); + MessageBox.Show("无杆塔数据可以导出!"); + mBusy = false; + return; + } + SaveFileDialog saveFileDialog = new SaveFileDialog(); + saveFileDialog.InitialDirectory = Application.StartupPath; + saveFileDialog.Filter = "所有文件*.*|*.*|Excel文件(*.csv)|*.csv|Txt文件(*.txt)|*.txt"; + saveFileDialog.FilterIndex = 2; + if (saveFileDialog.ShowDialog(this) == DialogResult.OK) + { + mFileName = saveFileDialog.FileName; + Thread thread = new Thread(MySave_TGanTas); + thread.Start(); + } + } + catch (Exception ex) + { + MyLog.AddLog("FormLook3CuoShiTuiJian.cs buttonExport_Click() ex=" + ex.Message); + } + } + + private void MySave_TGanTas() + { + TGanTaData tGanTaData = null; + int num = 0; + string value = ""; + string text = ""; + CanShuFenJi canShuFenJi = null; + int num2 = -1; + try + { + using FileStream fileStream = new FileStream(mFileName, FileMode.Create, FileAccess.Write, FileShare.None); + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + streamWriter.WriteLine(""); + for (int i = 0; i < mLookTaskGroup.mListExTaskData.Count; i++) + { + if (mLookTaskGroup.mListExTaskData[i] == null || mLookTaskGroup.mListExTaskData[i].mTGanTas == null) + { + continue; + } + for (int j = 0; j < mLookTaskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData.Count; j++) + { + tGanTaData = mLookTaskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData[j]; + if (tGanTaData != null) + { + if (num == 0) + { + streamWriter.Write(TGanTaData.MyHead_ToString()); + value = ""; + value += ",安装避雷器"; + value += ",绝缘子串长mm推荐值"; + value += ",绝缘子串长mm原始值"; + value += ",绝缘子串长档级"; + value += ",接地电阻Ω推荐值"; + value += ",接地电阻Ω原始值"; + value += ",接地电阻档级"; + value += ",绝缘子串长标准值"; + value += ",高度-标准值"; + streamWriter.WriteLine(value); + } + streamWriter.Write(tGanTaData.MyToString()); + num2 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData.m_ID_CanShuFenJi); + if (num2 <= 0) + { + value = ",,,,,,,,,"; + } + else if (num2 > 0) + { + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num2]; + text = (canShuFenJi.mBLQ_need ? "需要安装避雷器" : "不需要安装避雷器"); + value = ""; + value = value + "," + tGanTaData.m_CuoShiTuiJian_GanTa; + value += $",{canShuFenJi.mNew_JYZCD}"; + value += $",{canShuFenJi.mOld_JYZCD}"; + value += $",{canShuFenJi.mFenJi_JYZCD}"; + value += $",{canShuFenJi.mNew_JDDZ}"; + value += $",{canShuFenJi.mOld_JDDZ}"; + value += $",{canShuFenJi.mFenJi_JDDZ}"; + value += $",{canShuFenJi.mSTD_JYZ_mm}"; + value += $",{canShuFenJi.mSTD_height_m}"; + } + streamWriter.WriteLine(value); + num++; + } + } + } + streamWriter.WriteLine(""); + streamWriter.Close(); + } + fileStream.Close(); + } + catch (Exception ex) + { + MyLog.AddLog("MySave_TGanTas() 异常=" + ex.Message); + MessageBox.Show(ex.Message); + } + MessageBox.Show($"导出{num}条杆塔数据。文件名{mFileName}"); + mBusy = false; + } + + private void buttonBLQ_compute_Click(object sender, EventArgs e) + { + if (mAfterInit && !mBusy) + { + if (mBLQ_3_TaskData == null) + { + mBLQ_3_TaskData = new TaskData(); + } + if (mIndex_detail_Look3 >= 0 && mIndex_detail_Look3 < desktop.mTask.mListDetails.Count && desktop.mTask.mListDetails[mIndex_detail_Look3] != null && desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskData != null) + { + mBusy = true; + Thread thread = new Thread(MyThread_BLQ_computeTask); + thread.Start(); + } + } + } + + private void MyThread_BLQ_computeTask() + { + TaskData taskData = null; + int index = -1; + TaskData taskData2 = null; + TaskData taskData3 = null; + TaskData taskData4 = null; + int num = 0; + bool flag = false; + try + { + taskData2 = desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskData; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (desktop.mTask.mListDetails[i].mTaskID_Detail == taskData2.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian) + { + index = i; + taskData = desktop.mTask.mListDetails[index].mTaskData; + break; + } + } + if (taskData == null) + { + taskData = desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskData; + } + mBLQ_3_TaskData.copyFrom_TaskData(taskData); + if (taskData2.mTypeCode_Task == 3) + { + mBLQ_3_TaskData.mTypeCode_Task = 6; + } + else if (taskData2.mTypeCode_Task == 302) + { + mBLQ_3_TaskData.mTypeCode_Task = 602; + } + else + { + mBLQ_3_TaskData.mTypeCode_Task = 6; + } + mBLQ_3_TaskData.mID_Task = TaskData.mNextID_static; + mBLQ_3_TaskData.mID_string_Task = $"{mBLQ_3_TaskData.mID_Task}|{mBLQ_3_TaskData.mID_ExTask}"; + mBLQ_3_TaskData.mName_Task = $"避雷器-{taskData.mName_Task}-{mBLQ_3_TaskData.mID_Task}"; + mBLQ_3_TaskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = taskData.mID_Task; + mBLQ_3_TaskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = taskData.mID_Task; + mBLQ_3_TaskData.Finished6_AnZhuangBLQ = 0; + num = 0; + flag = false; + for (int j = 0; j < desktop.mTask.mListDetails.Count; j++) + { + if (mBLQ_3_TaskData.mID_Task == desktop.mTask.mListDetails[j].mTaskID_Detail) + { + desktop.mTask.mListDetails[j].mTaskData.copyFrom_TaskData(mBLQ_3_TaskData); + num = j; + flag = true; + break; + } + } + if (!flag) + { + TaskDetail taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = mBLQ_3_TaskData.mID_Task; + taskDetail.mXianLuID_Detail = mBLQ_3_TaskData.mXianLuID_Task; + taskDetail.mTaskData.copyFrom_TaskData(mBLQ_3_TaskData); + num = desktop.mTask.mListDetails.Count; + desktop.mTask.mListDetails.Add(taskDetail); + desktop.mTask.mListDetails[num].mTaskGroup.mID_Task = mBLQ_3_TaskData.mID_Task; + desktop.mTask.mListDetails[num].mTaskData.mID_Task = mBLQ_3_TaskData.mID_Task; + } + else if (flag) + { + MyLog.AddLog($"MyThread_BLQ_computeTask() Detail repeat(indexDetail={num}, mListDetails.Count={desktop.mTask.mListDetails.Count})."); + mBusy = false; + return; + } + XianLuData sourceXianLuData = null; + for (int k = 0; k < desktop.mXL.mListXianLuData.Count; k++) + { + if (desktop.mXL.mListXianLuData[k].mID_XianLu == desktop.mTask.mListDetails[index].mXianLuID_Detail) + { + sourceXianLuData = desktop.mXL.mListXianLuData[k]; + break; + } + } + for (int l = 0; l < desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskGroup.mListExTaskData.Count; l++) + { + taskData4 = desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskGroup.mListExTaskData[l]; + if (taskData4 != null) + { + taskData3 = new TaskData(); + taskData3.copyFrom_TaskData(mBLQ_3_TaskData); + taskData3.mCurveTimeHead = taskData4.mCurveTimeHead; + taskData3.mCurveTimeTail = taskData4.mCurveTimeTail; + taskData3.mTGanTas.SetXianLuData(taskData3.mID_string_Task, sourceXianLuData); + taskData3.mTGanTas.mListTGanTaData.Clear(); + desktop.mTask.Add1_ExTaskData(num, taskData3); + } + } + TGanTas tGanTas = null; + GanTaData ganTaData = null; + GanTaData ganTaData2 = null; + TGanTaData tGanTaData = null; + TGanTaData tGanTaData2 = null; + int num2 = -1; + bool flag2 = false; + bool flag3 = false; + for (num2 = 0; num2 < desktop.mXL.mListXianLuData.Count; num2++) + { + if (desktop.mXL.mListXianLuData[num2].mID_XianLu == mBLQ_3_TaskData.mXianLuID_Task) + { + flag3 = true; + break; + } + } + MyLog.AddLog("创建安装避雷器任务"); + for (int m = 0; m < desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData.Count; m++) + { + taskData3 = desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData[m]; + taskData3.mTGanTas.mListTGanTaData.Clear(); + for (int n = 0; n < desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskGroup.mListExTaskData.Count; n++) + { + if (n != m) + { + continue; + } + MyLog.AddLog($"{desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskData.mName_Task} mIndex_detail_Look3={mIndex_detail_Look3} k={n}"); + taskData4 = desktop.mTask.mListDetails[mIndex_detail_Look3].mTaskGroup.mListExTaskData[n]; + tGanTas = taskData4.mTGanTas; + for (int num3 = 0; num3 < tGanTas.mListTGanTaData.Count; num3++) + { + if (tGanTas.mListTGanTaData[num3].mFXDJ_GanTa <= 2) + { + continue; + } + flag2 = false; + tGanTaData = null; + for (int num4 = 0; num4 < desktop.mTask.mListDetails[index].mTaskGroup.mListExTaskData[n].mTGanTas.mListTGanTaData.Count; num4++) + { + tGanTaData2 = desktop.mTask.mListDetails[index].mTaskGroup.mListExTaskData[n].mTGanTas.mListTGanTaData[num4]; + if (tGanTaData2.mID_GanTa == tGanTas.mListTGanTaData[num3].mID_GanTa) + { + tGanTaData = tGanTaData2; + flag2 = true; + break; + } + } + ganTaData = new GanTaData(); + if (!flag2) + { + if (flag3 && num2 < desktop.mXL.mListGanTas.Count) + { + for (int num5 = 0; num5 < desktop.mXL.mListGanTas[num2].mListGanTaData.Count; num5++) + { + ganTaData2 = desktop.mXL.mListGanTas[num2].mListGanTaData[num5]; + if (ganTaData2 != null && ganTaData2.mID_GanTa.Equals(tGanTas.mListTGanTaData[num3].mID_GanTa)) + { + ganTaData.CopyFrom_GanTaData(ganTaData2); + break; + } + } + } + } + else if (flag2) + { + ganTaData.CopyFrom_TGanTaData(tGanTaData); + if (flag2 && flag3 && num2 < desktop.mXL.mListGanTas.Count) + { + for (int num6 = 0; num6 < desktop.mXL.mListGanTas[num2].mListGanTaData.Count; num6++) + { + ganTaData2 = desktop.mXL.mListGanTas[num2].mListGanTaData[num6]; + if (ganTaData2 != null && ganTaData2.mID_GanTa.Equals(tGanTaData.mID_GanTa)) + { + ganTaData.mJYZCD_GanTa = ganTaData2.mJYZCD_GanTa; + ganTaData.mJDDZ_GanTa = ganTaData2.mJDDZ_GanTa; + ganTaData.mBLZJ_L_GanTa = ganTaData2.mBLZJ_L_GanTa; + ganTaData.mBLZJ_R_GanTa = ganTaData2.mBLZJ_R_GanTa; + break; + } + } + } + } + ganTaData.mBLQ_A_GanTa = "是"; + ganTaData.mBLQ_B_GanTa = "是"; + ganTaData.mBLQ_C_GanTa = "是"; + taskData3.mTGanTas.Add1TGanTaData(ganTaData, taskData4.mIndex_CurrentCurve, taskData4.mCurveTimeHead, taskData4.mCurveTimeTail); + MyLog.AddLog($"mID_GanTa={ganTaData.mID_GanTa} mJYZCD_GanTa={ganTaData.mJYZCD_GanTa} mJDDZ_GanTa={ganTaData.mJDDZ_GanTa} mBLZJ_L_GanTa={ganTaData.mBLZJ_L_GanTa} mBLZJ_R_GanTa={ganTaData.mBLZJ_R_GanTa}"); + TGanTaData.mNextID_static++; + } + } + } + for (int num7 = 0; num7 < 10; num7++) + { + if (desktop.mAddTaskData.mID_Task <= 0) + { + break; + } + Thread.Sleep(1000); + } + desktop.mAddTaskData.copyFrom_TaskData(mBLQ_3_TaskData); + desktop.MySendForm_TaskData(desktop, desktop.mAddTaskData); + MySet_Form_Title(this, "创建任务 " + mBLQ_3_TaskData.mName_Task); + } + catch (Exception ex) + { + MyLog.AddLog("FormLook3CuoShiTuiJian.cs MyThread_BLQ_computeTask() ex=" + ex.Message); + } + finally + { + mBusy = false; + } + } + + private void dataGridView_Result_CellClick(object sender, DataGridViewCellEventArgs e) + { + if (mBusy) + { + return; + } + mBusy = true; + try + { + int rowIndex = e.RowIndex; + if (rowIndex < 0) + { + mBusy = false; + return; + } + MyRefresh_Right(rowIndex); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + mBusy = false; + } + + private void MyRefresh_Right(int _index) + { + try + { + string text = "1"; + try + { + text = mList_SBH[_index].Trim(); + } + catch (Exception) + { + text = "-"; + } + string text2 = ""; + TGanTaData tGanTaData = null; + TGanTas tGanTas = null; + CanShuFenJi canShuFenJi = null; + string text3 = ""; + for (int i = 0; i < mLookTaskGroup.mListExTaskData.Count; i++) + { + if (mLookTaskGroup.mListExTaskData[i] == null || mLookTaskGroup.mListExTaskData[i].mTGanTas == null) + { + continue; + } + tGanTas = mLookTaskGroup.mListExTaskData[i].mTGanTas; + if (tGanTas == null || tGanTas.mListTGanTaData == null) + { + continue; + } + for (int j = 0; j < tGanTas.mListTGanTaData.Count; j++) + { + tGanTaData = tGanTas.mListTGanTaData[j]; + if (!text.Equals($"{tGanTaData.mTaskIDstring}|{tGanTaData.mIndex__GanTa}")) + { + continue; + } + if (tGanTaData.m_ID_CanShuFenJi == 0) + { + text2 = "\r\n无分级数据"; + textBox_ShowInform.Text = text2; + break; + } + int num = -1; + num = desktop.mAll_CanShuFenJi.MyFind(tGanTaData.m_ID_CanShuFenJi); + if (num <= 0) + { + text2 = "\r\n无分级数据"; + } + else if (num > 0) + { + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num]; + text3 = (canShuFenJi.mBLQ_need ? "需要安装避雷器" : "不需要安装避雷器"); + text2 += $"绝缘子串长标准值:{canShuFenJi.mSTD_JYZ_mm}\r\n\r\n"; + text2 += $"高度-标准值:{canShuFenJi.mSTD_height_m}\r\n\r\n"; + } + textBox_ShowInform.Text = text2; + break; + } + } + } + catch (Exception ex2) + { + MyLog.AddLog("FormLook3CuoShiTuiJian.cs MyRefresh_Right() ex=" + ex2.Message); + } + } + + public void MySet_Form_Title(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormTitle method = MySet_Form_Title; + form.Invoke(method, form, value); + } + else + { + form.Text = mTitle + " " + value; + } + } + + public void MySet_DataGridView_DataSource(DataGridView dataGridView, DataView value) + { + if (dataGridView.InvokeRequired) + { + delegateDataGridViewDataSource method = MySet_DataGridView_DataSource; + dataGridView.Invoke(method, dataGridView, value); + } + else + { + dataGridView.DataSource = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.panel_Form = new System.Windows.Forms.Panel(); + this.textBox_ShowInform = new System.Windows.Forms.TextBox(); + this.buttonExport = new System.Windows.Forms.Button(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.panel_Result = new System.Windows.Forms.Panel(); + this.dataGridView_Result = new System.Windows.Forms.DataGridView(); + this.buttonBLQ_compute = new System.Windows.Forms.Button(); + this.panel_Form.SuspendLayout(); + this.panel_Result.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_Result).BeginInit(); + base.SuspendLayout(); + this.panel_Form.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.panel_Form.Controls.Add(this.textBox_ShowInform); + this.panel_Form.Controls.Add(this.buttonBLQ_compute); + this.panel_Form.Controls.Add(this.buttonExport); + this.panel_Form.Controls.Add(this.buttonCancel); + this.panel_Form.Controls.Add(this.panel_Result); + this.panel_Form.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel_Form.Location = new System.Drawing.Point(0, 0); + this.panel_Form.Name = "panel_Form"; + this.panel_Form.Size = new System.Drawing.Size(1476, 607); + this.panel_Form.TabIndex = 1; + this.textBox_ShowInform.Enabled = false; + this.textBox_ShowInform.Font = new System.Drawing.Font("宋体", 9f, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_ShowInform.Location = new System.Drawing.Point(1317, 131); + this.textBox_ShowInform.Multiline = true; + this.textBox_ShowInform.Name = "textBox_ShowInform"; + this.textBox_ShowInform.Size = new System.Drawing.Size(152, 315); + this.textBox_ShowInform.TabIndex = 4; + this.buttonExport.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonExport.Location = new System.Drawing.Point(1373, 477); + this.buttonExport.Name = "buttonExport"; + this.buttonExport.Size = new System.Drawing.Size(50, 29); + this.buttonExport.TabIndex = 3; + this.buttonExport.Text = "导出"; + this.buttonExport.UseVisualStyleBackColor = true; + this.buttonExport.Click += new System.EventHandler(buttonExport_Click); + this.buttonCancel.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonCancel.Location = new System.Drawing.Point(1373, 531); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(50, 29); + this.buttonCancel.TabIndex = 3; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.panel_Result.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel_Result.Controls.Add(this.dataGridView_Result); + this.panel_Result.Location = new System.Drawing.Point(10, 10); + this.panel_Result.Name = "panel_Result"; + this.panel_Result.Size = new System.Drawing.Size(1302, 583); + this.panel_Result.TabIndex = 2; + this.dataGridView_Result.AllowUserToAddRows = false; + this.dataGridView_Result.AllowUserToDeleteRows = false; + this.dataGridView_Result.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dataGridView_Result.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView_Result.Dock = System.Windows.Forms.DockStyle.Fill; + this.dataGridView_Result.Location = new System.Drawing.Point(0, 0); + this.dataGridView_Result.Name = "dataGridView_Result"; + this.dataGridView_Result.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; + this.dataGridView_Result.RowTemplate.Height = 23; + this.dataGridView_Result.Size = new System.Drawing.Size(1300, 581); + this.dataGridView_Result.TabIndex = 1; + this.dataGridView_Result.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(dataGridView_Result_CellClick); + this.buttonBLQ_compute.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.buttonBLQ_compute.Location = new System.Drawing.Point(1330, 73); + this.buttonBLQ_compute.Name = "buttonBLQ_compute"; + this.buttonBLQ_compute.Size = new System.Drawing.Size(122, 29); + this.buttonBLQ_compute.TabIndex = 3; + this.buttonBLQ_compute.Text = "加装避雷器计算"; + this.buttonBLQ_compute.UseVisualStyleBackColor = true; + this.buttonBLQ_compute.Click += new System.EventHandler(buttonBLQ_compute_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(1476, 607); + base.Controls.Add(this.panel_Form); + base.Name = "FormLook3CuoShiTuiJian"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormLook3CuoShiTuiJian"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(FormLook3CuoShiTuiJian_FormClosing); + base.Load += new System.EventHandler(FormLook3CuoShiTuiJian_Load); + this.panel_Form.ResumeLayout(false); + this.panel_Form.PerformLayout(); + this.panel_Result.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_Result).EndInit(); + base.ResumeLayout(false); + } +} diff --git a/LP/Form_GJSZ_PuTongJiSuan.cs b/LP/Form_GJSZ_PuTongJiSuan.cs new file mode 100644 index 0000000..fd157e5 --- /dev/null +++ b/LP/Form_GJSZ_PuTongJiSuan.cs @@ -0,0 +1,866 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class Form_GJSZ_PuTongJiSuan : Form +{ + private delegate void delegateFormHide(Form form); + + private delegate void dltFormSetVisiable(Form form, bool value); + + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateComboBoxItemsClear(ComboBox comboBox); + + private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); + + private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateCheckBoxCheckState(CheckBox checkBox, CheckState value); + + public FormDesktop desktop = null; + + private bool mAfterInit = false; + + public string mTitle = ""; + + public List mComboBoxes = null; + + public TaskData mTaskData_GJSZ = null; + + public int mIndex_HaiBaXiuZheng = -1; + + public int mHaiBaXiuZheng = 0; + + public int mIndex_GanYingDianYaGongShi = -1; + + public string mGanYingDianYaGongShi = ""; + + public int mIndex_CurrentCurve = -1; + + public int mCurrentCurve = 0; + + public double mCurveTimeHeadMin = -1.0; + + public double mCurveTimeTailMin = -1.0; + + public double mCurveTimeHeadMax = -1.0; + + public double mCurveTimeTailMax = -1.0; + + public double mCurveTimeHeadStep = -1.0; + + public double mCurveTimeTailStep = -1.0; + + public double mTongDaoZuKang = -1.0; + + public int mIndex_ShanLuoPanJu = -1; + + public string mShanLuoPanJu = ""; + + private int mParentCode = 0; + + public int mSelected_DuoXiangNaiLeiShuiPing = 0; + + private IContainer components = null; + + private ComboBox comboBox_HaiBaXiuZheng; + + private Label label4; + + private Label label1; + + private ComboBox comboBox_GanYingDianYaGongShi; + + private Label label2; + + private ComboBox comboBox_CurrentCurve; + + private Label label3; + + private TextBox textBox_CurveTimeHeadMin; + + private Label label5; + + private TextBox textBox_CurveTimeTailMin; + + private Label label6; + + private TextBox textBox_TongDaoZuKang; + + private Label label7; + + private ComboBox comboBox_ShanLuoPanJu; + + private Button buttonCancel; + + private Button buttonOK; + + private Label label8; + + private Label label9; + + private TextBox textBox_CurveTimeHeadMax; + + private TextBox textBox_CurveTimeTailMax; + + private Label label10; + + private TextBox textBox_CurveTimeHeadStep; + + private Label label11; + + private TextBox textBox_CurveTimeTailStep; + + public Form_GJSZ_PuTongJiSuan() + { + InitializeComponent(); + mTitle = "高级设置"; + if (mComboBoxes == null) + { + mComboBoxes = new List(); + } + mComboBoxes.Clear(); + mComboBoxes.Add(comboBox_HaiBaXiuZheng); + mComboBoxes.Add(comboBox_GanYingDianYaGongShi); + mComboBoxes.Add(comboBox_CurrentCurve); + mComboBoxes.Add(comboBox_ShanLuoPanJu); + if (mTaskData_GJSZ == null) + { + mTaskData_GJSZ = new TaskData(); + } + } + + private void Form_GJSZ_PuTongJiSuan_Load(object sender, EventArgs e) + { + mAfterInit = false; + MyFormSetTitle(this, ""); + mIndex_ShanLuoPanJu = 1; + mTongDaoZuKang = 5.0; + MyInput_TaskData(); + MyInput_ComboBox(); + if (mParentCode != 1 && mParentCode != 2) + { + MyLog.AddLog($"() invalid state: mParentCode={mParentCode}"); + } + textBox_TongDaoZuKang.Visible = false; + mAfterInit = true; + } + + private void Form_GJSZ_PuTongJiSuan_FormClosing(object sender, FormClosingEventArgs e) + { + } + + public void MyInput_TaskData() + { + if (mParentCode == 1) + { + mTaskData_GJSZ.copyFrom_TaskData(desktop.mDlg_PuTongJiSuan.mTaskData); + } + else if (mParentCode == 2) + { + mTaskData_GJSZ.copyFrom_TaskData(desktop.mDlg_TongTiaoJiSuan.mTaskData); + } + mCurveTimeHeadMin = (mTaskData_GJSZ.mCurveTimeHead_min = 2.6); + mCurveTimeHeadMax = (mTaskData_GJSZ.mCurveTimeHead_max = 2.6); + mCurveTimeHeadStep = mTaskData_GJSZ.mCurveTimeHead_step; + mCurveTimeTailMin = (mTaskData_GJSZ.mCurveTimeTail_min = 50.0); + mCurveTimeTailMax = (mTaskData_GJSZ.mCurveTimeTail_max = 50.0); + mCurveTimeTailStep = mTaskData_GJSZ.mCurveTimeTail_step; + mSelected_DuoXiangNaiLeiShuiPing = mTaskData_GJSZ.mIndex_DuoXiangNaiLeiShuiPing; + } + + public void MyOutput_TaskData() + { + if (mParentCode == 1) + { + desktop.mDlg_PuTongJiSuan.mTaskData.copyFrom_TaskData(mTaskData_GJSZ); + } + else if (mParentCode == 2) + { + desktop.mDlg_TongTiaoJiSuan.mTaskData.copyFrom_TaskData(mTaskData_GJSZ); + } + } + + public void MyInput_ComboBox() + { + MyComboBoxItemsClear(comboBox_HaiBaXiuZheng); + MyComboBoxAdd(comboBox_HaiBaXiuZheng, "无"); + MyComboBoxAdd(comboBox_HaiBaXiuZheng, "推荐公式1"); + MyComboBoxAdd(comboBox_HaiBaXiuZheng, "推荐公式2"); + if (mIndex_HaiBaXiuZheng < 0) + { + mIndex_HaiBaXiuZheng = 0; + } + if (mIndex_HaiBaXiuZheng >= 0 && mIndex_HaiBaXiuZheng < comboBox_HaiBaXiuZheng.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_HaiBaXiuZheng, mIndex_HaiBaXiuZheng); + mHaiBaXiuZheng = comboBox_HaiBaXiuZheng.SelectedIndex; + } + else + { + mHaiBaXiuZheng = 0; + } + MyComboBoxItemsClear(comboBox_GanYingDianYaGongShi); + MyComboBoxAdd(comboBox_GanYingDianYaGongShi, "公式1"); + MyComboBoxAdd(comboBox_GanYingDianYaGongShi, "公式2"); + if (mIndex_GanYingDianYaGongShi < 0) + { + mIndex_GanYingDianYaGongShi = 0; + } + if (mIndex_GanYingDianYaGongShi >= 0 && mIndex_GanYingDianYaGongShi < comboBox_GanYingDianYaGongShi.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_GanYingDianYaGongShi, mIndex_GanYingDianYaGongShi); + mGanYingDianYaGongShi = comboBox_GanYingDianYaGongShi.SelectedItem.ToString().Trim(); + } + else + { + mGanYingDianYaGongShi = ""; + } + MyComboBoxItemsClear(comboBox_CurrentCurve); + MyComboBoxAdd(comboBox_CurrentCurve, "Heidler"); + MyComboBoxAdd(comboBox_CurrentCurve, "双斜角"); + MyComboBoxAdd(comboBox_CurrentCurve, "双指数"); + if (mIndex_CurrentCurve < 0) + { + mIndex_CurrentCurve = 0; + } + if (mIndex_CurrentCurve >= 0 && mIndex_CurrentCurve < comboBox_CurrentCurve.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_CurrentCurve, mIndex_CurrentCurve); + mCurrentCurve = comboBox_CurrentCurve.SelectedIndex + 1; + } + else + { + mCurrentCurve = 0; + } + MyComboBoxItemsClear(comboBox_ShanLuoPanJu); + MyComboBoxAdd(comboBox_ShanLuoPanJu, "规程法"); + MyComboBoxAdd(comboBox_ShanLuoPanJu, "相交法"); + MyComboBoxAdd(comboBox_ShanLuoPanJu, "先导发展法"); + if (mIndex_ShanLuoPanJu < 0) + { + mIndex_ShanLuoPanJu = 0; + } + if (mIndex_ShanLuoPanJu >= 0 && mIndex_ShanLuoPanJu < comboBox_ShanLuoPanJu.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_ShanLuoPanJu, mIndex_ShanLuoPanJu); + mShanLuoPanJu = comboBox_ShanLuoPanJu.SelectedItem.ToString().Trim(); + } + else + { + mShanLuoPanJu = ""; + } + MyTextBoxSetText(textBox_CurveTimeHeadMin, $"{mCurveTimeHeadMin}"); + MyTextBoxSetText(textBox_CurveTimeTailMin, $"{mCurveTimeTailMin}"); + MyTextBoxSetText(textBox_CurveTimeHeadMax, $"{mCurveTimeHeadMax}"); + MyTextBoxSetText(textBox_CurveTimeTailMax, $"{mCurveTimeTailMax}"); + MyTextBoxSetText(textBox_CurveTimeHeadStep, $"{mCurveTimeHeadStep}"); + MyTextBoxSetText(textBox_CurveTimeTailStep, $"{mCurveTimeTailStep}"); + MyTextBoxSetText(textBox_TongDaoZuKang, $"{mTongDaoZuKang}"); + } + + public void Destroy() + { + if (mComboBoxes != null) + { + mComboBoxes.Clear(); + } + mComboBoxes = null; + } + + public void SetParentCode(int _parentCode) + { + mParentCode = _parentCode; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (mAfterInit) + { + if (mHaiBaXiuZheng < 0) + { + MyFormSetTitle(this, "请选择高海拔修正,然后点击“" + buttonOK.Text + "”。"); + comboBox_HaiBaXiuZheng.Focus(); + } + else if (string.IsNullOrEmpty(mGanYingDianYaGongShi)) + { + MyFormSetTitle(this, "请选择感应电压公式,然后点击“" + buttonOK.Text + "”。"); + comboBox_GanYingDianYaGongShi.Focus(); + } + else if (mCurrentCurve == 0) + { + MyFormSetTitle(this, "请选择雷电流波形,然后点击“" + buttonOK.Text + "”。"); + comboBox_CurrentCurve.Focus(); + } + else if (mCurveTimeHeadMin < 0.0) + { + MyFormSetTitle(this, "请输入波头时间(s)Min,然后点击“" + buttonOK.Text + "”。"); + textBox_CurveTimeHeadMin.Focus(); + } + else if (mCurveTimeHeadMax < 0.0) + { + MyFormSetTitle(this, "请输入波头时间(s)Max,然后点击“" + buttonOK.Text + "”。"); + textBox_CurveTimeHeadMax.Focus(); + } + else if (mCurveTimeHeadStep < 0.0) + { + MyFormSetTitle(this, "请输入波头时间(s)间隔,然后点击“" + buttonOK.Text + "”。"); + textBox_CurveTimeHeadStep.Focus(); + } + else if (mCurveTimeTailMin < 0.0) + { + MyFormSetTitle(this, "请输入波尾时间(s)Min,然后点击“" + buttonOK.Text + "”。"); + textBox_CurveTimeTailMin.Focus(); + } + else if (mCurveTimeTailMax < 0.0) + { + MyFormSetTitle(this, "请输入波尾时间(s)Max,然后点击“" + buttonOK.Text + "”。"); + textBox_CurveTimeTailMax.Focus(); + } + else if (mCurveTimeTailStep < 0.0) + { + MyFormSetTitle(this, "请输入波尾时间(s)间隔,然后点击“" + buttonOK.Text + "”。"); + textBox_CurveTimeTailStep.Focus(); + } + else if (mTongDaoZuKang < 0.0) + { + MyFormSetTitle(this, "请输入通道阻抗(Ω),然后点击“" + buttonOK.Text + "”。"); + textBox_TongDaoZuKang.Focus(); + } + else if (string.IsNullOrEmpty(mShanLuoPanJu)) + { + MyFormSetTitle(this, "请选择绝缘子闪络判据,然后点击“" + buttonOK.Text + "”。"); + comboBox_ShanLuoPanJu.Focus(); + } + else + { + Thread thread = new Thread(MyThread_OK); + thread.Start(); + } + } + } + + private void MyRefresh_TaskData() + { + mTaskData_GJSZ.mIndex_HaiBaXiuZhengGongShi = mHaiBaXiuZheng; + mTaskData_GJSZ.mGanYingDianYaGongShi = mGanYingDianYaGongShi; + mTaskData_GJSZ.mIndex_CurrentCurve = mCurrentCurve; + mTaskData_GJSZ.mShanLuoPanJu = mShanLuoPanJu; + mTaskData_GJSZ.mCurveTimeHead_min = mCurveTimeHeadMin; + mTaskData_GJSZ.mCurveTimeTail_min = mCurveTimeTailMin; + mTaskData_GJSZ.mCurveTimeHead_max = mCurveTimeHeadMax; + mTaskData_GJSZ.mCurveTimeTail_max = mCurveTimeTailMax; + mTaskData_GJSZ.mCurveTimeHead_step = mCurveTimeHeadStep; + mTaskData_GJSZ.mCurveTimeTail_step = mCurveTimeTailStep; + mTaskData_GJSZ.mTongDaoZuKang = mTongDaoZuKang; + } + + private void MyThread_OK() + { + MyRefresh_TaskData(); + MyOutput_TaskData(); + base.DialogResult = DialogResult.OK; + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + if (mAfterInit) + { + Thread thread = new Thread(MyThread_Cancel); + thread.Start(); + } + } + + private void MyThread_Cancel() + { + base.DialogResult = DialogResult.Cancel; + } + + private void comboBox_SelectedIndexChanged(object sender, EventArgs e) + { + if (mAfterInit) + { + int selectedIndex = ((ComboBox)sender).SelectedIndex; + string text = ((ComboBox)sender).SelectedItem.ToString().Trim(); + if (sender == comboBox_HaiBaXiuZheng) + { + mIndex_HaiBaXiuZheng = selectedIndex; + mHaiBaXiuZheng = selectedIndex; + } + else if (sender == comboBox_GanYingDianYaGongShi) + { + mIndex_GanYingDianYaGongShi = selectedIndex; + mGanYingDianYaGongShi = text; + } + else if (sender == comboBox_CurrentCurve) + { + mIndex_CurrentCurve = selectedIndex; + mCurrentCurve = selectedIndex + 1; + } + else if (sender == comboBox_ShanLuoPanJu) + { + mIndex_ShanLuoPanJu = selectedIndex; + mShanLuoPanJu = text; + } + } + } + + private void textBox_TextChanged(object sender, EventArgs e) + { + if (mAfterInit) + { + string value = ((TextBox)sender).Text.Trim(); + double num = -1.0; + try + { + num = Convert.ToDouble(value); + } + catch (Exception) + { + num = -1.0; + } + if (sender == textBox_CurveTimeHeadMin) + { + mCurveTimeHeadMin = num; + } + else if (sender == textBox_CurveTimeTailMin) + { + mCurveTimeTailMin = num; + } + else if (sender == textBox_CurveTimeHeadMax) + { + mCurveTimeHeadMax = num; + } + else if (sender == textBox_CurveTimeTailMax) + { + mCurveTimeTailMax = num; + } + else if (sender == textBox_CurveTimeHeadStep) + { + mCurveTimeHeadStep = num; + } + else if (sender == textBox_CurveTimeTailStep) + { + mCurveTimeTailStep = num; + } + else if (sender == textBox_TongDaoZuKang) + { + mTongDaoZuKang = num; + } + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + public void MyFormSetVisiable(Form form, bool value) + { + if (form.InvokeRequired) + { + dltFormSetVisiable method = MyFormSetVisiable; + form.Invoke(method, form, value); + } + else + { + form.Visible = value; + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyComboBoxItemsClear(ComboBox comboBox) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxItemsClear method = MyComboBoxItemsClear; + comboBox.Invoke(method, comboBox); + } + else + { + comboBox.Items.Clear(); + } + } + + public void MyComboBoxAdd(ComboBox comboBox, string value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxAdd method = MyComboBoxAdd; + comboBox.Invoke(method, comboBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + comboBox.Items.Add(value); + } + } + + public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; + comboBox.Invoke(method, comboBox, value); + } + else if (value >= 0 && value < comboBox.Items.Count) + { + comboBox.SelectedIndex = value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSelectedIndex method = MyListBoxSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyCheckBoxSetCheckState(CheckBox checkBox, CheckState value) + { + if (checkBox.InvokeRequired) + { + delegateCheckBoxCheckState method = MyCheckBoxSetCheckState; + checkBox.Invoke(method, checkBox, value); + } + else + { + checkBox.CheckState = value; + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.comboBox_HaiBaXiuZheng = new System.Windows.Forms.ComboBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.comboBox_GanYingDianYaGongShi = new System.Windows.Forms.ComboBox(); + this.label2 = new System.Windows.Forms.Label(); + this.comboBox_CurrentCurve = new System.Windows.Forms.ComboBox(); + this.label3 = new System.Windows.Forms.Label(); + this.textBox_CurveTimeHeadMin = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.textBox_CurveTimeTailMin = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.textBox_TongDaoZuKang = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.comboBox_ShanLuoPanJu = new System.Windows.Forms.ComboBox(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.label8 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.textBox_CurveTimeHeadMax = new System.Windows.Forms.TextBox(); + this.textBox_CurveTimeTailMax = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.textBox_CurveTimeHeadStep = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.textBox_CurveTimeTailStep = new System.Windows.Forms.TextBox(); + base.SuspendLayout(); + this.comboBox_HaiBaXiuZheng.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_HaiBaXiuZheng.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_HaiBaXiuZheng.FormattingEnabled = true; + this.comboBox_HaiBaXiuZheng.Location = new System.Drawing.Point(57, 28); + this.comboBox_HaiBaXiuZheng.Name = "comboBox_HaiBaXiuZheng"; + this.comboBox_HaiBaXiuZheng.Size = new System.Drawing.Size(388, 20); + this.comboBox_HaiBaXiuZheng.TabIndex = 0; + this.comboBox_HaiBaXiuZheng.SelectedIndexChanged += new System.EventHandler(comboBox_SelectedIndexChanged); + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label4.Location = new System.Drawing.Point(57, 11); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(105, 14); + this.label4.TabIndex = 60; + this.label4.Text = "是否高海拔修正"; + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(57, 63); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(91, 14); + this.label1.TabIndex = 60; + this.label1.Text = "感应电压公式"; + this.comboBox_GanYingDianYaGongShi.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_GanYingDianYaGongShi.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_GanYingDianYaGongShi.FormattingEnabled = true; + this.comboBox_GanYingDianYaGongShi.Location = new System.Drawing.Point(57, 80); + this.comboBox_GanYingDianYaGongShi.Name = "comboBox_GanYingDianYaGongShi"; + this.comboBox_GanYingDianYaGongShi.Size = new System.Drawing.Size(388, 20); + this.comboBox_GanYingDianYaGongShi.TabIndex = 1; + this.comboBox_GanYingDianYaGongShi.SelectedIndexChanged += new System.EventHandler(comboBox_SelectedIndexChanged); + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label2.Location = new System.Drawing.Point(57, 116); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(77, 14); + this.label2.TabIndex = 60; + this.label2.Text = "雷电流波形"; + this.comboBox_CurrentCurve.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_CurrentCurve.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_CurrentCurve.FormattingEnabled = true; + this.comboBox_CurrentCurve.Location = new System.Drawing.Point(57, 133); + this.comboBox_CurrentCurve.Name = "comboBox_CurrentCurve"; + this.comboBox_CurrentCurve.Size = new System.Drawing.Size(388, 20); + this.comboBox_CurrentCurve.TabIndex = 2; + this.comboBox_CurrentCurve.SelectedIndexChanged += new System.EventHandler(comboBox_SelectedIndexChanged); + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label3.Location = new System.Drawing.Point(57, 170); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(119, 14); + this.label3.TabIndex = 60; + this.label3.Text = "波头时间(s) Min:"; + this.textBox_CurveTimeHeadMin.Location = new System.Drawing.Point(182, 169); + this.textBox_CurveTimeHeadMin.Name = "textBox_CurveTimeHeadMin"; + this.textBox_CurveTimeHeadMin.Size = new System.Drawing.Size(56, 21); + this.textBox_CurveTimeHeadMin.TabIndex = 3; + this.textBox_CurveTimeHeadMin.TextChanged += new System.EventHandler(textBox_TextChanged); + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label5.Location = new System.Drawing.Point(57, 197); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(119, 14); + this.label5.TabIndex = 60; + this.label5.Text = "波尾时间(s) Min:"; + this.textBox_CurveTimeTailMin.Location = new System.Drawing.Point(182, 196); + this.textBox_CurveTimeTailMin.Name = "textBox_CurveTimeTailMin"; + this.textBox_CurveTimeTailMin.Size = new System.Drawing.Size(56, 21); + this.textBox_CurveTimeTailMin.TabIndex = 6; + this.textBox_CurveTimeTailMin.TextChanged += new System.EventHandler(textBox_TextChanged); + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label6.Location = new System.Drawing.Point(57, 224); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(91, 14); + this.label6.TabIndex = 60; + this.label6.Text = "通道阻抗(Ω)"; + this.label6.Visible = false; + this.textBox_TongDaoZuKang.Location = new System.Drawing.Point(179, 223); + this.textBox_TongDaoZuKang.Name = "textBox_TongDaoZuKang"; + this.textBox_TongDaoZuKang.Size = new System.Drawing.Size(127, 21); + this.textBox_TongDaoZuKang.TabIndex = 9; + this.textBox_TongDaoZuKang.TextChanged += new System.EventHandler(textBox_TextChanged); + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label7.Location = new System.Drawing.Point(57, 238); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(105, 14); + this.label7.TabIndex = 60; + this.label7.Text = "绝缘子闪络判据"; + this.comboBox_ShanLuoPanJu.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_ShanLuoPanJu.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_ShanLuoPanJu.FormattingEnabled = true; + this.comboBox_ShanLuoPanJu.Location = new System.Drawing.Point(57, 255); + this.comboBox_ShanLuoPanJu.Name = "comboBox_ShanLuoPanJu"; + this.comboBox_ShanLuoPanJu.Size = new System.Drawing.Size(388, 20); + this.comboBox_ShanLuoPanJu.TabIndex = 10; + this.comboBox_ShanLuoPanJu.SelectedIndexChanged += new System.EventHandler(comboBox_SelectedIndexChanged); + this.buttonCancel.Location = new System.Drawing.Point(359, 301); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(86, 28); + this.buttonCancel.TabIndex = 13; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(247, 301); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(86, 28); + this.buttonOK.TabIndex = 12; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label8.Location = new System.Drawing.Point(244, 170); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(35, 14); + this.label8.TabIndex = 60; + this.label8.Text = "Max:"; + this.label9.AutoSize = true; + this.label9.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label9.Location = new System.Drawing.Point(244, 197); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(35, 14); + this.label9.TabIndex = 60; + this.label9.Text = "Max:"; + this.textBox_CurveTimeHeadMax.Location = new System.Drawing.Point(285, 169); + this.textBox_CurveTimeHeadMax.Name = "textBox_CurveTimeHeadMax"; + this.textBox_CurveTimeHeadMax.Size = new System.Drawing.Size(56, 21); + this.textBox_CurveTimeHeadMax.TabIndex = 4; + this.textBox_CurveTimeHeadMax.TextChanged += new System.EventHandler(textBox_TextChanged); + this.textBox_CurveTimeTailMax.Location = new System.Drawing.Point(285, 196); + this.textBox_CurveTimeTailMax.Name = "textBox_CurveTimeTailMax"; + this.textBox_CurveTimeTailMax.Size = new System.Drawing.Size(56, 21); + this.textBox_CurveTimeTailMax.TabIndex = 7; + this.textBox_CurveTimeTailMax.TextChanged += new System.EventHandler(textBox_TextChanged); + this.label10.AutoSize = true; + this.label10.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label10.Location = new System.Drawing.Point(347, 170); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(42, 14); + this.label10.TabIndex = 60; + this.label10.Text = "间隔:"; + this.textBox_CurveTimeHeadStep.Location = new System.Drawing.Point(395, 169); + this.textBox_CurveTimeHeadStep.Name = "textBox_CurveTimeHeadStep"; + this.textBox_CurveTimeHeadStep.Size = new System.Drawing.Size(56, 21); + this.textBox_CurveTimeHeadStep.TabIndex = 5; + this.textBox_CurveTimeHeadStep.TextChanged += new System.EventHandler(textBox_TextChanged); + this.label11.AutoSize = true; + this.label11.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label11.Location = new System.Drawing.Point(347, 197); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(42, 14); + this.label11.TabIndex = 60; + this.label11.Text = "间隔:"; + this.textBox_CurveTimeTailStep.Location = new System.Drawing.Point(395, 196); + this.textBox_CurveTimeTailStep.Name = "textBox_CurveTimeTailStep"; + this.textBox_CurveTimeTailStep.Size = new System.Drawing.Size(56, 21); + this.textBox_CurveTimeTailStep.TabIndex = 8; + this.textBox_CurveTimeTailStep.TextChanged += new System.EventHandler(textBox_TextChanged); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(496, 341); + base.Controls.Add(this.comboBox_HaiBaXiuZheng); + base.Controls.Add(this.comboBox_ShanLuoPanJu); + base.Controls.Add(this.comboBox_CurrentCurve); + base.Controls.Add(this.comboBox_GanYingDianYaGongShi); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.textBox_TongDaoZuKang); + base.Controls.Add(this.textBox_CurveTimeTailMin); + base.Controls.Add(this.label6); + base.Controls.Add(this.textBox_CurveTimeTailMax); + base.Controls.Add(this.textBox_CurveTimeTailStep); + base.Controls.Add(this.textBox_CurveTimeHeadStep); + base.Controls.Add(this.textBox_CurveTimeHeadMax); + base.Controls.Add(this.textBox_CurveTimeHeadMin); + base.Controls.Add(this.label5); + base.Controls.Add(this.label7); + base.Controls.Add(this.label9); + base.Controls.Add(this.label11); + base.Controls.Add(this.label10); + base.Controls.Add(this.label8); + base.Controls.Add(this.label3); + base.Controls.Add(this.label2); + base.Controls.Add(this.label1); + base.Controls.Add(this.label4); + base.Name = "Form_GJSZ_PuTongJiSuan"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Form_GJSZ_PuTongJiSuan"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form_GJSZ_PuTongJiSuan_FormClosing); + base.Load += new System.EventHandler(Form_GJSZ_PuTongJiSuan_Load); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/Form_GaoFengXianYuanYin.cs b/LP/Form_GaoFengXianYuanYin.cs new file mode 100644 index 0000000..fc4a64e --- /dev/null +++ b/LP/Form_GaoFengXianYuanYin.cs @@ -0,0 +1,810 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class Form_GaoFengXianYuanYin : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateComboBoxItemsClear(ComboBox comboBox); + + private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); + + private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSetSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateTextBoxSetTextVisible(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private bool mAfterInit = false; + + public bool mBusy = false; + + public string mTitle = ""; + + public XianLuData mXianLuData = null; + + public bool Busy_ComboBox_TaskName_PuTongJiSuan = false; + + public int mIndex_ListXianLuData = -1; + + public int mIndexControl_TaskName_PuTongJiSuan = -1; + + private string mTaskName_PuTongJiSuan = ""; + + public TaskData mTaskData = null; + + private float initWidth = 0f; + + private float initHeight = 0f; + + public DataGridView mDGView = null; + + public DataSet mDS = null; + + public string mMainKeyColumnName = "任务号"; + + private List mList_SBH = null; + + private int mIndex_ListDetails = -1; + + private IContainer components = null; + + private DataGridView dataGridView_GanTa; + + private Button buttonCancel; + + private Button buttonOK; + + private Label label4; + + private TextBox textBoxShowInfor; + + private ComboBox comboBox_TaskName_PuTongJiSuan; + + public Form_GaoFengXianYuanYin() + { + InitializeComponent(); + mTitle = "高风险原因分析"; + if (mDS == null) + { + mDS = new DataSet(); + } + if (mList_SBH == null) + { + mList_SBH = new List(); + } + mList_SBH.Clear(); + } + + private void Form_GaoFengXianYuanYin_Load(object sender, EventArgs e) + { + mAfterInit = false; + MyFormSetTitle(this, ""); + base.DialogResult = DialogResult.None; + if (mDGView == null) + { + mDGView = dataGridView_GanTa; + } + mDGView.Columns.Clear(); + mDGView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + initWidth = base.Width; + initHeight = base.Height; + setTag(this); + MyInit_ComboBox_TaskName_PuTongJiSuan(); + textBoxShowInfor.Text = ""; + mBusy = false; + mAfterInit = true; + } + + private void Form_GaoFengXianYuanYin_FormClosing(object sender, FormClosingEventArgs e) + { + } + + private void MyInit_ComboBox_TaskName_PuTongJiSuan() + { + try + { + string text = ""; + TaskDetail taskDetail = null; + MyComboBoxItemsClear(comboBox_TaskName_PuTongJiSuan); + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + taskDetail = desktop.mTask.mListDetails[i]; + if (taskDetail != null && taskDetail.mTaskData != null && (taskDetail.mTaskData.mTypeCode_Task == 1 || taskDetail.mTaskData.mTypeCode_Task == 4)) + { + text = taskDetail.mTaskData.mName_Task; + if (!string.IsNullOrEmpty(text)) + { + MyComboBoxAdd(comboBox_TaskName_PuTongJiSuan, text); + } + } + } + if (mIndexControl_TaskName_PuTongJiSuan < 0 || mIndexControl_TaskName_PuTongJiSuan >= comboBox_TaskName_PuTongJiSuan.Items.Count) + { + mIndexControl_TaskName_PuTongJiSuan = 0; + } + if (mIndexControl_TaskName_PuTongJiSuan >= 0 && mIndexControl_TaskName_PuTongJiSuan < comboBox_TaskName_PuTongJiSuan.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_TaskName_PuTongJiSuan, mIndexControl_TaskName_PuTongJiSuan); + mTaskName_PuTongJiSuan = comboBox_TaskName_PuTongJiSuan.SelectedItem.ToString().Trim(); + for (int j = 0; j < desktop.mTask.mListDetails.Count; j++) + { + taskDetail = desktop.mTask.mListDetails[j]; + if (taskDetail == null || taskDetail.mTaskData == null) + { + continue; + } + text = taskDetail.mTaskData.mName_Task; + if (!text.Equals(mTaskName_PuTongJiSuan)) + { + continue; + } + for (int k = 0; k < desktop.mXL.mListXianLuData.Count; k++) + { + if (taskDetail.mXianLuID_Detail == desktop.mXL.mListXianLuData[k].mID_XianLu) + { + mIndex_ListXianLuData = k; + mXianLuData = desktop.mXL.mListXianLuData[k]; + break; + } + } + mIndex_ListDetails = j; + mTaskData = taskDetail.mTaskData; + GetDataSet(); + MyQuery_refreshDGV(); + break; + } + } + else + { + mTaskName_PuTongJiSuan = ""; + } + } + catch (Exception ex) + { + MyLog.AddLog("Form_GaoFengXianYuanYin.cs MyInit_ListBox_TaskName_PuTongJiSuan() Exception=" + ex.Message); + } + } + + public void Destroy() + { + if (mDS != null) + { + mDS.Clear(); + mDS = null; + } + if (mList_SBH != null) + { + mList_SBH.Clear(); + mList_SBH = null; + } + } + + private bool ActionIsBusy() + { + return mBusy; + } + + private void ActionSetBusy() + { + mBusy = true; + } + + private void ActionClearBusy() + { + mBusy = false; + } + + private void setTag(Control cons) + { + foreach (Control control in cons.Controls) + { + control.Tag = control.Width + ":" + control.Height + ":" + control.Left + ":" + control.Top + ":" + control.Font.Size; + if (control.Controls.Count > 0) + { + setTag(control); + } + } + } + + private void setControls(float scaleX, float scaleY, Control cons) + { + foreach (Control control in cons.Controls) + { + string[] array = control.Tag.ToString().Split(':'); + float num = Convert.ToSingle(array[0]) * scaleX; + control.Width = (int)num; + num = Convert.ToSingle(array[1]) * scaleY; + if (control is ListBox) + { + num = Convert.ToSingle(array[1]) * 1f; + } + control.Height = (int)num; + num = Convert.ToSingle(array[2]) * scaleX; + control.Left = (int)num; + num = Convert.ToSingle(array[3]) * scaleY; + control.Top = (int)num; + float emSize = Convert.ToSingle(array[4]) * Math.Min(scaleX, scaleY); + control.Font = new Font(control.Font.Name, emSize, control.Font.Style, control.Font.Unit); + if (control.Controls.Count > 0) + { + setControls(scaleX, scaleY, control); + } + } + } + + private void Form_GaoFengXianYuanYin_Resize(object sender, EventArgs e) + { + float scaleX = (float)base.Width / initWidth; + float scaleY = (float)base.Height / initHeight; + setControls(scaleX, scaleY, this); + } + + private void GetDataSet() + { + try + { + if (mIndex_ListDetails < 0 || mIndex_ListDetails >= desktop.mTask.mListDetails.Count) + { + return; + } + if (mList_SBH == null) + { + mList_SBH = new List(); + } + mList_SBH.Clear(); + if (mDS == null) + { + mDS = new DataSet(); + } + if (mDS.Tables.Count == 0) + { + mDS.Tables.Add(new DataTable()); + } + if (mDS.Tables[0].Rows.Count > 0) + { + mDS.Tables[0].Rows.Clear(); + } + if (mDS.Tables[0].Columns.Count > 0) + { + mDS.Tables[0].Columns.Clear(); + } + mDS.Tables[0].Columns.Add("任务号"); + mDS.Tables[0].Columns.Add("杆塔号"); + mDS.Tables[0].Columns.Add("杆塔模型"); + mDS.Tables[0].Columns.Add("雷击风险等级"); + mDS.Tables[0].Columns.Add("绝缘子串长度mm"); + mDS.Tables[0].Columns.Add("绝缘子串长度档次"); + mDS.Tables[0].Columns.Add("接地电阻Ω"); + mDS.Tables[0].Columns.Add("接地电阻档次"); + mDS.Tables[0].Columns.Add("高度档次"); + mDS.Tables[0].Columns.Add("地面倾角"); + mDS.Tables[0].Columns.Add("地面倾角档次"); + mDS.Tables[0].Columns.Add("保护角档次"); + mDS.Tables[0].Columns.Add("地理坐标°"); + mDS.Tables[0].Columns.Add("档距"); + mDS.Tables[0].Columns.Add("海拔高度m"); + mDS.Tables[0].Columns.Add("地形"); + mDS.Tables[0].Columns.Add("地闪密度 次/(km^2*年)"); + mDS.Tables[0].Columns.Add("雷电流"); + List list = null; + List list2 = null; + string text = ""; + int num = 0; + CanShuFenJi canShuFenJi = null; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (i != mIndex_ListDetails) + { + continue; + } + list = desktop.mTask.mListDetails[i].mTaskGroup.mListExTaskData; + if (list == null) + { + continue; + } + for (int j = 0; j < list.Count; j++) + { + if (list[j] == null || list[j].mTGanTas == null || list[j].mTGanTas.mListTGanTaData == null) + { + continue; + } + list2 = list[j].mTGanTas.mListTGanTaData; + if (list2 == null) + { + continue; + } + for (int k = 0; k < list2.Count; k++) + { + if (list2[k].mFXDJ_GanTa <= 2) + { + continue; + } + text = desktop.mFunc.MyCanShu_1_HuaFenDangJi(list2, k, mXianLuData, _firstTry: true); + if (!text.Equals("OK")) + { + MyLog.AddLog("Form_GaoFengXianYuanYin.cs GetDataSet() sret=" + text); + continue; + } + num = desktop.mAll_CanShuFenJi.MyFind(list2[k].m_ID_CanShuFenJi); + if (num >= 0 && num < desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all.Count) + { + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num]; + DataRow dataRow = mDS.Tables[0].NewRow(); + for (int l = 0; l < mDS.Tables[0].Columns.Count; l++) + { + dataRow[l] = ""; + } + dataRow[0] = $"{list[j].mID_ExTask}"; + dataRow[1] = list2[k].mID_GanTa ?? ""; + dataRow[2] = list2[k].mModel_GanTa ?? ""; + dataRow[3] = $"{list2[k].mFXDJ_GanTa}"; + dataRow[4] = $"{canShuFenJi.mNew_JYZCD}"; + dataRow[5] = $"{canShuFenJi.mFenJi_JYZCD}"; + dataRow[6] = $"{canShuFenJi.mNew_JDDZ}"; + dataRow[7] = $"{canShuFenJi.mFenJi_JDDZ}"; + dataRow[8] = $"{canShuFenJi.mFJ_BLXGD}"; + dataRow[9] = $"{list2[k].mDMQJ1_GanTa},{list2[k].mDMQJ2_GanTa}"; + dataRow[10] = $"{canShuFenJi.mFJ_DMQJ}"; + dataRow[11] = $"{canShuFenJi.mFJ_BaoHuJiao}"; + dataRow[12] = $"{list2[k].mJingDu_GanTa}|{list2[k].mWeiDu_GanTa}"; + dataRow[13] = $"{list2[k].mXiaoHao_GanTa},{list2[k].mDaHao_GanTa}"; + dataRow[14] = $"{list2[k].mHaiBa_GanTa}"; + dataRow[15] = list2[k].mDiXing_GanTa ?? ""; + dataRow[16] = $"{list2[k].mDSMD_GanTa}"; + dataRow[17] = $"{list2[k].mCurrent_a_GanTa},{list2[k].mCurrent_b_GanTa}"; + mDS.Tables[0].Rows.Add(dataRow); + mList_SBH.Add($"{list2[k].mTaskIDstring}|{list2[k].mIndex__GanTa}"); + } + } + } + } + if (mDS.Tables[0].Rows.Count == 0) + { + if (mAfterInit) + { + MyFormSetTitle(this, "“" + desktop.mTask.mListDetails[mIndex_ListDetails].mTaskData.mName_Task + "”所有杆塔的雷击风险等级都小于3"); + } + } + else + { + MyFormSetTitle(this, $" 共{mDS.Tables[0].Rows.Count}条"); + } + } + catch (Exception ex) + { + MyLog.AddLog("Form_GaoFengXianYuanYin.cs GetDataSet() Exception=" + ex.Message); + } + } + + private void MyQuery_refreshDGV() + { + try + { + if (mDGView != null && mDGView.Columns.Count > 0) + { + if (mDGView.Columns.Contains("包含")) + { + mDGView.Columns.Remove("包含"); + } + if (mDGView.Columns.Contains("关联数目")) + { + mDGView.Columns.Remove("关联数目"); + } + } + mDGView.DataSource = null; + if (mDS != null && mDS.Tables.Count != 0) + { + DataTable dataTable = mDS.Tables[0]; + mDGView.DataSource = dataTable.DefaultView; + if (mDGView.Columns.Contains(mMainKeyColumnName)) + { + mDGView.Columns[mMainKeyColumnName].ReadOnly = true; + } + else + { + mDGView.Columns[0].ReadOnly = true; + } + if (dataTable.Rows.Count != 0 && !mAfterInit) + { + } + } + } + catch (Exception ex) + { + MyLog.AddLog("Form_GaoFengXianYuanYin.cs MyQuery_refreshDGV() Exception=" + ex.Message); + } + } + + private void comboBox_TaskName_PuTongJiSuan_SelectedIndexChanged(object sender, EventArgs e) + { + if (ActionIsBusy()) + { + return; + } + ActionSetBusy(); + try + { + if (!mAfterInit) + { + ActionClearBusy(); + return; + } + MyFormSetTitle(this, "正在更新..."); + textBoxShowInfor.Text = ""; + TaskDetail taskDetail = null; + int selectedIndex = ((ComboBox)sender).SelectedIndex; + mIndexControl_TaskName_PuTongJiSuan = selectedIndex; + mTaskName_PuTongJiSuan = ((ComboBox)sender).SelectedItem.ToString().Trim(); + string text = ""; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + taskDetail = desktop.mTask.mListDetails[i]; + if (taskDetail == null || taskDetail.mTaskData == null) + { + continue; + } + text = taskDetail.mTaskData.mName_Task; + if (!text.Equals(mTaskName_PuTongJiSuan)) + { + continue; + } + for (int j = 0; j < desktop.mXL.mListXianLuData.Count; j++) + { + if (taskDetail.mXianLuID_Detail == desktop.mXL.mListXianLuData[j].mID_XianLu) + { + mIndex_ListXianLuData = j; + mXianLuData = desktop.mXL.mListXianLuData[j]; + break; + } + } + mIndex_ListDetails = i; + mTaskData = taskDetail.mTaskData; + GetDataSet(); + MyQuery_refreshDGV(); + break; + } + } + catch (Exception ex) + { + MyLog.AddLog("Form_GaoFengXianYuanYin.cs comboBox_TaskName_PuTongJiSuan_SelectedIndexChanged() Exception=" + ex.Message); + } + ActionClearBusy(); + } + + private void buttonOK_Click(object sender, EventArgs e) + { + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + if (ActionIsBusy()) + { + return; + } + ActionSetBusy(); + try + { + MyFormSetTitle(this, ""); + MyButtonEnabled(buttonCancel, value: false); + Thread thread = new Thread(MyCancel); + thread.Start(); + } + catch (Exception ex) + { + MyLog.AddLog("Form_GaoFengXianYuanYin.cs buttonCancel_Click() Exception=" + ex.Message); + ActionClearBusy(); + } + } + + private void MyCancel() + { + try + { + MyFormSetTitle(this, "取消—"); + MyFormSetTitle(this, "取消———"); + ActionClearBusy(); + MyButtonEnabled(buttonCancel, value: true); + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + catch (Exception ex) + { + MyLog.AddLog("Form_GaoFengXianYuanYin.cs MyCancel() Exception=" + ex.Message); + } + ActionClearBusy(); + } + + private void dataGridView_GanTa_CellClick(object sender, DataGridViewCellEventArgs e) + { + int num = -1; + int num2 = -1; + int num3 = -1; + int[] array = new int[5] { 5, 7, 8, 10, 11 }; + string[] array2 = new string[5] { "绝缘子串长度档次", "接地电阻档次", "高度档次", "地面倾角档次", "保护角档次" }; + num = e.RowIndex; + num2 = e.ColumnIndex; + for (num3 = 0; num3 < array.Length && array[num3] != num2; num3++) + { + } + if (num < 0 || num >= dataGridView_GanTa.RowCount || num3 >= array.Length) + { + MyTextBoxSetTextVisible(textBoxShowInfor, ""); + return; + } + string arg = dataGridView_GanTa.Rows[num].Cells[3].Value.ToString().Trim(); + int num4 = -1; + try + { + num4 = Convert.ToInt32(dataGridView_GanTa.Rows[num].Cells[num2].Value.ToString().Trim()); + } + catch (Exception) + { + num4 = 100; + } + if (num4 >= 1 && num4 <= 2) + { + MyTextBoxSetTextVisible(textBoxShowInfor, $"高风险原因:{array2[num3]}={num4},导致雷击风险等级={arg}"); + } + else + { + MyTextBoxSetTextVisible(textBoxShowInfor, ""); + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyComboBoxItemsClear(ComboBox comboBox) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxItemsClear method = MyComboBoxItemsClear; + comboBox.Invoke(method, comboBox); + } + else + { + comboBox.Items.Clear(); + } + } + + public void MyComboBoxAdd(ComboBox comboBox, string value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxAdd method = MyComboBoxAdd; + comboBox.Invoke(method, comboBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + comboBox.Items.Add(value); + } + } + + public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; + comboBox.Invoke(method, comboBox, value); + } + else if (value >= 0 && value < comboBox.Items.Count) + { + comboBox.SelectedIndex = value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSetSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSetSelectedIndex method = MyListBoxSetSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyTextBoxSetTextVisible(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetTextVisible method = MyTextBoxSetTextVisible; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + textBox.Visible = !string.IsNullOrEmpty(value); + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.dataGridView_GanTa = new System.Windows.Forms.DataGridView(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.label4 = new System.Windows.Forms.Label(); + this.textBoxShowInfor = new System.Windows.Forms.TextBox(); + this.comboBox_TaskName_PuTongJiSuan = new System.Windows.Forms.ComboBox(); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).BeginInit(); + base.SuspendLayout(); + this.dataGridView_GanTa.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.dataGridView_GanTa.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView_GanTa.Location = new System.Drawing.Point(28, 61); + this.dataGridView_GanTa.Name = "dataGridView_GanTa"; + this.dataGridView_GanTa.RowTemplate.Height = 23; + this.dataGridView_GanTa.Size = new System.Drawing.Size(865, 451); + this.dataGridView_GanTa.TabIndex = 80; + this.dataGridView_GanTa.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(dataGridView_GanTa_CellClick); + this.buttonCancel.Location = new System.Drawing.Point(486, 518); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(86, 28); + this.buttonCancel.TabIndex = 82; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(270, 518); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(86, 28); + this.buttonOK.TabIndex = 81; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.comboBox_TaskName_PuTongJiSuan.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_TaskName_PuTongJiSuan.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_TaskName_PuTongJiSuan.FormattingEnabled = true; + this.comboBox_TaskName_PuTongJiSuan.Location = new System.Drawing.Point(28, 35); + this.comboBox_TaskName_PuTongJiSuan.Name = "comboBox_TaskName_PuTongJiSuan"; + this.comboBox_TaskName_PuTongJiSuan.Size = new System.Drawing.Size(430, 20); + this.comboBox_TaskName_PuTongJiSuan.TabIndex = 79; + this.comboBox_TaskName_PuTongJiSuan.SelectedIndexChanged += new System.EventHandler(comboBox_TaskName_PuTongJiSuan_SelectedIndexChanged); + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label4.Location = new System.Drawing.Point(26, 9); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(119, 14); + this.label4.TabIndex = 83; + this.label4.Text = "已完成的普通任务"; + this.textBoxShowInfor.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBoxShowInfor.Location = new System.Drawing.Point(474, 12); + this.textBoxShowInfor.Name = "textBoxShowInfor"; + this.textBoxShowInfor.ReadOnly = true; + this.textBoxShowInfor.Size = new System.Drawing.Size(418, 26); + this.textBoxShowInfor.TabIndex = 84; + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(917, 559); + base.Controls.Add(this.comboBox_TaskName_PuTongJiSuan); + base.Controls.Add(this.textBoxShowInfor); + base.Controls.Add(this.dataGridView_GanTa); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.label4); + base.Name = "Form_GaoFengXianYuanYin"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Form_GaoFengXianYuanYin"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form_GaoFengXianYuanYin_FormClosing); + base.Load += new System.EventHandler(Form_GaoFengXianYuanYin_Load); + base.Resize += new System.EventHandler(Form_GaoFengXianYuanYin_Resize); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).EndInit(); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/Form_PuTongJiSuan.cs b/LP/Form_PuTongJiSuan.cs new file mode 100644 index 0000000..aa73eac --- /dev/null +++ b/LP/Form_PuTongJiSuan.cs @@ -0,0 +1,1384 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class Form_PuTongJiSuan : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateComboBoxItemsClear(ComboBox comboBox); + + private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); + + private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private bool mAfterInit = false; + + private bool mLeaving = false; + + public string mTitle = ""; + + public List mListBoxes = null; + + public XianLuData mXianLuData = null; + + private int mXianLuID = 0; + + public string mNameXianLu = ""; + + public int mIndexControl_XianLuName = -1; + + public int mIndex_ListXianLuData = -1; + + private bool mReady_XianLuName = false; + + public TaskData mTaskData = null; + + public string mNameTask = ""; + + private bool mReady_TaskName = false; + + public int mIndexControl_FanJi_NaiLeiShuiPing = -1; + + public string mFanJi_NaiLeiShuiPing = ""; + + public int mIndexControl_RaoJi_NaiLeiShuiPing = -1; + + public string mRaoJi_NaiLeiShuiPing = ""; + + public int mIndexControl_FanJi_TZL = -1; + + public string mFanJi_TZL = ""; + + public int mIndexControl_RaoJi_TZL = -1; + + public string mRaoJi_TZL = ""; + + private float initWidth = 0f; + + private float initHeight = 0f; + + private bool mBusy_ButtonOK = false; + + public DataGridView mDGView = null; + + public DataSet mDS = null; + + public List mList_GanTaID_2DisInclude_Checked_ByUser = null; + + private bool mCurrentSelect = false; + + public string mMainKeyColumnName = ""; + + public bool mBool_GuiChengFa = false; + + private IContainer components = null; + + private Button buttonCancel; + + private Button buttonOK; + + private ComboBox comboBox_XianLuName; + + private Label label1; + + private Label label3; + + private TextBox textBox_NameTask; + + private Label label4; + + private ComboBox comboBox_FanJi_NaiLeiShuiPing; + + private Label label5; + + private ComboBox comboBox_RaoJi_NaiLeiShuiPing; + + private Label label2; + + private Label label6; + + private ComboBox comboBox_FanJi_TZL; + + private ComboBox comboBox_RaoJi_TZL; + + private Button buttonGaoJiSheZhi; + + private DataGridView dataGridView_GanTa; + + private Button buttonSelectAll; + + public bool Ready_XianLuName + { + get + { + return mReady_XianLuName; + } + set + { + mReady_XianLuName = value; + } + } + + public bool Ready_TaskName + { + get + { + return mReady_TaskName; + } + set + { + mReady_TaskName = value; + } + } + + public bool Busy_ButtonOK + { + get + { + return mBusy_ButtonOK; + } + set + { + mBusy_ButtonOK = value; + if (!mLeaving) + { + MyButtonEnabled(buttonCancel, !value); + } + } + } + + public Form_PuTongJiSuan() + { + InitializeComponent(); + if (mTaskData == null) + { + mTaskData = new TaskData(); + } + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + mTitle = "普通计算"; + mIndexControl_XianLuName = -1; + mIndex_ListXianLuData = -1; + mIndexControl_FanJi_NaiLeiShuiPing = (mIndexControl_FanJi_TZL = -1); + mIndexControl_RaoJi_NaiLeiShuiPing = (mIndexControl_RaoJi_TZL = -1); + if (mListBoxes == null) + { + mListBoxes = new List(); + } + mListBoxes.Clear(); + if (mList_GanTaID_2DisInclude_Checked_ByUser == null) + { + mList_GanTaID_2DisInclude_Checked_ByUser = new List(); + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + if (mDS == null) + { + mDS = new DataSet(); + } + mMainKeyColumnName = "塔号"; + mIndexControl_FanJi_NaiLeiShuiPing = 1; + mFanJi_NaiLeiShuiPing = "ATP"; + mIndexControl_RaoJi_NaiLeiShuiPing = 1; + mRaoJi_NaiLeiShuiPing = "ATP"; + mIndexControl_FanJi_TZL = 1; + mFanJi_TZL = "规程"; + mIndexControl_RaoJi_TZL = 2; + mRaoJi_TZL = "EGM"; + } + + private void Form_PuTongJiSuan_Load(object sender, EventArgs e) + { + mAfterInit = false; + Busy_ButtonOK = false; + mLeaving = false; + MyFormSetTitle(this, ""); + Ready_XianLuName = false; + Ready_TaskName = false; + base.DialogResult = DialogResult.None; + if (mDGView == null) + { + mDGView = dataGridView_GanTa; + } + mDGView.Columns.Clear(); + mDGView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + initWidth = base.Width; + initHeight = base.Height; + setTag(this); + MyInput_TaskData(); + MyInput_List_XianLuData(); + mListBoxes.Clear(); + mAfterInit = true; + } + + private void Form_PuTongJiSuan_FormClosing(object sender, FormClosingEventArgs e) + { + mDGView.DataSource = null; + } + + public void MyInput_TaskData() + { + mTaskData.copyFrom_TaskData(desktop.mDlg_FangLeiJiSuan.mtData); + mTaskData.mIndex_DuoXiangNaiLeiShuiPing = 0; + } + + public void MyOutput_TaskData() + { + desktop.mDlg_FangLeiJiSuan.mtData.copyFrom_TaskData(mTaskData); + } + + public void MyInput_List_XianLuData() + { + MyComboBoxItemsClear(comboBox_FanJi_NaiLeiShuiPing); + MyComboBoxAdd(comboBox_FanJi_NaiLeiShuiPing, "规程"); + MyComboBoxAdd(comboBox_FanJi_NaiLeiShuiPing, "ATP"); + if (mIndexControl_FanJi_NaiLeiShuiPing < 0) + { + mIndexControl_FanJi_NaiLeiShuiPing = 0; + } + if (mIndexControl_FanJi_NaiLeiShuiPing >= 0 && mIndexControl_FanJi_NaiLeiShuiPing < comboBox_FanJi_NaiLeiShuiPing.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_FanJi_NaiLeiShuiPing, mIndexControl_FanJi_NaiLeiShuiPing); + mFanJi_NaiLeiShuiPing = comboBox_FanJi_NaiLeiShuiPing.SelectedItem.ToString(); + } + else + { + mFanJi_NaiLeiShuiPing = ""; + } + MyComboBoxItemsClear(comboBox_RaoJi_NaiLeiShuiPing); + MyComboBoxAdd(comboBox_RaoJi_NaiLeiShuiPing, "规程"); + MyComboBoxAdd(comboBox_RaoJi_NaiLeiShuiPing, "ATP"); + if (mIndexControl_RaoJi_NaiLeiShuiPing < 0) + { + mIndexControl_RaoJi_NaiLeiShuiPing = 0; + } + if (mIndexControl_RaoJi_NaiLeiShuiPing >= 0 && mIndexControl_RaoJi_NaiLeiShuiPing < comboBox_RaoJi_NaiLeiShuiPing.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_RaoJi_NaiLeiShuiPing, mIndexControl_RaoJi_NaiLeiShuiPing); + mRaoJi_NaiLeiShuiPing = comboBox_RaoJi_NaiLeiShuiPing.SelectedItem.ToString(); + } + else + { + mRaoJi_NaiLeiShuiPing = ""; + } + MyComboBoxItemsClear(comboBox_FanJi_TZL); + MyComboBoxAdd(comboBox_FanJi_TZL, "无"); + MyComboBoxAdd(comboBox_FanJi_TZL, "规程"); + if (mIndexControl_FanJi_TZL < 0) + { + mIndexControl_FanJi_TZL = 0; + } + if (mIndexControl_FanJi_TZL >= 0 && mIndexControl_FanJi_TZL < comboBox_FanJi_TZL.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_FanJi_TZL, mIndexControl_FanJi_TZL); + mFanJi_TZL = comboBox_FanJi_TZL.SelectedItem.ToString(); + } + else + { + mFanJi_TZL = ""; + } + MyComboBoxItemsClear(comboBox_RaoJi_TZL); + MyComboBoxAdd(comboBox_RaoJi_TZL, "无"); + MyComboBoxAdd(comboBox_RaoJi_TZL, "规程"); + MyComboBoxAdd(comboBox_RaoJi_TZL, "EGM"); + if (mIndexControl_RaoJi_TZL < 0) + { + mIndexControl_RaoJi_TZL = 0; + } + if (mIndexControl_RaoJi_TZL >= 0 && mIndexControl_RaoJi_TZL < comboBox_RaoJi_TZL.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_RaoJi_TZL, mIndexControl_RaoJi_TZL); + mRaoJi_TZL = comboBox_RaoJi_TZL.SelectedItem.ToString(); + } + else + { + mRaoJi_TZL = ""; + } + string text = ""; + text = mFanJi_NaiLeiShuiPing + mFanJi_TZL + mRaoJi_NaiLeiShuiPing + mRaoJi_TZL; + mBool_GuiChengFa = text.IndexOf("规程") >= 0; + MyComboBoxItemsClear(comboBox_XianLuName); + if (desktop.mXL == null || desktop.mXL.mListXianLuData == null) + { + return; + } + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + MyComboBoxAdd(comboBox_XianLuName, desktop.mXL.mListXianLuData[i].mName_XianLu); + } + if (mIndexControl_XianLuName < 0) + { + mIndexControl_XianLuName = 0; + } + if (mIndexControl_XianLuName >= 0 && mIndexControl_XianLuName < comboBox_XianLuName.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_XianLuName, mIndexControl_XianLuName); + mNameXianLu = comboBox_XianLuName.SelectedItem.ToString().Trim(); + for (int j = 0; j < desktop.mXL.mListXianLuData.Count; j++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[j].mName_XianLu)) + { + mIndex_ListXianLuData = j; + GetDataSet(); + MyQuery_refreshDGV(); + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[j]); + mXianLuID = mXianLuData.mID_XianLu; + Ready_XianLuName = true; + break; + } + } + } + else + { + mNameXianLu = ""; + mXianLuID = 0; + Ready_XianLuName = false; + } + mNameTask = textBox_NameTask.Text.Trim(); + Ready_TaskName = desktop.mTask.MyCheckTaskName(mNameTask) == 0; + } + + public void Destroy() + { + if (mListBoxes != null) + { + mListBoxes.Clear(); + } + mListBoxes = null; + if (mTaskData != null) + { + mTaskData.Destroy(); + } + mTaskData = null; + if (mXianLuData != null) + { + mXianLuData.Destroy(); + } + mXianLuData = null; + if (mList_GanTaID_2DisInclude_Checked_ByUser != null) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + mList_GanTaID_2DisInclude_Checked_ByUser = null; + } + if (mDS != null) + { + mDS.Clear(); + mDS = null; + } + } + + private void setTag(Control cons) + { + foreach (Control control in cons.Controls) + { + control.Tag = control.Width + ":" + control.Height + ":" + control.Left + ":" + control.Top + ":" + control.Font.Size; + if (control.Controls.Count > 0) + { + setTag(control); + } + } + } + + private void setControls(float scaleX, float scaleY, Control cons) + { + foreach (Control control in cons.Controls) + { + string[] array = control.Tag.ToString().Split(':'); + float num = Convert.ToSingle(array[0]) * scaleX; + control.Width = (int)num; + num = Convert.ToSingle(array[1]) * scaleY; + if (control is ListBox) + { + num = Convert.ToSingle(array[1]) * 1f; + } + control.Height = (int)num; + num = Convert.ToSingle(array[2]) * scaleX; + control.Left = (int)num; + num = Convert.ToSingle(array[3]) * scaleY; + control.Top = (int)num; + float emSize = Convert.ToSingle(array[4]) * Math.Min(scaleX, scaleY); + control.Font = new Font(control.Font.Name, emSize, control.Font.Style, control.Font.Unit); + if (control.Controls.Count > 0) + { + setControls(scaleX, scaleY, control); + } + } + } + + private void Form_PuTongJiSuan_Resize(object sender, EventArgs e) + { + float scaleX = (float)base.Width / initWidth; + float scaleY = (float)base.Height / initHeight; + setControls(scaleX, scaleY, this); + } + + private void buttonOK_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + if (Busy_ButtonOK) + { + return; + } + Busy_ButtonOK = true; + if (!Ready_XianLuName) + { + if (comboBox_XianLuName.Items.Count > 0) + { + MyFormSetTitle(this, "请选择线路,然后点击按钮“" + buttonOK.Text + "”。"); + } + if (comboBox_XianLuName.Items.Count == 0) + { + MyFormSetTitle(this, "缺少线路数据。 请点击按钮“" + buttonCancel.Text + "”,退出对话框。"); + } + comboBox_XianLuName.Focus(); + Busy_ButtonOK = false; + return; + } + string text = ""; + text = mXianLuData.Prepare_Complete(desktop.mSignal.mNeed_PrepareParameters_setting); + if (!text.Equals("OK")) + { + MyFormSetTitle(this, "!" + text + "!"); + Busy_ButtonOK = false; + return; + } + if (!Ready_TaskName) + { + switch (desktop.mTask.MyCheckTaskName(textBox_NameTask.Text.Trim())) + { + case 1: + MyFormSetTitle(this, "任务名称空白,请填写“任务名称”。"); + break; + case 2: + MyFormSetTitle(this, "任务名称重复,请重新填写“任务名称”。"); + break; + } + textBox_NameTask.Focus(); + Busy_ButtonOK = false; + return; + } + if (string.IsNullOrEmpty(mFanJi_NaiLeiShuiPing)) + { + MyFormSetTitle(this, "请选择反击耐雷水平计算方法,然后点击“" + buttonOK.Text + "”。"); + comboBox_FanJi_NaiLeiShuiPing.Focus(); + Busy_ButtonOK = false; + return; + } + if (string.IsNullOrEmpty(mRaoJi_NaiLeiShuiPing)) + { + MyFormSetTitle(this, "请选择绕击耐雷水平计算方法,然后点击“" + buttonOK.Text + "”。"); + comboBox_RaoJi_NaiLeiShuiPing.Focus(); + Busy_ButtonOK = false; + return; + } + if (string.IsNullOrEmpty(mFanJi_TZL)) + { + MyFormSetTitle(this, "请选择反击跳闸率计算方法,然后点击“" + buttonOK.Text + "”。"); + comboBox_FanJi_TZL.Focus(); + Busy_ButtonOK = false; + return; + } + if (string.IsNullOrEmpty(mRaoJi_TZL)) + { + MyFormSetTitle(this, "请选择绕击跳闸率计算方法,然后点击“" + buttonOK.Text + "”。"); + comboBox_RaoJi_TZL.Focus(); + Busy_ButtonOK = false; + return; + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text2 = ""; + for (int i = 0; i < mDGView.Rows.Count; i++) + { + if (mDGView.Rows[i] != null && mDGView.Rows[i].Cells != null && mDGView.Rows[i].Cells["塔号"] != null && mDGView.Rows[i].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[i].Cells["包含"]; + if (dataGridViewCheckBoxCell != null && dataGridViewCheckBoxCell.Value != null && (bool)dataGridViewCheckBoxCell.Value) + { + text2 = mDGView.Rows[i].Cells["塔号"].Value.ToString().Trim(); + mList_GanTaID_2DisInclude_Checked_ByUser.Add(text2); + } + } + } + if (mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0) + { + MyFormSetTitle(this, "包含杆塔为空,请选择计算“包含”杆塔,然后点击“" + buttonOK.Text + "”。"); + dataGridView_GanTa.Focus(); + Busy_ButtonOK = false; + } + else + { + Thread thread = new Thread(MyThread_ButtonOK); + thread.Start(); + } + } + + private void MyRefresh_TaskData() + { + mTaskData.mID_Task = TaskData.mNextID_static; + mTaskData.mID_string_Task = $"{mTaskData.mID_Task}|{mTaskData.mID_ExTask}"; + mTaskData.mIndex_DuoXiangNaiLeiShuiPing = 0; + mTaskData.mTypeCode_Task = 1; + mTaskData.mIndex_CurrentCurve = 1; + mTaskData.mName_Task = mNameTask; + mTaskData.mXianLuID_Task = mXianLuData.mID_XianLu; + mTaskData.mXianLuName_Task = mXianLuData.mName_XianLu; + mTaskData.mXianLuJLZL_Task = mXianLuData.mJLZL_XianLu; + mTaskData.mCurveTimeHead_min = 2.6; + mTaskData.mCurveTimeHead_max = 2.6; + mTaskData.mCurveTimeHead = 2.6; + mTaskData.mCurveTimeHead_step = 0.1; + mTaskData.mCurveTimeTail_min = 50.0; + mTaskData.mCurveTimeTail_max = 50.0; + mTaskData.mCurveTimeTail = 50.0; + mTaskData.mCurveTimeTail_step = 1.0; + mTaskData.mDYDJ_Task = mXianLuData.mDYDJ_XianLu; + mTaskData.mFanJi_NaiLeiShuiPing = mFanJi_NaiLeiShuiPing; + mTaskData.mRaoJi_NaiLeiShuiPing = mRaoJi_NaiLeiShuiPing; + mTaskData.mFanJi_TZL = mFanJi_TZL; + mTaskData.mRaoJi_TZL = mRaoJi_TZL; + mTaskData.mPrepare11_LightingCurrent = mXianLuData.mPrepare1_LightingCurrent; + mTaskData.mPrepare12_DiShanMiDu = mXianLuData.mPrepare2_DiShanMiDu; + mTaskData.mPrepare13_DiMianQingJiao = mXianLuData.mPrepare3_DiMianQingJiao; + mTaskData.Finished1_PuTongJiSuan = 0; + } + + private void MyThread_ButtonOK() + { + MyRefresh_TaskData(); + mLeaving = true; + int num = 0; + bool flag = false; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (mTaskData.mID_Task == desktop.mTask.mListDetails[i].mTaskID_Detail) + { + num = i; + flag = true; + break; + } + } + if (!flag) + { + TaskDetail taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = mTaskData.mID_Task; + taskDetail.mXianLuID_Detail = mTaskData.mXianLuID_Task; + num = desktop.mTask.mListDetails.Count; + desktop.mTask.mListDetails.Add(taskDetail); + desktop.mTask.mListDetails[num].mTaskGroup.mID_Task = mTaskData.mID_Task; + desktop.mTask.mListDetails[num].mTaskData.mID_Task = mTaskData.mID_Task; + } + else if (flag) + { + MyLog.AddLog($"MyThread_ButtonOK() Detail repeat(indexDetail={num}, mListDetails.Count={desktop.mTask.mListDetails.Count})."); + } + TaskData taskData = null; + for (double num2 = mTaskData.mCurveTimeHead_min; num2 <= mTaskData.mCurveTimeHead_max; num2 += mTaskData.mCurveTimeHead_step) + { + for (double num3 = mTaskData.mCurveTimeTail_min; num3 <= mTaskData.mCurveTimeTail_max; num3 += mTaskData.mCurveTimeTail_step) + { + taskData = new TaskData(); + taskData.copyFrom_TaskData(mTaskData); + taskData.mCurveTimeHead = num2; + taskData.mCurveTimeTail = num3; + taskData.mTGanTas.SetXianLuData(mTaskData.mID_string_Task, mXianLuData); + taskData.mTGanTas.mListTGanTaData.Clear(); + desktop.mTask.Add1_ExTaskData(num, taskData); + } + } + GanTas ganTas = null; + for (int j = 0; j < desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData.Count; j++) + { + taskData = desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData[j]; + for (int k = 0; k < desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; k++) + { + ganTas = desktop.mXL.mListGanTas[mIndex_ListXianLuData]; + if (mList_GanTaID_2DisInclude_Checked_ByUser.Contains(ganTas.mListGanTaData[k].mID_GanTa)) + { + taskData.mTGanTas.Add1TGanTaData(ganTas.mListGanTaData[k], taskData.mIndex_CurrentCurve, taskData.mCurveTimeHead, taskData.mCurveTimeTail); + TGanTaData.mNextID_static++; + } + } + } + MyOutput_TaskData(); + Busy_ButtonOK = false; + base.DialogResult = DialogResult.OK; + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + MyButtonEnabled(buttonCancel, value: false); + Thread thread = new Thread(MyCancel); + thread.Start(); + } + + private void MyCancel() + { + mLeaving = true; + MyFormSetTitle(this, "取消—"); + MyFormSetTitle(this, "取消———"); + MyButtonEnabled(buttonCancel, value: true); + try + { + Busy_ButtonOK = false; + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + catch (Exception) + { + } + } + + private void buttonSelectAll_Click(object sender, EventArgs e) + { + if (!mAfterInit) + { + return; + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + GanTas ganTas = desktop.mXL.mListGanTas[mIndex_ListXianLuData]; + GanTaData ganTaData = null; + if (ganTas == null || ganTas.mListGanTaData == null) + { + return; + } + mCurrentSelect = !mCurrentSelect; + for (int i = 0; i < ganTas.mListGanTaData.Count; i++) + { + ganTaData = ganTas.mListGanTaData[i]; + if (ganTaData != null && mCurrentSelect) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Add(ganTaData.mID_GanTa); + } + } + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text = ""; + for (int j = 0; j < mDGView.Rows.Count; j++) + { + if (mDGView.Rows[j] != null && mDGView.Rows[j].Cells != null && mDGView.Rows[j].Cells["塔号"] != null && mDGView.Rows[j].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[j].Cells["包含"]; + text = mDGView.Rows[j].Cells["塔号"].Value.ToString().Trim(); + dataGridViewCheckBoxCell.Value = mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text); + } + } + buttonSelectAll.Text = (mCurrentSelect ? "不选" : "全选"); + } + + private void buttonGaoJiSheZhi_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + if (!Ready_XianLuName) + { + if (comboBox_XianLuName.Items.Count > 0) + { + MyFormSetTitle(this, "请选择线路,然后点击按钮“" + buttonGaoJiSheZhi.Text + "”。"); + } + if (comboBox_XianLuName.Items.Count == 0) + { + MyFormSetTitle(this, "缺少线路数据。 请点击按钮“" + buttonCancel.Text + "”,退出对话框。"); + } + comboBox_XianLuName.Focus(); + return; + } + string text = ""; + text = mXianLuData.Prepare_Complete(desktop.mSignal.mNeed_PrepareParameters_setting); + if (!text.Equals("OK")) + { + MyFormSetTitle(this, "!" + text + "!"); + Busy_ButtonOK = false; + return; + } + if (!Ready_TaskName) + { + switch (desktop.mTask.MyCheckTaskName(textBox_NameTask.Text.Trim())) + { + case 1: + MyFormSetTitle(this, "任务名称空白,请填写“任务名称”。"); + break; + case 2: + MyFormSetTitle(this, "任务名称重复,请重新填写“任务名称”。"); + break; + } + textBox_NameTask.Focus(); + return; + } + if (string.IsNullOrEmpty(mFanJi_NaiLeiShuiPing)) + { + MyFormSetTitle(this, "请选择反击耐雷水平计算方法,然后点击“" + buttonGaoJiSheZhi.Text + "”。"); + comboBox_FanJi_NaiLeiShuiPing.Focus(); + return; + } + if (string.IsNullOrEmpty(mRaoJi_NaiLeiShuiPing)) + { + MyFormSetTitle(this, "请选择绕击耐雷水平计算方法,然后点击“" + buttonGaoJiSheZhi.Text + "”。"); + comboBox_RaoJi_NaiLeiShuiPing.Focus(); + return; + } + if (string.IsNullOrEmpty(mFanJi_TZL)) + { + MyFormSetTitle(this, "请选择反击跳闸率计算方法,然后点击“" + buttonGaoJiSheZhi.Text + "”。"); + comboBox_FanJi_TZL.Focus(); + return; + } + if (string.IsNullOrEmpty(mRaoJi_TZL)) + { + MyFormSetTitle(this, "请选择绕击跳闸率计算方法,然后点击“" + buttonGaoJiSheZhi.Text + "”。"); + comboBox_RaoJi_TZL.Focus(); + return; + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text2 = ""; + for (int i = 0; i < mDGView.Rows.Count; i++) + { + if (mDGView.Rows[i] != null && mDGView.Rows[i].Cells != null && mDGView.Rows[i].Cells["塔号"] != null && mDGView.Rows[i].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[i].Cells["包含"]; + if (dataGridViewCheckBoxCell != null && dataGridViewCheckBoxCell.Value != null && (bool)dataGridViewCheckBoxCell.Value) + { + text2 = mDGView.Rows[i].Cells["塔号"].Value.ToString().Trim(); + mList_GanTaID_2DisInclude_Checked_ByUser.Add(text2); + } + } + } + if (mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0) + { + MyFormSetTitle(this, "包含杆塔为空,请选择计算“包含”杆塔,然后点击“" + buttonOK.Text + "”。"); + dataGridView_GanTa.Focus(); + Busy_ButtonOK = false; + return; + } + MyRefresh_TaskData(); + DialogResult dialogResult = DialogResult.None; + desktop.mDlg_GJSZ_PuTongJiSuan.SetParentCode(1); + desktop.mDlg_GJSZ_PuTongJiSuan.MyFormSetVisiable(desktop.mDlg_GJSZ_PuTongJiSuan, value: false); + dialogResult = desktop.mDlg_GJSZ_PuTongJiSuan.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + Thread thread = new Thread(MyThread_ButtonGaoJiSheZhi); + thread.Start(); + } + } + + private void MyThread_ButtonGaoJiSheZhi() + { + mLeaving = true; + Busy_ButtonOK = false; + int num = 0; + bool flag = false; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (mTaskData.mID_Task == desktop.mTask.mListDetails[i].mTaskID_Detail) + { + num = i; + flag = true; + break; + } + } + if (!flag) + { + TaskDetail taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = mTaskData.mID_Task; + taskDetail.mXianLuID_Detail = mTaskData.mXianLuID_Task; + num = desktop.mTask.mListDetails.Count; + desktop.mTask.mListDetails.Add(taskDetail); + desktop.mTask.mListDetails[num].mTaskGroup.mID_Task = mTaskData.mID_Task; + desktop.mTask.mListDetails[num].mTaskData.mID_Task = mTaskData.mID_Task; + } + else if (flag) + { + MyLog.AddLog($"MyThread_ButtonGaoJiSheZhi() Detail repeat(indexDetail={num}, mListDetails.Count={desktop.mTask.mListDetails.Count})."); + } + TaskData taskData = null; + for (double num2 = mTaskData.mCurveTimeHead_min; num2 <= mTaskData.mCurveTimeHead_max; num2 += mTaskData.mCurveTimeHead_step) + { + for (double num3 = mTaskData.mCurveTimeTail_min; num3 <= mTaskData.mCurveTimeTail_max; num3 += mTaskData.mCurveTimeTail_step) + { + taskData = new TaskData(); + taskData.copyFrom_TaskData(mTaskData); + taskData.mCurveTimeHead = num2; + taskData.mCurveTimeTail = num3; + taskData.mTGanTas.SetXianLuData(mTaskData.mID_string_Task, mXianLuData); + taskData.mTGanTas.mListTGanTaData.Clear(); + desktop.mTask.Add1_ExTaskData(num, taskData); + } + } + GanTas ganTas = null; + for (int j = 0; j < desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData.Count; j++) + { + taskData = desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData[j]; + for (int k = 0; k < desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; k++) + { + ganTas = desktop.mXL.mListGanTas[mIndex_ListXianLuData]; + if (mList_GanTaID_2DisInclude_Checked_ByUser.Contains(ganTas.mListGanTaData[k].mID_GanTa)) + { + taskData.mTGanTas.Add1TGanTaData(ganTas.mListGanTaData[k], taskData.mIndex_CurrentCurve, taskData.mCurveTimeHead, taskData.mCurveTimeTail); + TGanTaData.mNextID_static++; + } + } + } + MyOutput_TaskData(); + base.DialogResult = DialogResult.OK; + } + + private void textBox_NameTask_TextChanged(object sender, EventArgs e) + { + mNameTask = textBox_NameTask.Text.Trim(); + Ready_TaskName = desktop.mTask.MyCheckTaskName(mNameTask) == 0; + } + + private void comboBox_XianLuName_SelectedIndexChanged(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + MyFormSetTitle(this, "正在更新..."); + int selectedIndex = ((ComboBox)sender).SelectedIndex; + mIndexControl_XianLuName = selectedIndex; + mNameXianLu = ((ComboBox)sender).SelectedItem.ToString().Trim(); + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[i].mName_XianLu)) + { + mIndex_ListXianLuData = i; + GetDataSet(); + MyQuery_refreshDGV(); + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[i]); + mXianLuID = mXianLuData.mID_XianLu; + Ready_XianLuName = true; + break; + } + } + } + + private void comboBox_FanJiRaoJi_NaiLeiShuiPing_TZL_SelectedIndexChanged(object sender, EventArgs e) + { + if (mAfterInit && !Busy_ButtonOK) + { + int selectedIndex = ((ComboBox)sender).SelectedIndex; + string text = ((ComboBox)sender).SelectedItem.ToString().Trim(); + if (sender == comboBox_FanJi_NaiLeiShuiPing) + { + mIndexControl_FanJi_NaiLeiShuiPing = selectedIndex; + mFanJi_NaiLeiShuiPing = text; + } + else if (sender == comboBox_RaoJi_NaiLeiShuiPing) + { + mIndexControl_RaoJi_NaiLeiShuiPing = selectedIndex; + mRaoJi_NaiLeiShuiPing = text; + } + else if (sender == comboBox_FanJi_TZL) + { + mIndexControl_FanJi_TZL = selectedIndex; + mFanJi_TZL = text; + } + else if (sender == comboBox_RaoJi_TZL) + { + mIndexControl_RaoJi_TZL = selectedIndex; + mRaoJi_TZL = text; + } + bool flag = false; + flag = mBool_GuiChengFa; + string text2 = ""; + text2 = mFanJi_NaiLeiShuiPing + mFanJi_TZL + mRaoJi_NaiLeiShuiPing + mRaoJi_TZL; + mBool_GuiChengFa = text2.IndexOf("规程") >= 0; + GetDataSet(); + MyQuery_refreshDGV(); + } + } + + private void GetDataSet() + { + if (mIndex_ListXianLuData < 0 || mIndex_ListXianLuData >= desktop.mXL.mListXianLuData.Count || desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count == 0) + { + return; + } + if (mDS == null) + { + mDS = new DataSet(); + } + if (mDS.Tables.Count == 0) + { + mDS.Tables.Add(new DataTable()); + } + if (mDS.Tables[0].Rows.Count > 0) + { + mDS.Tables[0].Rows.Clear(); + } + if (mDS.Tables[0].Columns.Count > 0) + { + mDS.Tables[0].Columns.Clear(); + } + mDS.Tables[0].Columns.Add("塔号"); + mDS.Tables[0].Columns.Add("杆塔模型"); + mDS.Tables[0].Columns.Add("地理坐标°"); + mDS.Tables[0].Columns.Add("档距"); + mDS.Tables[0].Columns.Add("海拔高度m"); + mDS.Tables[0].Columns.Add("地形"); + mDS.Tables[0].Columns.Add("接地电阻Ω"); + mDS.Tables[0].Columns.Add("地闪密度 次/(km^2*年)"); + mDS.Tables[0].Columns.Add("雷电流"); + mDS.Tables[0].Columns.Add("倾角"); + mDS.Tables[0].Columns.Add("塔型"); + GanTaData ganTaData = null; + for (int i = 0; i < desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; i++) + { + ganTaData = desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData[i]; + DataRow dataRow = mDS.Tables[0].NewRow(); + for (int j = 0; j < mDS.Tables[0].Columns.Count; j++) + { + dataRow[j] = ""; + } + dataRow[0] = ganTaData.mID_GanTa ?? ""; + dataRow[1] = ganTaData.mModel_GanTa ?? ""; + dataRow[2] = $"{ganTaData.mJingDu_GanTa}|{ganTaData.mWeiDu_GanTa}"; + dataRow[3] = $"{ganTaData.mXiaoHao_GanTa},{ganTaData.mDaHao_GanTa}"; + dataRow[4] = $"{ganTaData.mHaiBa_GanTa}"; + dataRow[5] = ganTaData.mDiXing_GanTa ?? ""; + dataRow[6] = $"{ganTaData.mJDDZ_GanTa}"; + dataRow[7] = $"{ganTaData.mDSMD_GanTa}"; + dataRow[8] = $"{ganTaData.mCurrent_a_GanTa},{ganTaData.mCurrent_b_GanTa}"; + dataRow[9] = $"{ganTaData.mDMQJ1_GanTa},{ganTaData.mDMQJ2_GanTa}"; + dataRow[10] = ganTaData.mTaXing_GanTa ?? ""; + mDS.Tables[0].Rows.Add(dataRow); + } + } + + private void MyQuery_refreshDGV() + { + if (mDGView != null && mDGView.Columns.Count > 0) + { + if (mDGView.Columns.Contains("包含")) + { + mDGView.Columns.Remove("包含"); + } + if (mDGView.Columns.Contains("关联数目")) + { + mDGView.Columns.Remove("关联数目"); + } + } + mDGView.DataSource = null; + if (mDS == null || mDS.Tables.Count == 0) + { + return; + } + DataTable dataTable = mDS.Tables[0]; + mDGView.DataSource = dataTable.DefaultView; + if (mDGView.Columns.Contains(mMainKeyColumnName)) + { + mDGView.Columns[mMainKeyColumnName].ReadOnly = true; + } + else + { + mDGView.Columns[0].ReadOnly = true; + } + if (dataTable.Rows.Count > 0) + { + DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn = new DataGridViewCheckBoxColumn(); + dataGridViewCheckBoxColumn.HeaderText = "包含"; + dataGridViewCheckBoxColumn.Name = "包含"; + dataGridViewCheckBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; + dataGridViewCheckBoxColumn.FlatStyle = FlatStyle.Flat; + dataGridViewCheckBoxColumn.ThreeState = false; + if (mDGView.Columns.Count > 0 && mDGView.Columns.Contains("包含")) + { + mDGView.Columns.Remove("包含"); + } + mDGView.Columns.Insert(0, dataGridViewCheckBoxColumn); + } + if (dataTable.Rows.Count == 0 || mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0 || mAfterInit) + { + return; + } + bool flag = false; + bool flag2 = false; + string text = ""; + for (int i = 0; i < mList_GanTaID_2DisInclude_Checked_ByUser.Count; i++) + { + flag2 = false; + for (int j = 0; j < mDS.Tables[0].Rows.Count; j++) + { + if (mDS.Tables[0].Rows[j]["塔号"] != null) + { + text = mDS.Tables[0].Rows[j]["塔号"].ToString().Trim(); + if (text.Equals(mList_GanTaID_2DisInclude_Checked_ByUser[i] ?? "")) + { + flag2 = true; + break; + } + } + } + if (!flag2) + { + flag = true; + break; + } + } + if (flag) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + return; + } + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text2 = ""; + for (int k = 0; k < mDGView.Rows.Count; k++) + { + if (mDGView.Rows[k] != null && mDGView.Rows[k].Cells != null && mDGView.Rows[k].Cells["塔号"] != null && mDGView.Rows[k].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[k].Cells["包含"]; + text2 = mDGView.Rows[k].Cells["塔号"].Value.ToString().Trim(); + dataGridViewCheckBoxCell.Value = mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text2); + } + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyComboBoxItemsClear(ComboBox comboBox) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxItemsClear method = MyComboBoxItemsClear; + comboBox.Invoke(method, comboBox); + } + else + { + comboBox.Items.Clear(); + } + } + + public void MyComboBoxAdd(ComboBox comboBox, string value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxAdd method = MyComboBoxAdd; + comboBox.Invoke(method, comboBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + comboBox.Items.Add(value); + } + } + + public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; + comboBox.Invoke(method, comboBox, value); + } + else if (value >= 0 && value < comboBox.Items.Count) + { + comboBox.SelectedIndex = value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSelectedIndex method = MyListBoxSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.comboBox_XianLuName = new System.Windows.Forms.ComboBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.textBox_NameTask = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.comboBox_FanJi_NaiLeiShuiPing = new System.Windows.Forms.ComboBox(); + this.label5 = new System.Windows.Forms.Label(); + this.comboBox_RaoJi_NaiLeiShuiPing = new System.Windows.Forms.ComboBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.comboBox_FanJi_TZL = new System.Windows.Forms.ComboBox(); + this.comboBox_RaoJi_TZL = new System.Windows.Forms.ComboBox(); + this.buttonGaoJiSheZhi = new System.Windows.Forms.Button(); + this.dataGridView_GanTa = new System.Windows.Forms.DataGridView(); + this.buttonSelectAll = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).BeginInit(); + base.SuspendLayout(); + this.buttonCancel.Location = new System.Drawing.Point(409, 672); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(86, 28); + this.buttonCancel.TabIndex = 9; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonOK.Location = new System.Drawing.Point(308, 672); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(86, 28); + this.buttonOK.TabIndex = 8; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.comboBox_XianLuName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_XianLuName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_XianLuName.FormattingEnabled = true; + this.comboBox_XianLuName.Location = new System.Drawing.Point(12, 26); + this.comboBox_XianLuName.Name = "comboBox_XianLuName"; + this.comboBox_XianLuName.Size = new System.Drawing.Size(483, 24); + this.comboBox_XianLuName.TabIndex = 0; + this.comboBox_XianLuName.SelectedIndexChanged += new System.EventHandler(comboBox_XianLuName_SelectedIndexChanged); + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(19, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(63, 14); + this.label1.TabIndex = 58; + this.label1.Text = "线路名称"; + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label3.Location = new System.Drawing.Point(19, 54); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(63, 14); + this.label3.TabIndex = 58; + this.label3.Text = "任务名称"; + this.textBox_NameTask.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_NameTask.Location = new System.Drawing.Point(12, 71); + this.textBox_NameTask.Name = "textBox_NameTask"; + this.textBox_NameTask.Size = new System.Drawing.Size(483, 26); + this.textBox_NameTask.TabIndex = 1; + this.textBox_NameTask.TextChanged += new System.EventHandler(textBox_NameTask_TextChanged); + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label4.Location = new System.Drawing.Point(19, 105); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(147, 14); + this.label4.TabIndex = 57; + this.label4.Text = "反击耐雷水平计算方法"; + this.comboBox_FanJi_NaiLeiShuiPing.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_FanJi_NaiLeiShuiPing.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_FanJi_NaiLeiShuiPing.FormattingEnabled = true; + this.comboBox_FanJi_NaiLeiShuiPing.Location = new System.Drawing.Point(12, 122); + this.comboBox_FanJi_NaiLeiShuiPing.Name = "comboBox_FanJi_NaiLeiShuiPing"; + this.comboBox_FanJi_NaiLeiShuiPing.Size = new System.Drawing.Size(483, 24); + this.comboBox_FanJi_NaiLeiShuiPing.TabIndex = 2; + this.comboBox_FanJi_NaiLeiShuiPing.SelectedIndexChanged += new System.EventHandler(comboBox_FanJiRaoJi_NaiLeiShuiPing_TZL_SelectedIndexChanged); + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label5.Location = new System.Drawing.Point(19, 150); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(147, 14); + this.label5.TabIndex = 57; + this.label5.Text = "绕击耐雷水平计算方法"; + this.comboBox_RaoJi_NaiLeiShuiPing.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_RaoJi_NaiLeiShuiPing.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_RaoJi_NaiLeiShuiPing.FormattingEnabled = true; + this.comboBox_RaoJi_NaiLeiShuiPing.Location = new System.Drawing.Point(12, 167); + this.comboBox_RaoJi_NaiLeiShuiPing.Name = "comboBox_RaoJi_NaiLeiShuiPing"; + this.comboBox_RaoJi_NaiLeiShuiPing.Size = new System.Drawing.Size(483, 24); + this.comboBox_RaoJi_NaiLeiShuiPing.TabIndex = 3; + this.comboBox_RaoJi_NaiLeiShuiPing.SelectedIndexChanged += new System.EventHandler(comboBox_FanJiRaoJi_NaiLeiShuiPing_TZL_SelectedIndexChanged); + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label2.Location = new System.Drawing.Point(19, 196); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(133, 14); + this.label2.TabIndex = 57; + this.label2.Text = "反击跳闸率计算方法"; + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label6.Location = new System.Drawing.Point(19, 241); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(133, 14); + this.label6.TabIndex = 57; + this.label6.Text = "绕击跳闸率计算方法"; + this.comboBox_FanJi_TZL.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_FanJi_TZL.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_FanJi_TZL.FormattingEnabled = true; + this.comboBox_FanJi_TZL.Location = new System.Drawing.Point(12, 213); + this.comboBox_FanJi_TZL.Name = "comboBox_FanJi_TZL"; + this.comboBox_FanJi_TZL.Size = new System.Drawing.Size(430, 24); + this.comboBox_FanJi_TZL.TabIndex = 4; + this.comboBox_FanJi_TZL.SelectedIndexChanged += new System.EventHandler(comboBox_FanJiRaoJi_NaiLeiShuiPing_TZL_SelectedIndexChanged); + this.comboBox_RaoJi_TZL.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_RaoJi_TZL.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_RaoJi_TZL.FormattingEnabled = true; + this.comboBox_RaoJi_TZL.Location = new System.Drawing.Point(12, 258); + this.comboBox_RaoJi_TZL.Name = "comboBox_RaoJi_TZL"; + this.comboBox_RaoJi_TZL.Size = new System.Drawing.Size(430, 24); + this.comboBox_RaoJi_TZL.TabIndex = 5; + this.comboBox_RaoJi_TZL.SelectedIndexChanged += new System.EventHandler(comboBox_FanJiRaoJi_NaiLeiShuiPing_TZL_SelectedIndexChanged); + this.buttonGaoJiSheZhi.Location = new System.Drawing.Point(22, 672); + this.buttonGaoJiSheZhi.Name = "buttonGaoJiSheZhi"; + this.buttonGaoJiSheZhi.Size = new System.Drawing.Size(86, 28); + this.buttonGaoJiSheZhi.TabIndex = 10; + this.buttonGaoJiSheZhi.Text = "高级设置"; + this.buttonGaoJiSheZhi.UseVisualStyleBackColor = true; + this.buttonGaoJiSheZhi.Click += new System.EventHandler(buttonGaoJiSheZhi_Click); + this.dataGridView_GanTa.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.dataGridView_GanTa.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView_GanTa.Location = new System.Drawing.Point(12, 287); + this.dataGridView_GanTa.Name = "dataGridView_GanTa"; + this.dataGridView_GanTa.RowTemplate.Height = 23; + this.dataGridView_GanTa.Size = new System.Drawing.Size(484, 379); + this.dataGridView_GanTa.TabIndex = 6; + this.buttonSelectAll.Location = new System.Drawing.Point(195, 672); + this.buttonSelectAll.Name = "buttonSelectAll"; + this.buttonSelectAll.Size = new System.Drawing.Size(75, 28); + this.buttonSelectAll.TabIndex = 7; + this.buttonSelectAll.Text = "全选"; + this.buttonSelectAll.UseVisualStyleBackColor = true; + this.buttonSelectAll.Click += new System.EventHandler(buttonSelectAll_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(507, 708); + base.Controls.Add(this.buttonSelectAll); + base.Controls.Add(this.dataGridView_GanTa); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonGaoJiSheZhi); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.textBox_NameTask); + base.Controls.Add(this.comboBox_RaoJi_TZL); + base.Controls.Add(this.comboBox_RaoJi_NaiLeiShuiPing); + base.Controls.Add(this.comboBox_FanJi_TZL); + base.Controls.Add(this.comboBox_FanJi_NaiLeiShuiPing); + base.Controls.Add(this.comboBox_XianLuName); + base.Controls.Add(this.label6); + base.Controls.Add(this.label5); + base.Controls.Add(this.label2); + base.Controls.Add(this.label4); + base.Controls.Add(this.label3); + base.Controls.Add(this.label1); + base.Name = "Form_PuTongJiSuan"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "FormPuTongJiSuan"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form_PuTongJiSuan_FormClosing); + base.Load += new System.EventHandler(Form_PuTongJiSuan_Load); + base.Resize += new System.EventHandler(Form_PuTongJiSuan_Resize); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).EndInit(); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/Form_TongTiaoJiSuan.cs b/LP/Form_TongTiaoJiSuan.cs new file mode 100644 index 0000000..671ff1b --- /dev/null +++ b/LP/Form_TongTiaoJiSuan.cs @@ -0,0 +1,1098 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Threading; +using System.Windows.Forms; + +namespace LP; + +public class Form_TongTiaoJiSuan : Form +{ + private delegate void delegateFormSetTitle(Form form, string value); + + private delegate void delegateComboBoxItemsClear(ComboBox comboBox); + + private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); + + private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); + + private delegate void delegateListBoxItemsClear(ListBox listBox); + + private delegate void delegateListBoxAdd(ListBox listBox, string value); + + private delegate void delegateListBoxSelectedIndex(ListBox listBox, int value); + + private delegate void delegateTextBoxSetText(TextBox textBox, string value); + + private delegate void delegateButtonEnabled(Button button, bool value); + + private delegate void delegateFormHide(Form form); + + public FormDesktop desktop = null; + + private bool mAfterInit = false; + + private bool mLeaving = false; + + public string mTitle = ""; + + public XianLuData mXianLuData = null; + + private int mXianLuID = 0; + + public string mNameXianLu = ""; + + public int mIndexControl_XianLuName = -1; + + public int mIndex_ListXianLuData = -1; + + private bool mReady_XianLuName = false; + + public TaskData mTaskData = null; + + public string mNameTask = ""; + + private bool mReady_TaskName = false; + + public int mIndexControl_FanJi_NaiLeiShuiPing = -1; + + public string mFanJi_NaiLeiShuiPing = ""; + + public int mIndexControl_RaoJi_NaiLeiShuiPing = -1; + + public string mRaoJi_NaiLeiShuiPing = ""; + + public int mIndexControl_FanJi_TZL = -1; + + public string mFanJi_TZL = ""; + + public int mIndexControl_RaoJi_TZL = -1; + + public string mRaoJi_TZL = ""; + + private float initWidth = 0f; + + private float initHeight = 0f; + + private bool mBusy_ButtonOK = false; + + public DataGridView mDGView = null; + + public DataSet mDS = null; + + public List mList_GanTaID_2DisInclude_Checked_ByUser = null; + + private bool mCurrentSelect = false; + + public string mMainKeyColumnName = ""; + + public bool mBool_GuiChengFa = false; + + private IContainer components = null; + + private Button buttonCancel; + + private Button buttonGaoJiSheZhi; + + private Button buttonOK; + + private TextBox textBox_NameTask; + + private ComboBox comboBox_XianLuName; + + private Label label3; + + private Label label1; + + private DataGridView dataGridView_GanTa; + + private Button buttonSelectAll; + + public bool Ready_XianLuName + { + get + { + return mReady_XianLuName; + } + set + { + mReady_XianLuName = value; + } + } + + public bool Ready_TaskName + { + get + { + return mReady_TaskName; + } + set + { + mReady_TaskName = value; + } + } + + public bool Busy_ButtonOK + { + get + { + return mBusy_ButtonOK; + } + set + { + mBusy_ButtonOK = value; + if (!mLeaving) + { + MyButtonEnabled(buttonCancel, !value); + } + } + } + + public Form_TongTiaoJiSuan() + { + InitializeComponent(); + if (mTaskData == null) + { + mTaskData = new TaskData(); + } + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + mTitle = "同跳计算"; + mIndexControl_XianLuName = -1; + mIndex_ListXianLuData = -1; + mIndexControl_FanJi_NaiLeiShuiPing = (mIndexControl_FanJi_TZL = -1); + mIndexControl_RaoJi_NaiLeiShuiPing = (mIndexControl_RaoJi_TZL = -1); + if (mList_GanTaID_2DisInclude_Checked_ByUser == null) + { + mList_GanTaID_2DisInclude_Checked_ByUser = new List(); + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + if (mDS == null) + { + mDS = new DataSet(); + } + mMainKeyColumnName = "塔号"; + } + + private void Form_GaiZaoJiSuan_Load(object sender, EventArgs e) + { + mAfterInit = false; + Busy_ButtonOK = false; + mLeaving = false; + MyFormSetTitle(this, ""); + Ready_XianLuName = false; + Ready_TaskName = false; + base.DialogResult = DialogResult.None; + if (mDGView == null) + { + mDGView = dataGridView_GanTa; + } + mDGView.Columns.Clear(); + mDGView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + initWidth = base.Width; + initHeight = base.Height; + setTag(this); + MyInput_TaskData(); + MyInput_List_XianLuData(); + mAfterInit = true; + } + + private void Form_GaiZaoJiSuan_FormClosing(object sender, FormClosingEventArgs e) + { + mDGView.DataSource = null; + } + + public void MyInput_TaskData() + { + mTaskData.copyFrom_TaskData(desktop.mDlg_FangLeiJiSuan.mtData); + mTaskData.mIndex_DuoXiangNaiLeiShuiPing = 1; + } + + public void MyOutput_TaskData() + { + desktop.mDlg_FangLeiJiSuan.mtData.copyFrom_TaskData(mTaskData); + } + + public void MyInput_List_XianLuData() + { + mIndexControl_FanJi_NaiLeiShuiPing = 1; + mFanJi_NaiLeiShuiPing = "ATP"; + mIndexControl_RaoJi_NaiLeiShuiPing = 1; + mRaoJi_NaiLeiShuiPing = "ATP"; + mIndexControl_FanJi_TZL = 1; + mFanJi_TZL = "规程"; + mIndexControl_RaoJi_TZL = 2; + mRaoJi_TZL = "EGM"; + string text = ""; + text = mFanJi_NaiLeiShuiPing + mFanJi_TZL + mRaoJi_NaiLeiShuiPing + mRaoJi_TZL; + mBool_GuiChengFa = text.IndexOf("规程") >= 0; + MyComboBoxItemsClear(comboBox_XianLuName); + if (desktop.mXL == null || desktop.mXL.mListXianLuData == null) + { + return; + } + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + MyComboBoxAdd(comboBox_XianLuName, desktop.mXL.mListXianLuData[i].mName_XianLu); + } + if (mIndexControl_XianLuName < 0) + { + mIndexControl_XianLuName = 0; + } + if (mIndexControl_XianLuName >= 0 && mIndexControl_XianLuName < comboBox_XianLuName.Items.Count) + { + MyComboBoxSetSelectedIndex(comboBox_XianLuName, mIndexControl_XianLuName); + mNameXianLu = comboBox_XianLuName.SelectedItem.ToString().Trim(); + for (int j = 0; j < desktop.mXL.mListXianLuData.Count; j++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[j].mName_XianLu)) + { + mIndex_ListXianLuData = j; + GetDataSet(); + MyQuery_refreshDGV(); + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[j]); + mXianLuID = mXianLuData.mID_XianLu; + break; + } + } + Ready_XianLuName = true; + } + else + { + mNameXianLu = ""; + mXianLuID = 0; + Ready_XianLuName = false; + } + mNameTask = textBox_NameTask.Text.Trim(); + Ready_TaskName = desktop.mTask.MyCheckTaskName(mNameTask) == 0; + } + + public void Destroy() + { + } + + private void setTag(Control cons) + { + foreach (Control control in cons.Controls) + { + control.Tag = control.Width + ":" + control.Height + ":" + control.Left + ":" + control.Top + ":" + control.Font.Size; + if (control.Controls.Count > 0) + { + setTag(control); + } + } + } + + private void setControls(float scaleX, float scaleY, Control cons) + { + foreach (Control control in cons.Controls) + { + string[] array = control.Tag.ToString().Split(':'); + float num = Convert.ToSingle(array[0]) * scaleX; + control.Width = (int)num; + num = Convert.ToSingle(array[1]) * scaleY; + if (control is ListBox) + { + num = Convert.ToSingle(array[1]) * 1f; + } + control.Height = (int)num; + num = Convert.ToSingle(array[2]) * scaleX; + control.Left = (int)num; + num = Convert.ToSingle(array[3]) * scaleY; + control.Top = (int)num; + float emSize = Convert.ToSingle(array[4]) * Math.Min(scaleX, scaleY); + control.Font = new Font(control.Font.Name, emSize, control.Font.Style, control.Font.Unit); + if (control.Controls.Count > 0) + { + setControls(scaleX, scaleY, control); + } + } + } + + private void Form_TongTiaoJiSuan_Resize(object sender, EventArgs e) + { + float scaleX = (float)base.Width / initWidth; + float scaleY = (float)base.Height / initHeight; + setControls(scaleX, scaleY, this); + } + + private void buttonOK_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + if (Busy_ButtonOK) + { + return; + } + Busy_ButtonOK = true; + if (!Ready_XianLuName) + { + if (comboBox_XianLuName.Items.Count > 0) + { + MyFormSetTitle(this, "请选择线路,然后点击按钮“" + buttonOK.Text + "”。"); + } + if (comboBox_XianLuName.Items.Count == 0) + { + MyFormSetTitle(this, "缺少线路数据。 请点击按钮“" + buttonCancel.Text + "”,退出对话框。"); + } + comboBox_XianLuName.Focus(); + Busy_ButtonOK = false; + return; + } + string text = ""; + text = mXianLuData.Prepare_Complete(desktop.mSignal.mNeed_PrepareParameters_setting); + if (!text.Equals("OK")) + { + MyFormSetTitle(this, "!" + text + "!"); + Busy_ButtonOK = false; + return; + } + if (!Ready_TaskName) + { + switch (desktop.mTask.MyCheckTaskName(textBox_NameTask.Text.Trim())) + { + case 1: + MyFormSetTitle(this, "任务名称空白,请填写“任务名称”。"); + break; + case 2: + MyFormSetTitle(this, "任务名称重复,请重新填写“任务名称”。"); + break; + } + textBox_NameTask.Focus(); + Busy_ButtonOK = false; + return; + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text2 = ""; + for (int i = 0; i < mDGView.Rows.Count; i++) + { + if (mDGView.Rows[i] != null && mDGView.Rows[i].Cells != null && mDGView.Rows[i].Cells["塔号"] != null && mDGView.Rows[i].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[i].Cells["包含"]; + if (dataGridViewCheckBoxCell != null && dataGridViewCheckBoxCell.Value != null && (bool)dataGridViewCheckBoxCell.Value) + { + text2 = mDGView.Rows[i].Cells["塔号"].Value.ToString().Trim(); + mList_GanTaID_2DisInclude_Checked_ByUser.Add(text2); + } + } + } + if (mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0) + { + MyFormSetTitle(this, "包含杆塔为空,请选择计算“包含”杆塔,然后点击“" + buttonOK.Text + "”。"); + dataGridView_GanTa.Focus(); + Busy_ButtonOK = false; + } + else + { + Thread thread = new Thread(MyThread_ButtonOK); + thread.Start(); + } + } + + private void MyRefresh_TaskData() + { + mTaskData.mID_Task = TaskData.mNextID_static; + mTaskData.mID_string_Task = $"{mTaskData.mID_Task}|{mTaskData.mID_ExTask}"; + mTaskData.mIndex_DuoXiangNaiLeiShuiPing = 1; + mTaskData.mTypeCode_Task = 4; + mTaskData.mIndex_CurrentCurve = 1; + mTaskData.mName_Task = mNameTask; + mTaskData.mXianLuID_Task = mXianLuData.mID_XianLu; + mTaskData.mXianLuName_Task = mXianLuData.mName_XianLu; + mTaskData.mXianLuJLZL_Task = mXianLuData.mJLZL_XianLu; + mTaskData.mDYDJ_Task = mXianLuData.mDYDJ_XianLu; + mTaskData.mFanJi_NaiLeiShuiPing = mFanJi_NaiLeiShuiPing; + mTaskData.mRaoJi_NaiLeiShuiPing = mRaoJi_NaiLeiShuiPing; + mTaskData.mFanJi_TZL = mFanJi_TZL; + mTaskData.mRaoJi_TZL = mRaoJi_TZL; + mTaskData.mPrepare11_LightingCurrent = mXianLuData.mPrepare1_LightingCurrent; + mTaskData.mPrepare12_DiShanMiDu = mXianLuData.mPrepare2_DiShanMiDu; + mTaskData.mPrepare13_DiMianQingJiao = mXianLuData.mPrepare3_DiMianQingJiao; + mTaskData.Finished4_GaiZaoJiSuan = 0; + } + + private void MyThread_ButtonOK() + { + Busy_ButtonOK = false; + MyRefresh_TaskData(); + mLeaving = true; + int num = 0; + bool flag = false; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (mTaskData.mID_Task == desktop.mTask.mListDetails[i].mTaskID_Detail) + { + num = i; + flag = true; + break; + } + } + if (!flag) + { + TaskDetail taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = mTaskData.mID_Task; + taskDetail.mXianLuID_Detail = mTaskData.mXianLuID_Task; + num = desktop.mTask.mListDetails.Count; + desktop.mTask.mListDetails.Add(taskDetail); + desktop.mTask.mListDetails[num].mTaskGroup.mID_Task = mTaskData.mID_Task; + desktop.mTask.mListDetails[num].mTaskData.mID_Task = mTaskData.mID_Task; + } + else if (flag) + { + MyLog.AddLog($"MyThread_ButtonOK() Detail repeat(indexDetail={num}, mListDetails.Count={desktop.mTask.mListDetails.Count})."); + } + TaskData taskData = null; + for (double num2 = mTaskData.mCurveTimeHead_min; num2 <= mTaskData.mCurveTimeHead_max; num2 += mTaskData.mCurveTimeHead_step) + { + for (double num3 = mTaskData.mCurveTimeTail_min; num3 <= mTaskData.mCurveTimeTail_max; num3 += mTaskData.mCurveTimeTail_step) + { + taskData = new TaskData(); + taskData.copyFrom_TaskData(mTaskData); + taskData.mCurveTimeHead = num2; + taskData.mCurveTimeTail = num3; + taskData.mTGanTas.SetXianLuData(mTaskData.mID_string_Task, mXianLuData); + taskData.mTGanTas.mListTGanTaData.Clear(); + desktop.mTask.Add1_ExTaskData(num, taskData); + } + } + GanTas ganTas = null; + for (int j = 0; j < desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData.Count; j++) + { + taskData = desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData[j]; + for (int k = 0; k < desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; k++) + { + ganTas = desktop.mXL.mListGanTas[mIndex_ListXianLuData]; + if (mList_GanTaID_2DisInclude_Checked_ByUser.Contains(ganTas.mListGanTaData[k].mID_GanTa)) + { + taskData.mTGanTas.Add1TGanTaData(ganTas.mListGanTaData[k], taskData.mIndex_CurrentCurve, taskData.mCurveTimeHead, taskData.mCurveTimeTail); + TGanTaData.mNextID_static++; + } + } + } + MyOutput_TaskData(); + Busy_ButtonOK = false; + base.DialogResult = DialogResult.OK; + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + MyButtonEnabled(buttonCancel, value: false); + Thread thread = new Thread(MyCancel); + thread.Start(); + } + + private void MyCancel() + { + mLeaving = true; + MyFormSetTitle(this, "取消—"); + MyFormSetTitle(this, "取消———"); + MyButtonEnabled(buttonCancel, value: true); + try + { + Busy_ButtonOK = false; + base.DialogResult = DialogResult.Cancel; + MyFormHide(this); + } + catch (Exception) + { + } + } + + private void buttonSelectAll_Click(object sender, EventArgs e) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + GanTas ganTas = desktop.mXL.mListGanTas[mIndex_ListXianLuData]; + GanTaData ganTaData = null; + if (ganTas == null || ganTas.mListGanTaData == null) + { + return; + } + mCurrentSelect = !mCurrentSelect; + for (int i = 0; i < ganTas.mListGanTaData.Count; i++) + { + ganTaData = ganTas.mListGanTaData[i]; + if (ganTaData != null && mCurrentSelect && (!mBool_GuiChengFa || (ganTaData.mBLQ_A_GanTa.Trim().Equals("否") && ganTaData.mBLQ_B_GanTa.Trim().Equals("否") && ganTaData.mBLQ_C_GanTa.Trim().Equals("否")))) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Add(ganTaData.mID_GanTa); + } + } + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text = ""; + for (int j = 0; j < mDGView.Rows.Count; j++) + { + if (mDGView.Rows[j] != null && mDGView.Rows[j].Cells != null && mDGView.Rows[j].Cells["塔号"] != null && mDGView.Rows[j].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[j].Cells["包含"]; + text = mDGView.Rows[j].Cells["塔号"].Value.ToString().Trim(); + dataGridViewCheckBoxCell.Value = mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text); + } + } + buttonSelectAll.Text = (mCurrentSelect ? "不选" : "全选"); + } + + private void buttonGaoJiSheZhi_Click(object sender, EventArgs e) + { + MyFormSetTitle(this, ""); + if (!Ready_XianLuName) + { + if (comboBox_XianLuName.Items.Count > 0) + { + MyFormSetTitle(this, "请选择线路,然后点击按钮“" + buttonGaoJiSheZhi.Text + "”。"); + } + if (comboBox_XianLuName.Items.Count == 0) + { + MyFormSetTitle(this, "缺少线路数据。 请点击按钮“" + buttonCancel.Text + "”,退出对话框。"); + } + comboBox_XianLuName.Focus(); + return; + } + string text = ""; + text = mXianLuData.Prepare_Complete(desktop.mSignal.mNeed_PrepareParameters_setting); + if (!text.Equals("OK")) + { + MyFormSetTitle(this, "!" + text + "!"); + Busy_ButtonOK = false; + return; + } + if (!Ready_TaskName) + { + switch (desktop.mTask.MyCheckTaskName(textBox_NameTask.Text.Trim())) + { + case 1: + MyFormSetTitle(this, "任务名称空白,请填写“任务名称”。"); + break; + case 2: + MyFormSetTitle(this, "任务名称重复,请重新填写“任务名称”。"); + break; + } + textBox_NameTask.Focus(); + return; + } + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text2 = ""; + for (int i = 0; i < mDGView.Rows.Count; i++) + { + if (mDGView.Rows[i] != null && mDGView.Rows[i].Cells != null && mDGView.Rows[i].Cells["塔号"] != null && mDGView.Rows[i].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[i].Cells["包含"]; + if (dataGridViewCheckBoxCell != null && dataGridViewCheckBoxCell.Value != null && (bool)dataGridViewCheckBoxCell.Value) + { + text2 = mDGView.Rows[i].Cells["塔号"].Value.ToString().Trim(); + mList_GanTaID_2DisInclude_Checked_ByUser.Add(text2); + } + } + } + if (mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0) + { + MyFormSetTitle(this, "包含杆塔为空,请选择计算“包含”杆塔,然后点击“" + buttonOK.Text + "”。"); + dataGridView_GanTa.Focus(); + Busy_ButtonOK = false; + return; + } + MyRefresh_TaskData(); + DialogResult dialogResult = DialogResult.None; + desktop.mDlg_GJSZ_PuTongJiSuan.SetParentCode(2); + desktop.mDlg_GJSZ_PuTongJiSuan.MyFormSetVisiable(desktop.mDlg_GJSZ_PuTongJiSuan, value: false); + dialogResult = desktop.mDlg_GJSZ_PuTongJiSuan.ShowDialog(this); + if (dialogResult == DialogResult.OK) + { + Thread thread = new Thread(MyThread_ButtonGaoJiSheZhi); + thread.Start(); + } + } + + private void MyThread_ButtonGaoJiSheZhi() + { + mLeaving = true; + Busy_ButtonOK = false; + int num = 0; + bool flag = false; + for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) + { + if (mTaskData.mID_Task == desktop.mTask.mListDetails[i].mTaskID_Detail) + { + num = i; + flag = true; + break; + } + } + if (!flag) + { + TaskDetail taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = mTaskData.mID_Task; + taskDetail.mXianLuID_Detail = mTaskData.mXianLuID_Task; + num = desktop.mTask.mListDetails.Count; + desktop.mTask.mListDetails.Add(taskDetail); + desktop.mTask.mListDetails[num].mTaskGroup.mID_Task = mTaskData.mID_Task; + desktop.mTask.mListDetails[num].mTaskData.mID_Task = mTaskData.mID_Task; + } + else if (flag) + { + MyLog.AddLog($"MyThread_ButtonGaoJiSheZhi() Detail repeat(indexDetail={num}, mListDetails.Count={desktop.mTask.mListDetails.Count})."); + } + TaskData taskData = null; + for (double num2 = mTaskData.mCurveTimeHead_min; num2 <= mTaskData.mCurveTimeHead_max; num2 += mTaskData.mCurveTimeHead_step) + { + for (double num3 = mTaskData.mCurveTimeTail_min; num3 <= mTaskData.mCurveTimeTail_max; num3 += mTaskData.mCurveTimeTail_step) + { + taskData = new TaskData(); + taskData.copyFrom_TaskData(mTaskData); + taskData.mCurveTimeHead = num2; + taskData.mCurveTimeTail = num3; + taskData.mTGanTas.SetXianLuData(mTaskData.mID_string_Task, mXianLuData); + taskData.mTGanTas.mListTGanTaData.Clear(); + desktop.mTask.Add1_ExTaskData(num, taskData); + } + } + GanTas ganTas = null; + for (int j = 0; j < desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData.Count; j++) + { + taskData = desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData[j]; + for (int k = 0; k < desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; k++) + { + ganTas = desktop.mXL.mListGanTas[mIndex_ListXianLuData]; + if (mList_GanTaID_2DisInclude_Checked_ByUser.Contains(ganTas.mListGanTaData[k].mID_GanTa)) + { + taskData.mTGanTas.Add1TGanTaData(ganTas.mListGanTaData[k], taskData.mIndex_CurrentCurve, taskData.mCurveTimeHead, taskData.mCurveTimeTail); + TGanTaData.mNextID_static++; + } + } + } + MyOutput_TaskData(); + base.DialogResult = DialogResult.OK; + } + + private void textBox_NameTask_TextChanged(object sender, EventArgs e) + { + mNameTask = textBox_NameTask.Text.Trim(); + Ready_TaskName = desktop.mTask.MyCheckTaskName(mNameTask) == 0; + } + + private void comboBox_XianLuName_SelectedIndexChanged(object sender, EventArgs e) + { + if (!mAfterInit || Busy_ButtonOK) + { + return; + } + MyFormSetTitle(this, "正在更新..."); + int selectedIndex = ((ComboBox)sender).SelectedIndex; + mIndexControl_XianLuName = selectedIndex; + mNameXianLu = ((ComboBox)sender).SelectedItem.ToString().Trim(); + for (int i = 0; i < desktop.mXL.mListXianLuData.Count; i++) + { + if (mNameXianLu.Equals(desktop.mXL.mListXianLuData[i].mName_XianLu)) + { + mIndex_ListXianLuData = i; + GetDataSet(); + MyQuery_refreshDGV(); + mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[i]); + mXianLuID = mXianLuData.mID_XianLu; + Ready_XianLuName = true; + break; + } + } + } + + private void GetDataSet() + { + if (mIndex_ListXianLuData < 0 || mIndex_ListXianLuData >= desktop.mXL.mListXianLuData.Count || desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count == 0) + { + return; + } + if (mDS == null) + { + mDS = new DataSet(); + } + if (mDS.Tables.Count == 0) + { + mDS.Tables.Add(new DataTable()); + } + if (mDS.Tables[0].Rows.Count > 0) + { + mDS.Tables[0].Rows.Clear(); + } + if (mDS.Tables[0].Columns.Count > 0) + { + mDS.Tables[0].Columns.Clear(); + } + mDS.Tables[0].Columns.Add("塔号"); + mDS.Tables[0].Columns.Add("杆塔模型"); + mDS.Tables[0].Columns.Add("地理坐标°"); + mDS.Tables[0].Columns.Add("档距"); + mDS.Tables[0].Columns.Add("海拔高度m"); + mDS.Tables[0].Columns.Add("地形"); + mDS.Tables[0].Columns.Add("接地电阻Ω"); + mDS.Tables[0].Columns.Add("地闪密度 次/(km^2*年)"); + mDS.Tables[0].Columns.Add("雷电流"); + mDS.Tables[0].Columns.Add("倾角"); + mDS.Tables[0].Columns.Add("塔型"); + GanTaData ganTaData = null; + for (int i = 0; i < desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count; i++) + { + ganTaData = desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData[i]; + if (!mBool_GuiChengFa || (ganTaData.mBLQ_A_GanTa.Trim().Equals("否") && ganTaData.mBLQ_B_GanTa.Trim().Equals("否") && ganTaData.mBLQ_C_GanTa.Trim().Equals("否"))) + { + DataRow dataRow = mDS.Tables[0].NewRow(); + for (int j = 0; j < mDS.Tables[0].Columns.Count; j++) + { + dataRow[j] = ""; + } + dataRow[0] = ganTaData.mID_GanTa ?? ""; + dataRow[1] = ganTaData.mModel_GanTa ?? ""; + dataRow[2] = $"{ganTaData.mJingDu_GanTa}|{ganTaData.mWeiDu_GanTa}"; + dataRow[3] = $"{ganTaData.mXiaoHao_GanTa},{ganTaData.mDaHao_GanTa}"; + dataRow[4] = $"{ganTaData.mHaiBa_GanTa}"; + dataRow[5] = ganTaData.mDiXing_GanTa ?? ""; + dataRow[6] = $"{ganTaData.mJDDZ_GanTa}"; + dataRow[7] = $"{ganTaData.mDSMD_GanTa}"; + dataRow[8] = $"{ganTaData.mCurrent_a_GanTa},{ganTaData.mCurrent_b_GanTa}"; + dataRow[9] = $"{ganTaData.mDMQJ1_GanTa},{ganTaData.mDMQJ2_GanTa}"; + dataRow[10] = ganTaData.mTaXing_GanTa ?? ""; + mDS.Tables[0].Rows.Add(dataRow); + } + } + } + + private void MyQuery_refreshDGV() + { + if (mDGView != null && mDGView.Columns.Count > 0) + { + if (mDGView.Columns.Contains("包含")) + { + mDGView.Columns.Remove("包含"); + } + if (mDGView.Columns.Contains("关联数目")) + { + mDGView.Columns.Remove("关联数目"); + } + } + mDGView.DataSource = null; + if (mDS == null || mDS.Tables.Count == 0) + { + return; + } + DataTable dataTable = mDS.Tables[0]; + mDGView.DataSource = dataTable.DefaultView; + if (mDGView.Columns.Contains(mMainKeyColumnName)) + { + mDGView.Columns[mMainKeyColumnName].ReadOnly = true; + } + else + { + mDGView.Columns[0].ReadOnly = true; + } + if (dataTable.Rows.Count > 0) + { + DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn = new DataGridViewCheckBoxColumn(); + dataGridViewCheckBoxColumn.HeaderText = "包含"; + dataGridViewCheckBoxColumn.Name = "包含"; + dataGridViewCheckBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; + dataGridViewCheckBoxColumn.FlatStyle = FlatStyle.Flat; + dataGridViewCheckBoxColumn.ThreeState = false; + if (mDGView.Columns.Count > 0 && mDGView.Columns.Contains("包含")) + { + mDGView.Columns.Remove("包含"); + } + mDGView.Columns.Insert(0, dataGridViewCheckBoxColumn); + } + if (dataTable.Rows.Count == 0 || mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0 || mAfterInit) + { + return; + } + bool flag = false; + bool flag2 = false; + string text = ""; + for (int i = 0; i < mList_GanTaID_2DisInclude_Checked_ByUser.Count; i++) + { + flag2 = false; + for (int j = 0; j < mDS.Tables[0].Rows.Count; j++) + { + if (mDS.Tables[0].Rows[j]["塔号"] != null) + { + text = mDS.Tables[0].Rows[j]["塔号"].ToString().Trim(); + if (text.Equals(mList_GanTaID_2DisInclude_Checked_ByUser[i] ?? "")) + { + flag2 = true; + break; + } + } + } + if (!flag2) + { + flag = true; + break; + } + } + if (flag) + { + mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); + return; + } + DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; + string text2 = ""; + for (int k = 0; k < mDGView.Rows.Count; k++) + { + if (mDGView.Rows[k] != null && mDGView.Rows[k].Cells != null && mDGView.Rows[k].Cells["塔号"] != null && mDGView.Rows[k].Cells["塔号"].Value != null) + { + dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[k].Cells["包含"]; + text2 = mDGView.Rows[k].Cells["塔号"].Value.ToString().Trim(); + dataGridViewCheckBoxCell.Value = mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text2); + } + } + } + + public void MyFormSetTitle(Form form, string value) + { + if (form.InvokeRequired) + { + delegateFormSetTitle method = MyFormSetTitle; + form.Invoke(method, form, value); + return; + } + if (string.IsNullOrEmpty(value)) + { + form.Text = mTitle; + } + if (!string.IsNullOrEmpty(value)) + { + form.Text = mTitle + " " + value; + } + } + + public void MyComboBoxItemsClear(ComboBox comboBox) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxItemsClear method = MyComboBoxItemsClear; + comboBox.Invoke(method, comboBox); + } + else + { + comboBox.Items.Clear(); + } + } + + public void MyComboBoxAdd(ComboBox comboBox, string value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxAdd method = MyComboBoxAdd; + comboBox.Invoke(method, comboBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + comboBox.Items.Add(value); + } + } + + public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) + { + if (comboBox.InvokeRequired) + { + delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; + comboBox.Invoke(method, comboBox, value); + } + else if (value >= 0 && value < comboBox.Items.Count) + { + comboBox.SelectedIndex = value; + } + } + + public void MyListBoxItemsClear(ListBox listBox) + { + if (listBox.InvokeRequired) + { + delegateListBoxItemsClear method = MyListBoxItemsClear; + listBox.Invoke(method, listBox); + } + else + { + listBox.Items.Clear(); + } + } + + public void MyListBoxAdd(ListBox listBox, string value) + { + if (listBox.InvokeRequired) + { + delegateListBoxAdd method = MyListBoxAdd; + listBox.Invoke(method, listBox, value); + } + else if (!string.IsNullOrEmpty(value)) + { + listBox.Items.Add(value); + } + } + + public void MyListBoxSelectedIndex(ListBox listBox, int value) + { + if (listBox.InvokeRequired) + { + delegateListBoxSelectedIndex method = MyListBoxSelectedIndex; + listBox.Invoke(method, listBox, value); + } + else if (value >= 0 && value < listBox.Items.Count) + { + listBox.SelectedIndex = value; + } + } + + public void MyTextBoxSetText(TextBox textBox, string value) + { + if (textBox.InvokeRequired) + { + delegateTextBoxSetText method = MyTextBoxSetText; + textBox.Invoke(method, textBox, value); + } + else + { + textBox.Text = value; + } + } + + public void MyButtonEnabled(Button button, bool value) + { + if (button.InvokeRequired) + { + delegateButtonEnabled method = MyButtonEnabled; + button.Invoke(method, button, value); + } + else + { + button.Enabled = value; + } + } + + public void MyFormHide(Form form) + { + try + { + if (form.InvokeRequired) + { + delegateFormHide method = MyFormHide; + form.Invoke(method, form); + } + else + { + form.Hide(); + } + } + catch (Exception) + { + } + } + + protected override void Dispose(bool disposing) + { + if (disposing && components != null) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + private void InitializeComponent() + { + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonGaoJiSheZhi = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.textBox_NameTask = new System.Windows.Forms.TextBox(); + this.comboBox_XianLuName = new System.Windows.Forms.ComboBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.dataGridView_GanTa = new System.Windows.Forms.DataGridView(); + this.buttonSelectAll = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).BeginInit(); + base.SuspendLayout(); + this.buttonCancel.Location = new System.Drawing.Point(409, 491); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(86, 28); + this.buttonCancel.TabIndex = 8; + this.buttonCancel.Text = "取消"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); + this.buttonGaoJiSheZhi.Location = new System.Drawing.Point(12, 491); + this.buttonGaoJiSheZhi.Name = "buttonGaoJiSheZhi"; + this.buttonGaoJiSheZhi.Size = new System.Drawing.Size(86, 28); + this.buttonGaoJiSheZhi.TabIndex = 6; + this.buttonGaoJiSheZhi.Text = "高级设置"; + this.buttonGaoJiSheZhi.UseVisualStyleBackColor = true; + this.buttonGaoJiSheZhi.Click += new System.EventHandler(buttonGaoJiSheZhi_Click); + this.buttonOK.Location = new System.Drawing.Point(286, 491); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(86, 28); + this.buttonOK.TabIndex = 7; + this.buttonOK.Text = "确定"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(buttonOK_Click); + this.textBox_NameTask.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.textBox_NameTask.Location = new System.Drawing.Point(12, 73); + this.textBox_NameTask.Name = "textBox_NameTask"; + this.textBox_NameTask.Size = new System.Drawing.Size(483, 26); + this.textBox_NameTask.TabIndex = 1; + this.textBox_NameTask.TextChanged += new System.EventHandler(textBox_NameTask_TextChanged); + this.comboBox_XianLuName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_XianLuName.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.comboBox_XianLuName.FormattingEnabled = true; + this.comboBox_XianLuName.Location = new System.Drawing.Point(12, 28); + this.comboBox_XianLuName.Name = "comboBox_XianLuName"; + this.comboBox_XianLuName.Size = new System.Drawing.Size(483, 20); + this.comboBox_XianLuName.TabIndex = 0; + this.comboBox_XianLuName.SelectedIndexChanged += new System.EventHandler(comboBox_XianLuName_SelectedIndexChanged); + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label3.Location = new System.Drawing.Point(19, 56); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(63, 14); + this.label3.TabIndex = 68; + this.label3.Text = "任务名称"; + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); + this.label1.Location = new System.Drawing.Point(19, 11); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(63, 14); + this.label1.TabIndex = 69; + this.label1.Text = "线路名称"; + this.dataGridView_GanTa.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.dataGridView_GanTa.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView_GanTa.Location = new System.Drawing.Point(12, 105); + this.dataGridView_GanTa.Name = "dataGridView_GanTa"; + this.dataGridView_GanTa.RowTemplate.Height = 23; + this.dataGridView_GanTa.Size = new System.Drawing.Size(483, 380); + this.dataGridView_GanTa.TabIndex = 70; + this.buttonSelectAll.Location = new System.Drawing.Point(193, 491); + this.buttonSelectAll.Name = "buttonSelectAll"; + this.buttonSelectAll.Size = new System.Drawing.Size(75, 28); + this.buttonSelectAll.TabIndex = 71; + this.buttonSelectAll.Text = "全选"; + this.buttonSelectAll.UseVisualStyleBackColor = true; + this.buttonSelectAll.Click += new System.EventHandler(buttonSelectAll_Click); + base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); + base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + base.ClientSize = new System.Drawing.Size(507, 531); + base.Controls.Add(this.buttonSelectAll); + base.Controls.Add(this.dataGridView_GanTa); + base.Controls.Add(this.buttonCancel); + base.Controls.Add(this.buttonGaoJiSheZhi); + base.Controls.Add(this.buttonOK); + base.Controls.Add(this.textBox_NameTask); + base.Controls.Add(this.comboBox_XianLuName); + base.Controls.Add(this.label3); + base.Controls.Add(this.label1); + base.Name = "Form_TongTiaoJiSuan"; + base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Form_GaiZao_JiSuan"; + base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form_GaiZaoJiSuan_FormClosing); + base.Load += new System.EventHandler(Form_GaiZaoJiSuan_Load); + base.Resize += new System.EventHandler(Form_TongTiaoJiSuan_Resize); + ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).EndInit(); + base.ResumeLayout(false); + base.PerformLayout(); + } +} diff --git a/LP/FuXian.cs b/LP/FuXian.cs new file mode 100644 index 0000000..d47ba74 --- /dev/null +++ b/LP/FuXian.cs @@ -0,0 +1,2811 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +namespace LP; + +public class FuXian +{ + public readonly double[,] data = null; + + public readonly double[] bw = new double[2] { 1.14148986513825, 9.65598579731003 }; + + public string mFName_file = "FuXian\\file_1.txt"; + + public string mFName_data = "FuXian\\data_1.txt"; + + public string mFName_out = "FuXian\\data_out.txt"; + + public int mCurveNo; + + public int mNumHead; + + public int mNumTail; + + public double mShuiPing; + + public int m0FanJi_1RaoJi; + + public List arrHead = null; + + public List arrTail = null; + + public List arrFanJi = null; + + public List arrRaoJi = null; + + public List mListHead = null; + + public List mListNum = null; + + public double mSearchFanJi; + + public double mSearchRaoJi; + + public FuXian() + { + mCurveNo = 1; + mNumHead = 1; + mNumTail = 1; + mShuiPing = 10.0; + m0FanJi_1RaoJi = 0; + if (data == null) + { + data = new double[97, 2] + { + { 2.5446625, 71.94915 }, + { 3.878075, 45.71697 }, + { 5.2919, 36.68912 }, + { 2.2, 35.016475 }, + { 5.2623375, 53.46354 }, + { 0.5975, 69.55 }, + { 8.6125, 40.043055 }, + { 1.0364225, 59.31549 }, + { 2.2287375, 68.80835 }, + { 6.3, 88.8407 }, + { 6.3791875, 45.053385 }, + { 38.3205, 75.1023 }, + { 2.770925, 86.41685 }, + { 0.78666, 43.69612 }, + { 1.9475375, 64.02136 }, + { 6.43745, 47.88732 }, + { 2.1827875, 64.6113 }, + { 5.878075, 62.836475 }, + { 0.94157125, 45.493045 }, + { 8.7521625, 45.177535 }, + { 1.381825, 67.2178 }, + { 5.39025, 73.2563 }, + { 3.5, 31.135 }, + { 11.3375, 14.495 }, + { 4.1772125, 100.8358 }, + { + 41.0 / 160.0, + 79.7992 + }, + { 3.625, 92.95 }, + { 6.9187875, 57.616195 }, + { 0.904215, 55.79496 }, + { 2.925, 86.0249 }, + { 2.1625, 67.3465 }, + { 0.055375, 71.3609 }, + { 3.52085, 55.69681 }, + { 1.55, 77.29865 }, + { 9.1396125, 36.816325 }, + { 1.811025, 86.48445 }, + { 9.5971875, 46.126925 }, + { 1.9967875, 62.300745 }, + { 1.7409625, 40.6081 }, + { 9.5375, 49.27 }, + { 6.258875, 83.8786 }, + { 0.80435625, 83.265 }, + { 13.94925, 128.91645 }, + { 2.077225, 79.781 }, + { 10.8873375, 34.65475 }, + { 11.65, 33.865 }, + { 5.142125, 46.79155 }, + { 1.832, 87.789 }, + { 1.29575, 63.037325 }, + { 1.9125, 57.2 }, + { 2.4490625, 44.61132 }, + { 3.968625, 69.64555 }, + { 3.0873375, 44.872295 }, + { 3.4136625, 67.834 }, + { 2.452875, 75.61905 }, + { 2.3944875, 77.82255 }, + { 2.085875, 78.06955 }, + { 3.0885625, 78.0 }, + { 3.5739625, 66.1076 }, + { 2.4911625, 80.22755 }, + { 7.2521875, 56.4239 }, + { 0.95733125, 85.36125 }, + { 4.85, 72.54 }, + { 3.3823375, 50.460345 }, + { 1.6570625, 77.883 }, + { 5.9302875, 83.36445 }, + { 19.0, 82.68 }, + { 2.2402125, 83.1415 }, + { 2.28455, 77.97725 }, + { 1.645225, 86.0925 }, + { 12.625, 33.8 }, + { 2.5478, 62.411375 }, + { 6.5173125, 57.049395 }, + { 10.671875, 37.177335 }, + { 2.9472375, 55.92483 }, + { 2.9691, 50.966825 }, + { 9.0238125, 17.03364 }, + { 5.9496, 32.13704 }, + { 1.12263, 54.11705 }, + { 2.6329625, 66.84535 }, + { 2.23485, 64.15552 }, + { 1.3868625, 73.6411 }, + { 5.175, 76.284 }, + { 4.9095375, 31.97792 }, + { 5.8178125, 68.0498 }, + { 2.4029375, 18.073835 }, + { 3.200375, 56.467645 }, + { 11.185225, 84.01835 }, + { 5.362175, 37.23395 }, + { 4.804875, 53.678495 }, + { 6.351875, 65.56745 }, + { 3.094075, 78.03315 }, + { 1.520025, 74.08245 }, + { 2.7534, 79.118 }, + { 3.2919125, 65.1573 }, + { 3.2234875, 76.882 }, + { 3.87235, 76.0526 } + }; + } + if (arrHead == null) + { + arrHead = new List(); + } + if (arrTail == null) + { + arrTail = new List(); + } + if (arrFanJi == null) + { + arrFanJi = new List(); + } + if (arrRaoJi == null) + { + arrRaoJi = new List(); + } + arrHead.Clear(); + arrTail.Clear(); + arrFanJi.Clear(); + arrRaoJi.Clear(); + if (mListHead == null) + { + mListHead = new List(); + } + if (mListNum == null) + { + mListNum = new List(); + } + mListHead.Clear(); + mListNum.Clear(); + } + + public void Destroy() + { + if (arrHead != null) + { + arrHead.Clear(); + } + arrHead = null; + if (arrTail != null) + { + arrTail.Clear(); + } + arrTail = null; + if (arrFanJi != null) + { + arrFanJi.Clear(); + } + arrFanJi = null; + if (arrRaoJi != null) + { + arrRaoJi.Clear(); + } + arrRaoJi = null; + } + + public string ReadFileData() + { + string result = "OK"; + int num = 0; + if (!File.Exists(mFName_file)) + { + return "文件未找到(" + mFName_file + ") ReadFileData()"; + } + using (FileStream fileStream = new FileStream(mFName_file, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader = new StreamReader(fileStream, Encoding.UTF8)) + { + while (!streamReader.EndOfStream) + { + string value = streamReader.ReadLine().Trim(); + if (string.IsNullOrEmpty(value)) + { + continue; + } + double num2; + try + { + num2 = Convert.ToDouble(value); + } + catch (Exception) + { + num2 = -1.0; + } + if (!(num2 < 0.0)) + { + num++; + switch (num) + { + case 1: + mCurveNo = (int)num2; + break; + case 2: + mNumHead = (int)num2; + break; + case 3: + mNumTail = (int)num2; + break; + case 4: + mShuiPing = num2; + break; + case 5: + m0FanJi_1RaoJi = (int)num2; + break; + } + } + } + if (mCurveNo < 1) + { + mCurveNo = 1; + } + if (mCurveNo > 3) + { + mCurveNo = 3; + } + if (m0FanJi_1RaoJi > 1) + { + m0FanJi_1RaoJi = 1; + } + streamReader.Close(); + } + fileStream.Close(); + } + if (!File.Exists(mFName_data)) + { + return "文件未找到(" + mFName_data + ") ReadFileData()"; + } + arrHead.Clear(); + arrTail.Clear(); + arrFanJi.Clear(); + arrRaoJi.Clear(); + string[] separator = new string[4] { "\r", "\n", " ", "\t" }; + string[] array = null; + using (FileStream fileStream2 = new FileStream(mFName_data, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader2 = new StreamReader(fileStream2, Encoding.UTF8)) + { + while (!streamReader2.EndOfStream) + { + string value = streamReader2.ReadLine(); + if (string.IsNullOrEmpty(value)) + { + continue; + } + array = value.Split(separator, StringSplitOptions.RemoveEmptyEntries); + if (array.Length >= 4) + { + double num2; + try + { + num2 = Convert.ToDouble(array[0]); + } + catch (Exception) + { + num2 = -1.0; + } + arrHead.Add(num2); + try + { + num2 = Convert.ToDouble(array[1]); + } + catch (Exception) + { + num2 = -1.0; + } + arrTail.Add(num2); + try + { + num2 = Convert.ToDouble(array[2]); + } + catch (Exception) + { + num2 = -1.0; + } + arrFanJi.Add(num2); + try + { + num2 = Convert.ToDouble(array[3]); + } + catch (Exception) + { + num2 = -1.0; + } + arrRaoJi.Add(num2); + } + } + streamReader2.Close(); + } + fileStream2.Close(); + } + if (arrHead.Count <= 1) + { + return result; + } + int num3 = 0; + for (int i = 0; i < arrHead.Count; i++) + { + for (int j = i + 1; j < arrHead.Count; j++) + { + if (!(arrHead[i] + 0.0001 < arrHead[j]) && (!(Math.Abs(arrHead[i] - arrHead[j]) < 0.0001) || !(arrTail[i] + 0.0001 < arrTail[j]))) + { + double num2 = arrHead[i]; + arrHead[i] = arrHead[j]; + arrHead[j] = num2; + num2 = arrTail[i]; + arrTail[i] = arrTail[j]; + arrTail[j] = num2; + num2 = arrFanJi[i]; + arrFanJi[i] = arrFanJi[j]; + arrFanJi[j] = num2; + num2 = arrRaoJi[i]; + arrRaoJi[i] = arrRaoJi[j]; + arrRaoJi[j] = num2; + num3++; + } + } + } + if (num3 > 0) + { + using FileStream fileStream3 = new FileStream(mFName_data, FileMode.Create, FileAccess.Write, FileShare.None); + using (StreamWriter streamWriter = new StreamWriter(fileStream3, Encoding.UTF8)) + { + for (int k = 0; k < arrHead.Count; k++) + { + string value = $"{arrHead[k]}\t{arrTail[k]}\t{arrFanJi[k]}\t{arrRaoJi[k]}"; + streamWriter.WriteLine(value); + } + streamWriter.Close(); + } + fileStream3.Close(); + } + int num4 = 0; + for (int l = 0; l < arrHead.Count - 1; l++) + { + for (int m = l; m < arrHead.Count && Math.Abs(arrHead[l] - arrHead[m]) < 0.0001; m++) + { + num4++; + } + if (num4 > 0) + { + break; + } + } + mNumTail = num4; + mNumHead = arrHead.Count / num4; + double num5 = -1.0; + int num6 = 0; + mListHead.Clear(); + mListNum.Clear(); + for (int n = 0; n < arrHead.Count; n++) + { + if (n == 0) + { + num5 = arrHead[n]; + num6 = 1; + } + else if (Math.Abs(num5 - arrHead[n]) > 0.0001 && num6 > 0) + { + mListHead.Add(num5); + mListNum.Add(num6); + num5 = arrHead[n]; + num6 = 1; + if (n == arrHead.Count - 1) + { + mListHead.Add(num5); + mListNum.Add(num6); + break; + } + } + else + { + num6++; + if (n == arrHead.Count - 1 && Math.Abs(num5 - arrHead[n]) < 0.0001) + { + mListHead.Add(num5); + mListNum.Add(num6); + break; + } + } + } + num4 = 0; + for (int num7 = 0; num7 < mListNum.Count; num7++) + { + num4 += mListNum[num7]; + } + if (num4 != arrHead.Count) + { + MyLog.AddLog($"ReadFileData() arrHead.Count={arrHead.Count} 不等于 mListNum={num4} ({mFName_data})"); + } + return result; + } + + public void Search() + { + if (arrHead.Count == 0) + { + return; + } + bool flag = false; + mSearchFanJi = arrFanJi[0]; + mSearchRaoJi = arrRaoJi[0]; + for (int i = 0; i < arrHead.Count; i++) + { + if (!(Math.Abs(arrHead[i] - 2.6) > 0.0001) && !(Math.Abs(arrTail[i] - 50.0) > 0.0001)) + { + mSearchFanJi = arrFanJi[i]; + mSearchRaoJi = arrRaoJi[i]; + flag = true; + break; + } + } + if (!flag) + { + MyLog.AddLog("Search() 未发现(波头2.6,波尾50)匹配的数据。(" + mFName_data + ")"); + } + } + + public double Proba(double head, double tail) + { + double num = 0.0; + double num2 = 0.0; + double num3 = 0.0; + for (int i = 0; i < 97; i++) + { + num2 = Math.Exp(-0.5 * (Math.Pow((head - data[i, 0]) / bw[0], 2.0) + Math.Pow((tail - data[i, 1]) / bw[1], 2.0))); + num3 += num2; + } + return num3 / (Math.PI * 194.0 * bw[0] * bw[1] * 0.999874014593309); + } + + public string LeiDianFuXian() + { + string text = ""; + Search(); + double num = mSearchFanJi; + if (m0FanJi_1RaoJi == 0) + { + num = mSearchFanJi; + } + if (m0FanJi_1RaoJi == 1) + { + num = mSearchRaoJi; + } + if (mShuiPing > num) + { + text = "No need!"; + using (FileStream fileStream = new FileStream(mFName_out, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + streamWriter.WriteLine(text); + streamWriter.Close(); + } + fileStream.Close(); + } + return text; + } + double num2 = 0.0; + double num3 = 0.0; + double num4 = 0.0; + double num5 = 0.0; + double num6 = 0.0; + double num7 = 0.0; + double num8 = 0.0; + double num9 = 0.0; + double num10 = 0.0; + double num11 = 0.0; + double num12 = 0.0; + int num13 = 0; + for (int i = 0; i < mNumHead; i++) + { + for (int j = 0; j < mNumTail; j++) + { + num13 = i * mNumTail + j; + if (num13 >= arrHead.Count) + { + break; + } + double num14; + double num15; + if (j == 0) + { + num2 = arrHead[num13]; + num3 = arrTail[num13]; + num14 = arrFanJi[num13]; + num15 = arrRaoJi[num13]; + num10 = ((m0FanJi_1RaoJi == 0) ? num14 : ((m0FanJi_1RaoJi != 1) ? num14 : num15)); + if (Math.Abs(mShuiPing - num10) < 0.0001) + { + double num16 = Proba(num2, num3); + if (num16 > num12) + { + num12 = num16; + num8 = num2; + num9 = num3; + } + } + else if (i == 0 && mShuiPing < num10 && m0FanJi_1RaoJi == 0) + { + num12 = Proba(num2, num3); + num8 = num2; + num9 = num3; + } + else + { + double num16 = Proba(num2, num3); + if (num16 > num12) + { + num12 = num16; + num8 = num2; + num9 = num3; + } + } + continue; + } + num4 = arrHead[num13]; + num5 = arrTail[num13]; + num6 = arrFanJi[num13]; + num7 = arrRaoJi[num13]; + num11 = ((m0FanJi_1RaoJi == 0) ? num6 : ((m0FanJi_1RaoJi != 1) ? num6 : num7)); + if (Math.Abs(mShuiPing - num11) < 0.0001) + { + double num16 = Proba(num4, num5); + if (num16 > num12) + { + num12 = num16; + num8 = num4; + num9 = num5; + } + } + else if (mShuiPing > num10 && mShuiPing < num11) + { + if (Math.Abs(num2 - num4) < 0.0001) + { + double num17 = num2; + double num18 = ((!(num3 > num5)) ? (num3 + (num5 - num3) * (mShuiPing - num10) / (num11 - num10)) : (num5 + (num3 - num5) * (mShuiPing - num10) / (num11 - num10))); + double num16 = Proba(num17, num18); + if (num16 > num12) + { + num12 = num16; + num8 = num17; + num9 = num18; + } + } + else if (Math.Abs(num3 - num5) < 0.0001) + { + double num18 = num3; + double num17 = ((!(num2 > num4)) ? (num2 + (num4 - num2) * (mShuiPing - num10) / (num11 - num10)) : (num4 + (num2 - num4) * (mShuiPing - num10) / (num11 - num10))); + double num16 = Proba(num17, num18); + if (num16 > num12) + { + num12 = num16; + num8 = num17; + num9 = num18; + } + } + } + else if (mShuiPing > num11 && mShuiPing < num10) + { + if (Math.Abs(num2 - num4) < 0.0001) + { + double num17 = num2; + double num18 = ((!(num3 > num5)) ? (num3 + (num5 - num3) * (mShuiPing - num11) / (num10 - num11)) : (num5 + (num3 - num5) * (mShuiPing - num11) / (num10 - num11))); + double num16 = Proba(num17, num18); + if (num16 > num12) + { + num12 = num16; + num8 = num17; + num9 = num18; + } + } + else if (Math.Abs(num3 - num5) < 0.0001) + { + double num18 = num3; + double num17 = ((!(num2 > num4)) ? (num2 + (num4 - num2) * (mShuiPing - num11) / (num10 - num11)) : (num4 + (num2 - num4) * (mShuiPing - num11) / (num10 - num11))); + double num16 = Proba(num17, num18); + if (num16 > num12) + { + num12 = num16; + num8 = num17; + num9 = num18; + } + } + } + num2 = num4; + num3 = num5; + num14 = num6; + num15 = num7; + if (i == mNumHead - 1 && j == mNumTail - 1 && mShuiPing < num11 && m0FanJi_1RaoJi == 1) + { + num12 = Proba(num4, num5); + num8 = num4; + num9 = num5; + } + } + } + text = $"head = {num8}, tail = {num9}, pro = {num12}"; + using (FileStream fileStream2 = new FileStream(mFName_out, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter2 = new StreamWriter(fileStream2, Encoding.UTF8)) + { + streamWriter2.WriteLine(text); + streamWriter2.Close(); + } + fileStream2.Close(); + } + return text; + } + + public string LeiDianFuXian2() + { + string text = ""; + Search(); + double num = mSearchFanJi; + if (m0FanJi_1RaoJi == 0) + { + num = mSearchFanJi; + } + if (m0FanJi_1RaoJi == 1) + { + num = mSearchRaoJi; + } + if (mShuiPing > num) + { + text = "No need!"; + using (FileStream fileStream = new FileStream(mFName_out, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + streamWriter.WriteLine(text); + streamWriter.Close(); + } + fileStream.Close(); + } + return text; + } + double num2 = 0.0; + double num3 = 0.0; + double num4 = 0.0; + double num5 = 0.0; + double num6 = 0.0; + double num7 = 0.0; + double num8 = 0.0; + double num9 = 0.0; + double num10 = 0.0; + double num11 = 0.0; + double num12 = 0.0; + int num13 = 0; + for (int i = 0; i < mListNum.Count; i++) + { + if (num13 >= arrHead.Count) + { + break; + } + int num14 = 0; + while (num14 < mListNum[i] && num13 < arrHead.Count) + { + if (num14 == 0) + { + num2 = arrHead[num13]; + num3 = arrTail[num13]; + double num15 = arrFanJi[num13]; + double num16 = arrRaoJi[num13]; + num10 = ((m0FanJi_1RaoJi == 0) ? num15 : ((m0FanJi_1RaoJi != 1) ? num15 : num16)); + if (Math.Abs(mShuiPing - num10) < 0.0001) + { + double num17 = Proba(num2, num3); + if (num17 > num12) + { + num12 = num17; + num8 = num2; + num9 = num3; + } + } + else if (i == 0 && mShuiPing < num10 && m0FanJi_1RaoJi == 0) + { + num12 = Proba(num2, num3); + num8 = num2; + num9 = num3; + } + else + { + double num17 = Proba(num2, num3); + if (num17 > num12) + { + num12 = num17; + num8 = num2; + num9 = num3; + } + } + } + else + { + num4 = arrHead[num13]; + num5 = arrTail[num13]; + num6 = arrFanJi[num13]; + num7 = arrRaoJi[num13]; + num11 = ((m0FanJi_1RaoJi == 0) ? num6 : ((m0FanJi_1RaoJi != 1) ? num6 : num7)); + if (Math.Abs(mShuiPing - num11) < 0.0001) + { + double num17 = Proba(num4, num5); + if (num17 > num12) + { + num12 = num17; + num8 = num4; + num9 = num5; + } + } + else if (mShuiPing > num10 && mShuiPing < num11) + { + if (Math.Abs(num2 - num4) < 0.0001) + { + double num18 = num2; + double num19 = ((!(num3 > num5)) ? (num3 + (num5 - num3) * (mShuiPing - num10) / (num11 - num10)) : (num5 + (num3 - num5) * (mShuiPing - num10) / (num11 - num10))); + double num17 = Proba(num18, num19); + if (num17 > num12) + { + num12 = num17; + num8 = num18; + num9 = num19; + } + } + else if (Math.Abs(num3 - num5) < 0.0001) + { + double num19 = num3; + double num18 = ((!(num2 > num4)) ? (num2 + (num4 - num2) * (mShuiPing - num10) / (num11 - num10)) : (num4 + (num2 - num4) * (mShuiPing - num10) / (num11 - num10))); + double num17 = Proba(num18, num19); + if (num17 > num12) + { + num12 = num17; + num8 = num18; + num9 = num19; + } + } + } + else if (mShuiPing > num11 && mShuiPing < num10) + { + if (Math.Abs(num2 - num4) < 0.0001) + { + double num18 = num2; + double num19 = ((!(num3 > num5)) ? (num3 + (num5 - num3) * (mShuiPing - num11) / (num10 - num11)) : (num5 + (num3 - num5) * (mShuiPing - num11) / (num10 - num11))); + double num17 = Proba(num18, num19); + if (num17 > num12) + { + num12 = num17; + num8 = num18; + num9 = num19; + } + } + else if (Math.Abs(num3 - num5) < 0.0001) + { + double num19 = num3; + double num18 = ((!(num2 > num4)) ? (num2 + (num4 - num2) * (mShuiPing - num11) / (num10 - num11)) : (num4 + (num2 - num4) * (mShuiPing - num11) / (num10 - num11))); + double num17 = Proba(num18, num19); + if (num17 > num12) + { + num12 = num17; + num8 = num18; + num9 = num19; + } + } + } + num2 = num4; + num3 = num5; + double num15 = num6; + double num16 = num7; + if (num13 == arrHead.Count - 1 && mShuiPing < num11 && m0FanJi_1RaoJi == 1) + { + num12 = Proba(num4, num5); + num8 = num4; + num9 = num5; + } + } + num14++; + num13++; + } + } + text = $"head = {num8}, tail = {num9}, pro = {num12}"; + using (FileStream fileStream2 = new FileStream(mFName_out, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter2 = new StreamWriter(fileStream2, Encoding.UTF8)) + { + streamWriter2.WriteLine(text); + streamWriter2.Close(); + } + fileStream2.Close(); + } + return text; + } + + public string MyLoad_BaseData(string _fname) + { + string result = "OK"; + bool flag = false; + int i = -1; + int num = 0; + int num2 = 0; + double num3 = 0.0; + string text = ""; + string[] array = new string[2] { "", "" }; + string[] array2 = new string[2] { "", "" }; + string text2 = ""; + string[] separator = new string[3] { "\r", "\n", "," }; + string[] array3 = null; + TGanTaData tGanTaData = null; + int num4 = 0; + int num5 = 0; + string text3 = ""; + Dictionary dictionary = new Dictionary(); + dictionary.Clear(); + bool flag2 = false; + arrHead.Clear(); + arrTail.Clear(); + arrFanJi.Clear(); + arrRaoJi.Clear(); + try + { + using FileStream fileStream = new FileStream(_fname, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream, Encoding.UTF8)) + { + while (!streamReader.EndOfStream) + { + text2 = streamReader.ReadLine().Trim(); + if (string.IsNullOrEmpty(text2)) + { + continue; + } + if (!flag) + { + for (i = 0; i < array.Length; i++) + { + if (text2.IndexOf(array[i]) >= 0) + { + flag = true; + num = 0; + break; + } + } + continue; + } + if (flag) + { + for (int j = 0; j < array2.Length; j++) + { + if (text2.IndexOf(array2[j]) >= 0) + { + flag = false; + i = -1; + break; + } + } + if (!flag) + { + continue; + } + } + string text4 = array[i]; + string text5 = text4; + if (!(text5 == "")) + { + if (text5 == "") + { + num++; + } + continue; + } + array3 = text2.Split(separator, StringSplitOptions.None); + if (num == 0) + { + num4 = 0; + } + if (num == 0 && text2.IndexOf("杆塔模型") >= 0) + { + for (int k = 0; k < array3.Length; k++) + { + dictionary.Add(array3[k], k); + } + num++; + num4 = 0; + flag2 = true; + continue; + } + if (array3.Length >= 93) + { + tGanTaData = new TGanTaData(); + if (flag2) + { + for (int l = 0; l < array3.Length; l++) + { + text3 = dictionary.ElementAt(l).Key; + num5 = dictionary.ElementAt(l).Value; + if (array3[num5] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num5].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num5].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num5].Trim(); + switch (text3) + { + case "任务编号": + tGanTaData.mTaskIDstring = text; + break; + case "任务塔号": + tGanTaData.mID_TGanTa = num2; + break; + case "线路编号": + tGanTaData.mXianLuID = num2; + break; + case "序号": + tGanTaData.mIndex__GanTa = num2; + break; + case "线路名称": + tGanTaData.mXianLuName = text; + break; + case "电压等级": + tGanTaData.mDYDJ_GanTa = num2; + break; + case "塔号": + tGanTaData.mID_GanTa = text; + break; + case "杆塔模型": + tGanTaData.mModel_GanTa = text; + break; + case "塔形": + tGanTaData.mTaXing_GanTa = text; + break; + case "经度": + tGanTaData.mJingDu_GanTa = num3; + break; + case "纬度": + tGanTaData.mWeiDu_GanTa = num3; + break; + case "I回相序": + tGanTaData.mXiangXu1_GanTa = text; + break; + case "II回相序": + tGanTaData.mXiangXu2_GanTa = text; + break; + case "III回相序": + tGanTaData.mXiangXu3_GanTa = text; + break; + case "IV回相序": + tGanTaData.mXiangXu4_GanTa = text; + break; + case "A相是否安装避雷器": + tGanTaData.mBLQ_A_GanTa = text; + break; + case "B相是否安装避雷器": + tGanTaData.mBLQ_B_GanTa = text; + break; + case "C相是否安装避雷器": + tGanTaData.mBLQ_C_GanTa = text; + break; + case "接地电阻": + tGanTaData.mJDDZ_GanTa = num3; + break; + case "左避雷中距m": + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case "右避雷中距m": + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case "避雷线高度m": + tGanTaData.mBLXGD_GanTa = num3; + break; + case "绝缘子串长度mm": + tGanTaData.mJYZCD_GanTa = num3; + break; + case "杆塔呼高m": + tGanTaData.mHuGao_GanTa = num3; + break; + case "I回上相中距m": + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case "I回中相中距m": + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case "I回下相中距m": + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case "I回上相高度m": + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case "I回中相高度m": + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case "I回下相高度m": + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case "II回上相中距m": + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case "II回中相中距m": + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case "II回下相中距m": + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case "II回上相高度m": + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case "II回中相高度m": + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case "II回下相高度m": + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case "III回上相中距m": + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case "III回中相中距m": + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case "III回下相中距m": + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case "III回上相高度m": + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case "III回中相高度m": + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case "III回下相高度m": + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case "IV回上相中距m": + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case "IV回中相中距m": + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case "IV回下相中距m": + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case "IV回上相高度m": + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case "IV回中相高度m": + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case "IV回下相高度m": + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case "小号侧档距": + tGanTaData.mXiaoHao_GanTa = num3; + break; + case "大号侧档距": + tGanTaData.mDaHao_GanTa = num3; + break; + case "电角度": + tGanTaData.mAngle_GanTa = num3; + break; + case "雷电流幅值a": + tGanTaData.mCurrent_a_GanTa = num3; + break; + case "雷电流幅值b": + tGanTaData.mCurrent_b_GanTa = num3; + break; + case "地面倾角1": + tGanTaData.mDMQJ1_GanTa = num3; + break; + case "地面倾角2": + tGanTaData.mDMQJ2_GanTa = num3; + break; + case "海拔m": + tGanTaData.mHaiBa_GanTa = num3; + break; + case "地形": + tGanTaData.mDiXing_GanTa = text; + break; + case "地闪密度": + tGanTaData.mDSMD_GanTa = num3; + break; + case "直线或耐张杆塔": + tGanTaData.mZXNZ_GanTa = text; + break; + case "雷电流波形种类": + tGanTaData.mCurrentType_GanTa = num2; + break; + case "波头时间/μs": + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case "波尾时间/μs": + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case "绕击反击": + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case "反击耐雷水平kA": + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case "反击跳闸率(次/100km.a)": + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case "绕击耐雷水平kA": + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case "绕击跳闸率(次/100km.a)": + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num2; + break; + case "A相绕击耐雷水平kA": + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case "B相绕击耐雷水平kA": + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case "C相绕击耐雷水平kA": + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case "单相反击耐雷水平kA": + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case "单相闪络相": + tGanTaData.mM1_Xiang_GanTa = text; + break; + case "单相反击跳闸率(次/100km.a)": + tGanTaData.mM1_TZL_GanTa = num3; + break; + case "双相反击耐雷水平kA": + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case "双相闪络相": + tGanTaData.mM2_Xiang_GanTa = text; + break; + case "双相反击跳闸率(次/100km.a)": + tGanTaData.mM2_TZL_GanTa = num3; + break; + case "三相反击耐雷水平kA": + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case "三相闪络相": + tGanTaData.mM3_Xiang_GanTa = text; + break; + case "三相反击跳闸率(次/100km.a)": + tGanTaData.mM3_TZL_GanTa = num3; + break; + case "四相反击耐雷水平kA": + tGanTaData.mM4_NLSP_GanTa = num3; + break; + case "四相闪络相": + tGanTaData.mM4_Xiang_GanTa = text; + break; + case "四相反击跳闸率(次/100km.a)": + tGanTaData.mM4_TZL_GanTa = num3; + break; + case "五相反击耐雷水平kA": + tGanTaData.mM5_NLSP_GanTa = num3; + break; + case "五相闪络相": + tGanTaData.mM5_Xiang_GanTa = text; + break; + case "五相反击跳闸率(次/100km.a)": + tGanTaData.mM5_TZL_GanTa = num3; + break; + case "六相反击耐雷水平kA": + tGanTaData.mM6_NLSP_GanTa = num3; + break; + case "六相闪络相": + tGanTaData.mM6_Xiang_GanTa = text; + break; + case "六相反击跳闸率(次/100km.a)": + tGanTaData.mM6_TZL_GanTa = num3; + break; + case "原因分析": + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "措施推荐": + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "保护角": + tGanTaData.m_BaoHuJiao = num3; + break; + case "普通计算结果": + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + else if (!flag2) + { + for (num5 = 0; num5 < array3.Length; num5++) + { + if (array3[num5] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num5].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num5].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num5].Trim(); + switch (num5) + { + case 0: + tGanTaData.mTaskIDstring = text; + break; + case 1: + tGanTaData.mID_TGanTa = num2; + break; + case 2: + tGanTaData.mXianLuID = num2; + break; + case 3: + tGanTaData.mIndex__GanTa = num2; + break; + case 4: + tGanTaData.mXianLuName = text; + break; + case 5: + tGanTaData.mDYDJ_GanTa = num2; + break; + case 6: + tGanTaData.mID_GanTa = text; + break; + case 7: + tGanTaData.mModel_GanTa = text; + break; + case 8: + tGanTaData.mTaXing_GanTa = text; + break; + case 9: + tGanTaData.mJingDu_GanTa = num3; + break; + case 10: + tGanTaData.mWeiDu_GanTa = num3; + break; + case 11: + tGanTaData.mXiangXu1_GanTa = text; + break; + case 12: + tGanTaData.mXiangXu2_GanTa = text; + break; + case 13: + tGanTaData.mXiangXu3_GanTa = text; + break; + case 14: + tGanTaData.mXiangXu4_GanTa = text; + break; + case 15: + tGanTaData.mBLQ_A_GanTa = text; + break; + case 16: + tGanTaData.mBLQ_B_GanTa = text; + break; + case 17: + tGanTaData.mBLQ_C_GanTa = text; + break; + case 18: + tGanTaData.mJDDZ_GanTa = num3; + break; + case 19: + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case 20: + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case 21: + tGanTaData.mBLXGD_GanTa = num3; + break; + case 22: + tGanTaData.mJYZCD_GanTa = num3; + break; + case 23: + tGanTaData.mHuGao_GanTa = num3; + break; + case 24: + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case 25: + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case 26: + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case 27: + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case 28: + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case 29: + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case 30: + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case 31: + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case 32: + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case 33: + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case 34: + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case 35: + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case 36: + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case 37: + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case 38: + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case 39: + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case 40: + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case 41: + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case 42: + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case 43: + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case 44: + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case 45: + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case 46: + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case 47: + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case 48: + tGanTaData.mXiaoHao_GanTa = num3; + break; + case 49: + tGanTaData.mDaHao_GanTa = num3; + break; + case 50: + tGanTaData.mAngle_GanTa = num3; + break; + case 51: + tGanTaData.mCurrent_a_GanTa = num3; + break; + case 52: + tGanTaData.mCurrent_b_GanTa = num3; + break; + case 53: + tGanTaData.mDMQJ1_GanTa = num3; + break; + case 54: + tGanTaData.mDMQJ2_GanTa = num3; + break; + case 55: + tGanTaData.mHaiBa_GanTa = num3; + break; + case 56: + tGanTaData.mDiXing_GanTa = text; + break; + case 57: + tGanTaData.mDSMD_GanTa = num3; + break; + case 58: + tGanTaData.mZXNZ_GanTa = text; + break; + case 59: + tGanTaData.mCurrentType_GanTa = num2; + break; + case 60: + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case 61: + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case 62: + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case 63: + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case 64: + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case 65: + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case 66: + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case 67: + tGanTaData.mFXDJ_GanTa = num2; + break; + case 68: + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case 69: + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case 70: + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case 71: + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case 72: + tGanTaData.mM1_Xiang_GanTa = text; + break; + case 73: + tGanTaData.mM1_TZL_GanTa = num3; + break; + case 74: + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case 75: + tGanTaData.mM2_Xiang_GanTa = text; + break; + case 76: + tGanTaData.mM2_TZL_GanTa = num3; + break; + case 77: + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case 78: + tGanTaData.mM3_Xiang_GanTa = text; + break; + case 79: + tGanTaData.mM3_TZL_GanTa = num3; + break; + case 80: + tGanTaData.mM4_NLSP_GanTa = num3; + break; + case 81: + tGanTaData.mM4_Xiang_GanTa = text; + break; + case 82: + tGanTaData.mM4_TZL_GanTa = num3; + break; + case 83: + tGanTaData.mM5_NLSP_GanTa = num3; + break; + case 84: + tGanTaData.mM5_Xiang_GanTa = text; + break; + case 85: + tGanTaData.mM5_TZL_GanTa = num3; + break; + case 86: + tGanTaData.mM6_NLSP_GanTa = num3; + break; + case 87: + tGanTaData.mM6_Xiang_GanTa = text; + break; + case 88: + tGanTaData.mM6_TZL_GanTa = num3; + break; + case 89: + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 90: + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 91: + tGanTaData.m_BaoHuJiao = num3; + break; + case 92: + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + if (tGanTaData.mCurrentHeadTime_GanTa > 0.0 && tGanTaData.mCurrentTailTime_GanTa > 0.0 && tGanTaData.mFJ_NLSP_GanTa > 0.0 && tGanTaData.mRJ_NLSP_GanTa > 0.0) + { + arrHead.Add(tGanTaData.mCurrentHeadTime_GanTa); + arrTail.Add(tGanTaData.mCurrentTailTime_GanTa); + arrFanJi.Add(tGanTaData.mFJ_NLSP_GanTa); + arrRaoJi.Add(tGanTaData.mRJ_NLSP_GanTa); + num4++; + } + } + else if (array3.Length >= 92) + { + tGanTaData = new TGanTaData(); + if (flag2) + { + for (int m = 0; m < array3.Length; m++) + { + text3 = dictionary.ElementAt(m).Key; + num5 = dictionary.ElementAt(m).Value; + if (array3[num5] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num5].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num5].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num5].Trim(); + switch (text3) + { + case "任务编号": + tGanTaData.mTaskIDstring = text; + break; + case "任务塔号": + tGanTaData.mID_TGanTa = num2; + break; + case "线路编号": + tGanTaData.mXianLuID = num2; + break; + case "序号": + tGanTaData.mIndex__GanTa = num2; + break; + case "线路名称": + tGanTaData.mXianLuName = text; + break; + case "电压等级": + tGanTaData.mDYDJ_GanTa = num2; + break; + case "塔号": + tGanTaData.mID_GanTa = text; + break; + case "杆塔模型": + tGanTaData.mModel_GanTa = text; + break; + case "塔形": + tGanTaData.mTaXing_GanTa = text; + break; + case "经度": + tGanTaData.mJingDu_GanTa = num3; + break; + case "纬度": + tGanTaData.mWeiDu_GanTa = num3; + break; + case "I回相序": + tGanTaData.mXiangXu1_GanTa = text; + break; + case "II回相序": + tGanTaData.mXiangXu2_GanTa = text; + break; + case "III回相序": + tGanTaData.mXiangXu3_GanTa = text; + break; + case "IV回相序": + tGanTaData.mXiangXu4_GanTa = text; + break; + case "A相是否安装避雷器": + tGanTaData.mBLQ_A_GanTa = text; + break; + case "B相是否安装避雷器": + tGanTaData.mBLQ_B_GanTa = text; + break; + case "C相是否安装避雷器": + tGanTaData.mBLQ_C_GanTa = text; + break; + case "接地电阻": + tGanTaData.mJDDZ_GanTa = num3; + break; + case "左避雷中距m": + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case "右避雷中距m": + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case "避雷线高度m": + tGanTaData.mBLXGD_GanTa = num3; + break; + case "绝缘子串长度mm": + tGanTaData.mJYZCD_GanTa = num3; + break; + case "杆塔呼高m": + tGanTaData.mHuGao_GanTa = num3; + break; + case "I回上相中距m": + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case "I回中相中距m": + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case "I回下相中距m": + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case "I回上相高度m": + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case "I回中相高度m": + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case "I回下相高度m": + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case "II回上相中距m": + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case "II回中相中距m": + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case "II回下相中距m": + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case "II回上相高度m": + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case "II回中相高度m": + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case "II回下相高度m": + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case "III回上相中距m": + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case "III回中相中距m": + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case "III回下相中距m": + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case "III回上相高度m": + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case "III回中相高度m": + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case "III回下相高度m": + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case "IV回上相中距m": + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case "IV回中相中距m": + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case "IV回下相中距m": + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case "IV回上相高度m": + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case "IV回中相高度m": + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case "IV回下相高度m": + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case "小号侧档距": + tGanTaData.mXiaoHao_GanTa = num3; + break; + case "大号侧档距": + tGanTaData.mDaHao_GanTa = num3; + break; + case "电角度": + tGanTaData.mAngle_GanTa = num3; + break; + case "雷电流幅值a": + tGanTaData.mCurrent_a_GanTa = num3; + break; + case "雷电流幅值b": + tGanTaData.mCurrent_b_GanTa = num3; + break; + case "地面倾角1": + tGanTaData.mDMQJ1_GanTa = num3; + break; + case "地面倾角2": + tGanTaData.mDMQJ2_GanTa = num3; + break; + case "海拔m": + tGanTaData.mHaiBa_GanTa = num3; + break; + case "地形": + tGanTaData.mDiXing_GanTa = text; + break; + case "地闪密度": + tGanTaData.mDSMD_GanTa = num3; + break; + case "直线或耐张杆塔": + tGanTaData.mZXNZ_GanTa = text; + break; + case "雷电流波形种类": + tGanTaData.mCurrentType_GanTa = num2; + break; + case "波头时间/μs": + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case "波尾时间/μs": + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case "绕击反击": + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case "反击耐雷水平kA": + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case "反击跳闸率(次/100km.a)": + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case "绕击耐雷水平kA": + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case "绕击跳闸率(次/100km.a)": + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num2; + break; + case "A相绕击耐雷水平kA": + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case "B相绕击耐雷水平kA": + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case "C相绕击耐雷水平kA": + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case "单相反击耐雷水平kA": + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case "单相闪络相": + tGanTaData.mM1_Xiang_GanTa = text; + break; + case "单相反击跳闸率(次/100km.a)": + tGanTaData.mM1_TZL_GanTa = num3; + break; + case "双相反击耐雷水平kA": + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case "双相闪络相": + tGanTaData.mM2_Xiang_GanTa = text; + break; + case "双相反击跳闸率(次/100km.a)": + tGanTaData.mM2_TZL_GanTa = num3; + break; + case "三相反击耐雷水平kA": + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case "三相闪络相": + tGanTaData.mM3_Xiang_GanTa = text; + break; + case "三相反击跳闸率(次/100km.a)": + tGanTaData.mM3_TZL_GanTa = num3; + break; + case "四相反击耐雷水平kA": + tGanTaData.mM4_NLSP_GanTa = num3; + break; + case "四相闪络相": + tGanTaData.mM4_Xiang_GanTa = text; + break; + case "四相反击跳闸率(次/100km.a)": + tGanTaData.mM4_TZL_GanTa = num3; + break; + case "五相反击耐雷水平kA": + tGanTaData.mM5_NLSP_GanTa = num3; + break; + case "五相闪络相": + tGanTaData.mM5_Xiang_GanTa = text; + break; + case "五相反击跳闸率(次/100km.a)": + tGanTaData.mM5_TZL_GanTa = num3; + break; + case "六相反击耐雷水平kA": + tGanTaData.mM6_NLSP_GanTa = num3; + break; + case "六相闪络相": + tGanTaData.mM6_Xiang_GanTa = text; + break; + case "六相反击跳闸率(次/100km.a)": + tGanTaData.mM6_TZL_GanTa = num3; + break; + case "原因分析": + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "措施推荐": + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "普通计算结果": + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + else if (!flag2) + { + for (num5 = 0; num5 < array3.Length; num5++) + { + if (array3[num5] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num5].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num5].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num5].Trim(); + switch (num5) + { + case 0: + tGanTaData.mTaskIDstring = text; + break; + case 1: + tGanTaData.mID_TGanTa = num2; + break; + case 2: + tGanTaData.mXianLuID = num2; + break; + case 3: + tGanTaData.mIndex__GanTa = num2; + break; + case 4: + tGanTaData.mXianLuName = text; + break; + case 5: + tGanTaData.mDYDJ_GanTa = num2; + break; + case 6: + tGanTaData.mID_GanTa = text; + break; + case 7: + tGanTaData.mModel_GanTa = text; + break; + case 8: + tGanTaData.mTaXing_GanTa = text; + break; + case 9: + tGanTaData.mJingDu_GanTa = num3; + break; + case 10: + tGanTaData.mWeiDu_GanTa = num3; + break; + case 11: + tGanTaData.mXiangXu1_GanTa = text; + break; + case 12: + tGanTaData.mXiangXu2_GanTa = text; + break; + case 13: + tGanTaData.mXiangXu3_GanTa = text; + break; + case 14: + tGanTaData.mXiangXu4_GanTa = text; + break; + case 15: + tGanTaData.mBLQ_A_GanTa = text; + break; + case 16: + tGanTaData.mBLQ_B_GanTa = text; + break; + case 17: + tGanTaData.mBLQ_C_GanTa = text; + break; + case 18: + tGanTaData.mJDDZ_GanTa = num3; + break; + case 19: + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case 20: + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case 21: + tGanTaData.mBLXGD_GanTa = num3; + break; + case 22: + tGanTaData.mJYZCD_GanTa = num3; + break; + case 23: + tGanTaData.mHuGao_GanTa = num3; + break; + case 24: + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case 25: + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case 26: + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case 27: + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case 28: + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case 29: + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case 30: + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case 31: + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case 32: + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case 33: + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case 34: + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case 35: + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case 36: + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case 37: + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case 38: + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case 39: + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case 40: + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case 41: + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case 42: + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case 43: + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case 44: + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case 45: + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case 46: + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case 47: + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case 48: + tGanTaData.mXiaoHao_GanTa = num3; + break; + case 49: + tGanTaData.mDaHao_GanTa = num3; + break; + case 50: + tGanTaData.mAngle_GanTa = num3; + break; + case 51: + tGanTaData.mCurrent_a_GanTa = num3; + break; + case 52: + tGanTaData.mCurrent_b_GanTa = num3; + break; + case 53: + tGanTaData.mDMQJ1_GanTa = num3; + break; + case 54: + tGanTaData.mDMQJ2_GanTa = num3; + break; + case 55: + tGanTaData.mHaiBa_GanTa = num3; + break; + case 56: + tGanTaData.mDiXing_GanTa = text; + break; + case 57: + tGanTaData.mDSMD_GanTa = num3; + break; + case 58: + tGanTaData.mZXNZ_GanTa = text; + break; + case 59: + tGanTaData.mCurrentType_GanTa = num2; + break; + case 60: + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case 61: + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case 62: + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case 63: + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case 64: + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case 65: + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case 66: + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case 67: + tGanTaData.mFXDJ_GanTa = num2; + break; + case 68: + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case 69: + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case 70: + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case 71: + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case 72: + tGanTaData.mM1_Xiang_GanTa = text; + break; + case 73: + tGanTaData.mM1_TZL_GanTa = num3; + break; + case 74: + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case 75: + tGanTaData.mM2_Xiang_GanTa = text; + break; + case 76: + tGanTaData.mM2_TZL_GanTa = num3; + break; + case 77: + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case 78: + tGanTaData.mM3_Xiang_GanTa = text; + break; + case 79: + tGanTaData.mM3_TZL_GanTa = num3; + break; + case 80: + tGanTaData.mM4_NLSP_GanTa = num3; + break; + case 81: + tGanTaData.mM4_Xiang_GanTa = text; + break; + case 82: + tGanTaData.mM4_TZL_GanTa = num3; + break; + case 83: + tGanTaData.mM5_NLSP_GanTa = num3; + break; + case 84: + tGanTaData.mM5_Xiang_GanTa = text; + break; + case 85: + tGanTaData.mM5_TZL_GanTa = num3; + break; + case 86: + tGanTaData.mM6_NLSP_GanTa = num3; + break; + case 87: + tGanTaData.mM6_Xiang_GanTa = text; + break; + case 88: + tGanTaData.mM6_TZL_GanTa = num3; + break; + case 89: + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 90: + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 91: + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + if (tGanTaData.mCurrentHeadTime_GanTa > 0.0 && tGanTaData.mCurrentTailTime_GanTa > 0.0 && tGanTaData.mFJ_NLSP_GanTa > 0.0 && tGanTaData.mRJ_NLSP_GanTa > 0.0) + { + arrHead.Add(tGanTaData.mCurrentHeadTime_GanTa); + arrTail.Add(tGanTaData.mCurrentTailTime_GanTa); + arrFanJi.Add(tGanTaData.mFJ_NLSP_GanTa); + arrRaoJi.Add(tGanTaData.mRJ_NLSP_GanTa); + num4++; + } + } + else if (array3.Length >= 79) + { + tGanTaData = new TGanTaData(); + if (flag2) + { + for (int n = 0; n < array3.Length; n++) + { + text3 = dictionary.ElementAt(n).Key; + num5 = dictionary.ElementAt(n).Value; + if (array3[num5] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num5].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num5].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num5].Trim(); + switch (text3) + { + case "任务编号": + tGanTaData.mTaskIDstring = text; + break; + case "任务塔号": + tGanTaData.mID_TGanTa = num2; + break; + case "线路编号": + tGanTaData.mXianLuID = num2; + break; + case "序号": + tGanTaData.mIndex__GanTa = num2; + break; + case "线路名称": + tGanTaData.mXianLuName = text; + break; + case "电压等级": + tGanTaData.mDYDJ_GanTa = num2; + break; + case "塔号": + tGanTaData.mID_GanTa = text; + break; + case "杆塔模型": + tGanTaData.mModel_GanTa = text; + break; + case "塔形": + tGanTaData.mTaXing_GanTa = text; + break; + case "经度": + tGanTaData.mJingDu_GanTa = num3; + break; + case "纬度": + tGanTaData.mWeiDu_GanTa = num3; + break; + case "I回相序": + tGanTaData.mXiangXu1_GanTa = text; + break; + case "II回相序": + tGanTaData.mXiangXu2_GanTa = text; + break; + case "III回相序": + tGanTaData.mXiangXu3_GanTa = text; + break; + case "IV回相序": + tGanTaData.mXiangXu4_GanTa = text; + break; + case "A相是否安装避雷器": + tGanTaData.mBLQ_A_GanTa = text; + break; + case "B相是否安装避雷器": + tGanTaData.mBLQ_B_GanTa = text; + break; + case "C相是否安装避雷器": + tGanTaData.mBLQ_C_GanTa = text; + break; + case "接地电阻": + tGanTaData.mJDDZ_GanTa = num3; + break; + case "左避雷中距m": + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case "右避雷中距m": + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case "避雷线高度m": + tGanTaData.mBLXGD_GanTa = num3; + break; + case "绝缘子串长度mm": + tGanTaData.mJYZCD_GanTa = num3; + break; + case "杆塔呼高m": + tGanTaData.mHuGao_GanTa = num3; + break; + case "I回上相中距m": + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case "I回中相中距m": + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case "I回下相中距m": + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case "I回上相高度m": + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case "I回中相高度m": + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case "I回下相高度m": + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case "II回上相中距m": + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case "II回中相中距m": + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case "II回下相中距m": + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case "II回上相高度m": + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case "II回中相高度m": + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case "II回下相高度m": + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case "III回上相中距m": + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case "III回中相中距m": + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case "III回下相中距m": + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case "III回上相高度m": + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case "III回中相高度m": + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case "III回下相高度m": + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case "IV回上相中距m": + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case "IV回中相中距m": + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case "IV回下相中距m": + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case "IV回上相高度m": + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case "IV回中相高度m": + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case "IV回下相高度m": + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case "小号侧档距": + tGanTaData.mXiaoHao_GanTa = num3; + break; + case "大号侧档距": + tGanTaData.mDaHao_GanTa = num3; + break; + case "电角度": + tGanTaData.mAngle_GanTa = num3; + break; + case "雷电流幅值a": + tGanTaData.mCurrent_a_GanTa = num3; + break; + case "雷电流幅值b": + tGanTaData.mCurrent_b_GanTa = num3; + break; + case "地面倾角1": + tGanTaData.mDMQJ1_GanTa = num3; + break; + case "地面倾角2": + tGanTaData.mDMQJ2_GanTa = num3; + break; + case "海拔m": + tGanTaData.mHaiBa_GanTa = num3; + break; + case "地形": + tGanTaData.mDiXing_GanTa = text; + break; + case "地闪密度": + tGanTaData.mDSMD_GanTa = num3; + break; + case "直线或耐张杆塔": + tGanTaData.mZXNZ_GanTa = text; + break; + case "雷电流波形种类": + tGanTaData.mCurrentType_GanTa = num2; + break; + case "波头时间/μs": + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case "波尾时间/μs": + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case "绕击反击": + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case "反击耐雷水平kA": + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case "反击跳闸率(次/100km.a)": + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case "绕击耐雷水平kA": + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case "绕击跳闸率(次/100km.a)": + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num2; + break; + case "A相绕击耐雷水平kA": + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case "B相绕击耐雷水平kA": + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case "C相绕击耐雷水平kA": + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case "单相反击耐雷水平kA": + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case "单相闪络相": + tGanTaData.mM1_Xiang_GanTa = text; + break; + case "双相反击耐雷水平kA": + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case "双相闪络相": + tGanTaData.mM2_Xiang_GanTa = text; + break; + case "三相反击耐雷水平kA": + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case "原因分析": + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "措施推荐": + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "普通计算结果": + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + else if (!flag2) + { + for (num5 = 0; num5 < array3.Length; num5++) + { + if (array3[num5] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num5].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num5].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num5].Trim(); + switch (num5) + { + case 0: + tGanTaData.mTaskIDstring = text; + break; + case 1: + tGanTaData.mID_TGanTa = num2; + break; + case 2: + tGanTaData.mXianLuID = num2; + break; + case 3: + tGanTaData.mIndex__GanTa = num2; + break; + case 4: + tGanTaData.mXianLuName = text; + break; + case 5: + tGanTaData.mDYDJ_GanTa = num2; + break; + case 6: + tGanTaData.mID_GanTa = text; + break; + case 7: + tGanTaData.mModel_GanTa = text; + break; + case 8: + tGanTaData.mTaXing_GanTa = text; + break; + case 9: + tGanTaData.mJingDu_GanTa = num3; + break; + case 10: + tGanTaData.mWeiDu_GanTa = num3; + break; + case 11: + tGanTaData.mXiangXu1_GanTa = text; + break; + case 12: + tGanTaData.mXiangXu2_GanTa = text; + break; + case 13: + tGanTaData.mXiangXu3_GanTa = text; + break; + case 14: + tGanTaData.mXiangXu4_GanTa = text; + break; + case 15: + tGanTaData.mBLQ_A_GanTa = text; + break; + case 16: + tGanTaData.mBLQ_B_GanTa = text; + break; + case 17: + tGanTaData.mBLQ_C_GanTa = text; + break; + case 18: + tGanTaData.mJDDZ_GanTa = num3; + break; + case 19: + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case 20: + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case 21: + tGanTaData.mBLXGD_GanTa = num3; + break; + case 22: + tGanTaData.mJYZCD_GanTa = num3; + break; + case 23: + tGanTaData.mHuGao_GanTa = num3; + break; + case 24: + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case 25: + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case 26: + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case 27: + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case 28: + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case 29: + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case 30: + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case 31: + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case 32: + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case 33: + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case 34: + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case 35: + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case 36: + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case 37: + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case 38: + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case 39: + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case 40: + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case 41: + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case 42: + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case 43: + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case 44: + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case 45: + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case 46: + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case 47: + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case 48: + tGanTaData.mXiaoHao_GanTa = num3; + break; + case 49: + tGanTaData.mDaHao_GanTa = num3; + break; + case 50: + tGanTaData.mAngle_GanTa = num3; + break; + case 51: + tGanTaData.mCurrent_a_GanTa = num3; + break; + case 52: + tGanTaData.mCurrent_b_GanTa = num3; + break; + case 53: + tGanTaData.mDMQJ1_GanTa = num3; + break; + case 54: + tGanTaData.mDMQJ2_GanTa = num3; + break; + case 55: + tGanTaData.mHaiBa_GanTa = num3; + break; + case 56: + tGanTaData.mDiXing_GanTa = text; + break; + case 57: + tGanTaData.mDSMD_GanTa = num3; + break; + case 58: + tGanTaData.mZXNZ_GanTa = text; + break; + case 59: + tGanTaData.mCurrentType_GanTa = num2; + break; + case 60: + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case 61: + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case 62: + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case 63: + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case 64: + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case 65: + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case 66: + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case 67: + tGanTaData.mFXDJ_GanTa = num2; + break; + case 68: + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case 69: + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case 70: + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case 71: + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case 72: + tGanTaData.mM1_Xiang_GanTa = text; + break; + case 73: + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case 74: + tGanTaData.mM2_Xiang_GanTa = text; + break; + case 75: + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case 76: + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 77: + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 78: + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + if (tGanTaData.mCurrentHeadTime_GanTa > 0.0 && tGanTaData.mCurrentTailTime_GanTa > 0.0 && tGanTaData.mFJ_NLSP_GanTa > 0.0 && tGanTaData.mRJ_NLSP_GanTa > 0.0) + { + arrHead.Add(tGanTaData.mCurrentHeadTime_GanTa); + arrTail.Add(tGanTaData.mCurrentTailTime_GanTa); + arrFanJi.Add(tGanTaData.mFJ_NLSP_GanTa); + arrRaoJi.Add(tGanTaData.mRJ_NLSP_GanTa); + num4++; + } + } + num++; + } + streamReader.Close(); + } + fileStream.Close(); + } + catch (Exception ex13) + { + MyLog.AddLog("MyLoad_BaseData() 载入基础数据文件发生异常。文件:" + _fname + "。异常:" + ex13.Message + "。"); + return "MyLoad_BaseData() 载入基础数据文件发生异常。文件:" + _fname + "。异常:" + ex13.Message + "。"; + } + using (FileStream fileStream2 = new FileStream(mFName_file, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter = new StreamWriter(fileStream2, Encoding.UTF8)) + { + streamWriter.WriteLine(mCurveNo); + streamWriter.WriteLine(mNumHead); + streamWriter.WriteLine(mNumTail); + streamWriter.WriteLine(mShuiPing); + streamWriter.WriteLine(m0FanJi_1RaoJi); + streamWriter.Close(); + } + fileStream2.Close(); + } + using (FileStream fileStream3 = new FileStream(mFName_data, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter2 = new StreamWriter(fileStream3, Encoding.UTF8)) + { + for (int num6 = 0; num6 < arrHead.Count; num6++) + { + text2 = $"{arrHead[num6]}\t{arrTail[num6]}\t{arrFanJi[num6]}\t{arrRaoJi[num6]}"; + streamWriter2.WriteLine(text2); + } + streamWriter2.Close(); + } + fileStream3.Close(); + } + return result; + } +} diff --git a/LP/GanTaData.cs b/LP/GanTaData.cs new file mode 100644 index 0000000..0235b9a --- /dev/null +++ b/LP/GanTaData.cs @@ -0,0 +1,512 @@ +namespace LP; + +public class GanTaData +{ + public static int mNextID_static; + + public int mIndex__GanTa = 0; + + public string mID_GanTa = ""; + + public int mXianLuID = 0; + + public string mXianLuName = ""; + + public int mDYDJ_GanTa = 0; + + public string mModel_GanTa = ""; + + public string mTaXing_GanTa = ""; + + public double mJingDu_GanTa = 0.0; + + public double mWeiDu_GanTa = 0.0; + + public string mXiangXu1_GanTa = ""; + + public string mXiangXu2_GanTa = ""; + + public string mXiangXu3_GanTa = ""; + + public string mXiangXu4_GanTa = ""; + + public string mBLQ_A_GanTa = ""; + + public string mBLQ_B_GanTa = ""; + + public string mBLQ_C_GanTa = ""; + + public double mJDDZ_GanTa = 0.0; + + public double mBLZJ_L_GanTa = 0.0; + + public double mBLZJ_R_GanTa = 0.0; + + public double mBLXGD_GanTa = 0.0; + + public double mJYZCD_GanTa = 0.0; + + public double mHuGao_GanTa = 0.0; + + public double m1ZJ_Shang_GanTa = 0.0; + + public double m1ZJ_Zhong_GanTa = 0.0; + + public double m1ZJ_Xia_GanTa = 0.0; + + public double m1GD_Shang_GanTa = 0.0; + + public double m1GD_Zhong_GanTa = 0.0; + + public double m1GD_Xia_GanTa = 0.0; + + public double m2ZJ_Shang_GanTa = 0.0; + + public double m2ZJ_Zhong_GanTa = 0.0; + + public double m2ZJ_Xia_GanTa = 0.0; + + public double m2GD_Shang_GanTa = 0.0; + + public double m2GD_Zhong_GanTa = 0.0; + + public double m2GD_Xia_GanTa = 0.0; + + public double m3ZJ_Shang_GanTa = 0.0; + + public double m3ZJ_Zhong_GanTa = 0.0; + + public double m3ZJ_Xia_GanTa = 0.0; + + public double m3GD_Shang_GanTa = 0.0; + + public double m3GD_Zhong_GanTa = 0.0; + + public double m3GD_Xia_GanTa = 0.0; + + public double m4ZJ_Shang_GanTa = 0.0; + + public double m4ZJ_Zhong_GanTa = 0.0; + + public double m4ZJ_Xia_GanTa = 0.0; + + public double m4GD_Shang_GanTa = 0.0; + + public double m4GD_Zhong_GanTa = 0.0; + + public double m4GD_Xia_GanTa = 0.0; + + public double mXiaoHao_GanTa = 0.0; + + public double mDaHao_GanTa = 0.0; + + public double mAngle_GanTa = 0.0; + + public double mCurrent_a_GanTa = 0.0; + + public double mCurrent_b_GanTa = 0.0; + + public double mDMQJ1_GanTa = 0.0; + + public double mDMQJ2_GanTa = 0.0; + + public double mHaiBa_GanTa = 0.0; + + public string mDiXing_GanTa = ""; + + public double mDSMD_GanTa = 0.0; + + public string mZXNZ_GanTa = ""; + + public int mRaoJiFanJi_GanTa = 0; + + public double mFJ_NLSP_GanTa = 0.0; + + public double mFJ_TZL_GanTa = 0.0; + + public double mRJ_NLSP_GanTa = 0.0; + + public double mRJ_TZL_GanTa = 0.0; + + public int mFXDJ_GanTa = 0; + + public string m_YuanYinFenXi_GanTa = ""; + + public string m_CuoShiTuiJian_GanTa = ""; + + static GanTaData() + { + mNextID_static = 0; + mNextID_static = 1; + } + + public GanTaData() + { + mIndex__GanTa = -1; + mID_GanTa = "-1"; + mXianLuID = -1; + mXianLuName = "-1"; + mDYDJ_GanTa = -1; + mModel_GanTa = "-1"; + mTaXing_GanTa = "-1"; + mJingDu_GanTa = -1.0; + mWeiDu_GanTa = -1.0; + mXiangXu1_GanTa = "-1"; + mXiangXu2_GanTa = "-1"; + mXiangXu3_GanTa = "-1"; + mXiangXu4_GanTa = "-1"; + mBLQ_A_GanTa = "-1"; + mBLQ_B_GanTa = "-1"; + mBLQ_C_GanTa = "-1"; + mJDDZ_GanTa = -1.0; + mBLZJ_L_GanTa = -1.0; + mBLZJ_R_GanTa = -1.0; + mBLXGD_GanTa = -1.0; + mJYZCD_GanTa = -1.0; + mHuGao_GanTa = -1.0; + m1ZJ_Shang_GanTa = -1.0; + m1ZJ_Zhong_GanTa = -1.0; + m1ZJ_Xia_GanTa = -1.0; + m1GD_Shang_GanTa = -1.0; + m1GD_Zhong_GanTa = -1.0; + m1GD_Xia_GanTa = -1.0; + m2ZJ_Shang_GanTa = -1.0; + m2ZJ_Zhong_GanTa = -1.0; + m2ZJ_Xia_GanTa = -1.0; + m2GD_Shang_GanTa = -1.0; + m2GD_Zhong_GanTa = -1.0; + m2GD_Xia_GanTa = -1.0; + m3ZJ_Shang_GanTa = -1.0; + m3ZJ_Zhong_GanTa = -1.0; + m3ZJ_Xia_GanTa = -1.0; + m3GD_Shang_GanTa = -1.0; + m3GD_Zhong_GanTa = -1.0; + m3GD_Xia_GanTa = -1.0; + m4ZJ_Shang_GanTa = -1.0; + m4ZJ_Zhong_GanTa = -1.0; + m4ZJ_Xia_GanTa = -1.0; + m4GD_Shang_GanTa = -1.0; + m4GD_Zhong_GanTa = -1.0; + m4GD_Xia_GanTa = -1.0; + mXiaoHao_GanTa = -1.0; + mDaHao_GanTa = -1.0; + mAngle_GanTa = -1.0; + mCurrent_a_GanTa = -1.0; + mCurrent_b_GanTa = -1.0; + mDMQJ1_GanTa = -1.0; + mDMQJ2_GanTa = -1.0; + mHaiBa_GanTa = -1.0; + mDiXing_GanTa = "-1"; + mDSMD_GanTa = -1.0; + mZXNZ_GanTa = "-1"; + mRaoJiFanJi_GanTa = -1; + mFJ_NLSP_GanTa = -1.0; + mFJ_TZL_GanTa = -1.0; + mRJ_NLSP_GanTa = -1.0; + mRJ_TZL_GanTa = -1.0; + mFXDJ_GanTa = -1; + m_YuanYinFenXi_GanTa = "-1"; + m_CuoShiTuiJian_GanTa = "-1"; + } + + public string MyToString() + { + string text = ""; + text += $"{mXianLuID},"; + text += $"{mIndex__GanTa + 1},"; + text = text + mXianLuName + ","; + text += $"{mDYDJ_GanTa},"; + text = text + mID_GanTa + ","; + text = text + mModel_GanTa + ","; + text = text + mTaXing_GanTa + ","; + text += $"{mJingDu_GanTa},"; + text += $"{mWeiDu_GanTa},"; + text = text + mXiangXu1_GanTa + ","; + text = text + mXiangXu2_GanTa + ","; + text = text + mXiangXu3_GanTa + ","; + text = text + mXiangXu4_GanTa + ","; + text = text + mBLQ_A_GanTa + ","; + text = text + mBLQ_B_GanTa + ","; + text = text + mBLQ_C_GanTa + ","; + text += $"{mJDDZ_GanTa},"; + text += $"{mBLZJ_L_GanTa},"; + text += $"{mBLZJ_R_GanTa},"; + text += $"{mBLXGD_GanTa},"; + text += $"{mJYZCD_GanTa},"; + text += $"{mHuGao_GanTa},"; + text += $"{m1ZJ_Shang_GanTa},"; + text += $"{m1ZJ_Zhong_GanTa},"; + text += $"{m1ZJ_Xia_GanTa},"; + text += $"{m1GD_Shang_GanTa},"; + text += $"{m1GD_Zhong_GanTa},"; + text += $"{m1GD_Xia_GanTa},"; + text += $"{m2ZJ_Shang_GanTa},"; + text += $"{m2ZJ_Zhong_GanTa},"; + text += $"{m2ZJ_Xia_GanTa},"; + text += $"{m2GD_Shang_GanTa},"; + text += $"{m2GD_Zhong_GanTa},"; + text += $"{m2GD_Xia_GanTa},"; + text += $"{m3ZJ_Shang_GanTa},"; + text += $"{m3ZJ_Zhong_GanTa},"; + text += $"{m3ZJ_Xia_GanTa},"; + text += $"{m3GD_Shang_GanTa},"; + text += $"{m3GD_Zhong_GanTa},"; + text += $"{m3GD_Xia_GanTa},"; + text += $"{m4ZJ_Shang_GanTa},"; + text += $"{m4ZJ_Zhong_GanTa},"; + text += $"{m4ZJ_Xia_GanTa},"; + text += $"{m4GD_Shang_GanTa},"; + text += $"{m4GD_Zhong_GanTa},"; + text += $"{m4GD_Xia_GanTa},"; + text += $"{mXiaoHao_GanTa},"; + text += $"{mDaHao_GanTa},"; + text += $"{mAngle_GanTa},"; + text += $"{mCurrent_a_GanTa},"; + text += $"{mCurrent_b_GanTa},"; + text += $"{mDMQJ1_GanTa},"; + text += $"{mDMQJ2_GanTa},"; + text += $"{mHaiBa_GanTa},"; + text = text + mDiXing_GanTa + ","; + text += $"{mDSMD_GanTa},"; + text = text + mZXNZ_GanTa + ","; + text += $"{mRaoJiFanJi_GanTa},"; + text += $"{mFJ_NLSP_GanTa},"; + text += $"{mFJ_TZL_GanTa},"; + text += $"{mRJ_NLSP_GanTa},"; + text += $"{mRJ_TZL_GanTa},"; + text += $"{mFXDJ_GanTa},"; + string text2 = ""; + text2 = m_YuanYinFenXi_GanTa; + text2 = text2.Replace("\r", "\\r").Replace("\n", "\\n"); + text = text + text2 + ","; + text2 = m_CuoShiTuiJian_GanTa; + text2 = text2.Replace("\r", "\\r").Replace("\n", "\\n"); + return text + text2; + } + + public static string MyHead_ToString() + { + string text = ""; + text += "线路编号,"; + text += "序号,"; + text += "线路名称,"; + text += "电压等级,"; + text += "塔号,"; + text += "杆塔模型,"; + text += "塔形,"; + text += "经度,"; + text += "纬度,"; + text += "I回相序,"; + text += "II回相序,"; + text += "III回相序,"; + text += "IV回相序,"; + text += "A相是否安装避雷器,"; + text += "B相是否安装避雷器,"; + text += "C相是否安装避雷器,"; + text += "接地电阻,"; + text += "左避雷中距m,"; + text += "右避雷中距m,"; + text += "避雷线高度m,"; + text += "绝缘子串长度mm,"; + text += "杆塔呼高m,"; + text += "I回上相中距m,"; + text += "I回中相中距m,"; + text += "I回下相中距m,"; + text += "I回上相高度m,"; + text += "I回中相高度m,"; + text += "I回下相高度m,"; + text += "II回上相中距m,"; + text += "II回中相中距m,"; + text += "II回下相中距m,"; + text += "II回上相高度m,"; + text += "II回中相高度m,"; + text += "II回下相高度m,"; + text += "III回上相中距m,"; + text += "III回中相中距m,"; + text += "III回下相中距m,"; + text += "III回上相高度m,"; + text += "III回中相高度m,"; + text += "III回下相高度m,"; + text += "IV回上相中距m,"; + text += "IV回中相中距m,"; + text += "IV回下相中距m,"; + text += "IV回上相高度m,"; + text += "IV回中相高度m,"; + text += "IV回下相高度m,"; + text += "小号侧档距,"; + text += "大号侧档距,"; + text += "电角度,"; + text += "雷电流幅值a,"; + text += "雷电流幅值b,"; + text += "地面倾角1,"; + text += "地面倾角2,"; + text += "海拔m,"; + text += "地形,"; + text += "地闪密度,"; + text += "直线或耐张杆塔,"; + text += "绕击反击,"; + text += "反击耐雷水平kA,"; + text += "反击跳闸率(次/100km.a),"; + text += "绕击耐雷水平kA,"; + text += "绕击跳闸率(次/100km.a),"; + text += "雷击风险等级,"; + text += "原因分析,"; + return text + "措施推荐"; + } + + public void CopyFrom_GanTaData(GanTaData _ganTaData) + { + mIndex__GanTa = _ganTaData.mIndex__GanTa; + mID_GanTa = _ganTaData.mID_GanTa; + mXianLuID = _ganTaData.mXianLuID; + mXianLuName = _ganTaData.mXianLuName; + mDYDJ_GanTa = _ganTaData.mDYDJ_GanTa; + mModel_GanTa = _ganTaData.mModel_GanTa; + mTaXing_GanTa = _ganTaData.mTaXing_GanTa; + mJingDu_GanTa = _ganTaData.mJingDu_GanTa; + mWeiDu_GanTa = _ganTaData.mWeiDu_GanTa; + mXiangXu1_GanTa = _ganTaData.mXiangXu1_GanTa; + mXiangXu2_GanTa = _ganTaData.mXiangXu2_GanTa; + mXiangXu3_GanTa = _ganTaData.mXiangXu3_GanTa; + mXiangXu4_GanTa = _ganTaData.mXiangXu4_GanTa; + mBLQ_A_GanTa = _ganTaData.mBLQ_A_GanTa; + mBLQ_B_GanTa = _ganTaData.mBLQ_B_GanTa; + mBLQ_C_GanTa = _ganTaData.mBLQ_C_GanTa; + mJDDZ_GanTa = _ganTaData.mJDDZ_GanTa; + mBLZJ_L_GanTa = _ganTaData.mBLZJ_L_GanTa; + mBLZJ_R_GanTa = _ganTaData.mBLZJ_R_GanTa; + mBLXGD_GanTa = _ganTaData.mBLXGD_GanTa; + mJYZCD_GanTa = _ganTaData.mJYZCD_GanTa; + mHuGao_GanTa = _ganTaData.mHuGao_GanTa; + m1ZJ_Shang_GanTa = _ganTaData.m1ZJ_Shang_GanTa; + m1ZJ_Zhong_GanTa = _ganTaData.m1ZJ_Zhong_GanTa; + m1ZJ_Xia_GanTa = _ganTaData.m1ZJ_Xia_GanTa; + m1GD_Shang_GanTa = _ganTaData.m1GD_Shang_GanTa; + m1GD_Zhong_GanTa = _ganTaData.m1GD_Zhong_GanTa; + m1GD_Xia_GanTa = _ganTaData.m1GD_Xia_GanTa; + m2ZJ_Shang_GanTa = _ganTaData.m2ZJ_Shang_GanTa; + m2ZJ_Zhong_GanTa = _ganTaData.m2ZJ_Zhong_GanTa; + m2ZJ_Xia_GanTa = _ganTaData.m2ZJ_Xia_GanTa; + m2GD_Shang_GanTa = _ganTaData.m2GD_Shang_GanTa; + m2GD_Zhong_GanTa = _ganTaData.m2GD_Zhong_GanTa; + m2GD_Xia_GanTa = _ganTaData.m2GD_Xia_GanTa; + m3ZJ_Shang_GanTa = _ganTaData.m3ZJ_Shang_GanTa; + m3ZJ_Zhong_GanTa = _ganTaData.m3ZJ_Zhong_GanTa; + m3ZJ_Xia_GanTa = _ganTaData.m3ZJ_Xia_GanTa; + m3GD_Shang_GanTa = _ganTaData.m3GD_Shang_GanTa; + m3GD_Zhong_GanTa = _ganTaData.m3GD_Zhong_GanTa; + m3GD_Xia_GanTa = _ganTaData.m3GD_Xia_GanTa; + m4ZJ_Shang_GanTa = _ganTaData.m4ZJ_Shang_GanTa; + m4ZJ_Zhong_GanTa = _ganTaData.m4ZJ_Zhong_GanTa; + m4ZJ_Xia_GanTa = _ganTaData.m4ZJ_Xia_GanTa; + m4GD_Shang_GanTa = _ganTaData.m4GD_Shang_GanTa; + m4GD_Zhong_GanTa = _ganTaData.m4GD_Zhong_GanTa; + m4GD_Xia_GanTa = _ganTaData.m4GD_Xia_GanTa; + mXiaoHao_GanTa = _ganTaData.mXiaoHao_GanTa; + mDaHao_GanTa = _ganTaData.mDaHao_GanTa; + mAngle_GanTa = _ganTaData.mAngle_GanTa; + mCurrent_a_GanTa = _ganTaData.mCurrent_a_GanTa; + mCurrent_b_GanTa = _ganTaData.mCurrent_b_GanTa; + mDMQJ1_GanTa = _ganTaData.mDMQJ1_GanTa; + mDMQJ2_GanTa = _ganTaData.mDMQJ2_GanTa; + mHaiBa_GanTa = _ganTaData.mHaiBa_GanTa; + mDiXing_GanTa = _ganTaData.mDiXing_GanTa; + mDSMD_GanTa = _ganTaData.mDSMD_GanTa; + mZXNZ_GanTa = _ganTaData.mZXNZ_GanTa; + mRaoJiFanJi_GanTa = _ganTaData.mRaoJiFanJi_GanTa; + mFJ_NLSP_GanTa = _ganTaData.mFJ_NLSP_GanTa; + mFJ_TZL_GanTa = _ganTaData.mFJ_TZL_GanTa; + mRJ_NLSP_GanTa = _ganTaData.mRJ_NLSP_GanTa; + mRJ_TZL_GanTa = _ganTaData.mRJ_TZL_GanTa; + mFXDJ_GanTa = _ganTaData.mFXDJ_GanTa; + m_YuanYinFenXi_GanTa = _ganTaData.m_YuanYinFenXi_GanTa; + m_CuoShiTuiJian_GanTa = _ganTaData.m_CuoShiTuiJian_GanTa; + } + + public void CopyFrom_TGanTaData(TGanTaData _tGanTaData) + { + mIndex__GanTa = _tGanTaData.mIndex__GanTa; + mID_GanTa = _tGanTaData.mID_GanTa; + mXianLuID = _tGanTaData.mXianLuID; + mXianLuName = _tGanTaData.mXianLuName; + mDYDJ_GanTa = _tGanTaData.mDYDJ_GanTa; + mModel_GanTa = _tGanTaData.mModel_GanTa; + mTaXing_GanTa = _tGanTaData.mTaXing_GanTa; + mJingDu_GanTa = _tGanTaData.mJingDu_GanTa; + mWeiDu_GanTa = _tGanTaData.mWeiDu_GanTa; + mXiangXu1_GanTa = _tGanTaData.mXiangXu1_GanTa; + mXiangXu2_GanTa = _tGanTaData.mXiangXu2_GanTa; + mXiangXu3_GanTa = _tGanTaData.mXiangXu3_GanTa; + mXiangXu4_GanTa = _tGanTaData.mXiangXu4_GanTa; + mBLQ_A_GanTa = _tGanTaData.mBLQ_A_GanTa; + mBLQ_B_GanTa = _tGanTaData.mBLQ_B_GanTa; + mBLQ_C_GanTa = _tGanTaData.mBLQ_C_GanTa; + mJDDZ_GanTa = _tGanTaData.mJDDZ_GanTa; + mBLZJ_L_GanTa = _tGanTaData.mBLZJ_L_GanTa; + mBLZJ_R_GanTa = _tGanTaData.mBLZJ_R_GanTa; + mBLXGD_GanTa = _tGanTaData.mBLXGD_GanTa; + mJYZCD_GanTa = _tGanTaData.mJYZCD_GanTa; + mHuGao_GanTa = _tGanTaData.mHuGao_GanTa; + m1ZJ_Shang_GanTa = _tGanTaData.m1ZJ_Shang_GanTa; + m1ZJ_Zhong_GanTa = _tGanTaData.m1ZJ_Zhong_GanTa; + m1ZJ_Xia_GanTa = _tGanTaData.m1ZJ_Xia_GanTa; + m1GD_Shang_GanTa = _tGanTaData.m1GD_Shang_GanTa; + m1GD_Zhong_GanTa = _tGanTaData.m1GD_Zhong_GanTa; + m1GD_Xia_GanTa = _tGanTaData.m1GD_Xia_GanTa; + m2ZJ_Shang_GanTa = _tGanTaData.m2ZJ_Shang_GanTa; + m2ZJ_Zhong_GanTa = _tGanTaData.m2ZJ_Zhong_GanTa; + m2ZJ_Xia_GanTa = _tGanTaData.m2ZJ_Xia_GanTa; + m2GD_Shang_GanTa = _tGanTaData.m2GD_Shang_GanTa; + m2GD_Zhong_GanTa = _tGanTaData.m2GD_Zhong_GanTa; + m2GD_Xia_GanTa = _tGanTaData.m2GD_Xia_GanTa; + m3ZJ_Shang_GanTa = _tGanTaData.m3ZJ_Shang_GanTa; + m3ZJ_Zhong_GanTa = _tGanTaData.m3ZJ_Zhong_GanTa; + m3ZJ_Xia_GanTa = _tGanTaData.m3ZJ_Xia_GanTa; + m3GD_Shang_GanTa = _tGanTaData.m3GD_Shang_GanTa; + m3GD_Zhong_GanTa = _tGanTaData.m3GD_Zhong_GanTa; + m3GD_Xia_GanTa = _tGanTaData.m3GD_Xia_GanTa; + m4ZJ_Shang_GanTa = _tGanTaData.m4ZJ_Shang_GanTa; + m4ZJ_Zhong_GanTa = _tGanTaData.m4ZJ_Zhong_GanTa; + m4ZJ_Xia_GanTa = _tGanTaData.m4ZJ_Xia_GanTa; + m4GD_Shang_GanTa = _tGanTaData.m4GD_Shang_GanTa; + m4GD_Zhong_GanTa = _tGanTaData.m4GD_Zhong_GanTa; + m4GD_Xia_GanTa = _tGanTaData.m4GD_Xia_GanTa; + mXiaoHao_GanTa = _tGanTaData.mXiaoHao_GanTa; + mDaHao_GanTa = _tGanTaData.mDaHao_GanTa; + mAngle_GanTa = _tGanTaData.mAngle_GanTa; + mCurrent_a_GanTa = _tGanTaData.mCurrent_a_GanTa; + mCurrent_b_GanTa = _tGanTaData.mCurrent_b_GanTa; + mDMQJ1_GanTa = _tGanTaData.mDMQJ1_GanTa; + mDMQJ2_GanTa = _tGanTaData.mDMQJ2_GanTa; + mHaiBa_GanTa = _tGanTaData.mHaiBa_GanTa; + mDiXing_GanTa = _tGanTaData.mDiXing_GanTa; + mDSMD_GanTa = _tGanTaData.mDSMD_GanTa; + mZXNZ_GanTa = _tGanTaData.mZXNZ_GanTa; + mRaoJiFanJi_GanTa = _tGanTaData.mRaoJiFanJi_GanTa; + mFJ_NLSP_GanTa = _tGanTaData.mFJ_NLSP_GanTa; + mFJ_TZL_GanTa = _tGanTaData.mFJ_TZL_GanTa; + mRJ_NLSP_GanTa = _tGanTaData.mRJ_NLSP_GanTa; + mRJ_TZL_GanTa = _tGanTaData.mRJ_TZL_GanTa; + mFXDJ_GanTa = _tGanTaData.mFXDJ_GanTa; + m_YuanYinFenXi_GanTa = _tGanTaData.m_YuanYinFenXi_GanTa; + m_CuoShiTuiJian_GanTa = _tGanTaData.m_CuoShiTuiJian_GanTa; + } + + public void Destroy() + { + mXianLuName = ""; + mModel_GanTa = ""; + mTaXing_GanTa = ""; + mXiangXu1_GanTa = ""; + mXiangXu2_GanTa = ""; + mXiangXu3_GanTa = ""; + mXiangXu4_GanTa = ""; + mBLQ_A_GanTa = ""; + mBLQ_B_GanTa = ""; + mBLQ_C_GanTa = ""; + mDiXing_GanTa = ""; + mZXNZ_GanTa = ""; + m_YuanYinFenXi_GanTa = ""; + m_CuoShiTuiJian_GanTa = ""; + } +} diff --git a/LP/GanTas.cs b/LP/GanTas.cs new file mode 100644 index 0000000..1bd3fa3 --- /dev/null +++ b/LP/GanTas.cs @@ -0,0 +1,87 @@ +using System.Collections.Generic; + +namespace LP; + +public class GanTas +{ + public XianLuData mXianLuData = null; + + public List mListGanTaData = null; + + public bool mAfterInit_XianLuData = false; + + public static List mName_GanTaModels; + + public static string mSubPath_Models; + + public static string mSubPath_ModelsSimple; + + static GanTas() + { + mName_GanTaModels = null; + mSubPath_Models = ""; + mSubPath_ModelsSimple = ""; + if (mName_GanTaModels == null) + { + mName_GanTaModels = new List(); + } + mName_GanTaModels.Clear(); + } + + public GanTas() + { + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + if (mListGanTaData == null) + { + mListGanTaData = new List(); + } + mListGanTaData.Clear(); + mAfterInit_XianLuData = false; + } + + public void Dispose() + { + mXianLuData = null; + mListGanTaData.Clear(); + mListGanTaData = null; + } + + public void SetXianLuData(XianLuData _sourceXianLuData) + { + if (_sourceXianLuData != null) + { + mXianLuData.CopyFrom_XianLuData(_sourceXianLuData); + mAfterInit_XianLuData = true; + } + } + + public void Add1GanTaData(GanTaData _ganTaData) + { + int count = mListGanTaData.Count; + _ganTaData.mIndex__GanTa = count; + if (string.IsNullOrEmpty(_ganTaData.mID_GanTa)) + { + _ganTaData.mID_GanTa = $"{GanTaData.mNextID_static}"; + } + bool flag = false; + for (count = 0; count < mListGanTaData.Count; count++) + { + if (mListGanTaData[count] != null && mListGanTaData[count].mID_GanTa.Equals(_ganTaData.mID_GanTa)) + { + flag = true; + break; + } + } + if (flag) + { + _ganTaData.mID_GanTa = $"{_ganTaData.mID_GanTa}-{GanTaData.mNextID_static}"; + } + _ganTaData.mXianLuID = mXianLuData.mID_XianLu; + _ganTaData.mXianLuName = mXianLuData.mName_XianLu; + mListGanTaData.Add(_ganTaData); + GanTaData.mNextID_static++; + } +} diff --git a/LP/GradeGroundFlashDensity.cs b/LP/GradeGroundFlashDensity.cs new file mode 100644 index 0000000..6bfcf02 --- /dev/null +++ b/LP/GradeGroundFlashDensity.cs @@ -0,0 +1,35 @@ +namespace LP; + +internal class GradeGroundFlashDensity +{ + public int mGradeID; + + public double mMinEqual; + + public double mMaxLessThan; + + public string mGradeChar; + + public string mName_LeiQu; + + public int m_R; + + public int m_G; + + public int m_B; + + public string mName_RGB; + + public GradeGroundFlashDensity() + { + mGradeID = 0; + mMinEqual = 0.1; + mMaxLessThan = 10.0; + mGradeChar = "A"; + mName_LeiQu = "少雷区"; + m_R = 0; + m_G = 0; + m_B = 0; + mName_RGB = "RGB"; + } +} diff --git a/LP/GradeVoltage.cs b/LP/GradeVoltage.cs new file mode 100644 index 0000000..8e4a42e --- /dev/null +++ b/LP/GradeVoltage.cs @@ -0,0 +1,23 @@ +namespace LP; + +internal class GradeVoltage +{ + public int mGradeID; + + public double m_KuanDu; + + public string m_DanWei; + + public string mLineName; + + public string m_KuanDuMiaoShu; + + public GradeVoltage() + { + mGradeID = 0; + m_KuanDu = 0.1; + m_DanWei = "m"; + mLineName = ""; + m_KuanDuMiaoShu = ""; + } +} diff --git a/LP/MapData.cs b/LP/MapData.cs new file mode 100644 index 0000000..c43975d --- /dev/null +++ b/LP/MapData.cs @@ -0,0 +1,279 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using AxMapWinGIS; +using MapWinGIS; + +namespace LP; + +public class MapData +{ + public List mListX = null; + + public List mListY = null; + + public double mMinX = 0.0; + + public double mMaxX = 0.0; + + public double mMinY = 0.0; + + public double mMaxY = 0.0; + + public double mBS = 1.0; + + public MapData() + { + Init_ListX_ListY(); + Clear_ListX_ListY(); + } + + private void Init_ListX_ListY() + { + if (mListX == null) + { + mListX = new List(); + } + if (mListY == null) + { + mListY = new List(); + } + } + + private void Clear_ListX_ListY() + { + Init_ListX_ListY(); + mListX.Clear(); + mListY.Clear(); + } + + public void SetXY_OneLine(List _listX, List _listY) + { + Clear_ListX_ListY(); + int count = _listX.Count; + int count2 = _listY.Count; + int num = ((count < count2) ? count : count2); + for (int i = 0; i < num; i++) + { + mListX.Add(_listX[i]); + mListY.Add(_listY[i]); + } + } + + public void SetXY_OneLine(double[] _arrX, double[] _arrY) + { + Clear_ListX_ListY(); + int num = _arrX.Length; + int num2 = _arrY.Length; + int num3 = ((num < num2) ? num : num2); + for (int i = 0; i < num3; i++) + { + mListX.Add(_arrX[i]); + mListY.Add(_arrY[i]); + } + } + + private void SenJi() + { + mBS = 1.0; + if (mListX.Count == 0) + { + mMaxX = (mMinX = (mMaxY = (mMinY = 0.0))); + return; + } + if (mListX.Count == 1) + { + mMaxX = (mMinX = mListX[0]); + mMaxY = (mMinY = mListY[0]); + return; + } + mMaxX = mListX.Max(); + mMinX = mListX.Min(); + mMaxY = mListY.Max(); + mMinY = mListY.Min(); + double num = Math.Abs(mMaxX - mMinX); + double num2 = Math.Abs(mMaxY - mMinY); + double num3 = num; + if (num3 < num2) + { + num3 = num2; + } + if (!(num3 < 1E-20)) + { + mBS = 1000.0 / num3; + } + } + + public Shapefile CreateShapefile() + { + SenJi(); + Shapefile shapefile = new ShapefileClass(); + shapefile.CreateNew("", ShpfileType.SHP_POLYLINE); + Shape shape = new ShapeClass(); + shape.Create(ShpfileType.SHP_POLYLINE); + Point point = null; + int num = 0; + for (int i = 0; i < mListX.Count; i++) + { + point = new PointClass(); + point.x = (mListX[i] - mMinX) * mBS; + point.y = (mListY[i] - mMinY) * mBS; + num = shape.numPoints; + shape.InsertPoint(point, ref num); + } + num = shapefile.NumShapes; + shapefile.EditInsertShape(shape, ref num); + return shapefile; + } + + public Shapefile CreatePoints_forLine() + { + SenJi(); + Shapefile shapefile = new ShapefileClass(); + shapefile.CreateNew("", ShpfileType.SHP_POINTM); + Shape shape = new ShapeClass(); + shape.Create(ShpfileType.SHP_POINTM); + Point point = null; + int num = 0; + for (int i = 0; i < mListX.Count; i++) + { + point = new PointClass(); + point.x = (mListX[i] - mMinX) * mBS; + point.y = (mListY[i] - mMinY) * mBS; + num = shape.numPoints; + shape.InsertPoint(point, ref num); + } + num = shapefile.NumShapes; + shapefile.EditInsertShape(shape, ref num); + return shapefile; + } + + private void AddRing(bool clockWise, double x, double y, double radius, ref Shape shp) + { + int PartIndex = shp.NumParts; + if (shp.numPoints > 0) + { + shp.InsertPart(shp.numPoints, ref PartIndex); + } + int num = 0; + double num2 = 0.0; + double num3 = 0.0; + for (int i = 0; i < 37; i++) + { + num2 = radius * Math.Cos((double)i * Math.PI / 18.0); + num3 = radius * Math.Sin((double)i * Math.PI / 18.0); + num3 *= (double)((!clockWise) ? 1 : (-1)); + Point point = new PointClass(); + point.x = x + num2; + point.y = y + num3; + num = shp.numPoints; + shp.InsertPoint(point, ref num); + } + } + + public Shapefile CreatePoints_forLine_Ring(int _currentZoom) + { + SenJi(); + Shapefile shapefile = new ShapefileClass(); + shapefile.CreateNewWithShapeID("", ShpfileType.SHP_POLYGON); + double num = 0.0; + double num2 = 0.0; + double num3 = 6.0; + switch (_currentZoom) + { + case 20: + num3 = 2.0; + break; + case 19: + num3 = 4.0; + break; + case 18: + num3 = 5.0; + break; + case 17: + num3 = 6.0; + break; + case 16: + num3 = 8.0; + break; + case 15: + num3 = 9.0; + break; + case 14: + num3 = 10.0; + break; + case 13: + num3 = 12.0; + break; + case 12: + num3 = 14.0; + break; + case 11: + num3 = 16.0; + break; + case 10: + num3 = 18.0; + break; + case 9: + num3 = 20.0; + break; + case 8: + num3 = 25.0; + break; + case 7: + num3 = 30.0; + break; + case 6: + num3 = 40.0; + break; + case 5: + num3 = 50.0; + break; + case 4: + num3 = 60.0; + break; + case 3: + num3 = 70.0; + break; + case 2: + num3 = 80.0; + break; + case 1: + num3 = 90.0; + break; + } + num3 = (int)(num3 * 1.3); + int num4 = 0; + for (int i = 0; i < mListX.Count; i++) + { + Shape shp = new ShapeClass(); + shp.Create(ShpfileType.SHP_POLYGON); + num = (mListX[i] - mMinX) * mBS; + num2 = (mListY[i] - mMinY) * mBS; + AddRing(clockWise: true, num, num2, num3, ref shp); + num4 = shapefile.NumShapes; + shapefile.EditInsertShape(shp, ref num4); + } + return shapefile; + } + + public void DrawLine(ref AxMap axMap) + { + int num = 0; + Shapefile shapefile = CreateShapefile(); + num = axMap.AddLayer(shapefile, visible: true); + Utils utils = new UtilsClass(); + axMap.ZoomToLayer(num); + LinePattern linePattern = null; + linePattern = new LinePatternClass(); + linePattern.AddLine(utils.ColorByName(tkMapColor.Gray), 6f, tkDashStyle.dsSolid); + linePattern.AddLine(utils.ColorByName(tkMapColor.LightGray), 4f, tkDashStyle.dsSolid); + ShapefileCategory shapefileCategory = shapefile.Categories.Add("River"); + shapefileCategory.DrawingOptions.LinePattern = linePattern; + shapefileCategory.DrawingOptions.UseLinePattern = true; + ((IShapefile)shapefile).set_ShapeCategory(0, 0); + shapefile = CreatePoints_forLine_Ring(axMap.CurrentZoom); + num = axMap.AddLayer(shapefile, visible: true); + axMap.ZoomToLayer(num); + } +} diff --git a/LP/MyBody.cs b/LP/MyBody.cs new file mode 100644 index 0000000..fdd8ea5 --- /dev/null +++ b/LP/MyBody.cs @@ -0,0 +1,5 @@ +namespace LP; + +public class MyBody +{ +} diff --git a/LP/MyCell.cs b/LP/MyCell.cs new file mode 100644 index 0000000..930cbfb --- /dev/null +++ b/LP/MyCell.cs @@ -0,0 +1,87 @@ +namespace LP; + +internal class MyCell +{ + public MyPoint p1; + + public MyPoint p2; + + public MyPoint p3; + + public MyPoint p4; + + public int idGrid; + + public double dist0; + + public double dist1; + + public double lengthSelf; + + public double area_km2; + + public int[] xArray5 = null; + + public int[] yArray5 = null; + + public MyCell() + { + p1 = new MyPoint(); + p2 = new MyPoint(); + p3 = new MyPoint(); + p4 = new MyPoint(); + idGrid = 0; + dist0 = (dist1 = 0.0); + lengthSelf = 0.0; + area_km2 = 0.0; + } + + public void CloneFrom_MyCell(MyCell _cell) + { + p1.CloneFrom_MyPoint(_cell.p1); + p2.CloneFrom_MyPoint(_cell.p2); + p3.CloneFrom_MyPoint(_cell.p3); + p4.CloneFrom_MyPoint(_cell.p4); + idGrid = _cell.idGrid; + dist0 = _cell.dist0; + dist1 = _cell.dist1; + lengthSelf = _cell.lengthSelf; + area_km2 = _cell.area_km2; + } + + public void km_From_JWD_MyCell(MyCell cell) + { + p1.km_From_JWD_MyPoint(cell.p1); + p2.km_From_JWD_MyPoint(cell.p2); + p3.km_From_JWD_MyPoint(cell.p3); + p4.km_From_JWD_MyPoint(cell.p4); + } + + public void convertPixel_FromJWD(int _width, int _height, double _jd_min, double _jd_max, double _wd_min, double _wd_max) + { + if (xArray5 == null) + { + xArray5 = new int[5]; + } + if (yArray5 == null) + { + yArray5 = new int[5]; + } + int num = 0; + int num2 = 0; + MyPoint[] array = null; + array = new MyPoint[5] { p1, p2, p3, p4, p1 }; + for (int i = 0; i < 5; i++) + { + num = (int)((double)_width * (array[i].x - _jd_min) / (_jd_max - _jd_min)); + num2 = (int)((double)_height * (_wd_max - array[i].y) / (_wd_max - _wd_min)); + xArray5[i] = num; + yArray5[i] = num2; + } + for (int j = 0; j < 5; j++) + { + array[j] = null; + } + array = null; + } +} diff --git a/LP/MyFunction.cs b/LP/MyFunction.cs new file mode 100644 index 0000000..b2fe6cc --- /dev/null +++ b/LP/MyFunction.cs @@ -0,0 +1,2772 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Windows.Forms; +using Invoke_CircuitLightningProtection_Base; + +namespace LP; + +public class MyFunction +{ + public FormDesktop desktop = null; + + public string MyStart(int _ID_Detail, List _listTaskDetail, List _listXianLuData, List _listGanTas) + { + string text = "OK"; + if (_listTaskDetail == null) + { + return "MyStart()参数2 任务变量_listTaskDetail为空."; + } + bool flag = false; + TaskData taskData = new TaskData(); + int num = -1; + for (int i = 0; i < _listTaskDetail.Count; i++) + { + if (_listTaskDetail[i].mTaskID_Detail == _ID_Detail) + { + flag = true; + num = i; + taskData.copyFrom_TaskData(_listTaskDetail[num].mTaskData); + break; + } + } + if (!flag) + { + return $"MyStart()参数1 任务编号_ID_Detail={_ID_Detail}无匹配任务."; + } + XianLuData xianLuData = new XianLuData(); + int indexXianLu = -1; + for (int j = 0; j < _listXianLuData.Count; j++) + { + if (_listXianLuData[j].mName_XianLu.Equals(_listTaskDetail[num].mTaskData.mXianLuName_Task)) + { + xianLuData.CopyFrom_XianLuData(_listXianLuData[j]); + indexXianLu = j; + break; + } + } + string result = ""; + switch (taskData.mTypeCode_Task) + { + case 1: + result = MyStart_Finished1_PuTongJiSuan(num, _listTaskDetail, indexXianLu, _listXianLuData); + break; + case 2: + result = MyStart_Finished2_FengXianPingGu(num, _listTaskDetail, indexXianLu, _listXianLuData); + break; + case 3: + result = MyStart_Finished3_CuoShiTuiJian(num, _listTaskDetail, indexXianLu, _listXianLuData); + break; + case 302: + result = MyStart_Finished3_CuoShiTuiJian(num, _listTaskDetail, indexXianLu, _listXianLuData); + break; + case 4: + result = MyStart_Finished1_PuTongJiSuan(num, _listTaskDetail, indexXianLu, _listXianLuData); + break; + case 5: + result = MyStart_Finished5_Report(num, _listTaskDetail, indexXianLu, _listXianLuData); + break; + case 6: + result = MyStart_Finished6_AnZhuangBLQ(num, _listTaskDetail, indexXianLu, _listXianLuData); + break; + case 602: + result = MyStart_Finished6_AnZhuangBLQ(num, _listTaskDetail, indexXianLu, _listXianLuData); + break; + case 11: + result = MyStart_mPrepare11_LightingCurrent(num, _listTaskDetail, indexXianLu, _listXianLuData, _listGanTas); + break; + case 12: + result = MyStart_mPrepare12_DiShanMiDu(num, _listTaskDetail, indexXianLu, _listXianLuData, _listGanTas); + break; + case 13: + result = MyStart_mPrepare13_DiMianQingJiao(num, _listTaskDetail, indexXianLu, _listXianLuData, _listGanTas); + break; + } + return result; + } + + public string MyLook(int _ID_Task, List _listTaskData, List _listXianLuData) + { + return "OK"; + } + + public string MyStart_Finished1_PuTongJiSuan(int _indexDetail, List _listTaskDetail, int _indexXianLu, List _listXianLuData) + { + string text = "OK"; + int num = 0; + int num2 = 0; + bool flag = false; + bool flag2 = false; + try + { + if (_indexDetail < 0 || _indexDetail >= _listTaskDetail.Count) + { + return $"MyStart_Finished1_PuTongJiSuan()参数1 细胞下标越界_indexDetail={_indexDetail} 合法区间[0,{_listTaskDetail.Count - 1}]"; + } + if (_indexXianLu < 0 || _indexXianLu >= _listXianLuData.Count) + { + return $"MyStart_Finished1_PuTongJiSuan()参数3 线路下标越界_indexXianLu={_indexXianLu} 合法区间[0,{_listXianLuData.Count - 1}]"; + } + TaskGroup taskGroup = null; + taskGroup = _listTaskDetail[_indexDetail].mTaskGroup; + if (taskGroup == null || taskGroup.mListExTaskData.Count == 0) + { + return "MyStart_Finished1_PuTongJiSuan() 任务组mTaskGroup为空 缺少有效任务数据!]"; + } + for (int i = 0; i < taskGroup.mListExTaskData.Count; i++) + { + if (taskGroup.mListExTaskData[i].mID_Task == _listTaskDetail[_indexDetail].mTaskID_Detail && taskGroup.mListExTaskData[i].mTGanTas != null && taskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData != null) + { + num += taskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData.Count; + } + } + num2 = 0; + desktop.MySetFormTitle(desktop, $" {num2}/{num}"); + List list = null; + Method method = new Method(); + TGanTaData tGanTaData = null; + string text2 = Application.StartupPath + "\\" + desktop.mSubPath_ATP_Setting; + string text3 = ""; + string text4 = ""; + string[] separator = new string[3] { "|", "\r", "\n" }; + string[] array = null; + bool flag3 = false; + double num3 = 0.0; + int num4 = 0; + double num5 = 0.0; + string text5 = ""; + string path = text2 + "\\TaskOption.txt"; + string text6 = text2 + "\\ResultTips.txt"; + string text7 = ""; + string[] array2 = null; + int num6 = 0; + using (FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + streamWriter.WriteLine("反击-耐雷水平-下标:0-规程 1-ATP"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_FanJi_NaiLeiShuiPing}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("绕击-耐雷水平-下标:0-规程 1-ATP"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_RaoJi_NaiLeiShuiPing}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("反击-跳闸率-下标:0-无 1-规程"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_FanJi_TZL}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("绕击-跳闸率-下标:0-无 1-规程 2-EGM"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_RaoJi_TZL}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("海拔修正公式-下标: 0-无 1-推荐公式1 2-推荐公式2"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_HaiBaXiuZhengGongShi}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("感应电压公式-下标:0-公式1 1-公式2"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_GanYingDianYaGongShi}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("雷电流波形:1--Heidler(INPhei),2--双斜角(INPslo),3--双指数(INPsur)"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_CurrentCurve}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("绝缘子闪络判据-下标:0-规程法、1-相交法、2-先导发展法"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_ShanLuoPanJu}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("耐雷水平选项:0-单相耐雷水平 1-多相耐雷水平"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_DuoXiangNaiLeiShuiPing}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.Close(); + } + fileStream.Close(); + } + text5 = _listTaskDetail[_indexDetail].mTaskData.mFanJi_NaiLeiShuiPing + _listTaskDetail[_indexDetail].mTaskData.mRaoJi_NaiLeiShuiPing; + if (text5.IndexOf("规程") >= 0) + { + flag = true; + } + for (int j = 0; j < taskGroup.mListExTaskData.Count; j++) + { + if (taskGroup.mListExTaskData[j].mID_Task != _listTaskDetail[_indexDetail].mTaskID_Detail || taskGroup.mListExTaskData[j].mTGanTas == null || taskGroup.mListExTaskData[j].mTGanTas.mListTGanTaData == null) + { + continue; + } + list = taskGroup.mListExTaskData[j].mTGanTas.mListTGanTaData; + for (int k = 0; k < list.Count; k++) + { + tGanTaData = list[k]; + if (tGanTaData == null) + { + continue; + } + text5 = ""; + text3 = ""; + num3 = tGanTaData.mJYZCD_GanTa; + num3 = MyJYZCD_by_HaiBa(_listTaskDetail[_indexDetail].mTaskData.mIndex_HaiBaXiuZhengGongShi, tGanTaData.mJYZCD_GanTa, tGanTaData.mHaiBa_GanTa); + switch (tGanTaData.mTaXing_GanTa) + { + case "d35maotou": + case "d66maotou": + case "d110maotou": + case "d220maotou": + case "d330maotou": + case "d500maotou": + case "d1000maotou": + case "d35jiubei": + case "d66jiubei": + case "d110jiubei": + case "d220jiubei": + case "d330jiubei": + case "d500jiubei": + case "d750jiubei": + case "d1000jiubei": + case "d35ganzi": + case "d66ganzi": + case "d110ganzi": + case "d220ganzi": + case "d330ganzi": + case "d500ganzi": + case "d750ganzi": + case "d1000ganzi": + case "d35shangzi": + case "d66shangzi": + case "d110shangzi": + case "d220shangzi": + case "d330shangzi": + case "d500shangzi": + case "d110menxing": + case "d220menxing": + case "d500menxing": + text3 = text3 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text3 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num3}|{tGanTaData.mHuGao_GanTa}"; + text3 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text3 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text3 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text3 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + text5 = "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + flag2 = text5.Equals("|是|是|是"); + break; + case "s66guxingd": + text3 = text3 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text3 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num3}|{tGanTaData.mHuGao_GanTa}"; + text3 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text3 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text3 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text3 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + text5 = "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + flag2 = text5.Equals("|是|是|是"); + break; + case "s35guxing": + case "s66guxing": + case "s110guxing": + case "s220guxing": + case "s330guxing": + case "s500guxing": + case "s750guxing": + case "s1000guxing": + text3 = text3 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mXiangXu2_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text3 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num3}|{tGanTaData.mHuGao_GanTa}"; + text3 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m2ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m2ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m2ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text3 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text3 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text3 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + text5 = "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + flag2 = text5.Equals("|是|是|是"); + break; + case "s35sihuita": + case "s110sihuita": + case "s220sihuita": + case "s500sihuita": + text3 = text3 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mXiangXu2_GanTa + "|" + tGanTaData.mXiangXu3_GanTa + "|" + tGanTaData.mXiangXu4_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text3 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num3}|{tGanTaData.mHuGao_GanTa}"; + text3 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text3 += $"|{tGanTaData.m2ZJ_Shang_GanTa}|{tGanTaData.m2ZJ_Zhong_GanTa}|{tGanTaData.m2ZJ_Xia_GanTa}|{tGanTaData.m2GD_Shang_GanTa}|{tGanTaData.m2GD_Zhong_GanTa}|{tGanTaData.m2GD_Xia_GanTa}"; + text3 += $"|{tGanTaData.m3ZJ_Shang_GanTa}|{tGanTaData.m3ZJ_Zhong_GanTa}|{tGanTaData.m3ZJ_Xia_GanTa}|{tGanTaData.m3GD_Shang_GanTa}|{tGanTaData.m3GD_Zhong_GanTa}|{tGanTaData.m3GD_Xia_GanTa}"; + text3 += $"|{tGanTaData.m4ZJ_Shang_GanTa}|{tGanTaData.m4ZJ_Zhong_GanTa}|{tGanTaData.m4ZJ_Xia_GanTa}|{tGanTaData.m4GD_Shang_GanTa}|{tGanTaData.m4GD_Zhong_GanTa}|{tGanTaData.m4GD_Xia_GanTa}"; + text3 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text3 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text3 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + text5 = "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + flag2 = text5.Equals("|是|是|是"); + break; + case "zhiliu500": + case "zhiliu800": + case "vzhiliu500": + case "vzhiliu800": + text3 = text3 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text3 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num3}|{tGanTaData.mHuGao_GanTa}"; + text3 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text3 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text3 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text5 = "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + flag2 = text5.Equals("|是|是"); + break; + } + MyLog.AddLog($"k={j} gt={k} before AllCall_CS( 101, \"GBK\", path={text2}, parameters={text3} )"); + if (flag && flag2) + { + text4 = "请换ATP方法"; + tGanTaData.m_Result_PuTongJiSuan_GanTa = text4; + num2++; + desktop.MySetFormTitle(desktop, $" {num2}/{num}"); + continue; + } + text4 = method.AllCall_CS(101, "GBK", text2, text3); + MyLog.AddLog("sret=" + text4); + flag3 = false; + array = text4.Split(separator, StringSplitOptions.RemoveEmptyEntries); + if (!File.Exists(text6)) + { + continue; + } + Encoding[] array3 = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num7 = 0; + bool flag4 = false; + string text8 = ""; + for (int l = 0; l < array3.Length; l++) + { + try + { + using FileStream fileStream2 = new FileStream(text6, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream2, array3[l])) + { + text8 = streamReader.ReadToEnd(); + if (string.IsNullOrEmpty(text8) || text8.IndexOf("耐雷水平") >= 0 || text8.IndexOf("跳闸率") >= 0 || text8.IndexOf("风险等级") >= 0) + { + num7 = l; + flag4 = true; + } + streamReader.Close(); + } + fileStream2.Close(); + } + catch (Exception) + { + } + if (flag4) + { + break; + } + } + MyLog.AddLog($"found={flag4} fileName_ResultTips={text6}"); + using (FileStream fileStream3 = new FileStream(text6, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader2 = new StreamReader(fileStream3, array3[num7])) + { + text7 = streamReader2.ReadToEnd().Trim(); + streamReader2.Close(); + } + fileStream3.Close(); + } + if (string.IsNullOrEmpty(text7)) + { + tGanTaData.m_Result_PuTongJiSuan_GanTa = text4; + num2++; + desktop.MySetFormTitle(desktop, $" {num2}/{num}"); + continue; + } + num6 = 0; + array2 = text7.Split(separator, StringSplitOptions.RemoveEmptyEntries); + for (int m = 0; m < array2.Length; m++) + { + if (m == 0) + { + tGanTaData.mFJ_NLSP_GanTa = (tGanTaData.mFJ_TZL_GanTa = 0.0); + tGanTaData.mRJ_NLSP_GanTa = (tGanTaData.mRJ_TZL_GanTa = 0.0); + tGanTaData.mFXDJ_GanTa = 0; + tGanTaData.mMA_RJ_NLSP_GanTa = (tGanTaData.mMB_RJ_NLSP_GanTa = (tGanTaData.mMC_RJ_NLSP_GanTa = 0.0)); + tGanTaData.mM1_NLSP_GanTa = (tGanTaData.mM2_NLSP_GanTa = (tGanTaData.mM3_NLSP_GanTa = 0.0)); + tGanTaData.mM1_Xiang_GanTa = (tGanTaData.mM2_Xiang_GanTa = (tGanTaData.mM3_Xiang_GanTa = "-")); + tGanTaData.mM1_TZL_GanTa = (tGanTaData.mM2_TZL_GanTa = (tGanTaData.mM3_TZL_GanTa = 0.0)); + tGanTaData.mM4_NLSP_GanTa = (tGanTaData.mM5_NLSP_GanTa = (tGanTaData.mM6_NLSP_GanTa = 0.0)); + tGanTaData.mM4_Xiang_GanTa = (tGanTaData.mM5_Xiang_GanTa = (tGanTaData.mM6_Xiang_GanTa = "-")); + tGanTaData.mM4_TZL_GanTa = (tGanTaData.mM5_TZL_GanTa = (tGanTaData.mM6_TZL_GanTa = 0.0)); + } + if (m >= array.Length) + { + break; + } + try + { + num4 = Convert.ToInt32(array[m].Trim()); + } + catch (Exception) + { + num4 = 0; + } + try + { + num5 = Convert.ToDouble(array[m].Trim()); + } + catch (Exception) + { + num5 = 0.0; + } + text5 = array[m].Trim(); + switch (array2[m].Trim()) + { + case "反击耐雷水平": + tGanTaData.mFJ_NLSP_GanTa = num5; + break; + case "反击跳闸率": + tGanTaData.mFJ_TZL_GanTa = num5; + break; + case "绕击耐雷水平": + tGanTaData.mRJ_NLSP_GanTa = num5; + break; + case "绕击跳闸率": + tGanTaData.mRJ_TZL_GanTa = num5; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num4; + break; + case "A相绕击耐雷水平": + tGanTaData.mMA_RJ_NLSP_GanTa = num5; + break; + case "B相绕击耐雷水平": + tGanTaData.mMB_RJ_NLSP_GanTa = num5; + break; + case "C相绕击耐雷水平": + tGanTaData.mMC_RJ_NLSP_GanTa = num5; + break; + case "绕击耐雷水平1": + tGanTaData.mMA_RJ_NLSP_GanTa = num5; + break; + case "绕击耐雷水平2": + tGanTaData.mMB_RJ_NLSP_GanTa = num5; + break; + case "单相反击耐雷水平": + tGanTaData.mM1_NLSP_GanTa = num5; + break; + case "单相闪络相": + tGanTaData.mM1_Xiang_GanTa = text5; + break; + case "单相反击跳闸率": + tGanTaData.mM1_TZL_GanTa = num5; + break; + case "双相反击耐雷水平": + tGanTaData.mM2_NLSP_GanTa = num5; + break; + case "双相闪络相": + tGanTaData.mM2_Xiang_GanTa = text5; + break; + case "双相反击跳闸率": + tGanTaData.mM2_TZL_GanTa = num5; + break; + case "三相反击耐雷水平": + tGanTaData.mM3_NLSP_GanTa = num5; + break; + case "三相闪络相": + tGanTaData.mM3_Xiang_GanTa = text5; + break; + case "三相反击跳闸率": + tGanTaData.mM3_TZL_GanTa = num5; + break; + case "四相反击耐雷水平": + tGanTaData.mM4_NLSP_GanTa = num5; + break; + case "四相闪络相": + tGanTaData.mM4_Xiang_GanTa = text5; + break; + case "四相反击跳闸率": + tGanTaData.mM4_TZL_GanTa = num5; + break; + case "五相反击耐雷水平": + tGanTaData.mM5_NLSP_GanTa = num5; + break; + case "五相闪络相": + tGanTaData.mM5_Xiang_GanTa = text5; + break; + case "五相反击跳闸率": + tGanTaData.mM5_TZL_GanTa = num5; + break; + case "六相反击耐雷水平": + tGanTaData.mM6_NLSP_GanTa = num5; + break; + case "六相闪络相": + tGanTaData.mM6_Xiang_GanTa = text5; + break; + case "六相反击跳闸率": + tGanTaData.mM6_TZL_GanTa = num5; + break; + case "保护角": + tGanTaData.m_BaoHuJiao = num5; + break; + default: + num6--; + break; + } + num6++; + } + if (num6 >= 2) + { + flag3 = true; + } + tGanTaData.m_Result_PuTongJiSuan_GanTa = ((!flag3) ? text4 : "OK"); + text4 = MyCanShu_1_HuaFenDangJi(list, k, _listXianLuData[_indexXianLu], _firstTry: true); + num2++; + desktop.MySetFormTitle(desktop, $" {num2}/{num}"); + text3 = ""; + int num8 = -1; + CanShuFenJi canShuFenJi = null; + num8 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData.m_ID_CanShuFenJi); + if (num8 >= 0) + { + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num8]; + canShuFenJi.mNew_BaoHuJiao = tGanTaData.m_BaoHuJiao; + if (j == 0) + { + canShuFenJi.mOld_BaoHuJiao = tGanTaData.m_BaoHuJiao; + } + } + } + taskGroup.mListExTaskData[j].Finished1_PuTongJiSuan = 1; + taskGroup.mListExTaskData[j].Complete = 1; + taskGroup.mListExTaskData[j].Finished2_FengXianPingGu = 0; + } + _listTaskDetail[_indexDetail].mTaskData.Finished1_PuTongJiSuan = 1; + _listTaskDetail[_indexDetail].mTaskData.Complete = 1; + _listTaskDetail[_indexDetail].mTaskData.Finished2_FengXianPingGu = 0; + } + catch (Exception ex4) + { + text = "exception=" + ex4.Message; + MyLog.AddLog("MyStart_Finished1_PuTongJiSuan() " + text); + } + return text; + } + + private double MyJYZCD_by_HaiBa(int _mHaiBaXiuZhengGongShi, double _mJYZCD_GanTa, double _mHaiBa_GanTa) + { + double num = 0.0; + double num2 = 1.0; + double num3 = 1.0; + switch (_mHaiBaXiuZhengGongShi) + { + case 1: + try + { + num3 = Math.Exp(num2 * (_mHaiBa_GanTa / 8150.0)); + } + catch (Exception) + { + num3 = 1.0; + } + break; + case 2: + try + { + num3 = 1.0 / (1.0 - num2 * _mHaiBa_GanTa * 0.0001); + } + catch (Exception) + { + num3 = 1.0; + } + break; + } + return _mJYZCD_GanTa / num3; + } + + public string MyStart_Finished2_FengXianPingGu(int _indexDetail, List _listTaskDetail, int _indexXianLu, List _listXianLuData) + { + string result = "OK"; + for (int i = 0; i < _listTaskDetail[_indexDetail].mTaskGroup.mListExTaskData.Count; i++) + { + for (int j = 0; j < _listTaskDetail[_indexDetail].mTaskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData.Count; j++) + { + _listTaskDetail[_indexDetail].mTaskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData[j].m_YuanYinFenXi_GanTa = "高度过高\r\n接地电阻大\r\n绝缘子短"; + } + } + _listTaskDetail[_indexDetail].mTaskData.Finished2_FengXianPingGu = 1; + _listTaskDetail[_indexDetail].mTaskData.Complete = 1; + _listTaskDetail[_indexDetail].mTaskData.Finished3_CuoShiTuiJian = 0; + return result; + } + + public string MyStart_Finished3_CuoShiTuiJian(int _indexDetail, List _listTaskDetail, int _indexXianLu, List _listXianLuData) + { + string result = "OK"; + try + { + int num = 0; + int num2 = 0; + int num3 = 0; + int num4 = 0; + int num5 = 0; + int num6 = 0; + if (_indexDetail < 0 || _indexDetail >= _listTaskDetail.Count) + { + result = $"MyStart_Finished3_CuoShiTuiJian()参数1 细胞下标越界_indexDetail={_indexDetail} 合法区间[0,{_listTaskDetail.Count - 1}]"; + return result; + } + if (_indexXianLu < 0 || _indexXianLu >= _listXianLuData.Count) + { + result = $"MyStart_Finished3_CuoShiTuiJian()参数3 线路下标越界_indexXianLu={_indexXianLu} 合法区间[0,{_listXianLuData.Count - 1}]"; + return result; + } + TaskGroup taskGroup = null; + taskGroup = _listTaskDetail[_indexDetail].mTaskGroup; + if (taskGroup == null || taskGroup.mListExTaskData.Count == 0) + { + result = "MyStart_Finished1_PuTongJiSuan() 任务组mTaskGroup为空 缺少有效任务数据!]"; + return result; + } + for (int i = 0; i < taskGroup.mListExTaskData.Count; i++) + { + if (taskGroup.mListExTaskData[i].mID_Task == _listTaskDetail[_indexDetail].mTaskID_Detail && taskGroup.mListExTaskData[i].mTGanTas != null && taskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData != null) + { + num += taskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData.Count; + } + } + num2 = 0; + desktop.MySetFormTitle(desktop, $" {num2}/{num}"); + Method method = new Method(); + TGanTaData tGanTaData = null; + string text = Application.StartupPath + "\\" + desktop.mSubPath_ATP_Setting; + string text2 = ""; + string text3 = ""; + string text4 = ""; + string[] separator = new string[3] { "|", "\r", "\n" }; + string[] array = null; + bool flag = false; + double num7 = 0.0; + int num8 = 0; + double num9 = 0.0; + string text5 = ""; + int num10 = 0; + int num11 = 0; + string path = text + "\\TaskOption.txt"; + string path2 = text + "\\ResultTips.txt"; + string text6 = ""; + string[] array2 = null; + int num12 = 0; + using (FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + streamWriter.WriteLine("反击-耐雷水平-下标:0-规程 1-ATP"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_FanJi_NaiLeiShuiPing}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("绕击-耐雷水平-下标:0-规程 1-ATP"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_RaoJi_NaiLeiShuiPing}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("反击-跳闸率-下标:0-无 1-规程"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_FanJi_TZL}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("绕击-跳闸率-下标:0-无 1-规程 2-EGM"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_RaoJi_TZL}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("海拔修正公式-下标: 0-无 1-推荐公式1 2-推荐公式2"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_HaiBaXiuZhengGongShi}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("感应电压公式-下标:0-公式1 1-公式2"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_GanYingDianYaGongShi}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("雷电流波形:1--Heidler(INPhei),2--双斜角(INPslo),3--双指数(INPsur)"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_CurrentCurve}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("绝缘子闪络判据-下标:0-规程法、1-相交法、2-先导发展法"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_ShanLuoPanJu}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("耐雷水平选项:0-单相耐雷水平 1-多相耐雷水平"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_DuoXiangNaiLeiShuiPing}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.Close(); + } + fileStream.Close(); + } + num4 = (num5 = 0); + List list = null; + for (int j = 0; j < taskGroup.mListExTaskData.Count; j++) + { + if (taskGroup.mListExTaskData[j].mID_Task != _listTaskDetail[_indexDetail].mTaskID_Detail || taskGroup.mListExTaskData[j].mTGanTas == null || taskGroup.mListExTaskData[j].mTGanTas.mListTGanTaData == null) + { + continue; + } + list = taskGroup.mListExTaskData[j].mTGanTas.mListTGanTaData; + for (int k = 0; k < list.Count; k++) + { + if (list[k] == null || list[k].mFXDJ_GanTa <= 2) + { + continue; + } + for (int l = 0; l < desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData.Count; l++) + { + if (!(desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData[l].mID_GanTa == list[k].mID_GanTa)) + { + continue; + } + list[k].mJDDZ_GanTa = desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData[l].mJDDZ_GanTa; + list[k].mJYZCD_GanTa = desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData[l].mJYZCD_GanTa; + list[k].mBLZJ_L_GanTa = desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData[l].mBLZJ_L_GanTa; + list[k].mBLZJ_R_GanTa = desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData[l].mBLZJ_R_GanTa; + if (_listTaskDetail[_indexDetail].mTaskData.mTypeCode_Task == 302) + { + double num13 = 0.0; + num13 = list[k].mBLZJ_L_GanTa; + if (num13 < list[k].mBLZJ_R_GanTa) + { + num13 = list[k].mBLZJ_R_GanTa; + } + list[k].mBLZJ_R_GanTa = (list[k].mBLZJ_L_GanTa = num13); + } + break; + } + num4++; + text3 = MyCanShu_1_HuaFenDangJi(list, k, _listXianLuData[_indexXianLu], _firstTry: true); + if (!text3.Equals("OK")) + { + result = $"MyStart_Finished3_CuoShiTuiJian()参数1 细胞下标_indexDetail={_indexDetail}\r\n" + $" mTask.mListDetails[{_indexDetail}].mTaskGroup.mListExTaskData[{j}].mTGanTas.mListTGanTaData[{k}]\r\n" + " " + text3; + return result; + } + } + } + num6 = 0; + for (num3 = 1; num3 > 0; num3++) + { + num = 0; + for (int m = 0; m < taskGroup.mListExTaskData.Count; m++) + { + if (taskGroup.mListExTaskData[m].mID_Task != _listTaskDetail[_indexDetail].mTaskID_Detail || taskGroup.mListExTaskData[m].mTGanTas == null || taskGroup.mListExTaskData[m].mTGanTas.mListTGanTaData == null) + { + continue; + } + list = taskGroup.mListExTaskData[m].mTGanTas.mListTGanTaData; + for (int n = 0; n < list.Count; n++) + { + if (list[n] != null && list[n].mFXDJ_GanTa > 2) + { + text3 = MyCanShu_1_HuaFenDangJi(list, n, _listXianLuData[_indexXianLu]); + if (!text3.Equals("OK")) + { + result = $"MyStart_Finished3_CuoShiTuiJian()参数1 细胞下标_indexDetail={_indexDetail} turn={num3} \r\n" + $" mTask.mListDetails[{_indexDetail}].mTaskGroup.mListExTaskData[{m}].mTGanTas.mListTGanTaData[{n}]\r\n" + " " + text3; + return result; + } + num++; + } + } + } + if (num == 0) + { + break; + } + num11 = 0; + for (int num14 = 0; num14 < taskGroup.mListExTaskData.Count; num14++) + { + if (taskGroup.mListExTaskData[num14].mID_Task != _listTaskDetail[_indexDetail].mTaskID_Detail || taskGroup.mListExTaskData[num14].mTGanTas == null || taskGroup.mListExTaskData[num14].mTGanTas.mListTGanTaData == null) + { + continue; + } + list = taskGroup.mListExTaskData[num14].mTGanTas.mListTGanTaData; + for (int num15 = 0; num15 < list.Count; num15++) + { + if (list[num15] != null && list[num15].mFXDJ_GanTa > 2) + { + num10 = ((_listTaskDetail[_indexDetail].mTaskData.mTypeCode_Task == 3) ? MyCanShu_2_TuiJianCuoShi(list, num15) : ((_listTaskDetail[_indexDetail].mTaskData.mTypeCode_Task != 302) ? MyCanShu_2_TuiJianCuoShi(list, num15) : MyCanShu_3_TuiJianCuoShi_FeiJianXian(list, num15))); + if (num10 < 0) + { + text4 = $"MyStart_Finished3_CuoShiTuiJian()参数1 细胞下标_indexDetail={_indexDetail} turn={num3} \r\n" + $" mTask.mListDetails[{_indexDetail}].mTaskGroup.mListExTaskData[{num14}].mTGanTas.mListTGanTaData[{num15}]\r\n"; + MyLog.AddLog(text4); + num10 = 0; + } + num11 += num10; + num6 += num10; + } + } + } + if (num11 == 0) + { + break; + } + num2 = 0; + for (int num16 = 0; num16 < taskGroup.mListExTaskData.Count; num16++) + { + if (taskGroup.mListExTaskData[num16].mID_Task != _listTaskDetail[_indexDetail].mTaskID_Detail || taskGroup.mListExTaskData[num16].mTGanTas == null || taskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData == null) + { + continue; + } + list = taskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData; + for (int num17 = 0; num17 < list.Count; num17++) + { + if (list[num17].mFXDJ_GanTa <= 2) + { + continue; + } + tGanTaData = list[num17]; + text2 = ""; + num7 = tGanTaData.mJYZCD_GanTa; + num7 = MyJYZCD_by_HaiBa(_listTaskDetail[_indexDetail].mTaskData.mIndex_HaiBaXiuZhengGongShi, tGanTaData.mJYZCD_GanTa, tGanTaData.mHaiBa_GanTa); + switch (tGanTaData.mTaXing_GanTa) + { + case "d35maotou": + case "d66maotou": + case "d110maotou": + case "d220maotou": + case "d330maotou": + case "d500maotou": + case "d1000maotou": + case "d35jiubei": + case "d66jiubei": + case "d110jiubei": + case "d220jiubei": + case "d330jiubei": + case "d500jiubei": + case "d750jiubei": + case "d1000jiubei": + case "d35ganzi": + case "d66ganzi": + case "d110ganzi": + case "d220ganzi": + case "d330ganzi": + case "d500ganzi": + case "d750ganzi": + case "d1000ganzi": + case "d35shangzi": + case "d66shangzi": + case "d110shangzi": + case "d220shangzi": + case "d330shangzi": + case "d500shangzi": + case "d110menxing": + case "d220menxing": + case "d500menxing": + text2 = text2 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text2 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num7}|{tGanTaData.mHuGao_GanTa}"; + text2 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text2 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text2 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + break; + case "s66guxingd": + text2 = text2 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text2 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num7}|{tGanTaData.mHuGao_GanTa}"; + text2 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text2 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text2 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + break; + case "s35guxing": + case "s66guxing": + case "s110guxing": + case "s220guxing": + case "s330guxing": + case "s500guxing": + case "s750guxing": + case "s1000guxing": + text2 = text2 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mXiangXu2_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text2 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num7}|{tGanTaData.mHuGao_GanTa}"; + text2 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m2ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m2ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m2ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text2 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text2 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + break; + case "s35sihuita": + case "s110sihuita": + case "s220sihuita": + case "s500sihuita": + text2 = text2 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mXiangXu2_GanTa + "|" + tGanTaData.mXiangXu3_GanTa + "|" + tGanTaData.mXiangXu4_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text2 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num7}|{tGanTaData.mHuGao_GanTa}"; + text2 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.m2ZJ_Shang_GanTa}|{tGanTaData.m2ZJ_Zhong_GanTa}|{tGanTaData.m2ZJ_Xia_GanTa}|{tGanTaData.m2GD_Shang_GanTa}|{tGanTaData.m2GD_Zhong_GanTa}|{tGanTaData.m2GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.m3ZJ_Shang_GanTa}|{tGanTaData.m3ZJ_Zhong_GanTa}|{tGanTaData.m3ZJ_Xia_GanTa}|{tGanTaData.m3GD_Shang_GanTa}|{tGanTaData.m3GD_Zhong_GanTa}|{tGanTaData.m3GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.m4ZJ_Shang_GanTa}|{tGanTaData.m4ZJ_Zhong_GanTa}|{tGanTaData.m4ZJ_Xia_GanTa}|{tGanTaData.m4GD_Shang_GanTa}|{tGanTaData.m4GD_Zhong_GanTa}|{tGanTaData.m4GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text2 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text2 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + break; + case "zhiliu500": + case "zhiliu800": + case "vzhiliu500": + case "vzhiliu800": + text2 = text2 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text2 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num7}|{tGanTaData.mHuGao_GanTa}"; + text2 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text2 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + break; + } + int num18 = -1; + CanShuFenJi canShuFenJi = null; + num18 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData.m_ID_CanShuFenJi); + if (num18 >= 0) + { + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num18]; + if (!canShuFenJi.mCallDLL) + { + num2++; + desktop.MySetFormTitle(desktop, $"第{num3}轮 {num2}/{num} "); + num5++; + continue; + } + } + text3 = method.AllCall_CS(101, "GBK", text, text2); + flag = false; + array = text3.Split(separator, StringSplitOptions.RemoveEmptyEntries); + if (File.Exists(path2)) + { + Encoding[] array3 = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num19 = 0; + bool flag2 = false; + string text7 = ""; + for (int num20 = 0; num20 < array3.Length; num20++) + { + try + { + using FileStream fileStream2 = new FileStream(path2, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream2, array3[num20])) + { + text7 = streamReader.ReadToEnd(); + if (text7.IndexOf("耐雷水平") >= 0 || text7.IndexOf("跳闸率") >= 0 || text7.IndexOf("风险等级") >= 0) + { + num19 = num20; + flag2 = true; + } + streamReader.Close(); + } + fileStream2.Close(); + } + catch (Exception) + { + } + if (flag2) + { + break; + } + } + using (FileStream fileStream3 = new FileStream(path2, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader2 = new StreamReader(fileStream3, array3[num19])) + { + text6 = streamReader2.ReadToEnd().Trim(); + streamReader2.Close(); + } + fileStream3.Close(); + } + if (string.IsNullOrEmpty(text6)) + { + tGanTaData.m_Result_PuTongJiSuan_GanTa = text3; + desktop.MySetFormTitle(desktop, $" {num2}/{num}"); + tGanTaData = null; + text2 = ""; + continue; + } + num12 = 0; + array2 = text6.Split(separator, StringSplitOptions.RemoveEmptyEntries); + for (int num21 = 0; num21 < array2.Length; num21++) + { + if (num21 == 0) + { + tGanTaData.mFJ_NLSP_GanTa = (tGanTaData.mFJ_TZL_GanTa = 0.0); + tGanTaData.mRJ_NLSP_GanTa = (tGanTaData.mRJ_TZL_GanTa = 0.0); + tGanTaData.mFXDJ_GanTa = 0; + tGanTaData.mMA_RJ_NLSP_GanTa = (tGanTaData.mMB_RJ_NLSP_GanTa = (tGanTaData.mMC_RJ_NLSP_GanTa = 0.0)); + tGanTaData.mM1_NLSP_GanTa = (tGanTaData.mM2_NLSP_GanTa = (tGanTaData.mM3_NLSP_GanTa = 0.0)); + tGanTaData.mM1_Xiang_GanTa = (tGanTaData.mM2_Xiang_GanTa = (tGanTaData.mM3_Xiang_GanTa = "-")); + tGanTaData.mM1_TZL_GanTa = (tGanTaData.mM2_TZL_GanTa = (tGanTaData.mM3_TZL_GanTa = 0.0)); + tGanTaData.mM4_NLSP_GanTa = (tGanTaData.mM5_NLSP_GanTa = (tGanTaData.mM6_NLSP_GanTa = 0.0)); + tGanTaData.mM4_Xiang_GanTa = (tGanTaData.mM5_Xiang_GanTa = (tGanTaData.mM6_Xiang_GanTa = "-")); + tGanTaData.mM4_TZL_GanTa = (tGanTaData.mM5_TZL_GanTa = (tGanTaData.mM6_TZL_GanTa = 0.0)); + } + if (num21 >= array.Length) + { + break; + } + try + { + num8 = Convert.ToInt32(array[num21].Trim()); + } + catch (Exception) + { + num8 = 0; + } + try + { + num9 = Convert.ToDouble(array[num21].Trim()); + } + catch (Exception) + { + num9 = 0.0; + } + text5 = array[num21].Trim(); + switch (array2[num21].Trim()) + { + case "反击耐雷水平": + tGanTaData.mFJ_NLSP_GanTa = num9; + break; + case "反击跳闸率": + tGanTaData.mFJ_TZL_GanTa = num9; + break; + case "绕击耐雷水平": + tGanTaData.mRJ_NLSP_GanTa = num9; + break; + case "绕击跳闸率": + tGanTaData.mRJ_TZL_GanTa = num9; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num8; + break; + case "A相绕击耐雷水平": + tGanTaData.mMA_RJ_NLSP_GanTa = num9; + break; + case "B相绕击耐雷水平": + tGanTaData.mMB_RJ_NLSP_GanTa = num9; + break; + case "C相绕击耐雷水平": + tGanTaData.mMC_RJ_NLSP_GanTa = num9; + break; + case "单相反击耐雷水平": + tGanTaData.mM1_NLSP_GanTa = num9; + break; + case "单相闪络相": + tGanTaData.mM1_Xiang_GanTa = text5; + break; + case "单相反击跳闸率": + tGanTaData.mM1_TZL_GanTa = num9; + break; + case "双相反击耐雷水平": + tGanTaData.mM2_NLSP_GanTa = num9; + break; + case "双相闪络相": + tGanTaData.mM2_Xiang_GanTa = text5; + break; + case "双相反击跳闸率": + tGanTaData.mM2_TZL_GanTa = num9; + break; + case "三相反击耐雷水平": + tGanTaData.mM3_NLSP_GanTa = num9; + break; + case "三相闪络相": + tGanTaData.mM3_Xiang_GanTa = text5; + break; + case "三相反击跳闸率": + tGanTaData.mM3_TZL_GanTa = num9; + break; + case "四相反击耐雷水平": + tGanTaData.mM4_NLSP_GanTa = num9; + break; + case "四相闪络相": + tGanTaData.mM4_Xiang_GanTa = text5; + break; + case "四相反击跳闸率": + tGanTaData.mM4_TZL_GanTa = num9; + break; + case "五相反击耐雷水平": + tGanTaData.mM5_NLSP_GanTa = num9; + break; + case "五相闪络相": + tGanTaData.mM5_Xiang_GanTa = text5; + break; + case "五相反击跳闸率": + tGanTaData.mM5_TZL_GanTa = num9; + break; + case "六相反击耐雷水平": + tGanTaData.mM6_NLSP_GanTa = num9; + break; + case "六相闪络相": + tGanTaData.mM6_Xiang_GanTa = text5; + break; + case "六相反击跳闸率": + tGanTaData.mM6_TZL_GanTa = num9; + break; + case "保护角": + tGanTaData.m_BaoHuJiao = num9; + break; + default: + num12--; + break; + } + num12++; + } + if (num12 >= 2) + { + flag = true; + } + tGanTaData.m_Result_PuTongJiSuan_GanTa = ((!flag) ? text3 : "OK"); + num2++; + desktop.MySetFormTitle(desktop, $"第{num3}轮 {num2}/{num} "); + num5++; + text2 = ""; + } + num18 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData.m_ID_CanShuFenJi); + if (num18 >= 0) + { + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num18]; + canShuFenJi.mNew_BaoHuJiao = tGanTaData.m_BaoHuJiao; + if (num3 == 1) + { + canShuFenJi.mOld_BaoHuJiao = tGanTaData.m_BaoHuJiao; + } + } + } + taskGroup.mListExTaskData[num16].Finished3_CuoShiTuiJian = 1; + taskGroup.mListExTaskData[num16].Complete = 1; + } + } + desktop.MySetFormTitle(desktop, $"总计{num3}轮 一共措施推荐{num6}条 杆塔{num5}塔次/涉及杆塔{num4}。"); + _listTaskDetail[_indexDetail].mTaskData.Finished3_CuoShiTuiJian = 1; + _listTaskDetail[_indexDetail].mTaskData.Complete = 1; + } + catch (Exception ex4) + { + MyLog.AddLog("MyFunction.cs MyStart_Finished3_CuoShiTuiJian() ex=" + ex4.Message); + } + return result; + } + + public string MyCanShu_1_HuaFenDangJi(List _listTGanTaData, int _indexT, XianLuData _xianLuData, bool _firstTry = false) + { + string result = "OK"; + try + { + int mDYDJ_XianLu = _xianLuData.mDYDJ_XianLu; + string mJLZL_XianLu = _xianLuData.mJLZL_XianLu; + int num = 0; + double num2 = 0.0; + double num3 = 0.0; + num = ((_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("guxing") >= 0) ? 2 : ((_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("sihuita") < 0) ? 1 : 4)); + if (mJLZL_XianLu.Equals("直流")) + { + switch (mDYDJ_XianLu) + { + case 500: + num2 = 6000.0; + num3 = 50.0; + break; + case 800: + num2 = 8500.0; + num3 = 77.0; + break; + default: + num2 = 9000.0; + num3 = 90.0; + break; + } + } + if (mJLZL_XianLu.Equals("交流")) + { + switch (mDYDJ_XianLu) + { + case 35: + num2 = 450.0; + num3 = num switch + { + 2 => 23, + 1 => 16, + _ => 40, + }; + break; + case 66: + num2 = 850.0; + num3 = num switch + { + 2 => 25, + 1 => 18, + _ => 42, + }; + break; + case 110: + num2 = 1314.0; + num3 = num switch + { + 2 => 28, + 1 => 20, + _ => 44, + }; + break; + case 220: + num2 = 2265.0; + num3 = num switch + { + 2 => 45, + 1 => 33, + _ => 50, + }; + break; + case 330: + num2 = 3155.0; + num3 = num switch + { + 2 => 46, + 1 => 35, + _ => 52, + }; + break; + case 500: + num2 = 4575.0; + num3 = num switch + { + 2 => 67, + 1 => 39, + _ => 80, + }; + break; + case 750: + num2 = 6745.0; + num3 = num switch + { + 2 => 124, + 1 => 55, + _ => 130, + }; + break; + default: + num2 = 9000.0; + num3 = num switch + { + 2 => 130, + 1 => 60, + _ => 140, + }; + break; + } + } + CanShuFenJi canShuFenJi = null; + int num4 = -1; + if (desktop.mAll_CanShuFenJi.MyContains(_listTGanTaData[_indexT].m_ID_CanShuFenJi)) + { + num4 = desktop.mAll_CanShuFenJi.MyFind(_listTGanTaData[_indexT].m_ID_CanShuFenJi); + } + canShuFenJi = ((num4 >= 0) ? desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num4] : new CanShuFenJi()); + if (_listTGanTaData[_indexT].mJYZCD_GanTa <= num2) + { + canShuFenJi.mFenJi_JYZCD = 1; + } + else if (_listTGanTaData[_indexT].mJYZCD_GanTa <= 1.1 * num2) + { + canShuFenJi.mFenJi_JYZCD = 2; + } + else if (_listTGanTaData[_indexT].mJYZCD_GanTa <= 1.2 * num2) + { + canShuFenJi.mFenJi_JYZCD = 3; + } + else if (_listTGanTaData[_indexT].mJYZCD_GanTa <= 1.3 * num2) + { + canShuFenJi.mFenJi_JYZCD = 4; + } + else if (_listTGanTaData[_indexT].mJYZCD_GanTa > 1.3 * num2) + { + canShuFenJi.mFenJi_JYZCD = 5; + } + if (_listTGanTaData[_indexT].mJDDZ_GanTa > 20.0) + { + canShuFenJi.mFenJi_JDDZ = 1; + } + else if (_listTGanTaData[_indexT].mJDDZ_GanTa > 15.0) + { + canShuFenJi.mFenJi_JDDZ = 2; + } + else if (_listTGanTaData[_indexT].mJDDZ_GanTa > 10.0) + { + canShuFenJi.mFenJi_JDDZ = 3; + } + else if (_listTGanTaData[_indexT].mJDDZ_GanTa > 5.0) + { + canShuFenJi.mFenJi_JDDZ = 4; + } + else if (_listTGanTaData[_indexT].mJDDZ_GanTa <= 5.0) + { + canShuFenJi.mFenJi_JDDZ = 5; + } + if (_listTGanTaData[_indexT].mHuGao_GanTa > 1.3 * num3) + { + canShuFenJi.mFJ_HuGao = 1; + } + else if (_listTGanTaData[_indexT].mHuGao_GanTa > 1.2 * num3) + { + canShuFenJi.mFJ_HuGao = 2; + } + else if (_listTGanTaData[_indexT].mHuGao_GanTa > 1.1 * num3) + { + canShuFenJi.mFJ_HuGao = 3; + } + else if (_listTGanTaData[_indexT].mHuGao_GanTa > num3) + { + canShuFenJi.mFJ_HuGao = 4; + } + else if (_listTGanTaData[_indexT].mHuGao_GanTa <= num3) + { + canShuFenJi.mFJ_HuGao = 5; + } + if (_listTGanTaData[_indexT].mBLXGD_GanTa > 1.3 * num3) + { + canShuFenJi.mFJ_BLXGD = 1; + } + else if (_listTGanTaData[_indexT].mBLXGD_GanTa > 1.2 * num3) + { + canShuFenJi.mFJ_BLXGD = 2; + } + else if (_listTGanTaData[_indexT].mBLXGD_GanTa > 1.1 * num3) + { + canShuFenJi.mFJ_BLXGD = 3; + } + else if (_listTGanTaData[_indexT].mBLXGD_GanTa > num3) + { + canShuFenJi.mFJ_BLXGD = 4; + } + else if (_listTGanTaData[_indexT].mBLXGD_GanTa <= num3) + { + canShuFenJi.mFJ_BLXGD = 5; + } + double num5 = _listTGanTaData[_indexT].mDMQJ1_GanTa; + if (num5 < _listTGanTaData[_indexT].mDMQJ2_GanTa) + { + num5 = _listTGanTaData[_indexT].mDMQJ2_GanTa; + } + if (num5 > 15.0) + { + canShuFenJi.mFJ_DMQJ = 1; + } + else if (num5 > 10.0) + { + canShuFenJi.mFJ_DMQJ = 2; + } + else if (num5 > 5.0) + { + canShuFenJi.mFJ_DMQJ = 3; + } + else if (num5 > 0.0) + { + canShuFenJi.mFJ_DMQJ = 4; + } + else if (num5 <= 0.0) + { + canShuFenJi.mFJ_DMQJ = 5; + } + if (_listTGanTaData[_indexT].m_BaoHuJiao > 5.0) + { + canShuFenJi.mFJ_BaoHuJiao = 1; + } + else if (_listTGanTaData[_indexT].m_BaoHuJiao > 0.0) + { + canShuFenJi.mFJ_BaoHuJiao = 2; + } + else if (_listTGanTaData[_indexT].m_BaoHuJiao > -5.0) + { + canShuFenJi.mFJ_BaoHuJiao = 3; + } + else if (_listTGanTaData[_indexT].m_BaoHuJiao > -10.0) + { + canShuFenJi.mFJ_BaoHuJiao = 4; + } + else if (_listTGanTaData[_indexT].m_BaoHuJiao <= -10.0) + { + canShuFenJi.mFJ_BaoHuJiao = 5; + } + if (_firstTry) + { + canShuFenJi.mState_TuiJian = 0; + canShuFenJi.mNew_JYZCD = (canShuFenJi.mOld_JYZCD = _listTGanTaData[_indexT].mJYZCD_GanTa); + canShuFenJi.mNew_JDDZ = (canShuFenJi.mOld_JDDZ = _listTGanTaData[_indexT].mJDDZ_GanTa); + canShuFenJi.mNew_BaoHuJiao = (canShuFenJi.mOld_BaoHuJiao = _listTGanTaData[_indexT].m_BaoHuJiao); + canShuFenJi.mBLQ_need = false; + _listTGanTaData[_indexT].m_CuoShiTuiJian_GanTa = "不需要安装避雷器"; + canShuFenJi.mNew_HuGao = (canShuFenJi.mOld_HuGao = _listTGanTaData[_indexT].mHuGao_GanTa); + canShuFenJi.mNew_BLXGD = (canShuFenJi.mOld_BLXGD = _listTGanTaData[_indexT].mBLXGD_GanTa); + canShuFenJi.mNew_DMQJ = (canShuFenJi.mOld_DMQJ = num5); + canShuFenJi.mSTD_JYZ_mm = num2; + canShuFenJi.mSTD_height_m = num3; + } + desktop.mAll_CanShuFenJi.MyAdd1CanShuFenJi(canShuFenJi); + _listTGanTaData[_indexT].m_ID_CanShuFenJi = canShuFenJi.mID_CanShuFenJi; + } + catch (Exception ex) + { + MyLog.AddLog("MyFunction.cs MyCanShu_1_HuaFenDangJi() Exception=" + ex.Message + "."); + result = "MyCanShu_1_HuaFenDangJi() ex=" + ex.Message; + } + return result; + } + + private int MyCanShu_2_TuiJianCuoShi(List _listTGanTaData, int _indexT) + { + int num = 0; + try + { + int num2 = -1; + if (_listTGanTaData[_indexT].mFXDJ_GanTa <= 2) + { + return num; + } + CanShuFenJi canShuFenJi = null; + for (int i = 0; i < desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all.Count; i++) + { + if (desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[i].mID_CanShuFenJi == _listTGanTaData[_indexT].m_ID_CanShuFenJi) + { + num2 = i; + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num2]; + canShuFenJi.mCallDLL = true; + break; + } + } + if (num2 < 0) + { + num = -1; + return num; + } + int num3 = 35; + num3 = ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("35") >= 0) ? 35 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("66") >= 0) ? 66 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("110") >= 0) ? 110 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("220") >= 0) ? 220 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("330") >= 0) ? 330 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("500") >= 0) ? 500 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("750") >= 0) ? 750 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("800") >= 0) ? 800 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("1000") < 0) ? 35 : 1000))))))))); + double num4 = 0.0; + try + { + num4 = _listTGanTaData[_indexT].mRJ_TZL_GanTa / _listTGanTaData[_indexT].mFJ_TZL_GanTa; + } + catch (Exception) + { + num4 = -1.0; + } + switch (canShuFenJi.mState_TuiJian) + { + case 0: + if (canShuFenJi.mFenJi_JYZCD <= 2 || canShuFenJi.mFenJi_JDDZ <= 2) + { + if (canShuFenJi.mFenJi_JYZCD <= 2) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 97.33333333333333, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.1 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + if (canShuFenJi.mFenJi_JDDZ <= 2) + { + num++; + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = 14.0); + } + canShuFenJi.mState_TuiJian = 1; + } + else if (canShuFenJi.mFenJi_JYZCD >= 3 && canShuFenJi.mFenJi_JDDZ >= 3) + { + if (canShuFenJi.mFenJi_JYZCD <= 4) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 292.0, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.3 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + if (canShuFenJi.mFenJi_JDDZ <= 4) + { + num++; + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = 3.0); + } + canShuFenJi.mState_TuiJian = 4; + } + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 1: + if (num4 > 1.2) + { + if (canShuFenJi.mFenJi_JYZCD <= 3) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 194.66666666666666, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.2 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + canShuFenJi.mState_TuiJian = 2; + } + else if (num4 <= 1.2) + { + if (canShuFenJi.mFenJi_JYZCD <= 3) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 194.66666666666666, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.2 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + if (canShuFenJi.mFenJi_JDDZ <= 3) + { + num++; + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = 5.0); + } + canShuFenJi.mState_TuiJian = 3; + } + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 2: + if (canShuFenJi.mFenJi_JYZCD <= 4) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 292.0, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.3 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + canShuFenJi.mState_TuiJian = 4; + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 201: + if (canShuFenJi.mFenJi_JDDZ <= 4) + { + num++; + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = 3.0); + } + canShuFenJi.mState_TuiJian = 4; + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 3: + if (canShuFenJi.mFenJi_JYZCD <= 4) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 292.0, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.3 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + if (canShuFenJi.mFenJi_JDDZ <= 4) + { + num++; + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = 3.0); + } + canShuFenJi.mState_TuiJian = 4; + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 4: + canShuFenJi.mBLQ_need = true; + _listTGanTaData[_indexT].m_CuoShiTuiJian_GanTa = "需要安装避雷器"; + canShuFenJi.mState_TuiJian = 5; + break; + } + } + catch (Exception ex2) + { + MyLog.AddLog("MyFunction.cs MyCanShu_2_TuiJianCuoShi() Exception=" + ex2.Message + "."); + } + return num; + } + + private int MyCanShu_3_TuiJianCuoShi_FeiJianXian(List _listTGanTaData, int _indexT) + { + int num = 0; + try + { + int num2 = -1; + if (_listTGanTaData[_indexT].mFXDJ_GanTa <= 2) + { + return num; + } + CanShuFenJi canShuFenJi = null; + for (int i = 0; i < desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all.Count; i++) + { + if (desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[i].mID_CanShuFenJi == _listTGanTaData[_indexT].m_ID_CanShuFenJi) + { + num2 = i; + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num2]; + canShuFenJi.mCallDLL = true; + break; + } + } + if (num2 < 0) + { + num = -1; + return num; + } + int num3 = 35; + num3 = ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("35") >= 0) ? 35 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("66") >= 0) ? 66 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("110") >= 0) ? 110 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("220") >= 0) ? 220 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("330") >= 0) ? 330 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("500") >= 0) ? 500 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("750") >= 0) ? 750 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("800") >= 0) ? 800 : ((_listTGanTaData[_indexT].mTaXing_GanTa.IndexOf("1000") < 0) ? 35 : 1000))))))))); + double num4 = 0.0; + double num5 = 0.0; + double num6 = 0.0; + double num7 = 0.0; + double num8 = 0.0; + try + { + num8 = _listTGanTaData[_indexT].mRJ_TZL_GanTa / _listTGanTaData[_indexT].mFJ_TZL_GanTa; + } + catch (Exception) + { + num8 = -1.0; + } + switch (canShuFenJi.mState_TuiJian) + { + case 0: + if (canShuFenJi.mFenJi_JYZCD <= 2 || canShuFenJi.mFenJi_JDDZ <= 2) + { + if (canShuFenJi.mFenJi_JYZCD <= 2) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 97.33333333333333, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.1 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + if (canShuFenJi.mFenJi_JDDZ <= 2) + { + num++; + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = 14.0); + } + canShuFenJi.mState_TuiJian = 1; + } + else if (canShuFenJi.mFenJi_JYZCD >= 3 && canShuFenJi.mFenJi_JDDZ >= 3) + { + if (canShuFenJi.mFenJi_JYZCD <= 4) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 292.0, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.3 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + if (canShuFenJi.mFenJi_JDDZ <= 4) + { + num++; + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = 3.0); + } + canShuFenJi.mState_TuiJian = 4; + } + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 1: + if (num8 > 1.2) + { + if (canShuFenJi.mFenJi_JYZCD <= 3) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 194.66666666666666, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.2 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + canShuFenJi.mState_TuiJian = 2; + } + else if (num8 <= 1.2) + { + if (canShuFenJi.mFenJi_JYZCD <= 3) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 194.66666666666666, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.2 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + if (canShuFenJi.mFenJi_JDDZ <= 3) + { + num++; + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = 5.0); + } + canShuFenJi.mState_TuiJian = 3; + } + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 2: + if (canShuFenJi.mFenJi_JYZCD <= 4) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 292.0, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.3 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + canShuFenJi.mState_TuiJian = 4; + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 201: + if (canShuFenJi.mFenJi_JDDZ <= 4) + { + num++; + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = 3.0); + } + canShuFenJi.mState_TuiJian = 4; + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 3: + if (canShuFenJi.mFenJi_JYZCD <= 4) + { + num++; + if (num3 == 110 || num3 == 500) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(canShuFenJi.mOld_JYZCD + 292.0, 2)); + } + else + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = Math.Round(1.3 * canShuFenJi.mSTD_JYZ_mm + 0.005, 2)); + } + } + if (canShuFenJi.mFenJi_JDDZ <= 4) + { + num++; + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = 3.0); + } + canShuFenJi.mState_TuiJian = 4; + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 4: + canShuFenJi.mNew_JYZCD_Step1 = canShuFenJi.mNew_JYZCD; + canShuFenJi.mNew_JDDZ_Step1 = canShuFenJi.mNew_JDDZ; + if (canShuFenJi.mFJ_BaoHuJiao >= 5) + { + if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("jiubei") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("maotou") >= 0) + { + num++; + canShuFenJi.mNew_BaoHuJiao = -10.0; + } + else if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("ganzi") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("guxing") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("shangzi") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("zhiliu") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().StartsWith("dc") || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().StartsWith("nz") || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().StartsWith("ky")) + { + num++; + canShuFenJi.mNew_BaoHuJiao = -18.0; + } + else + { + num++; + canShuFenJi.mNew_BaoHuJiao = -10.0; + } + } + else if (canShuFenJi.mFJ_BaoHuJiao == 4) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = canShuFenJi.mOld_JYZCD); + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = canShuFenJi.mOld_JDDZ); + if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("jiubei") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("maotou") >= 0) + { + num++; + canShuFenJi.mNew_BaoHuJiao = -10.0; + } + else if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("ganzi") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("guxing") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("shangzi") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("zhiliu") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().StartsWith("dc") || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().StartsWith("nz") || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().StartsWith("ky")) + { + num++; + canShuFenJi.mNew_BaoHuJiao = -18.0; + } + else + { + num++; + canShuFenJi.mNew_BaoHuJiao = -10.0; + } + } + else if (canShuFenJi.mFJ_BaoHuJiao <= 3) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = canShuFenJi.mOld_JYZCD); + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = canShuFenJi.mOld_JDDZ); + num++; + canShuFenJi.mNew_BaoHuJiao = -5.0; + } + num4 = canShuFenJi.mNew_BaoHuJiao; + num7 = (_listTGanTaData[_indexT].mZXNZ_GanTa.Equals("直线") ? 0.0 : ((!_listTGanTaData[_indexT].mZXNZ_GanTa.Equals("耐张")) ? 0.0 : (_listTGanTaData[_indexT].mJYZCD_GanTa / 1000.0))); + if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("guxing") >= 0) + { + num5 = -100.0; + num6 = _listTGanTaData[_indexT].m1ZJ_Shang_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Shang_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + num6 = _listTGanTaData[_indexT].m1ZJ_Zhong_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Zhong_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + num6 = _listTGanTaData[_indexT].m1ZJ_Xia_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Xia_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + } + else + { + num5 = -100.0; + num6 = _listTGanTaData[_indexT].m1ZJ_Shang_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Shang_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("jiubei") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("maotou") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("ganzi") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("shangzi") >= 0) + { + num6 = _listTGanTaData[_indexT].m1ZJ_Zhong_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Zhong_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + } + num6 = _listTGanTaData[_indexT].m1ZJ_Xia_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Xia_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + } + _listTGanTaData[_indexT].mBLZJ_R_GanTa = (_listTGanTaData[_indexT].mBLZJ_L_GanTa = Math.Round(num5, 3)); + if (canShuFenJi.mFJ_BaoHuJiao >= 5) + { + canShuFenJi.mState_TuiJian = 7; + } + else if (canShuFenJi.mFJ_BaoHuJiao == 4) + { + canShuFenJi.mState_TuiJian = 6; + } + else if (canShuFenJi.mFJ_BaoHuJiao <= 3) + { + canShuFenJi.mState_TuiJian = 5; + } + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 5: + if (canShuFenJi.mFJ_BaoHuJiao >= 4) + { + canShuFenJi.mNew_JYZCD = (_listTGanTaData[_indexT].mJYZCD_GanTa = canShuFenJi.mOld_JYZCD); + canShuFenJi.mNew_JDDZ = (_listTGanTaData[_indexT].mJDDZ_GanTa = canShuFenJi.mOld_JDDZ); + if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("jiubei") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("maotou") >= 0) + { + num++; + canShuFenJi.mNew_BaoHuJiao = -10.0; + } + else if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("ganzi") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("guxing") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("shangzi") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("zhiliu") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().StartsWith("dc") || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().StartsWith("nz") || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().StartsWith("ky")) + { + num++; + canShuFenJi.mNew_BaoHuJiao = -18.0; + } + else + { + num++; + canShuFenJi.mNew_BaoHuJiao = -10.0; + } + } + num4 = canShuFenJi.mNew_BaoHuJiao; + num7 = (_listTGanTaData[_indexT].mZXNZ_GanTa.Equals("直线") ? 0.0 : ((!_listTGanTaData[_indexT].mZXNZ_GanTa.Equals("耐张")) ? 0.0 : (_listTGanTaData[_indexT].mJYZCD_GanTa / 1000.0))); + if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("guxing") >= 0) + { + num5 = -100.0; + num6 = _listTGanTaData[_indexT].m1ZJ_Shang_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Shang_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + num6 = _listTGanTaData[_indexT].m1ZJ_Zhong_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Zhong_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + num6 = _listTGanTaData[_indexT].m1ZJ_Xia_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Xia_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + } + else + { + num5 = -100.0; + num6 = _listTGanTaData[_indexT].m1ZJ_Shang_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Shang_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("jiubei") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("maotou") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("ganzi") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("shangzi") >= 0) + { + num6 = _listTGanTaData[_indexT].m1ZJ_Zhong_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Zhong_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + } + num6 = _listTGanTaData[_indexT].m1ZJ_Xia_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Xia_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + } + _listTGanTaData[_indexT].mBLZJ_R_GanTa = (_listTGanTaData[_indexT].mBLZJ_L_GanTa = Math.Round(num5, 3)); + canShuFenJi.mState_TuiJian = 6; + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 6: + num++; + _listTGanTaData[_indexT].mJYZCD_GanTa = (canShuFenJi.mNew_JYZCD = canShuFenJi.mNew_JYZCD_Step1); + _listTGanTaData[_indexT].mJDDZ_GanTa = (canShuFenJi.mNew_JDDZ = canShuFenJi.mNew_JDDZ_Step1); + num4 = canShuFenJi.mNew_BaoHuJiao; + num7 = 0.0; + num7 = (_listTGanTaData[_indexT].mZXNZ_GanTa.Equals("直线") ? 0.0 : ((!_listTGanTaData[_indexT].mZXNZ_GanTa.Equals("耐张")) ? 0.0 : (_listTGanTaData[_indexT].mJYZCD_GanTa / 1000.0))); + if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("guxing") >= 0) + { + num5 = -100.0; + num6 = _listTGanTaData[_indexT].m1ZJ_Shang_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Shang_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + num6 = _listTGanTaData[_indexT].m1ZJ_Zhong_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Zhong_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + num6 = _listTGanTaData[_indexT].m1ZJ_Xia_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Xia_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + } + else + { + num5 = -100.0; + num6 = _listTGanTaData[_indexT].m1ZJ_Shang_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Shang_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + if (_listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("jiubei") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("maotou") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("ganzi") >= 0 || _listTGanTaData[_indexT].mTaXing_GanTa.ToLower().IndexOf("shangzi") >= 0) + { + num6 = _listTGanTaData[_indexT].m1ZJ_Zhong_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Zhong_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + } + num6 = _listTGanTaData[_indexT].m1ZJ_Xia_GanTa - (_listTGanTaData[_indexT].mBLXGD_GanTa - _listTGanTaData[_indexT].m1GD_Xia_GanTa + num7) * Math.Tan(num4 * Math.PI / 180.0); + if (num5 < num6) + { + num5 = num6; + } + } + _listTGanTaData[_indexT].mBLZJ_R_GanTa = (_listTGanTaData[_indexT].mBLZJ_L_GanTa = Math.Round(num5, 3)); + canShuFenJi.mState_TuiJian = 7; + if (num == 0) + { + num++; + canShuFenJi.mCallDLL = false; + } + break; + case 7: + canShuFenJi.mBLQ_need = true; + _listTGanTaData[_indexT].m_CuoShiTuiJian_GanTa = "需要安装避雷器"; + canShuFenJi.mState_TuiJian = 8; + break; + } + } + catch (Exception ex2) + { + MyLog.AddLog("MyFunction.cs MyCanShu_3_TuiJianCuoShi_FeiJianXian() Exception=" + ex2.Message + "."); + } + return num; + } + + public string MyStart_Finished4_GaiZaoJiSuan(int _indexDetail, List _listTaskDetail, int _indexXianLu, List _listXianLuData) + { + string result = "OK"; + _listTaskDetail[_indexDetail].mTaskData.Finished4_GaiZaoJiSuan = 1; + _listTaskDetail[_indexDetail].mTaskData.Complete = 1; + return result; + } + + public string MyStart_Finished5_Report(int _indexDetail, List _listTaskDetail, int _indexXianLu, List _listXianLuData) + { + string text = "OK"; + if (desktop.mReport == null) + { + desktop.mReport = new MyReport(); + } + desktop.mReport.mIndex_List_XL_GT = _indexXianLu; + int num = -1; + num = _listTaskDetail[_indexDetail].mTaskData.mID_ExTask; + int num2 = 0; + bool flag = false; + for (num2 = 0; num2 < _listTaskDetail.Count; num2++) + { + if (_listTaskDetail[num2].mTaskID_Detail == num) + { + desktop.mReport.mIndex_ListDetail = num2; + flag = true; + break; + } + } + if (!flag) + { + text = $"没有匹配的父任务 ={num}"; + MyLog.AddLog("MyFunction.cs MyStart_Finished5_Report() " + text); + return text; + } + text = desktop.mReport.MyBuild_JiShuanShu(); + if (!text.Equals("OK")) + { + MyLog.AddLog("MyFunction.cs MyStart_Finished5_Report() " + text); + } + return text; + } + + public string MyStart_Finished6_AnZhuangBLQ(int _indexDetail, List _listTaskDetail, int _indexXianLu, List _listXianLuData) + { + string result = "OK"; + try + { + int num = 0; + int num2 = 0; + int num3 = 0; + int num4 = 0; + int num5 = 0; + int num6 = 0; + if (_indexDetail < 0 || _indexDetail >= _listTaskDetail.Count) + { + result = $"MyStart_Finished6_AnZhuangBLQ()参数1 细胞下标越界_indexDetail={_indexDetail} 合法区间[0,{_listTaskDetail.Count - 1}]"; + return result; + } + if (_indexXianLu < 0 || _indexXianLu >= _listXianLuData.Count) + { + result = $"MyStart_Finished6_AnZhuangBLQ()参数3 线路下标越界_indexXianLu={_indexXianLu} 合法区间[0,{_listXianLuData.Count - 1}]"; + return result; + } + TaskGroup taskGroup = null; + taskGroup = _listTaskDetail[_indexDetail].mTaskGroup; + if (taskGroup == null || taskGroup.mListExTaskData.Count == 0) + { + result = "MyStart_Finished1_PuTongJiSuan() 任务组mTaskGroup为空 缺少有效任务数据!]"; + return result; + } + for (int i = 0; i < taskGroup.mListExTaskData.Count; i++) + { + if (taskGroup.mListExTaskData[i].mID_Task == _listTaskDetail[_indexDetail].mTaskID_Detail && taskGroup.mListExTaskData[i].mTGanTas != null && taskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData != null) + { + num += taskGroup.mListExTaskData[i].mTGanTas.mListTGanTaData.Count; + } + } + num2 = 0; + desktop.MySetFormTitle(desktop, $" {num2}/{num}"); + Method method = new Method(); + TGanTaData tGanTaData = null; + string text = Application.StartupPath + "\\" + desktop.mSubPath_ATP_Setting; + string text2 = ""; + string text3 = ""; + string text4 = ""; + string[] separator = new string[3] { "|", "\r", "\n" }; + string[] array = null; + bool flag = false; + double num7 = 0.0; + int num8 = 0; + double num9 = 0.0; + string text5 = ""; + int num10 = 0; + int num11 = 0; + string path = text + "\\TaskOption.txt"; + string path2 = text + "\\ResultTips.txt"; + string text6 = ""; + string[] array2 = null; + int num12 = 0; + using (FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + streamWriter.WriteLine("反击-耐雷水平-下标:0-规程 1-ATP"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_FanJi_NaiLeiShuiPing}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("绕击-耐雷水平-下标:0-规程 1-ATP"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_RaoJi_NaiLeiShuiPing}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("反击-跳闸率-下标:0-无 1-规程"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_FanJi_TZL}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("绕击-跳闸率-下标:0-无 1-规程 2-EGM"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_RaoJi_TZL}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("海拔修正公式-下标: 0-无 1-推荐公式1 2-推荐公式2"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_HaiBaXiuZhengGongShi}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("感应电压公式-下标:0-公式1 1-公式2"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_GanYingDianYaGongShi}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("雷电流波形:1--Heidler(INPhei),2--双斜角(INPslo),3--双指数(INPsur)"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_CurrentCurve}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("绝缘子闪络判据-下标:0-规程法、1-相交法、2-先导发展法"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_ShanLuoPanJu}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.WriteLine("耐雷水平选项:0-单相耐雷水平 1-多相耐雷水平"); + streamWriter.WriteLine(""); + streamWriter.WriteLine($"{_listTaskDetail[_indexDetail].mTaskData.mIndex_DuoXiangNaiLeiShuiPing}"); + streamWriter.WriteLine(""); + streamWriter.WriteLine(""); + streamWriter.Close(); + } + fileStream.Close(); + } + num4 = (num5 = 0); + List list = null; + for (int j = 0; j < taskGroup.mListExTaskData.Count; j++) + { + if (taskGroup.mListExTaskData[j].mID_Task != _listTaskDetail[_indexDetail].mTaskID_Detail || taskGroup.mListExTaskData[j].mTGanTas == null || taskGroup.mListExTaskData[j].mTGanTas.mListTGanTaData == null) + { + continue; + } + list = taskGroup.mListExTaskData[j].mTGanTas.mListTGanTaData; + for (int k = 0; k < list.Count; k++) + { + if (list[k] == null || list[k].mFXDJ_GanTa <= 2) + { + continue; + } + for (int l = 0; l < desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData.Count; l++) + { + if (!(desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData[l].mID_GanTa == list[k].mID_GanTa)) + { + continue; + } + list[k].mJDDZ_GanTa = desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData[l].mJDDZ_GanTa; + list[k].mJYZCD_GanTa = desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData[l].mJYZCD_GanTa; + list[k].mBLZJ_L_GanTa = desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData[l].mBLZJ_L_GanTa; + list[k].mBLZJ_R_GanTa = desktop.mXL.mListGanTas[_indexXianLu].mListGanTaData[l].mBLZJ_R_GanTa; + if (_listTaskDetail[_indexDetail].mTaskData.mTypeCode_Task == 602) + { + double num13 = 0.0; + num13 = list[k].mBLZJ_L_GanTa; + if (num13 < list[k].mBLZJ_R_GanTa) + { + num13 = list[k].mBLZJ_R_GanTa; + } + list[k].mBLZJ_R_GanTa = (list[k].mBLZJ_L_GanTa = num13); + } + break; + } + num4++; + text3 = MyCanShu_1_HuaFenDangJi(list, k, _listXianLuData[_indexXianLu], _firstTry: true); + if (!text3.Equals("OK")) + { + result = $"MyStart_Finished6_AnZhuangBLQ()参数1 细胞下标_indexDetail={_indexDetail}\r\n" + $" mTask.mListDetails[{_indexDetail}].mTaskGroup.mListExTaskData[{j}].mTGanTas.mListTGanTaData[{k}]\r\n" + " " + text3; + return result; + } + } + } + num6 = 0; + int num14 = -1; + CanShuFenJi canShuFenJi = null; + for (num3 = 1; num3 > 0; num3++) + { + num = 0; + for (int m = 0; m < taskGroup.mListExTaskData.Count; m++) + { + if (taskGroup.mListExTaskData[m].mID_Task != _listTaskDetail[_indexDetail].mTaskID_Detail || taskGroup.mListExTaskData[m].mTGanTas == null || taskGroup.mListExTaskData[m].mTGanTas.mListTGanTaData == null) + { + continue; + } + list = taskGroup.mListExTaskData[m].mTGanTas.mListTGanTaData; + for (int n = 0; n < list.Count; n++) + { + if (list[n] != null && list[n].mFXDJ_GanTa > 2) + { + text3 = MyCanShu_1_HuaFenDangJi(list, n, _listXianLuData[_indexXianLu]); + if (!text3.Equals("OK")) + { + result = $"MyStart_Finished6_AnZhuangBLQ()参数1 细胞下标_indexDetail={_indexDetail} turn={num3} \r\n" + $" mTask.mListDetails[{_indexDetail}].mTaskGroup.mListExTaskData[{m}].mTGanTas.mListTGanTaData[{n}]\r\n" + " " + text3; + return result; + } + num++; + } + } + } + if (num == 0) + { + break; + } + num11 = 0; + if (num3 > 1) + { + for (int num15 = 0; num15 < taskGroup.mListExTaskData.Count; num15++) + { + if (taskGroup.mListExTaskData[num15].mID_Task != _listTaskDetail[_indexDetail].mTaskID_Detail || taskGroup.mListExTaskData[num15].mTGanTas == null || taskGroup.mListExTaskData[num15].mTGanTas.mListTGanTaData == null) + { + continue; + } + list = taskGroup.mListExTaskData[num15].mTGanTas.mListTGanTaData; + for (int num16 = 0; num16 < list.Count; num16++) + { + if (list[num16] != null && list[num16].mFXDJ_GanTa > 2) + { + num10 = MyCanShu_2_TuiJianCuoShi(list, num16); + if (num10 < 0) + { + text4 = $"MyStart_Finished6_AnZhuangBLQ()参数1 细胞下标_indexDetail={_indexDetail} turn={num3} \r\n" + $" mTask.mListDetails[{_indexDetail}].mTaskGroup.mListExTaskData[{num15}].mTGanTas.mListTGanTaData[{num16}]\r\n"; + MyLog.AddLog(text4); + num10 = 0; + } + num11 += num10; + num6 += num10; + } + } + } + if (num11 == 0) + { + break; + } + } + else if (num3 == 1) + { + for (int num17 = 0; num17 < taskGroup.mListExTaskData.Count; num17++) + { + if (taskGroup.mListExTaskData[num17].mID_Task != _listTaskDetail[_indexDetail].mTaskID_Detail || taskGroup.mListExTaskData[num17].mTGanTas == null || taskGroup.mListExTaskData[num17].mTGanTas.mListTGanTaData == null) + { + continue; + } + list = taskGroup.mListExTaskData[num17].mTGanTas.mListTGanTaData; + for (int num18 = 0; num18 < list.Count; num18++) + { + if (list[num18] != null) + { + num10 = 1; + num11 += num10; + num6 += num10; + } + } + } + } + num2 = 0; + for (int num19 = 0; num19 < taskGroup.mListExTaskData.Count; num19++) + { + if (taskGroup.mListExTaskData[num19].mID_Task != _listTaskDetail[_indexDetail].mTaskID_Detail || taskGroup.mListExTaskData[num19].mTGanTas == null || taskGroup.mListExTaskData[num19].mTGanTas.mListTGanTaData == null) + { + continue; + } + list = taskGroup.mListExTaskData[num19].mTGanTas.mListTGanTaData; + for (int num20 = 0; num20 < list.Count; num20++) + { + if (num3 > 1 && list[num20].mFXDJ_GanTa <= 2) + { + continue; + } + tGanTaData = list[num20]; + text2 = ""; + num7 = tGanTaData.mJYZCD_GanTa; + num7 = MyJYZCD_by_HaiBa(_listTaskDetail[_indexDetail].mTaskData.mIndex_HaiBaXiuZhengGongShi, tGanTaData.mJYZCD_GanTa, tGanTaData.mHaiBa_GanTa); + switch (tGanTaData.mTaXing_GanTa) + { + case "d35maotou": + case "d66maotou": + case "d110maotou": + case "d220maotou": + case "d330maotou": + case "d500maotou": + case "d1000maotou": + case "d35jiubei": + case "d66jiubei": + case "d110jiubei": + case "d220jiubei": + case "d330jiubei": + case "d500jiubei": + case "d750jiubei": + case "d1000jiubei": + case "d35ganzi": + case "d66ganzi": + case "d110ganzi": + case "d220ganzi": + case "d330ganzi": + case "d500ganzi": + case "d750ganzi": + case "d1000ganzi": + case "d35shangzi": + case "d66shangzi": + case "d110shangzi": + case "d220shangzi": + case "d330shangzi": + case "d500shangzi": + case "d110menxing": + case "d220menxing": + case "d500menxing": + text2 = text2 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text2 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num7}|{tGanTaData.mHuGao_GanTa}"; + text2 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text2 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text2 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + break; + case "s66guxingd": + text2 = text2 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text2 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num7}|{tGanTaData.mHuGao_GanTa}"; + text2 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text2 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text2 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + break; + case "s35guxing": + case "s66guxing": + case "s110guxing": + case "s220guxing": + case "s330guxing": + case "s500guxing": + case "s750guxing": + case "s1000guxing": + text2 = text2 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mXiangXu2_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text2 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num7}|{tGanTaData.mHuGao_GanTa}"; + text2 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m2ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m2ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m2ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text2 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text2 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + break; + case "s35sihuita": + case "s110sihuita": + case "s220sihuita": + case "s500sihuita": + text2 = text2 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mXiangXu1_GanTa + "|" + tGanTaData.mXiangXu2_GanTa + "|" + tGanTaData.mXiangXu3_GanTa + "|" + tGanTaData.mXiangXu4_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_B_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text2 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num7}|{tGanTaData.mHuGao_GanTa}"; + text2 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Zhong_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Zhong_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.m2ZJ_Shang_GanTa}|{tGanTaData.m2ZJ_Zhong_GanTa}|{tGanTaData.m2ZJ_Xia_GanTa}|{tGanTaData.m2GD_Shang_GanTa}|{tGanTaData.m2GD_Zhong_GanTa}|{tGanTaData.m2GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.m3ZJ_Shang_GanTa}|{tGanTaData.m3ZJ_Zhong_GanTa}|{tGanTaData.m3ZJ_Xia_GanTa}|{tGanTaData.m3GD_Shang_GanTa}|{tGanTaData.m3GD_Zhong_GanTa}|{tGanTaData.m3GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.m4ZJ_Shang_GanTa}|{tGanTaData.m4ZJ_Zhong_GanTa}|{tGanTaData.m4ZJ_Xia_GanTa}|{tGanTaData.m4GD_Shang_GanTa}|{tGanTaData.m4GD_Zhong_GanTa}|{tGanTaData.m4GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mAngle_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text2 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + text2 += $"|{tGanTaData.mCurrentType_GanTa}|{tGanTaData.mCurrentHeadTime_GanTa}|{tGanTaData.mCurrentTailTime_GanTa}"; + break; + case "zhiliu500": + case "zhiliu800": + case "vzhiliu500": + case "vzhiliu800": + text2 = text2 + tGanTaData.mTaXing_GanTa + "|" + tGanTaData.mBLQ_A_GanTa + "|" + tGanTaData.mBLQ_C_GanTa; + text2 += $"|{tGanTaData.mJDDZ_GanTa}|{tGanTaData.mBLZJ_L_GanTa}|{tGanTaData.mBLZJ_R_GanTa}|{tGanTaData.mBLXGD_GanTa}|{num7}|{tGanTaData.mHuGao_GanTa}"; + text2 += $"|{tGanTaData.m1ZJ_Shang_GanTa}|{tGanTaData.m1ZJ_Xia_GanTa}|{tGanTaData.m1GD_Shang_GanTa}|{tGanTaData.m1GD_Xia_GanTa}"; + text2 += $"|{tGanTaData.mXiaoHao_GanTa}|{tGanTaData.mDaHao_GanTa}|{tGanTaData.mCurrent_a_GanTa}|{tGanTaData.mCurrent_b_GanTa}"; + text2 += $"|{tGanTaData.mDMQJ1_GanTa}|{tGanTaData.mDMQJ2_GanTa}|{tGanTaData.mDSMD_GanTa}|{tGanTaData.mZXNZ_GanTa}|{tGanTaData.mRaoJiFanJi_GanTa}"; + break; + } + num14 = -1; + canShuFenJi = null; + if (num3 > 1) + { + num14 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData.m_ID_CanShuFenJi); + if (num14 >= 0) + { + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num14]; + if (!canShuFenJi.mCallDLL) + { + num2++; + desktop.MySetFormTitle(desktop, $"第{num3}轮 {num2}/{num} "); + num5++; + continue; + } + } + } + text3 = method.AllCall_CS(101, "GBK", text, text2); + flag = false; + array = text3.Split(separator, StringSplitOptions.RemoveEmptyEntries); + if (File.Exists(path2)) + { + Encoding[] array3 = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num21 = 0; + bool flag2 = false; + string text7 = ""; + for (int num22 = 0; num22 < array3.Length; num22++) + { + try + { + using FileStream fileStream2 = new FileStream(path2, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream2, array3[num22])) + { + text7 = streamReader.ReadToEnd(); + if (text7.IndexOf("耐雷水平") >= 0 || text7.IndexOf("跳闸率") >= 0 || text7.IndexOf("风险等级") >= 0) + { + num21 = num22; + flag2 = true; + } + streamReader.Close(); + } + fileStream2.Close(); + } + catch (Exception) + { + } + if (flag2) + { + break; + } + } + using (FileStream fileStream3 = new FileStream(path2, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader2 = new StreamReader(fileStream3, array3[num21])) + { + text6 = streamReader2.ReadToEnd().Trim(); + streamReader2.Close(); + } + fileStream3.Close(); + } + if (string.IsNullOrEmpty(text6)) + { + tGanTaData.m_Result_PuTongJiSuan_GanTa = text3; + desktop.MySetFormTitle(desktop, $" {num2}/{num}"); + tGanTaData = null; + text2 = ""; + continue; + } + num12 = 0; + array2 = text6.Split(separator, StringSplitOptions.RemoveEmptyEntries); + for (int num23 = 0; num23 < array2.Length; num23++) + { + if (num23 == 0) + { + tGanTaData.mFJ_NLSP_GanTa = (tGanTaData.mFJ_TZL_GanTa = 0.0); + tGanTaData.mRJ_NLSP_GanTa = (tGanTaData.mRJ_TZL_GanTa = 0.0); + tGanTaData.mFXDJ_GanTa = 0; + tGanTaData.mMA_RJ_NLSP_GanTa = (tGanTaData.mMB_RJ_NLSP_GanTa = (tGanTaData.mMC_RJ_NLSP_GanTa = 0.0)); + tGanTaData.mM1_NLSP_GanTa = (tGanTaData.mM2_NLSP_GanTa = (tGanTaData.mM3_NLSP_GanTa = 0.0)); + tGanTaData.mM1_Xiang_GanTa = (tGanTaData.mM2_Xiang_GanTa = (tGanTaData.mM3_Xiang_GanTa = "-")); + tGanTaData.mM1_TZL_GanTa = (tGanTaData.mM2_TZL_GanTa = (tGanTaData.mM3_TZL_GanTa = 0.0)); + tGanTaData.mM4_NLSP_GanTa = (tGanTaData.mM5_NLSP_GanTa = (tGanTaData.mM6_NLSP_GanTa = 0.0)); + tGanTaData.mM4_Xiang_GanTa = (tGanTaData.mM5_Xiang_GanTa = (tGanTaData.mM6_Xiang_GanTa = "-")); + tGanTaData.mM4_TZL_GanTa = (tGanTaData.mM5_TZL_GanTa = (tGanTaData.mM6_TZL_GanTa = 0.0)); + } + if (num23 >= array.Length) + { + break; + } + try + { + num8 = Convert.ToInt32(array[num23].Trim()); + } + catch (Exception) + { + num8 = 0; + } + try + { + num9 = Convert.ToDouble(array[num23].Trim()); + } + catch (Exception) + { + num9 = 0.0; + } + text5 = array[num23].Trim(); + switch (array2[num23].Trim()) + { + case "反击耐雷水平": + tGanTaData.mFJ_NLSP_GanTa = num9; + break; + case "反击跳闸率": + tGanTaData.mFJ_TZL_GanTa = num9; + break; + case "绕击耐雷水平": + tGanTaData.mRJ_NLSP_GanTa = num9; + break; + case "绕击跳闸率": + tGanTaData.mRJ_TZL_GanTa = num9; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num8; + break; + case "A相绕击耐雷水平": + tGanTaData.mMA_RJ_NLSP_GanTa = num9; + break; + case "B相绕击耐雷水平": + tGanTaData.mMB_RJ_NLSP_GanTa = num9; + break; + case "C相绕击耐雷水平": + tGanTaData.mMC_RJ_NLSP_GanTa = num9; + break; + case "单相反击耐雷水平": + tGanTaData.mM1_NLSP_GanTa = num9; + break; + case "单相闪络相": + tGanTaData.mM1_Xiang_GanTa = text5; + break; + case "单相反击跳闸率": + tGanTaData.mM1_TZL_GanTa = num9; + break; + case "双相反击耐雷水平": + tGanTaData.mM2_NLSP_GanTa = num9; + break; + case "双相闪络相": + tGanTaData.mM2_Xiang_GanTa = text5; + break; + case "双相反击跳闸率": + tGanTaData.mM2_TZL_GanTa = num9; + break; + case "三相反击耐雷水平": + tGanTaData.mM3_NLSP_GanTa = num9; + break; + case "三相闪络相": + tGanTaData.mM3_Xiang_GanTa = text5; + break; + case "三相反击跳闸率": + tGanTaData.mM3_TZL_GanTa = num9; + break; + case "四相反击耐雷水平": + tGanTaData.mM4_NLSP_GanTa = num9; + break; + case "四相闪络相": + tGanTaData.mM4_Xiang_GanTa = text5; + break; + case "四相反击跳闸率": + tGanTaData.mM4_TZL_GanTa = num9; + break; + case "五相反击耐雷水平": + tGanTaData.mM5_NLSP_GanTa = num9; + break; + case "五相闪络相": + tGanTaData.mM5_Xiang_GanTa = text5; + break; + case "五相反击跳闸率": + tGanTaData.mM5_TZL_GanTa = num9; + break; + case "六相反击耐雷水平": + tGanTaData.mM6_NLSP_GanTa = num9; + break; + case "六相闪络相": + tGanTaData.mM6_Xiang_GanTa = text5; + break; + case "六相反击跳闸率": + tGanTaData.mM6_TZL_GanTa = num9; + break; + case "保护角": + tGanTaData.m_BaoHuJiao = num9; + break; + default: + num12--; + break; + } + num12++; + } + if (num12 >= 2) + { + flag = true; + } + tGanTaData.m_Result_PuTongJiSuan_GanTa = ((!flag) ? text3 : "OK"); + num2++; + desktop.MySetFormTitle(desktop, $"第{num3}轮 {num2}/{num} "); + num5++; + text2 = ""; + } + if (tGanTaData.mFXDJ_GanTa <= 2) + { + tGanTaData.m_CuoShiTuiJian_GanTa = "达标低风险"; + } + num14 = -1; + canShuFenJi = null; + num14 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData.m_ID_CanShuFenJi); + if (num14 >= 0) + { + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num14]; + canShuFenJi.mNew_BaoHuJiao = tGanTaData.m_BaoHuJiao; + if (num3 == 1) + { + canShuFenJi.mOld_BaoHuJiao = tGanTaData.m_BaoHuJiao; + } + } + MyLog.AddLog($"安装避雷器计算 turn={num3} k={num19} gt={num20} mFXDJ_GanTa={tGanTaData.mFXDJ_GanTa} "); + MyLog.AddLog($"mID_GanTa={tGanTaData.mID_GanTa} mJYZCD_GanTa={tGanTaData.mJYZCD_GanTa} mJDDZ_GanTa={tGanTaData.mJDDZ_GanTa} mBLZJ_L_GanTa={tGanTaData.mBLZJ_L_GanTa} mBLZJ_R_GanTa={tGanTaData.mBLZJ_R_GanTa}"); + } + taskGroup.mListExTaskData[num19].Finished3_CuoShiTuiJian = 1; + taskGroup.mListExTaskData[num19].Complete = 1; + } + } + MyLog.AddLog("安装避雷器计算后"); + for (int num24 = 0; num24 < _listTaskDetail[_indexDetail].mTaskGroup.mListExTaskData.Count; num24++) + { + MyLog.AddLog($"{_listTaskDetail[_indexDetail].mTaskData.mName_Task} _indexDetail={_indexDetail} k={num24}"); + for (int num25 = 0; num25 < _listTaskDetail[_indexDetail].mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData.Count; num25++) + { + tGanTaData = _listTaskDetail[_indexDetail].mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData[num25]; + MyLog.AddLog($"mID_GanTa={tGanTaData.mID_GanTa} mJYZCD_GanTa={tGanTaData.mJYZCD_GanTa} mJDDZ_GanTa={tGanTaData.mJDDZ_GanTa} mBLZJ_L_GanTa={tGanTaData.mBLZJ_L_GanTa} mBLZJ_R_GanTa={tGanTaData.mBLZJ_R_GanTa}"); + num14 = -1; + canShuFenJi = null; + num14 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData.m_ID_CanShuFenJi); + if (num14 >= 0) + { + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num14]; + MyLog.AddLog(canShuFenJi.MyToString_simple()); + } + } + } + MyLog.AddLog($"总计{num3}轮 一共措施推荐{num6}条 杆塔{num5}塔次/涉及杆塔{num4}。"); + desktop.MySetFormTitle(desktop, $"总计{num3}轮 一共措施推荐{num6}条 杆塔{num5}塔次/涉及杆塔{num4}。"); + _listTaskDetail[_indexDetail].mTaskData.Finished3_CuoShiTuiJian = 1; + _listTaskDetail[_indexDetail].mTaskData.Complete = 1; + } + catch (Exception ex4) + { + MyLog.AddLog("MyFunction.cs MyStart_Finished6_AnZhuangBLQ() ex=" + ex4.Message); + } + return result; + } + + public string MyStart_mPrepare11_LightingCurrent(int _indexDetail, List _listTaskDetail, int _indexXianLu, List _listXianLuData, List _listGanTas) + { + string result = "OK"; + for (int i = 0; i < _listGanTas[_indexXianLu].mListGanTaData.Count; i++) + { + _listGanTas[_indexXianLu].mListGanTaData[i].mCurrent_a_GanTa = 31.0; + _listGanTas[_indexXianLu].mListGanTaData[i].mCurrent_b_GanTa = 31.0; + } + _listTaskDetail[_indexDetail].mTaskData.mPrepare11_LightingCurrent = 1; + _listTaskDetail[_indexDetail].mTaskData.Complete = 1; + _listXianLuData[_indexXianLu].mPrepare1_LightingCurrent = 1; + return result; + } + + public string MyStart_mPrepare12_DiShanMiDu(int _indexDetail, List _listTaskDetail, int _indexXianLu, List _listXianLuData, List _listGanTas) + { + string result = "OK"; + for (int i = 0; i < _listGanTas[_indexXianLu].mListGanTaData.Count; i++) + { + _listGanTas[_indexXianLu].mListGanTaData[i].mDSMD_GanTa = 2.8; + } + _listTaskDetail[_indexDetail].mTaskData.mPrepare12_DiShanMiDu = 1; + _listTaskDetail[_indexDetail].mTaskData.Complete = 1; + _listXianLuData[_indexXianLu].mPrepare2_DiShanMiDu = 1; + return result; + } + + public string MyStart_mPrepare13_DiMianQingJiao(int _indexDetail, List _listTaskDetail, int _indexXianLu, List _listXianLuData, List _listGanTas) + { + string result = "OK"; + for (int i = 0; i < _listGanTas[_indexXianLu].mListGanTaData.Count; i++) + { + _listGanTas[_indexXianLu].mListGanTaData[i].mDMQJ1_GanTa = 5.0; + _listGanTas[_indexXianLu].mListGanTaData[i].mDMQJ2_GanTa = 5.0; + } + _listTaskDetail[_indexDetail].mTaskData.mPrepare12_DiShanMiDu = 1; + _listTaskDetail[_indexDetail].mTaskData.Complete = 1; + _listXianLuData[_indexXianLu].mPrepare2_DiShanMiDu = 1; + return result; + } +} diff --git a/LP/MyGrid.cs b/LP/MyGrid.cs new file mode 100644 index 0000000..ffa28f8 --- /dev/null +++ b/LP/MyGrid.cs @@ -0,0 +1,43 @@ +using System.Collections.Generic; + +namespace LP; + +internal class MyGrid +{ + public int indexGrid; + + public double areaGrid; + + public List mList_indexGanTa_inGrid = null; + + public int mCountLuoLeiGrid; + + public double mDSMD_Grid; + + public int mIndexGFD_Grid; + + public double mLineLength_Grid; + + public double mAreaTheory_Grid; + + public MyGrid() + { + indexGrid = 0; + areaGrid = 0.0; + mCountLuoLeiGrid = 0; + if (mList_indexGanTa_inGrid == null) + { + mList_indexGanTa_inGrid = new List(); + } + mList_indexGanTa_inGrid.Clear(); + mDSMD_Grid = 0.0; + mIndexGFD_Grid = 0; + mLineLength_Grid = 0.0; + mAreaTheory_Grid = 0.0; + } + + public void add_List_inGrid(int indexOfGanTa) + { + mList_indexGanTa_inGrid.Add(indexOfGanTa); + } +} diff --git a/LP/MyLog.cs b/LP/MyLog.cs new file mode 100644 index 0000000..cdc42c3 --- /dev/null +++ b/LP/MyLog.cs @@ -0,0 +1,145 @@ +using System; +using System.IO; +using System.Text; +using System.Windows.Forms; + +namespace LP; + +public class MyLog +{ + public static string oldLog = ""; + + public static string fileName_Log = "log.txt"; + + public static string fileName_Log_everyone = "log_one.txt"; + + public static StringBuilder theLog = null; + + public static DateTime theStartTime = DateTime.Now; + + public static DateTime theEndTime = DateTime.Now; + + public static void Init_Log() + { + if (theLog == null) + { + theLog = new StringBuilder(); + } + theLog.Clear(); + oldLog = ""; + theStartTime = DateTime.Now; + } + + public static void Load_Log(string _path) + { + if (string.IsNullOrEmpty(_path) || !Directory.Exists(_path)) + { + return; + } + string path = _path + "\\" + fileName_Log; + if (!File.Exists(path)) + { + return; + } + Encoding[] array = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num = 0; + bool flag = false; + string text = ""; + for (int i = 0; i < array.Length; i++) + { + try + { + using FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream, array[i])) + { + text = streamReader.ReadToEnd().Trim(); + if (string.IsNullOrEmpty(text) || text.IndexOf("使用时长") >= 0) + { + num = i; + flag = true; + } + streamReader.Close(); + } + fileStream.Close(); + } + catch (Exception) + { + } + if (flag) + { + break; + } + } + using FileStream fileStream2 = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader2 = new StreamReader(fileStream2, array[num])) + { + oldLog = streamReader2.ReadToEnd().Trim(); + streamReader2.Close(); + } + fileStream2.Close(); + } + + public static void Save_Log(string _path) + { + if (string.IsNullOrEmpty(_path) || !Directory.Exists(_path) || string.IsNullOrEmpty(theLog.ToString())) + { + return; + } + theEndTime = DateTime.Now; + double totalSeconds = (theEndTime - theStartTime).TotalSeconds; + int num = (int)(totalSeconds / 3600.0); + int num2 = (int)((totalSeconds - (double)(num * 3600)) / 60.0); + double num3 = totalSeconds - (double)(num * 3600) - (double)(num2 * 60); + string text = ""; + if (num > 0) + { + text = text + num + "小时"; + } + if (num > 0 || num2 > 0) + { + text = text + num2 + "分"; + } + text = text + num3.ToString("F2") + "秒"; + string path = _path + "\\" + fileName_Log; + using FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None); + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + streamWriter.WriteLine($"本次使用时长={text} {theStartTime} - {theEndTime} "); + streamWriter.WriteLine("[ " + theLog.ToString() + " ]"); + streamWriter.WriteLine(); + if (!string.IsNullOrEmpty(oldLog)) + { + streamWriter.WriteLine(oldLog); + } + streamWriter.Close(); + } + fileStream.Close(); + } + + public static void AddLog(string msg) + { + theLog.Append(msg + "\r\n"); + AddLog_EveryOne(msg); + } + + public static void AddLog_EveryOne(string msg) + { + string text = Application.StartupPath + "\\" + FormDesktop.mSubPath_Primary; + string path = text + "\\" + fileName_Log_everyone; + using FileStream fileStream = new FileStream(path, FileMode.Append, FileAccess.Write, FileShare.None); + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + streamWriter.WriteLine(msg); + streamWriter.Close(); + } + fileStream.Close(); + } +} diff --git a/LP/MyPoint.cs b/LP/MyPoint.cs new file mode 100644 index 0000000..5fdfec4 --- /dev/null +++ b/LP/MyPoint.cs @@ -0,0 +1,31 @@ +namespace LP; + +internal class MyPoint +{ + public double x; + + public double y; + + public MyPoint() + { + x = (y = 0.0); + } + + public MyPoint(double _x, double _y) + { + x = _x; + y = _y; + } + + public void CloneFrom_MyPoint(MyPoint p) + { + x = p.x; + y = p.y; + } + + public void km_From_JWD_MyPoint(MyPoint _p) + { + x = _p.x * 100.0; + y = _p.y * 100.0; + } +} diff --git a/LP/MyReport.cs b/LP/MyReport.cs new file mode 100644 index 0000000..b2d9fc3 --- /dev/null +++ b/LP/MyReport.cs @@ -0,0 +1,2850 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Reflection; +using System.Runtime.InteropServices; +using Microsoft.Office.Interop.Word; + +namespace LP; + +public class MyReport +{ + public FormDesktop desktop = null; + + public int mIndex_List_XL_GT = -1; + + public int mIndex_ListDetail = -1; + + public string mFileName_jss = ""; + + public static string jss_subpath = "计算书文件夹"; + + public string MyBuild_JiShuanShu() + { + string text = "OK"; + if (mIndex_List_XL_GT < 0 || mIndex_List_XL_GT >= desktop.mXL.mListXianLuData.Count) + { + return "本次处理过程,线路数据为空,因此未生成计算书。"; + } + try + { + Application application = null; + Document document = null; + object Template = Missing.Value; + string text2 = DateTime.Now.ToLocalTime().ToLongDateString() + DateTime.Now.ToLocalTime().Hour + "时" + DateTime.Now.ToLocalTime().Minute + "分" + DateTime.Now.ToLocalTime().Second + "秒"; + mFileName_jss = "计算书" + text2 + ".doc"; + string text3 = ""; + if (string.IsNullOrEmpty(jss_subpath)) + { + text3 = Directory.GetCurrentDirectory() + "\\" + mFileName_jss; + } + else + { + if (!Directory.Exists(Directory.GetCurrentDirectory() + "\\" + jss_subpath)) + { + Directory.CreateDirectory(Directory.GetCurrentDirectory() + "\\" + jss_subpath); + } + text3 = Directory.GetCurrentDirectory() + "\\" + jss_subpath + "\\" + mFileName_jss; + } + int index = 1; + object Type = WdBreakType.wdSectionBreakNextPage; + object obj = WdBreakType.wdLineBreak; + object obj2 = WdBreakType.wdPageBreak; + Selection selection = null; + object prop = WdBuiltinStyle.wdStyleHeading1; + object item = WdBuiltinStyle.wdStyleHeading2; + object obj3 = WdBuiltinStyle.wdStyleHeading3; + object prop2 = WdBuiltinStyle.wdStyleBodyText; + int num = 1; + int num2 = 0; + string text4 = ""; + string text5 = ""; + double num3 = 0.0; + int num4 = 0; + int num5 = 0; + int num6 = 0; + double num7 = 0.0; + double num8 = 0.0; + double num9 = 0.0; + bool flag = false; + int num10 = 0; + DataSet dataSet = new DataSet(); + if (dataSet == null) + { + dataSet = new DataSet(); + } + if (dataSet.Tables.Count == 0) + { + dataSet.Tables.Add(new DataTable()); + } + bool flag2 = false; + string[] array = new string[22] + { + "1.", "2.1", "2.3.1", "-表3", "2.3.2", "2.4.1", "2.4.2", "2.5.1", "-表6", "2.5.2", + "2.6.1", "2.6.2", "-图7", "2.7.1", "2.7.2", "3.1", "-表10", "3.2", "-表11", "4.1", + "4.2", "-表14" + }; + string[] array2 = new string[22] + { + "一、线路概况", "二、线路基本信息 2.1线路杆塔种类", "2.3线路杆塔高度 2.3.1线路杆塔高度分类规则", "表3 输电线路杆塔高度影响因素等级划分规则", "2.3.2线路杆塔高度分类结果", "2.4线路杆塔地面倾角 2.4.1线路杆塔地面倾角分类规则", "2.4.2线路杆塔地面倾角分类结果", "2.5线路杆塔绝缘子串长 2.5.1线路杆塔绝缘子串长分类规则", "表6 输电线路杆塔绝缘子串长影响因素等级划分规则", "2.5.2线路杆塔绝缘子串长分类结果", + "2.6线路杆塔地闪密度 2.6.1线路杆塔地闪密度分类规则", "2.6.2线路杆塔地闪密度分类结果", "图7线路杆塔地闪密度雷区分布图", "2.7线路杆塔避雷线保护角 2.7.1线路杆塔避雷线保护角分类规则", "2.7.2线路杆塔避雷线保护角分类结果", "三、输电线路雷害风险评估结果 3.1输电线路雷害风险评估规则", "表10 输电线路雷击风险等级划分规则", "3.2输电线路雷害风险评估结果", "表11 雷害风险评估结果一览表", "四、高风险杆塔差异化防雷 4.1高风险杆塔原因分析", + "4.2高风险杆塔差异化防雷措施", "表14 采取措施后的计算结果表" + }; + int num11 = 0; + desktop.MySetFormTitle(desktop, $"报告生成进度 = {num11}/{array.Length} "); + int num12 = 360; + List list = new List(); + List list2 = new List(); + if (File.Exists(text3)) + { + File.Delete(text3); + } + application = (Application)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("000209FF-0000-0000-C000-000000000046"))); + document = application.Documents.Add(ref Template, ref Template, ref Template, ref Template); + document.Activate(); + for (int i = 0; i < 45; i++) + { + document.Paragraphs[1].Range.InsertParagraphAfter(); + document.Paragraphs[1].Range.InsertBreak(ref Type); + } + try + { + index = 1; + Range range = document.Sections[index].Range.Paragraphs[1].Range; + range.Select(); + application.Options.Overtype = false; + selection = application.Selection; + num = 1; + for (int j = 0; j < 16; j++) + { + selection.TypeText(""); + selection.TypeParagraph(); + } + selection.TypeText(desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu ?? ""); + selection.TypeParagraph(); + num += 16; + range = document.Sections[index].Range.Paragraphs[num].Range; + range.Font.Name = "宋体"; + range.Font.Size = 24f; + range.Paragraphs[1].Alignment = WdParagraphAlignment.wdAlignParagraphCenter; + selection.TypeParagraph(); + selection.TypeText("防雷评估结果及改造方案"); + selection.TypeParagraph(); + num += 2; + range = document.Sections[index].Range.Paragraphs[num].Range; + range.Font.Name = "宋体"; + range.Font.Size = 24f; + range.Paragraphs[1].Alignment = WdParagraphAlignment.wdAlignParagraphCenter; + for (int k = 0; k < 19; k++) + { + selection.TypeParagraph(); + } + selection.TypeText($"生成时间:{DateTime.Now.ToLocalTime()}"); + selection.TypeParagraph(); + num += 19; + range = document.Sections[index].Range.Paragraphs[num].Range; + range.Font.Name = "宋体"; + range.Font.Size = 14f; + range.Paragraphs[1].Alignment = WdParagraphAlignment.wdAlignParagraphLeft; + } + catch (Exception ex) + { + MyLog.AddLog("MyReport.cs 第1节 封面 ex=" + ex.Message); + } + object prop3; + object obj8; + object obj6; + object obj4; + for (num11 = 0; num11 < array.Length; num11++) + { + try + { + index++; + document.Sections[index].Range.Select(); + Range range = document.Sections[index].Range.Paragraphs[1].Range; + selection = application.Selection; + int num13; + int num14; + int num15; + int num16; + int num17; + num6 = (num13 = (num14 = (num15 = (num16 = (num17 = (num5 = 0)))))); + double num19; + double num20; + double num21; + double num22; + double num18 = (num19 = (num20 = (num21 = (num22 = 0.0)))); + switch (array[num11]) + { + case "1.": + if (mIndex_ListDetail >= 0) + { + for (int num31 = 0; num31 < desktop.mTask.mListDetails.Count; num31++) + { + if (num31 != mIndex_ListDetail || desktop.mTask.mListDetails[num31] == null) + { + continue; + } + TaskGroup mTaskGroup3 = desktop.mTask.mListDetails[num31].mTaskGroup; + if (mTaskGroup3 == null || mTaskGroup3.mListExTaskData == null || mTaskGroup3.mListExTaskData.Count == 0) + { + continue; + } + for (int num32 = 0; num32 < mTaskGroup3.mListExTaskData.Count; num32++) + { + TaskData taskData3 = mTaskGroup3.mListExTaskData[num32]; + if (taskData3 == null || taskData3.mTGanTas == null) + { + continue; + } + TGanTas mTGanTas3 = taskData3.mTGanTas; + if (mTGanTas3.mListTGanTaData == null || mTGanTas3.mListTGanTaData.Count == 0) + { + continue; + } + for (int num33 = 0; num33 < mTGanTas3.mListTGanTaData.Count; num33++) + { + TGanTaData tGanTaData2 = mTGanTas3.mListTGanTaData[num33]; + if (tGanTaData2 != null && !string.IsNullOrEmpty(tGanTaData2.mTaXing_GanTa)) + { + num6 = ((tGanTaData2.mTaXing_GanTa.ToLower().IndexOf("guxing") >= 0) ? 2 : ((tGanTaData2.mTaXing_GanTa.ToLower().IndexOf("sihuita") < 0) ? 1 : 4)); + if (num6 > 0) + { + break; + } + } + } + if (num6 > 0) + { + break; + } + } + if (num6 > 0) + { + break; + } + } + } + if (num6 == 0) + { + num6 = desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mHuiLuNo_XianLu; + } + break; + case "2.3.2": + case "2.4.2": + case "2.5.2": + case "2.7.2": + num6 = (num13 = (num14 = (num15 = (num16 = (num17 = (num5 = 0)))))); + if (mIndex_ListDetail >= 0) + { + for (int num34 = 0; num34 < desktop.mTask.mListDetails.Count; num34++) + { + if (desktop.mTask.mListDetails[num34].mXianLuID_Detail != desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mID_XianLu || mIndex_ListDetail != num34) + { + continue; + } + TaskGroup mTaskGroup4 = desktop.mTask.mListDetails[num34].mTaskGroup; + if (mTaskGroup4 == null || mTaskGroup4.mListExTaskData == null || mTaskGroup4.mListExTaskData.Count == 0) + { + continue; + } + for (int num35 = 0; num35 < mTaskGroup4.mListExTaskData.Count; num35++) + { + TaskData taskData4 = mTaskGroup4.mListExTaskData[num35]; + if (taskData4 == null || taskData4.mTGanTas == null) + { + continue; + } + TGanTas mTGanTas4 = taskData4.mTGanTas; + if (mTGanTas4.mListTGanTaData == null || mTGanTas4.mListTGanTaData.Count == 0) + { + continue; + } + for (int num36 = 0; num36 < mTGanTas4.mListTGanTaData.Count; num36++) + { + int num37 = desktop.mAll_CanShuFenJi.MyFind(mTGanTas4.mListTGanTaData[num36].m_ID_CanShuFenJi); + if (num37 >= 0) + { + CanShuFenJi canShuFenJi2 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num37]; + int num38 = canShuFenJi2.mFJ_HuGao; + switch (array[num11]) + { + case "2.3.2": + num38 = canShuFenJi2.mFJ_HuGao; + break; + case "2.4.2": + num38 = canShuFenJi2.mFJ_DMQJ; + break; + case "2.5.2": + num38 = canShuFenJi2.mFenJi_JYZCD; + break; + case "2.7.2": + num38 = canShuFenJi2.mFJ_BaoHuJiao; + break; + } + switch (num38) + { + case 1: + num13++; + break; + case 2: + num14++; + break; + case 3: + num15++; + break; + case 4: + num16++; + break; + case 5: + num17++; + break; + } + } + } + num6 = mTGanTas4.mListTGanTaData.Count; + } + num5 = mTaskGroup4.mListExTaskData.Count; + } + } + if (num5 <= 0) + { + num5 = 1; + } + if (num6 <= 0) + { + num6 = 1; + } + num18 = Math.Round(100.0 * (double)num13 / (double)(num6 * num5), 2); + num19 = Math.Round(100.0 * (double)num14 / (double)(num6 * num5), 2); + num20 = Math.Round(100.0 * (double)num15 / (double)(num6 * num5), 2); + num21 = Math.Round(100.0 * (double)num16 / (double)(num6 * num5), 2); + num22 = Math.Round(100.0 * (double)num17 / (double)(num6 * num5), 2); + num13 /= num5; + num14 /= num5; + num15 /= num5; + num16 /= num5; + num17 /= num5; + break; + case "2.6.2": + { + for (int num39 = 0; num39 < desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count; num39++) + { + GanTaData ganTaData = desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num39]; + if (ganTaData != null) + { + num9 = ganTaData.mDSMD_GanTa; + if (num9 <= 0.78) + { + num13++; + } + else if (num9 <= 2.78) + { + num14++; + } + else if (num9 <= 7.98) + { + num15++; + } + else if (num9 > 7.98) + { + num16++; + } + } + } + num6 = desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count; + if (num6 <= 0) + { + num6 = 1; + } + num18 = Math.Round(100.0 * (double)num13 / (double)num6, 2); + num19 = Math.Round(100.0 * (double)num14 / (double)num6, 2); + num20 = Math.Round(100.0 * (double)num15 / (double)num6, 2); + num21 = Math.Round(100.0 * (double)num16 / (double)num6, 2); + break; + } + case "3.2": + num13 = (num14 = (num15 = (num16 = (num17 = (num5 = 0))))); + if (mIndex_ListDetail >= 0) + { + for (int num28 = 0; num28 < desktop.mTask.mListDetails.Count; num28++) + { + if (desktop.mTask.mListDetails[num28].mXianLuID_Detail != desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mID_XianLu || mIndex_ListDetail != num28) + { + continue; + } + TaskGroup mTaskGroup2 = desktop.mTask.mListDetails[num28].mTaskGroup; + if (mTaskGroup2 == null || mTaskGroup2.mListExTaskData == null || mTaskGroup2.mListExTaskData.Count == 0) + { + continue; + } + for (int num29 = 0; num29 < mTaskGroup2.mListExTaskData.Count; num29++) + { + TaskData taskData2 = mTaskGroup2.mListExTaskData[num29]; + if (taskData2 == null || taskData2.mTGanTas == null) + { + continue; + } + TGanTas mTGanTas2 = taskData2.mTGanTas; + if (mTGanTas2.mListTGanTaData == null || mTGanTas2.mListTGanTaData.Count == 0) + { + continue; + } + for (int num30 = 0; num30 < mTGanTas2.mListTGanTaData.Count; num30++) + { + switch (mTGanTas2.mListTGanTaData[num30].mFXDJ_GanTa) + { + case 1: + num13++; + break; + case 2: + num14++; + break; + case 3: + num15++; + break; + case 4: + num16++; + break; + default: + num17++; + break; + } + } + } + num5 = mTaskGroup2.mListExTaskData.Count; + } + } + if (num5 <= 0) + { + num5 = 1; + } + num6 = desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count; + if (num6 <= 0) + { + num6 = 1; + } + num18 = Math.Round(100.0 * (double)num13 / (double)(num6 * num5), 2); + num19 = Math.Round(100.0 * (double)num14 / (double)(num6 * num5), 2); + num20 = Math.Round(100.0 * (double)num15 / (double)(num6 * num5), 2); + num21 = Math.Round(100.0 * (double)num16 / (double)(num6 * num5), 2); + num22 = Math.Round(100.0 * (double)num17 / (double)(num6 * num5), 2); + num13 /= num5; + num14 /= num5; + num15 /= num5; + num16 /= num5; + num17 /= num5; + break; + case "4.1": + num6 = (num13 = (num14 = (num15 = (num16 = (num17 = (num5 = 0)))))); + num13 = desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count; + if (mIndex_ListDetail >= 0) + { + for (int num40 = 0; num40 < desktop.mTask.mListDetails.Count; num40++) + { + if (mIndex_ListDetail != num40) + { + continue; + } + TaskGroup mTaskGroup5 = desktop.mTask.mListDetails[num40].mTaskGroup; + if (mTaskGroup5 == null || mTaskGroup5.mListExTaskData == null || mTaskGroup5.mListExTaskData.Count == 0) + { + continue; + } + for (int num41 = 0; num41 < mTaskGroup5.mListExTaskData.Count; num41++) + { + TaskData taskData5 = mTaskGroup5.mListExTaskData[num41]; + if (taskData5 == null || taskData5.mTGanTas == null) + { + continue; + } + TGanTas mTGanTas5 = taskData5.mTGanTas; + if (mTGanTas5.mListTGanTaData == null || mTGanTas5.mListTGanTaData.Count == 0) + { + continue; + } + for (int num42 = 0; num42 < mTGanTas5.mListTGanTaData.Count; num42++) + { + if (mTGanTas5.mListTGanTaData[num42] != null && mTGanTas5.mListTGanTaData[num42].mFXDJ_GanTa > 2) + { + num14++; + } + } + } + num5 = mTaskGroup5.mListExTaskData.Count; + } + } + if (num5 <= 0) + { + num5 = 1; + } + num14 /= num5; + break; + case "4.2": + text5 = ""; + num13 = 0; + flag = false; + num10 = 0; + if (mIndex_ListDetail >= 0) + { + for (int l = 0; l < desktop.mTask.mListDetails.Count; l++) + { + if (mIndex_ListDetail != l) + { + continue; + } + TaskGroup mTaskGroup = desktop.mTask.mListDetails[l].mTaskGroup; + if (mTaskGroup == null || mTaskGroup.mListExTaskData == null || mTaskGroup.mListExTaskData.Count == 0) + { + continue; + } + for (int m = 0; m < mTaskGroup.mListExTaskData.Count; m++) + { + TaskData taskData = mTaskGroup.mListExTaskData[m]; + if (taskData == null || taskData.mTGanTas == null) + { + continue; + } + TGanTas mTGanTas = taskData.mTGanTas; + if (mTGanTas.mListTGanTaData == null || mTGanTas.mListTGanTaData.Count == 0) + { + continue; + } + TGanTaData tGanTaData = null; + int num23 = -1; + CanShuFenJi canShuFenJi = null; + for (int n = 0; n < mTGanTas.mListTGanTaData.Count; n++) + { + tGanTaData = mTGanTas.mListTGanTaData[n]; + if (tGanTaData == null || tGanTaData.mFXDJ_GanTa <= 2) + { + continue; + } + num23 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData.m_ID_CanShuFenJi); + if (num23 >= 0) + { + canShuFenJi = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num23]; + if (canShuFenJi.mFenJi_JYZCD <= 2 && text5.IndexOf(" 绝缘子串长过短") < 0) + { + text5 += " 绝缘子串长过短"; + num13++; + } + if (canShuFenJi.mFJ_HuGao <= 2 && text5.IndexOf(" 杆塔高度过高") < 0) + { + text5 += " 杆塔高度过高"; + num13++; + } + if (canShuFenJi.mFJ_DMQJ <= 2 && text5.IndexOf(" 地面倾角过大") < 0) + { + text5 += " 地面倾角过大"; + num13++; + } + if (canShuFenJi.mFJ_BaoHuJiao <= 2 && text5.IndexOf(" 避雷线保护角过大") < 0) + { + text5 += " 避雷线保护角过大"; + num13++; + } + if (canShuFenJi.mFenJi_JDDZ <= 2 && text5.IndexOf(" 接地电阻过大") < 0) + { + text5 += " 接地电阻过大"; + num13++; + } + } + } + } + num5 = mTaskGroup.mListExTaskData.Count; + } + flag = false; + num10 = 0; + int num24 = 0; + while (!flag && num24 < desktop.mTask.mListDetails.Count) + { + if (desktop.mTask.mListDetails[mIndex_ListDetail].mTaskData.mID_Task == desktop.mTask.mListDetails[num24].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ && desktop.mTask.mListDetails[num24].mTaskData.mTypeCode_Task == 602) + { + flag = true; + num10 = desktop.mTask.mListDetails[num24].mTaskData.mTypeCode_Task; + break; + } + num24++; + } + int num25 = 0; + while (!flag && num25 < desktop.mTask.mListDetails.Count) + { + if (desktop.mTask.mListDetails[mIndex_ListDetail].mTaskData.mID_Task == desktop.mTask.mListDetails[num25].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ && desktop.mTask.mListDetails[num25].mTaskData.mTypeCode_Task == 6) + { + flag = true; + num10 = desktop.mTask.mListDetails[num25].mTaskData.mTypeCode_Task; + break; + } + num25++; + } + int num26 = 0; + while (!flag && num26 < desktop.mTask.mListDetails.Count) + { + if (desktop.mTask.mListDetails[mIndex_ListDetail].mTaskData.mID_Task == desktop.mTask.mListDetails[num26].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian && desktop.mTask.mListDetails[num26].mTaskData.mTypeCode_Task == 302) + { + flag = true; + num10 = desktop.mTask.mListDetails[num26].mTaskData.mTypeCode_Task; + break; + } + num26++; + } + int num27 = 0; + while (!flag && num27 < desktop.mTask.mListDetails.Count) + { + if (desktop.mTask.mListDetails[mIndex_ListDetail].mTaskData.mID_Task == desktop.mTask.mListDetails[num27].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian && desktop.mTask.mListDetails[num27].mTaskData.mTypeCode_Task == 3) + { + flag = true; + num10 = desktop.mTask.mListDetails[num27].mTaskData.mTypeCode_Task; + break; + } + num27++; + } + } + text5 = text5.Trim().Replace(" ", "、"); + break; + } + num = 0; + list.Clear(); + list2.Clear(); + switch (array[num11]) + { + case "1.": + { + selection.TypeText("一、线路概况"); + selection.TypeParagraph(); + list.Add(prop); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + num3 = 0.0; + for (int num45 = 1; num45 < desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count; num45++) + { + num3 += desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num45].mXiaoHao_GanTa; + } + selection.TypeText($"\t{desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu}全长{num3 / 1000.0}km," + $"共{desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count}基杆塔,为{num6}回路线路。本线路避雷器安装情况见表1。"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表1 本线路避雷器安装情况表"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + } + case "2.1": + { + selection.TypeText("二、线路基本信息"); + selection.TypeParagraph(); + list.Add(prop); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("2.1线路杆塔种类"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + num5 = (num4 = 0); + for (int num44 = 0; num44 < desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count; num44++) + { + if (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num44].mZXNZ_GanTa.Equals("直线")) + { + num4++; + } + if (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num44].mZXNZ_GanTa.Equals("耐张")) + { + num5++; + } + } + num6 = desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count; + if (num6 <= 0) + { + num6 = 1; + } + num7 = Math.Round(100.0 * (double)num4 / (double)num6, 2); + num8 = Math.Round(100.0 * (double)num5 / (double)num6, 2); + selection.TypeText($"\t在线路杆塔种类上,{desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu}共有直线塔{num4}基,占比{num7}%;耐张塔{num5}基,占比{num8}%。"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("图1 线路杆塔种类统计图"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + } + case "2.2": + { + selection.TypeText("2.2线路杆塔地形"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + num13 = (num14 = (num15 = (num16 = (num17 = 0)))); + for (int num43 = 0; num43 < desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count; num43++) + { + if (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num43].mDiXing_GanTa.Equals("背风坡")) + { + num13++; + } + if (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num43].mDiXing_GanTa.Equals("迎风坡")) + { + num14++; + } + if (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num43].mDiXing_GanTa.Equals("山谷")) + { + num15++; + } + if (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num43].mDiXing_GanTa.Equals("山脊")) + { + num16++; + } + if (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num43].mDiXing_GanTa.Equals("平地")) + { + num17++; + } + } + num6 = desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count; + if (num6 <= 0) + { + num6 = 1; + } + num18 = Math.Round(100.0 * (double)num13 / (double)num6, 2); + num19 = Math.Round(100.0 * (double)num14 / (double)num6, 2); + num20 = Math.Round(100.0 * (double)num15 / (double)num6, 2); + num21 = Math.Round(100.0 * (double)num16 / (double)num6, 2); + num22 = Math.Round(100.0 * (double)num17 / (double)num6, 2); + selection.TypeText($"\t在线路杆塔地形方面,{desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu}共有{num13}基塔位于背风坡,占比{num18}%;" + $"{num14}基塔位于迎风坡,占比{num19}%;{num15}基塔位于山谷,占比{num20}%;{num16}基塔位于山脊,占比{num21}%;{num17}基塔位于平地,占比{num22}%。"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("图2 线路杆塔地形统计图"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + } + case "2.3.1": + selection.TypeText("2.3线路杆塔高度"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("2.3.1线路杆塔高度分类规则"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t线路杆塔高度的参考值如下表:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表2 输电线路杆塔高度参考值"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "-表3": + selection.TypeText("\t线路杆塔高度雷击跳闸率风险影响因素等级划分规则如下表所示:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表3 输电线路杆塔高度影响因素等级划分规则"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "2.3.2": + selection.TypeText("2.3.2线路杆塔高度分类结果"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText($"\t在线路杆塔高度方面,{desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu}共有{num13}基塔杆塔高度的影响因素档级为1级,占比{num18}%;" + $"{num14}基塔杆塔高度的影响因素档级为2级,占比{num19}%;{num15}基塔杆塔高度的影响因素档级为3级,占比{num20}%;" + $"{num16}基塔杆塔高度的影响因素档级为4级,占比{num21}%;{num17}基塔杆塔高度的影响因素档级为5级,占比{num22}%。"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("图3 线路杆塔高度影响因素档级信息统计图"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "2.4.1": + selection.TypeText("2.4线路杆塔地面倾角"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("2.4.1线路杆塔地面倾角分类规则"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t线路杆塔地面倾角的等级划分规则如下表:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表4 输电线路杆塔地面倾角影响因素等级划分规则"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "2.4.2": + selection.TypeText("2.4.2线路杆塔地面倾角分类结果"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText($"\t在线路杆塔地面倾角方面,{desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu}共有{num13}基塔杆塔地面倾角的影响因素档级为1级,占比{num18}%;" + $"{num14}基塔杆塔地面倾角的影响因素档级为2级,占比{num19}%;{num15}基塔杆塔地面倾角的影响因素档级为3级,占比{num20}%;" + $"{num16}基塔杆塔地面倾角的影响因素档级为4级,占比{num21}%;{num17}基塔杆塔地面倾角的影响因素档级为5级,占比{num22}%。"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("图4 线路杆塔地面倾角信息统计图"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "2.5.1": + selection.TypeText("2.5线路杆塔绝缘子串长"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("2.5.1线路杆塔绝缘子串长分类规则"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t线路杆塔绝缘子串长的参考值如下表:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表5 输电线路杆塔绝缘子串长参考值"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "-表6": + selection.TypeText("\t线路杆塔绝缘子串长雷击跳闸率风险影响因素等级划分规则如下表所示:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表6 输电线路杆塔绝缘子串长影响因素等级划分规则"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "2.5.2": + selection.TypeText("2.5.2线路杆塔绝缘子串长分类结果"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText($"\t在线路杆塔绝缘子串长方面,{desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu}共有{num13}基塔杆塔绝缘子串长的影响因素档级为1级,占比{num18}%;" + $"{num14}基塔杆塔绝缘子串长的影响因素档级为2级,占比{num19}%;{num15}基塔杆塔绝缘子串长的影响因素档级为3级,占比{num20}%;" + $"{num16}基塔杆塔绝缘子串长的影响因素档级为4级,占比{num21}%;{num17}基塔杆塔绝缘子串长的影响因素档级为5级,占比{num22}%。"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("图5 线路杆塔绝缘子串长信息统计图"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "2.6.1": + selection.TypeText("2.6线路杆塔地闪密度"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("2.6.1线路杆塔地闪密度分类规则"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t输电线路途径区域的雷区等级划分规则参考DL/T 1533-2016《电力系统雷区分布图绘制方法》的相关规定,详见表7:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表7 雷区等级划分原则"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "2.6.2": + selection.TypeText("2.6.2线路杆塔地闪密度分类结果"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText($"\t在线路杆塔地闪密度方面,{desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu}共有{num13}基塔位于少雷区,占比{num18}%;" + $"{num14}基塔位于中雷区,占比{num19}%;{num15}基塔位于多雷区,占比{num20}%;{num16}基塔位于强雷区,占比{num21}%。"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("图6线路杆塔雷区统计图"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "-图7": + selection.TypeText(""); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("图7线路杆塔地闪密度雷区分布图"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "2.7.1": + selection.TypeText("2.7线路杆塔避雷线保护角"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("2.7.1线路杆塔避雷线保护角分类规则"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t线路杆塔避雷线保护角的等级划分规则如下表:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表8 输电线路杆塔避雷线保护角影响因素等级划分规则"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "2.7.2": + selection.TypeText("2.7.2线路杆塔避雷线保护角分类结果"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText($"\t在线路杆塔避雷线保护角方面,{desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu}共有{num13}基塔杆塔避雷线保护角的影响因素档级为1级,占比{num18}%;" + $"{num14}基塔杆塔避雷线保护角的影响因素档级为2级,占比{num19}%;{num15}基塔杆塔避雷线保护角的影响因素档级为3级,占比{num20}%;" + $"{num16}基塔杆塔避雷线保护角的影响因素档级为4级,占比{num21}%;{num17}基塔杆塔避雷线保护角的影响因素档级为5级,占比{num22}%。"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("图8线路杆塔避雷线保护角信息统计图"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "3.1": + selection.TypeText("三、输电线路雷害风险评估结果"); + selection.TypeParagraph(); + list.Add(prop); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("3.1输电线路雷害风险评估规则"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t线路雷击跳闸率风险评估规则以南方电网公司发布的《架空输电线路防雷技术导则》为依据,参考线路的实际运行经验等因素来确定。各电压等级架空输电线路雷击跳闸率折算至年40雷暴日(即地闪密度2.78次/(km2•a))下的基准参考值S如下表所示:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表9 各电压等级输电线路雷击跳闸率基准参考值"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "-表10": + selection.TypeText("\t输电线路雷击风险等级划分规则如下表所示:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表10 输电线路雷击风险等级划分规则"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "3.2": + selection.TypeText("3.2输电线路雷害风险评估结果"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText($"\t{desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu}共{desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count}基杆塔," + $"其中{num13}基属于雷害风险Ⅰ级,占比{num18}%;" + $"{num14}基属于雷害风险Ⅱ级,占比{num19}%;{num15}基属于雷害风险Ⅲ级,占比{num20}%;" + $"{num16}基属于雷害风险Ⅳ级,占比{num21}%。其结果分布如下图所示,具体雷害风险评估结果如下表所示。"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("图9线路杆塔雷害风险等级统计图"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "-表11": + selection.TypeText("表11 " + desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu + "雷害风险评估结果一览表"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "4.1": + selection.TypeText("四、高风险杆塔差异化防雷"); + selection.TypeParagraph(); + list.Add(prop); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("4.1高风险杆塔原因分析"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText($"\t{desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu}共有{num13}基杆塔,其中风险等级位于Ⅲ级及以上的共有{num14}基,其对应的高风险原因如下表所示:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表12 高风险杆塔原因一览表"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "4.2": + selection.TypeText("4.2高风险杆塔差异化防雷措施"); + selection.TypeParagraph(); + list.Add(item); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + if (num10 == 6 || num10 == 3 || num10 == 0) + { + selection.TypeText($"\t本报告所分析的导致高风险杆塔出现的原因共有{num13}类,分别是{text5.Trim()}。其中,受限于已建成杆塔的限制,避雷线保护角和杆塔高度无法改变,受限于地形因素,地面倾角无法改变。基于此,差异化防雷措施主要有以下措施:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t1、增加输电线路绝缘子串长;"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t2、降低杆塔接地电阻大小;"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t3、安装线路避雷器;"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + } + else if (num10 == 602 || num10 == 302) + { + selection.TypeText($"\t本报告所分析的导致高风险杆塔出现的原因共有{num13}类,分别是{text5.Trim()}。其中,由于本线路是在规划设计阶段的未建线,因此除了改变接地电阻、绝缘子串长度外,对于保护角也可以作出适应性防雷改造。基于此,差异化防雷措施主要有以下措施:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t1、增加输电线路绝缘子串长;"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t2、降低杆塔接地电阻大小;"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t3、减小避雷线保护角;"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("\t4、安装线路避雷器;"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + } + selection.TypeText("\t对" + desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu + "中高风险杆塔的高风险原因进行分析计算,提出差异化防雷措施建议,其具体措施和效果如下表所示:"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + selection.TypeText("表13 高风险杆塔差异化防雷措施"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + case "-表14": + selection.TypeText("表14 " + desktop.mXL.mListXianLuData[mIndex_List_XL_GT].mName_XianLu + "采取措施后的计算结果一览表"); + selection.TypeParagraph(); + list.Add(prop2); + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + break; + } + if (list.Count == 0) + { + continue; + } + int num47; + for (int num46 = 0; num46 < list.Count; num46++) + { + Paragraphs paragraphs = document.Sections[index].Range.Paragraphs; + num47 = num + 1; + num = num47; + range = paragraphs[num47].Range; + Range range2 = range; + prop3 = list[num46]; + range2.set_Style(ref prop3); + range.Paragraphs[1].Alignment = list2[num46]; + } + list.Clear(); + list2.Clear(); + Paragraphs paragraphs2 = document.Sections[index].Range.Paragraphs; + num47 = num + 1; + num = num47; + range = paragraphs2[num47].Range; + document.Sections[index].Range.Paragraphs[num].Range.Select(); + selection = application.Selection; + selection.TypeText(""); + selection.TypeParagraph(); + Paragraphs paragraphs3 = document.Sections[index].Range.Paragraphs; + num47 = num + 1; + num = num47; + Range range3 = paragraphs3[num47].Range; + dataSet.Tables[0].Rows.Clear(); + dataSet.Tables[0].Columns.Clear(); + switch (array[num11]) + { + case "1.": + { + num12 = 360; + dataSet.Tables[0].Columns.Add("杆塔号"); + dataSet.Tables[0].Columns.Add("A相是否安装避雷器"); + dataSet.Tables[0].Columns.Add("B相是否安装避雷器"); + dataSet.Tables[0].Columns.Add("C相是否安装避雷器"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "杆塔号"; + dataRow[1] = "A相是否安装避雷器"; + dataRow[2] = "B相是否安装避雷器"; + dataRow[3] = "C相是否安装避雷器"; + dataSet.Tables[0].Rows.Add(dataRow); + num2 = 0; + for (int num95 = 0; num95 < desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData.Count; num95++) + { + if (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num95].mBLQ_A_GanTa.Equals("是") || desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num95].mBLQ_B_GanTa.Equals("是") || desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num95].mBLQ_C_GanTa.Equals("是")) + { + num2++; + dataRow = dataSet.Tables[0].NewRow(); + text4 = desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num95].mID_GanTa ?? ""; + text5 = ""; + text5 += (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num95].mBLQ_A_GanTa.Equals("是") ? "A" : ""); + text5 += (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num95].mBLQ_B_GanTa.Equals("是") ? "B" : ""); + text5 += (desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num95].mBLQ_C_GanTa.Equals("是") ? "C" : ""); + if (!string.IsNullOrEmpty(text5)) + { + text4 = text4 + " - " + text5; + } + dataRow[0] = text4; + dataRow[1] = desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num95].mBLQ_A_GanTa; + dataRow[2] = desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num95].mBLQ_B_GanTa; + dataRow[3] = desktop.mXL.mListGanTas[mIndex_List_XL_GT].mListGanTaData[num95].mBLQ_C_GanTa; + dataSet.Tables[0].Rows.Add(dataRow); + } + } + break; + } + case "2.3.1": + { + num12 = 480; + dataSet.Tables[0].Columns.Add("序号"); + dataSet.Tables[0].Columns.Add("电流类型"); + dataSet.Tables[0].Columns.Add("回路"); + dataSet.Tables[0].Columns.Add("电压(kV)"); + dataSet.Tables[0].Columns.Add("杆塔高度参考值S(米)"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "序号"; + dataRow[1] = "电流类型"; + dataRow[2] = "回路"; + dataRow[3] = "电压(kV)"; + dataRow[4] = "杆塔高度参考值S(米)"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "1"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "35"; + dataRow[4] = "16.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "2"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "35"; + dataRow[4] = "23.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "3"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "66"; + dataRow[4] = "18.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "4"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "66"; + dataRow[4] = "25.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "5"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "110"; + dataRow[4] = "20.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "6"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "110"; + dataRow[4] = "28.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "7"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "220"; + dataRow[4] = "33.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "8"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "220"; + dataRow[4] = "45.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "9"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "330"; + dataRow[4] = "35.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "10"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "330"; + dataRow[4] = "46.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "11"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "500"; + dataRow[4] = "39.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "12"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "500"; + dataRow[4] = "67.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "13"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "750"; + dataRow[4] = "55.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "14"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "750"; + dataRow[4] = "124.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "15"; + dataRow[1] = "直流"; + dataRow[2] = "-"; + dataRow[3] = "±500"; + dataRow[4] = "50.0"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "16"; + dataRow[1] = "直流"; + dataRow[2] = "-"; + dataRow[3] = "±800"; + dataRow[4] = "77.0"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + case "-表3": + { + num12 = 480; + dataSet.Tables[0].Columns.Add("影响因素档级"); + dataSet.Tables[0].Columns.Add("1"); + dataSet.Tables[0].Columns.Add("2"); + dataSet.Tables[0].Columns.Add("3"); + dataSet.Tables[0].Columns.Add("4"); + dataSet.Tables[0].Columns.Add("5"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "影响因素档级"; + dataRow[1] = "1"; + dataRow[2] = "2"; + dataRow[3] = "3"; + dataRow[4] = "4"; + dataRow[5] = "5"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "影响因素是否高风险"; + dataRow[1] = "是"; + dataRow[2] = "是"; + dataRow[3] = "是"; + dataRow[4] = "否"; + dataRow[5] = "否"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "杆塔高度"; + dataRow[1] = "Hi≥1.3×S"; + dataRow[2] = "1.2×S≤Hi<1.3×S"; + dataRow[3] = "1.1×S≤Hi<1.2×S"; + dataRow[4] = "1.0×S≤Hi<1.1×S"; + dataRow[5] = "Hi<1.0×S"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + case "2.4.1": + { + num12 = 480; + dataSet.Tables[0].Columns.Add("影响因素档级"); + dataSet.Tables[0].Columns.Add("1"); + dataSet.Tables[0].Columns.Add("2"); + dataSet.Tables[0].Columns.Add("3"); + dataSet.Tables[0].Columns.Add("4"); + dataSet.Tables[0].Columns.Add("5"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "影响因素档级"; + dataRow[1] = "1"; + dataRow[2] = "2"; + dataRow[3] = "3"; + dataRow[4] = "4"; + dataRow[5] = "5"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "影响因素是否高风险"; + dataRow[1] = "是"; + dataRow[2] = "是"; + dataRow[3] = "是"; + dataRow[4] = "否"; + dataRow[5] = "否"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "地面倾角"; + dataRow[1] = "15≤Hi"; + dataRow[2] = "10≤Hi<15"; + dataRow[3] = "5≤Hi<10"; + dataRow[4] = "0≤Hi<5"; + dataRow[5] = "Hi<0"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + case "2.5.1": + { + num12 = 480; + dataSet.Tables[0].Columns.Add("序号"); + dataSet.Tables[0].Columns.Add("电流类型"); + dataSet.Tables[0].Columns.Add("回路"); + dataSet.Tables[0].Columns.Add("电压(kV)"); + dataSet.Tables[0].Columns.Add("绝缘子串长参考值S(米)"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "序号"; + dataRow[1] = "电流类型"; + dataRow[2] = "回路"; + dataRow[3] = "电压(kV)"; + dataRow[4] = "绝缘子串长参考值S(米)"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "1"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "35"; + dataRow[4] = "0.450"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "2"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "35"; + dataRow[4] = "0.450"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "3"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "66"; + dataRow[4] = "0.850"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "4"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "66"; + dataRow[4] = "0.850"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "5"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "110"; + dataRow[4] = "1.314"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "6"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "110"; + dataRow[4] = "1.314"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "7"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "220"; + dataRow[4] = "2.265"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "8"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "220"; + dataRow[4] = "2.265"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "9"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "330"; + dataRow[4] = "3.155"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "10"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "330"; + dataRow[4] = "3.155"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "11"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "500"; + dataRow[4] = "4.575"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "12"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "500"; + dataRow[4] = "4.575"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "13"; + dataRow[1] = "交流"; + dataRow[2] = "单回"; + dataRow[3] = "750"; + dataRow[4] = "6.745"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "14"; + dataRow[1] = "交流"; + dataRow[2] = "双回"; + dataRow[3] = "750"; + dataRow[4] = "6.745"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "15"; + dataRow[1] = "直流"; + dataRow[2] = "-"; + dataRow[3] = "±500"; + dataRow[4] = "6.000"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "16"; + dataRow[1] = "直流"; + dataRow[2] = "-"; + dataRow[3] = "±800"; + dataRow[4] = "8.500"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + case "-表6": + { + num12 = 480; + dataSet.Tables[0].Columns.Add("影响因素档级"); + dataSet.Tables[0].Columns.Add("1"); + dataSet.Tables[0].Columns.Add("2"); + dataSet.Tables[0].Columns.Add("3"); + dataSet.Tables[0].Columns.Add("4"); + dataSet.Tables[0].Columns.Add("5"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "影响因素档级"; + dataRow[1] = "1"; + dataRow[2] = "2"; + dataRow[3] = "3"; + dataRow[4] = "4"; + dataRow[5] = "5"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "影响因素是否高风险"; + dataRow[1] = "是"; + dataRow[2] = "是"; + dataRow[3] = "是"; + dataRow[4] = "否"; + dataRow[5] = "否"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "绝缘子串长"; + dataRow[1] = "Hi= 0) + { + dataRow[3] = $"{tGanTaData14.mMA_RJ_NLSP_GanTa}/{tGanTaData14.mMB_RJ_NLSP_GanTa}"; + } + else + { + dataRow[3] = tGanTaData14.mRJ_NLSP_GanTa; + } + dataRow[4] = tGanTaData14.mRJ_TZL_GanTa; + dataRow[5] = tGanTaData14.mFJ_TZL_GanTa + tGanTaData14.mRJ_TZL_GanTa; + dataRow[6] = tGanTaData14.mFXDJ_GanTa; + if (tGanTaData14.m_Result_PuTongJiSuan_GanTa.Equals("请换ATP方法")) + { + DataRow dataRow2 = dataRow; + DataRow dataRow3 = dataRow; + DataRow dataRow4 = dataRow; + DataRow dataRow5 = dataRow; + obj4 = (dataRow[5] = "/"); + obj6 = (dataRow5[4] = obj4); + obj8 = (dataRow4[3] = obj6); + prop3 = (dataRow3[2] = obj8); + dataRow2[1] = prop3; + } + dataSet.Tables[0].Rows.Add(dataRow); + } + } + } + } + break; + } + case "4.1": + { + num12 = 480; + dataSet.Tables[0].Columns.Add("杆塔号"); + dataSet.Tables[0].Columns.Add("风险等级"); + dataSet.Tables[0].Columns.Add("高风险原因"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "杆塔号"; + dataRow[1] = "风险等级"; + dataRow[2] = "高风险原因"; + dataSet.Tables[0].Rows.Add(dataRow); + for (int num88 = 0; num88 < desktop.mTask.mListDetails.Count; num88++) + { + if (mIndex_ListDetail != num88 || desktop.mTask.mListDetails[num88] == null) + { + continue; + } + TaskGroup mTaskGroup16 = desktop.mTask.mListDetails[num88].mTaskGroup; + if (mTaskGroup16 == null || mTaskGroup16.mListExTaskData == null || mTaskGroup16.mListExTaskData.Count == 0) + { + continue; + } + for (int num89 = 0; num89 < mTaskGroup16.mListExTaskData.Count; num89++) + { + TaskData taskData16 = mTaskGroup16.mListExTaskData[num89]; + if (taskData16 == null || taskData16.mTGanTas == null) + { + continue; + } + TGanTas mTGanTas16 = taskData16.mTGanTas; + if (mTGanTas16.mListTGanTaData == null || mTGanTas16.mListTGanTaData.Count == 0) + { + continue; + } + TGanTaData tGanTaData13 = null; + int num90 = -1; + CanShuFenJi canShuFenJi13 = null; + for (int num91 = 0; num91 < mTGanTas16.mListTGanTaData.Count; num91++) + { + tGanTaData13 = mTGanTas16.mListTGanTaData[num91]; + if (tGanTaData13 == null || tGanTaData13.mFXDJ_GanTa <= 2) + { + continue; + } + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = tGanTaData13.mID_GanTa; + dataRow[1] = tGanTaData13.mFXDJ_GanTa; + num90 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData13.m_ID_CanShuFenJi); + if (num90 < 0) + { + dataRow[2] = ""; + } + else if (num90 >= 0) + { + canShuFenJi13 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num90]; + if (canShuFenJi13 == null) + { + dataRow[2] = ""; + } + else if (canShuFenJi13 != null) + { + string text8 = ""; + if (canShuFenJi13.mFenJi_JYZCD <= 2) + { + text8 += " 绝缘子串长过短"; + } + if (canShuFenJi13.mFJ_HuGao <= 2) + { + text8 += " 杆塔高度过高"; + } + if (canShuFenJi13.mFJ_DMQJ <= 2) + { + text8 += " 地面倾角过大"; + } + if (canShuFenJi13.mFJ_BaoHuJiao <= 2) + { + text8 += " 避雷线保护角过大"; + } + if (canShuFenJi13.mFenJi_JDDZ <= 2) + { + text8 += " 接地电阻过大"; + } + dataRow[2] = text8; + } + } + dataSet.Tables[0].Rows.Add(dataRow); + } + } + } + break; + } + case "4.2": + { + num12 = 480; + dataSet.Tables[0].Columns.Add("杆塔号"); + dataSet.Tables[0].Columns.Add("原风险等级"); + dataSet.Tables[0].Columns.Add("措施前数据"); + dataSet.Tables[0].Columns.Add("采取差异化防雷措施"); + dataSet.Tables[0].Columns.Add("措施后数据"); + dataSet.Tables[0].Columns.Add("采取措施后风险等级"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "杆塔号"; + dataRow[1] = "原风险等级"; + dataRow[2] = "措施前数据"; + dataRow[3] = "采取差异化防雷措施"; + dataRow[4] = "措施后数据"; + dataRow[5] = "采取措施后风险等级"; + dataSet.Tables[0].Rows.Add(dataRow); + int mID_Task = 0; + for (int num68 = 0; num68 < desktop.mTask.mListDetails.Count; num68++) + { + if (mIndex_ListDetail != num68 || desktop.mTask.mListDetails[num68] == null) + { + continue; + } + TaskGroup mTaskGroup11 = desktop.mTask.mListDetails[num68].mTaskGroup; + if (mTaskGroup11 == null || mTaskGroup11.mListExTaskData == null || mTaskGroup11.mListExTaskData.Count == 0) + { + continue; + } + mID_Task = desktop.mTask.mListDetails[num68].mTaskData.mID_Task; + for (int num69 = 0; num69 < mTaskGroup11.mListExTaskData.Count; num69++) + { + TaskData taskData11 = mTaskGroup11.mListExTaskData[num69]; + if (taskData11 == null || taskData11.mTGanTas == null) + { + continue; + } + TGanTas mTGanTas11 = taskData11.mTGanTas; + if (mTGanTas11.mListTGanTaData == null || mTGanTas11.mListTGanTaData.Count == 0) + { + continue; + } + TGanTaData tGanTaData8 = null; + int num70 = -1; + CanShuFenJi canShuFenJi8 = null; + for (int num71 = 0; num71 < mTGanTas11.mListTGanTaData.Count; num71++) + { + tGanTaData8 = mTGanTas11.mListTGanTaData[num71]; + if (tGanTaData8 == null || tGanTaData8.mFXDJ_GanTa <= 2) + { + continue; + } + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = tGanTaData8.mID_GanTa; + dataRow[1] = tGanTaData8.mFXDJ_GanTa; + dataRow[2] = ""; + dataRow[3] = ""; + dataRow[4] = ""; + dataRow[5] = ""; + num70 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData8.m_ID_CanShuFenJi); + if (num70 >= 0) + { + canShuFenJi8 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num70]; + if (canShuFenJi8 != null) + { + string text7 = ""; + bool flag4 = false; + int num72 = 0; + while (!flag4 && num72 < desktop.mTask.mListDetails.Count) + { + if (num72 != mIndex_ListDetail && desktop.mTask.mListDetails[num72] != null && desktop.mTask.mListDetails[num72].mTaskData != null && desktop.mTask.mListDetails[num72].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ == mID_Task && desktop.mTask.mListDetails[num72].mXianLuID_Detail == desktop.mTask.mListDetails[mIndex_ListDetail].mXianLuID_Detail && desktop.mTask.mListDetails[num72].mTaskData.mTypeCode_Task == 602) + { + TaskGroup mTaskGroup12 = desktop.mTask.mListDetails[num72].mTaskGroup; + if (mTaskGroup12 != null && mTaskGroup12.mListExTaskData != null && mTaskGroup12.mListExTaskData.Count != 0) + { + int num73 = 0; + while (!flag4 && num73 < mTaskGroup12.mListExTaskData.Count) + { + TaskData taskData12 = mTaskGroup12.mListExTaskData[num73]; + if (taskData12 != null && taskData12.mTGanTas != null) + { + TGanTas mTGanTas12 = taskData12.mTGanTas; + if (mTGanTas12.mListTGanTaData != null && mTGanTas12.mListTGanTaData.Count != 0) + { + TGanTaData tGanTaData9 = null; + int num74 = -1; + CanShuFenJi canShuFenJi9 = null; + int num75 = 0; + while (!flag4 && num75 < mTGanTas12.mListTGanTaData.Count) + { + tGanTaData9 = mTGanTas12.mListTGanTaData[num75]; + if (tGanTaData9 != null && tGanTaData9.mID_GanTa.Equals(tGanTaData8.mID_GanTa)) + { + num74 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData9.m_ID_CanShuFenJi); + if (num74 >= 0) + { + canShuFenJi9 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num74]; + if (canShuFenJi9.mNew_JYZCD > canShuFenJi9.mOld_JYZCD) + { + text7 += " 增加绝缘子串长"; + } + if (canShuFenJi9.mNew_JDDZ < canShuFenJi9.mOld_JDDZ) + { + text7 += " 减少接地电阻"; + } + if (canShuFenJi9.mNew_BaoHuJiao < canShuFenJi9.mOld_BaoHuJiao) + { + text7 += " 减小避雷线保护角"; + } + text7 += " 需要安装避雷器"; + if (!string.IsNullOrEmpty(text7)) + { + flag4 = true; + } + if (flag4) + { + if (text7.IndexOf("需要安装避雷器") < 0) + { + text7 += " 需要安装避雷器"; + } + canShuFenJi9.mOld_JYZCD = Math.Round(canShuFenJi9.mOld_JYZCD, 2); + canShuFenJi9.mNew_JYZCD = Math.Round(canShuFenJi9.mNew_JYZCD, 2); + canShuFenJi9.mOld_JDDZ = Math.Round(canShuFenJi9.mOld_JDDZ, 2); + canShuFenJi9.mNew_JDDZ = Math.Round(canShuFenJi9.mNew_JDDZ, 2); + dataRow[2] = $"{canShuFenJi9.mOld_JYZCD}mm, {canShuFenJi9.mOld_JDDZ}Ω, {canShuFenJi9.mOld_BaoHuJiao}°"; + dataRow[3] = text7.Trim(); + dataRow[4] = $"{canShuFenJi9.mNew_JYZCD}mm, {canShuFenJi9.mNew_JDDZ}Ω, {canShuFenJi9.mNew_BaoHuJiao}°"; + dataRow[5] = tGanTaData9.mFXDJ_GanTa; + } + } + } + num75++; + } + } + } + num73++; + } + } + } + num72++; + } + int num76 = 0; + while (!flag4 && num76 < desktop.mTask.mListDetails.Count) + { + if (num76 != mIndex_ListDetail && desktop.mTask.mListDetails[num76] != null && desktop.mTask.mListDetails[num76].mTaskData != null && desktop.mTask.mListDetails[num76].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ == mID_Task && desktop.mTask.mListDetails[num76].mXianLuID_Detail == desktop.mTask.mListDetails[mIndex_ListDetail].mXianLuID_Detail && desktop.mTask.mListDetails[num76].mTaskData.mTypeCode_Task == 6) + { + TaskGroup mTaskGroup13 = desktop.mTask.mListDetails[num76].mTaskGroup; + if (mTaskGroup13 != null && mTaskGroup13.mListExTaskData != null && mTaskGroup13.mListExTaskData.Count != 0) + { + int num77 = 0; + while (!flag4 && num77 < mTaskGroup13.mListExTaskData.Count) + { + TaskData taskData13 = mTaskGroup13.mListExTaskData[num77]; + if (taskData13 != null && taskData13.mTGanTas != null) + { + TGanTas mTGanTas13 = taskData13.mTGanTas; + if (mTGanTas13.mListTGanTaData != null && mTGanTas13.mListTGanTaData.Count != 0) + { + TGanTaData tGanTaData10 = null; + int num78 = -1; + CanShuFenJi canShuFenJi10 = null; + int num79 = 0; + while (!flag4 && num79 < mTGanTas13.mListTGanTaData.Count) + { + tGanTaData10 = mTGanTas13.mListTGanTaData[num79]; + if (tGanTaData10 != null && tGanTaData10.mID_GanTa.Equals(tGanTaData8.mID_GanTa)) + { + num78 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData10.m_ID_CanShuFenJi); + if (num78 >= 0) + { + canShuFenJi10 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num78]; + if (canShuFenJi10.mNew_JYZCD > canShuFenJi10.mOld_JYZCD) + { + text7 += " 增加绝缘子串长"; + } + if (canShuFenJi10.mNew_JDDZ < canShuFenJi10.mOld_JDDZ) + { + text7 += " 减少接地电阻"; + } + text7 += " 需要安装避雷器"; + if (!string.IsNullOrEmpty(text7)) + { + flag4 = true; + } + if (flag4) + { + if (text7.IndexOf("需要安装避雷器") < 0) + { + text7 += " 需要安装避雷器"; + } + canShuFenJi10.mOld_JYZCD = Math.Round(canShuFenJi10.mOld_JYZCD, 2); + canShuFenJi10.mNew_JYZCD = Math.Round(canShuFenJi10.mNew_JYZCD, 2); + canShuFenJi10.mOld_JDDZ = Math.Round(canShuFenJi10.mOld_JDDZ, 2); + canShuFenJi10.mNew_JDDZ = Math.Round(canShuFenJi10.mNew_JDDZ, 2); + dataRow[2] = $"{canShuFenJi10.mOld_JYZCD}mm, {canShuFenJi10.mOld_JDDZ}Ω"; + dataRow[3] = text7.Trim(); + dataRow[4] = $"{canShuFenJi10.mNew_JYZCD}mm, {canShuFenJi10.mNew_JDDZ}Ω"; + dataRow[5] = tGanTaData10.mFXDJ_GanTa; + } + } + } + num79++; + } + } + } + num77++; + } + } + } + num76++; + } + int num80 = 0; + while (!flag4 && num80 < desktop.mTask.mListDetails.Count) + { + if (num80 != mIndex_ListDetail && desktop.mTask.mListDetails[num80] != null && desktop.mTask.mListDetails[num80].mTaskData != null && desktop.mTask.mListDetails[num80].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian == mID_Task && desktop.mTask.mListDetails[num80].mXianLuID_Detail == desktop.mTask.mListDetails[mIndex_ListDetail].mXianLuID_Detail && desktop.mTask.mListDetails[num80].mTaskData.mTypeCode_Task == 302) + { + TaskGroup mTaskGroup14 = desktop.mTask.mListDetails[num80].mTaskGroup; + if (mTaskGroup14 != null && mTaskGroup14.mListExTaskData != null && mTaskGroup14.mListExTaskData.Count != 0) + { + int num81 = 0; + while (!flag4 && num81 < mTaskGroup14.mListExTaskData.Count) + { + TaskData taskData14 = mTaskGroup14.mListExTaskData[num81]; + if (taskData14 != null && taskData14.mTGanTas != null) + { + TGanTas mTGanTas14 = taskData14.mTGanTas; + if (mTGanTas14.mListTGanTaData != null && mTGanTas14.mListTGanTaData.Count != 0) + { + TGanTaData tGanTaData11 = null; + int num82 = -1; + CanShuFenJi canShuFenJi11 = null; + int num83 = 0; + while (!flag4 && num83 < mTGanTas14.mListTGanTaData.Count) + { + tGanTaData11 = mTGanTas14.mListTGanTaData[num83]; + if (tGanTaData11 != null && tGanTaData11.mID_GanTa.Equals(tGanTaData8.mID_GanTa)) + { + num82 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData11.m_ID_CanShuFenJi); + if (num82 >= 0) + { + canShuFenJi11 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num82]; + if (canShuFenJi11.mNew_JYZCD > canShuFenJi11.mOld_JYZCD) + { + text7 += " 增加绝缘子串长"; + } + if (canShuFenJi11.mNew_JDDZ < canShuFenJi11.mOld_JDDZ) + { + text7 += " 减少接地电阻"; + } + if (canShuFenJi11.mNew_BaoHuJiao < canShuFenJi11.mOld_BaoHuJiao) + { + text7 += " 减小避雷线保护角"; + } + if (canShuFenJi11.mBLQ_need) + { + text7 += " 需要安装避雷器"; + } + if (!string.IsNullOrEmpty(text7)) + { + flag4 = true; + } + if (flag4) + { + canShuFenJi11.mOld_JYZCD = Math.Round(canShuFenJi11.mOld_JYZCD, 2); + canShuFenJi11.mNew_JYZCD = Math.Round(canShuFenJi11.mNew_JYZCD, 2); + canShuFenJi11.mOld_JDDZ = Math.Round(canShuFenJi11.mOld_JDDZ, 2); + canShuFenJi11.mNew_JDDZ = Math.Round(canShuFenJi11.mNew_JDDZ, 2); + dataRow[2] = $"{canShuFenJi11.mOld_JYZCD}mm, {canShuFenJi11.mOld_JDDZ}Ω, {canShuFenJi11.mOld_BaoHuJiao}°"; + dataRow[3] = text7.Trim(); + dataRow[4] = $"{canShuFenJi11.mNew_JYZCD}mm, {canShuFenJi11.mNew_JDDZ}Ω, {canShuFenJi11.mNew_BaoHuJiao}°"; + dataRow[5] = tGanTaData11.mFXDJ_GanTa; + } + } + } + num83++; + } + } + } + num81++; + } + } + } + num80++; + } + int num84 = 0; + while (!flag4 && num84 < desktop.mTask.mListDetails.Count) + { + if (num84 != mIndex_ListDetail && desktop.mTask.mListDetails[num84] != null && desktop.mTask.mListDetails[num84].mTaskData != null && desktop.mTask.mListDetails[num84].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian == mID_Task && desktop.mTask.mListDetails[num84].mXianLuID_Detail == desktop.mTask.mListDetails[mIndex_ListDetail].mXianLuID_Detail && desktop.mTask.mListDetails[num84].mTaskData.mTypeCode_Task == 3) + { + TaskGroup mTaskGroup15 = desktop.mTask.mListDetails[num84].mTaskGroup; + if (mTaskGroup15 != null && mTaskGroup15.mListExTaskData != null && mTaskGroup15.mListExTaskData.Count != 0) + { + int num85 = 0; + while (!flag4 && num85 < mTaskGroup15.mListExTaskData.Count) + { + TaskData taskData15 = mTaskGroup15.mListExTaskData[num85]; + if (taskData15 != null && taskData15.mTGanTas != null) + { + TGanTas mTGanTas15 = taskData15.mTGanTas; + if (mTGanTas15.mListTGanTaData != null && mTGanTas15.mListTGanTaData.Count != 0) + { + TGanTaData tGanTaData12 = null; + int num86 = -1; + CanShuFenJi canShuFenJi12 = null; + int num87 = 0; + while (!flag4 && num87 < mTGanTas15.mListTGanTaData.Count) + { + tGanTaData12 = mTGanTas15.mListTGanTaData[num87]; + if (tGanTaData12 != null && tGanTaData12.mID_GanTa.Equals(tGanTaData8.mID_GanTa)) + { + num86 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData12.m_ID_CanShuFenJi); + if (num86 >= 0) + { + canShuFenJi12 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num86]; + if (canShuFenJi12.mNew_JYZCD > canShuFenJi12.mOld_JYZCD) + { + text7 += " 增加绝缘子串长"; + } + if (canShuFenJi12.mNew_JDDZ < canShuFenJi12.mOld_JDDZ) + { + text7 += " 减少接地电阻"; + } + if (canShuFenJi12.mBLQ_need) + { + text7 += " 需要安装避雷器"; + } + if (!string.IsNullOrEmpty(text7)) + { + flag4 = true; + } + if (flag4) + { + canShuFenJi12.mOld_JYZCD = Math.Round(canShuFenJi12.mOld_JYZCD, 2); + canShuFenJi12.mNew_JYZCD = Math.Round(canShuFenJi12.mNew_JYZCD, 2); + canShuFenJi12.mOld_JDDZ = Math.Round(canShuFenJi12.mOld_JDDZ, 2); + canShuFenJi12.mNew_JDDZ = Math.Round(canShuFenJi12.mNew_JDDZ, 2); + dataRow[2] = $"{canShuFenJi12.mOld_JYZCD}mm, {canShuFenJi12.mOld_JDDZ}Ω"; + dataRow[3] = text7.Trim(); + dataRow[4] = $"{canShuFenJi12.mNew_JYZCD}mm, {canShuFenJi12.mNew_JDDZ}Ω"; + dataRow[5] = tGanTaData12.mFXDJ_GanTa; + } + } + } + num87++; + } + } + } + num85++; + } + } + } + num84++; + } + } + } + dataSet.Tables[0].Rows.Add(dataRow); + } + } + } + break; + } + case "-表14": + { + num12 = 480; + dataSet.Tables[0].Columns.Add("杆塔号"); + dataSet.Tables[0].Columns.Add("1"); + dataSet.Tables[0].Columns.Add("2"); + dataSet.Tables[0].Columns.Add("3"); + dataSet.Tables[0].Columns.Add("4"); + dataSet.Tables[0].Columns.Add("5"); + dataSet.Tables[0].Columns.Add("6"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "杆塔号"; + dataRow[1] = "反击耐雷水平"; + dataRow[2] = "反击跳闸率"; + dataRow[3] = "绕击耐雷水平"; + dataRow[4] = "绕击跳闸率"; + dataRow[5] = "总雷击跳闸率"; + dataRow[6] = "输电线路雷害风险等级"; + dataSet.Tables[0].Rows.Add(dataRow); + dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = ""; + dataRow[1] = "kA"; + dataRow[2] = "次/(100km•a)"; + dataRow[3] = "kA"; + dataRow[4] = "次/(100km•a)"; + dataRow[5] = "次/(100km•a)"; + dataRow[6] = ""; + dataSet.Tables[0].Rows.Add(dataRow); + for (int num48 = 0; num48 < desktop.mTask.mListDetails.Count; num48++) + { + if (mIndex_ListDetail != num48 || desktop.mTask.mListDetails[num48] == null) + { + continue; + } + TaskGroup mTaskGroup6 = desktop.mTask.mListDetails[num48].mTaskGroup; + if (mTaskGroup6 == null || mTaskGroup6.mListExTaskData == null || mTaskGroup6.mListExTaskData.Count == 0) + { + continue; + } + int mID_Task = desktop.mTask.mListDetails[num48].mTaskData.mID_Task; + for (int num49 = 0; num49 < mTaskGroup6.mListExTaskData.Count; num49++) + { + TaskData taskData6 = mTaskGroup6.mListExTaskData[num49]; + if (taskData6 == null || taskData6.mTGanTas == null) + { + continue; + } + TGanTas mTGanTas6 = taskData6.mTGanTas; + if (mTGanTas6.mListTGanTaData == null || mTGanTas6.mListTGanTaData.Count == 0) + { + continue; + } + TGanTaData tGanTaData3 = null; + int num50 = -1; + CanShuFenJi canShuFenJi3 = null; + for (int num51 = 0; num51 < mTGanTas6.mListTGanTaData.Count; num51++) + { + tGanTaData3 = mTGanTas6.mListTGanTaData[num51]; + if (tGanTaData3 == null) + { + continue; + } + dataRow = dataSet.Tables[0].NewRow(); + if (tGanTaData3.mFXDJ_GanTa <= 2) + { + continue; + } + dataRow[0] = tGanTaData3.mID_GanTa; + dataRow[1] = tGanTaData3.mFJ_NLSP_GanTa; + dataRow[2] = tGanTaData3.mFJ_TZL_GanTa; + if (tGanTaData3.mTaXing_GanTa.ToLower().IndexOf("zhiliu") >= 0) + { + dataRow[3] = $"{tGanTaData3.mMA_RJ_NLSP_GanTa}/{tGanTaData3.mMB_RJ_NLSP_GanTa}"; + } + else + { + dataRow[3] = tGanTaData3.mRJ_NLSP_GanTa; + } + dataRow[4] = tGanTaData3.mRJ_TZL_GanTa; + dataRow[5] = tGanTaData3.mFJ_TZL_GanTa + tGanTaData3.mRJ_TZL_GanTa; + dataRow[6] = tGanTaData3.mFXDJ_GanTa; + num50 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData3.m_ID_CanShuFenJi); + if (num50 >= 0) + { + canShuFenJi3 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num50]; + if (canShuFenJi3 != null) + { + string text6 = ""; + bool flag3 = false; + int num52 = 0; + while (!flag3 && num52 < desktop.mTask.mListDetails.Count) + { + if (num52 != mIndex_ListDetail && desktop.mTask.mListDetails[num52] != null && desktop.mTask.mListDetails[num52].mTaskData != null && desktop.mTask.mListDetails[num52].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ == mID_Task && desktop.mTask.mListDetails[num52].mXianLuID_Detail == desktop.mTask.mListDetails[mIndex_ListDetail].mXianLuID_Detail && desktop.mTask.mListDetails[num52].mTaskData.mTypeCode_Task == 602) + { + TaskGroup mTaskGroup7 = desktop.mTask.mListDetails[num52].mTaskGroup; + if (mTaskGroup7 != null && mTaskGroup7.mListExTaskData != null && mTaskGroup7.mListExTaskData.Count != 0) + { + int num53 = 0; + while (!flag3 && num53 < mTaskGroup7.mListExTaskData.Count) + { + TaskData taskData7 = mTaskGroup7.mListExTaskData[num53]; + if (taskData7 != null && taskData7.mTGanTas != null) + { + TGanTas mTGanTas7 = taskData7.mTGanTas; + if (mTGanTas7.mListTGanTaData != null && mTGanTas7.mListTGanTaData.Count != 0) + { + TGanTaData tGanTaData4 = null; + int num54 = -1; + CanShuFenJi canShuFenJi4 = null; + int num55 = 0; + while (!flag3 && num55 < mTGanTas7.mListTGanTaData.Count) + { + tGanTaData4 = mTGanTas7.mListTGanTaData[num55]; + if (tGanTaData4 != null && tGanTaData4.mID_GanTa.Equals(tGanTaData3.mID_GanTa)) + { + num54 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData4.m_ID_CanShuFenJi); + if (num54 >= 0) + { + canShuFenJi4 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num54]; + if (canShuFenJi4.mNew_JYZCD > canShuFenJi4.mOld_JYZCD) + { + text6 += " 增加绝缘子串长"; + } + if (canShuFenJi4.mNew_JDDZ < canShuFenJi4.mOld_JDDZ) + { + text6 += " 减少接地电阻"; + } + if (canShuFenJi4.mNew_BaoHuJiao < canShuFenJi4.mOld_BaoHuJiao) + { + text6 += " 减小避雷线保护角"; + } + text6 += " 需要安装避雷器"; + if (!string.IsNullOrEmpty(text6)) + { + flag3 = true; + } + if (flag3) + { + if (text6.IndexOf("需要安装避雷器") < 0) + { + text6 += " 需要安装避雷器"; + } + dataRow[1] = tGanTaData4.mFJ_NLSP_GanTa; + dataRow[2] = tGanTaData4.mFJ_TZL_GanTa; + if (tGanTaData4.mTaXing_GanTa.ToLower().IndexOf("zhiliu") >= 0 || tGanTaData4.mTaXing_GanTa.ToLower().StartsWith("dc")) + { + try + { + dataRow[3] = $"{tGanTaData4.mMA_RJ_NLSP_GanTa}/{tGanTaData4.mMB_RJ_NLSP_GanTa}"; + } + catch (Exception) + { + dataRow[3] = ""; + } + } + else + { + dataRow[3] = tGanTaData4.mRJ_NLSP_GanTa; + } + dataRow[4] = tGanTaData4.mRJ_TZL_GanTa; + dataRow[5] = tGanTaData4.mFJ_TZL_GanTa + tGanTaData4.mRJ_TZL_GanTa; + dataRow[6] = tGanTaData4.mFXDJ_GanTa; + } + } + } + num55++; + } + } + } + num53++; + } + } + } + num52++; + } + int num56 = 0; + while (!flag3 && num56 < desktop.mTask.mListDetails.Count) + { + if (num56 != mIndex_ListDetail && desktop.mTask.mListDetails[num56] != null && desktop.mTask.mListDetails[num56].mTaskData != null && desktop.mTask.mListDetails[num56].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ == mID_Task && desktop.mTask.mListDetails[num56].mXianLuID_Detail == desktop.mTask.mListDetails[mIndex_ListDetail].mXianLuID_Detail && desktop.mTask.mListDetails[num56].mTaskData.mTypeCode_Task == 6) + { + TaskGroup mTaskGroup8 = desktop.mTask.mListDetails[num56].mTaskGroup; + if (mTaskGroup8 != null && mTaskGroup8.mListExTaskData != null && mTaskGroup8.mListExTaskData.Count != 0) + { + int num57 = 0; + while (!flag3 && num57 < mTaskGroup8.mListExTaskData.Count) + { + TaskData taskData8 = mTaskGroup8.mListExTaskData[num57]; + if (taskData8 != null && taskData8.mTGanTas != null) + { + TGanTas mTGanTas8 = taskData8.mTGanTas; + if (mTGanTas8.mListTGanTaData != null && mTGanTas8.mListTGanTaData.Count != 0) + { + TGanTaData tGanTaData5 = null; + int num58 = -1; + CanShuFenJi canShuFenJi5 = null; + int num59 = 0; + while (!flag3 && num59 < mTGanTas8.mListTGanTaData.Count) + { + tGanTaData5 = mTGanTas8.mListTGanTaData[num59]; + if (tGanTaData5 != null && tGanTaData5.mID_GanTa.Equals(tGanTaData3.mID_GanTa)) + { + num58 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData5.m_ID_CanShuFenJi); + if (num58 >= 0) + { + canShuFenJi5 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num58]; + if (canShuFenJi5.mNew_JYZCD > canShuFenJi5.mOld_JYZCD) + { + text6 += " 增加绝缘子串长"; + } + if (canShuFenJi5.mNew_JDDZ < canShuFenJi5.mOld_JDDZ) + { + text6 += " 减少接地电阻"; + } + if (canShuFenJi5.mNew_BaoHuJiao < canShuFenJi5.mOld_BaoHuJiao) + { + text6 += " 减小避雷线保护角"; + } + text6 += " 需要安装避雷器"; + if (!string.IsNullOrEmpty(text6)) + { + flag3 = true; + } + if (flag3) + { + if (text6.IndexOf("需要安装避雷器") < 0) + { + text6 += " 需要安装避雷器"; + } + dataRow[1] = tGanTaData5.mFJ_NLSP_GanTa; + dataRow[2] = tGanTaData5.mFJ_TZL_GanTa; + if (tGanTaData5.mTaXing_GanTa.ToLower().IndexOf("zhiliu") >= 0 || tGanTaData5.mTaXing_GanTa.ToLower().StartsWith("dc")) + { + try + { + dataRow[3] = $"{tGanTaData5.mMA_RJ_NLSP_GanTa}/{tGanTaData5.mMB_RJ_NLSP_GanTa}"; + } + catch (Exception) + { + dataRow[3] = ""; + } + } + else + { + dataRow[3] = tGanTaData5.mRJ_NLSP_GanTa; + } + dataRow[4] = tGanTaData5.mRJ_TZL_GanTa; + dataRow[5] = tGanTaData5.mFJ_TZL_GanTa + tGanTaData5.mRJ_TZL_GanTa; + dataRow[6] = tGanTaData5.mFXDJ_GanTa; + } + } + } + num59++; + } + } + } + num57++; + } + } + } + num56++; + } + int num60 = 0; + while (!flag3 && num60 < desktop.mTask.mListDetails.Count) + { + if (num60 != mIndex_ListDetail && desktop.mTask.mListDetails[num60] != null && desktop.mTask.mListDetails[num60].mTaskData != null && desktop.mTask.mListDetails[num60].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian == mID_Task && desktop.mTask.mListDetails[num60].mXianLuID_Detail == desktop.mTask.mListDetails[mIndex_ListDetail].mXianLuID_Detail && desktop.mTask.mListDetails[num60].mTaskData.mTypeCode_Task == 302) + { + TaskGroup mTaskGroup9 = desktop.mTask.mListDetails[num60].mTaskGroup; + if (mTaskGroup9 != null && mTaskGroup9.mListExTaskData != null && mTaskGroup9.mListExTaskData.Count != 0) + { + int num61 = 0; + while (!flag3 && num61 < mTaskGroup9.mListExTaskData.Count) + { + TaskData taskData9 = mTaskGroup9.mListExTaskData[num61]; + if (taskData9 != null && taskData9.mTGanTas != null) + { + TGanTas mTGanTas9 = taskData9.mTGanTas; + if (mTGanTas9.mListTGanTaData != null && mTGanTas9.mListTGanTaData.Count != 0) + { + TGanTaData tGanTaData6 = null; + int num62 = -1; + CanShuFenJi canShuFenJi6 = null; + int num63 = 0; + while (!flag3 && num63 < mTGanTas9.mListTGanTaData.Count) + { + tGanTaData6 = mTGanTas9.mListTGanTaData[num63]; + if (tGanTaData6 != null && tGanTaData6.mID_GanTa.Equals(tGanTaData3.mID_GanTa)) + { + num62 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData6.m_ID_CanShuFenJi); + if (num62 >= 0) + { + canShuFenJi6 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num62]; + if (canShuFenJi6.mNew_JYZCD > canShuFenJi6.mOld_JYZCD) + { + text6 += " 增加绝缘子串长"; + } + if (canShuFenJi6.mNew_JDDZ < canShuFenJi6.mOld_JDDZ) + { + text6 += " 减少接地电阻"; + } + if (canShuFenJi6.mNew_BaoHuJiao < canShuFenJi6.mOld_BaoHuJiao) + { + text6 += " 减小避雷线保护角"; + } + if (canShuFenJi6.mBLQ_need) + { + text6 += " 需要安装避雷器"; + } + if (!string.IsNullOrEmpty(text6)) + { + flag3 = true; + } + if (flag3) + { + dataRow[1] = tGanTaData6.mFJ_NLSP_GanTa; + dataRow[2] = tGanTaData6.mFJ_TZL_GanTa; + if (tGanTaData6.mTaXing_GanTa.ToLower().IndexOf("zhiliu") >= 0 || tGanTaData6.mTaXing_GanTa.ToLower().StartsWith("dc")) + { + try + { + dataRow[3] = $"{tGanTaData6.mMA_RJ_NLSP_GanTa}/{tGanTaData6.mMB_RJ_NLSP_GanTa}"; + } + catch (Exception) + { + dataRow[3] = ""; + } + } + else + { + dataRow[3] = tGanTaData6.mRJ_NLSP_GanTa; + } + dataRow[4] = tGanTaData6.mRJ_TZL_GanTa; + dataRow[5] = tGanTaData6.mFJ_TZL_GanTa + tGanTaData6.mRJ_TZL_GanTa; + dataRow[6] = tGanTaData6.mFXDJ_GanTa; + } + } + } + num63++; + } + } + } + num61++; + } + } + } + num60++; + } + int num64 = 0; + while (!flag3 && num64 < desktop.mTask.mListDetails.Count) + { + if (num64 != mIndex_ListDetail && desktop.mTask.mListDetails[num64] != null && desktop.mTask.mListDetails[num64].mTaskData != null && desktop.mTask.mListDetails[num64].mTaskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian == mID_Task && desktop.mTask.mListDetails[num64].mXianLuID_Detail == desktop.mTask.mListDetails[mIndex_ListDetail].mXianLuID_Detail && desktop.mTask.mListDetails[num64].mTaskData.mTypeCode_Task == 3) + { + TaskGroup mTaskGroup10 = desktop.mTask.mListDetails[num64].mTaskGroup; + if (mTaskGroup10 != null && mTaskGroup10.mListExTaskData != null && mTaskGroup10.mListExTaskData.Count != 0) + { + int num65 = 0; + while (!flag3 && num65 < mTaskGroup10.mListExTaskData.Count) + { + TaskData taskData10 = mTaskGroup10.mListExTaskData[num65]; + if (taskData10 != null && taskData10.mTGanTas != null) + { + TGanTas mTGanTas10 = taskData10.mTGanTas; + if (mTGanTas10.mListTGanTaData != null && mTGanTas10.mListTGanTaData.Count != 0) + { + TGanTaData tGanTaData7 = null; + int num66 = -1; + CanShuFenJi canShuFenJi7 = null; + int num67 = 0; + while (!flag3 && num67 < mTGanTas10.mListTGanTaData.Count) + { + tGanTaData7 = mTGanTas10.mListTGanTaData[num67]; + if (tGanTaData7 != null && tGanTaData7.mID_GanTa.Equals(tGanTaData3.mID_GanTa)) + { + num66 = desktop.mAll_CanShuFenJi.MyFind(tGanTaData7.m_ID_CanShuFenJi); + if (num66 >= 0) + { + canShuFenJi7 = desktop.mAll_CanShuFenJi.mList_CanShuFenJi_all[num66]; + if (canShuFenJi7.mNew_JYZCD > canShuFenJi7.mOld_JYZCD) + { + text6 += " 增加绝缘子串长"; + } + if (canShuFenJi7.mNew_JDDZ < canShuFenJi7.mOld_JDDZ) + { + text6 += " 减少接地电阻"; + } + if (canShuFenJi7.mNew_BaoHuJiao < canShuFenJi7.mOld_BaoHuJiao) + { + text6 += " 减小避雷线保护角"; + } + if (canShuFenJi7.mBLQ_need) + { + text6 += " 需要安装避雷器"; + } + if (!string.IsNullOrEmpty(text6)) + { + flag3 = true; + } + if (flag3) + { + dataRow[1] = tGanTaData7.mFJ_NLSP_GanTa; + dataRow[2] = tGanTaData7.mFJ_TZL_GanTa; + if (tGanTaData7.mTaXing_GanTa.ToLower().IndexOf("zhiliu") >= 0 || tGanTaData7.mTaXing_GanTa.ToLower().StartsWith("dc")) + { + try + { + dataRow[3] = $"{tGanTaData7.mMA_RJ_NLSP_GanTa}/{tGanTaData7.mMB_RJ_NLSP_GanTa}"; + } + catch (Exception) + { + dataRow[3] = ""; + } + } + else + { + dataRow[3] = tGanTaData7.mRJ_NLSP_GanTa; + } + dataRow[4] = tGanTaData7.mRJ_TZL_GanTa; + dataRow[5] = tGanTaData7.mFJ_TZL_GanTa + tGanTaData7.mRJ_TZL_GanTa; + dataRow[6] = tGanTaData7.mFXDJ_GanTa; + } + } + } + num67++; + } + } + } + num65++; + } + } + } + num64++; + } + } + } + dataSet.Tables[0].Rows.Add(dataRow); + } + } + } + break; + } + } + int count = dataSet.Tables[0].Rows.Count; + int count2 = dataSet.Tables[0].Columns.Count; + if (count > 0 && count2 > 0) + { + Table table = range.Tables.Add(range, dataSet.Tables[0].Rows.Count, dataSet.Tables[0].Columns.Count, ref Template, ref Template); + table.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; + table.Range.Font.Name = "宋体"; + table.Range.Font.Size = 12f; + table.Range.Cells.VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter; + table.Range.Rows.Alignment = WdRowAlignment.wdAlignRowCenter; + for (int num96 = 1; num96 <= count2; num96++) + { + table.Columns[num96].Width = num12 / count2; + } + for (int num97 = 1; num97 <= count; num97++) + { + for (int num96 = 1; num96 <= count2; num96++) + { + table.Cell(num97, num96).Range.Text = dataSet.Tables[0].Rows[num97 - 1][num96 - 1].ToString().Trim(); + } + } + table.Borders.InsideLineStyle = WdLineStyle.wdLineStyleSingle; + table.Borders.OutsideLineStyle = WdLineStyle.wdLineStyleSingle; + range = document.Sections[index].Range.Paragraphs[num].Range; + range.set_Style(ref prop2); + range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; + } + string text9 = array[num11]; + string text10 = text9; + if (text10 == "-图7") + { + string text11 = ""; + text11 = Directory.GetCurrentDirectory() + "\\地闪密度图形\\" + desktop.mTask.mListDetails[mIndex_ListDetail].mTaskData.mXianLuName_Task + ".png"; + if (File.Exists(text11)) + { + selection.InlineShapes.AddPicture(text11, ref Template, ref Template, ref Template); + range = document.Sections[index].Range.Paragraphs[1].Range; + range.set_Style(ref prop); + range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; + } + } + flag2 = false; + list2.Clear(); + switch (array[num11]) + { + case "1.": + if (num2 == 0) + { + flag2 = true; + list2.Add(WdParagraphAlignment.wdAlignParagraphCenter); + document.Sections[index].Range.Paragraphs[num].Range.Select(); + selection = application.Selection; + dataSet.Tables[0].Rows.Clear(); + dataSet.Tables[0].Columns.Clear(); + dataSet.Tables[0].Columns.Add("未安装避雷器"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "本线路未安装避雷器"; + dataSet.Tables[0].Rows.Add(dataRow); + } + break; + case "-表3": + { + flag2 = true; + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + dataSet.Tables[0].Rows.Clear(); + dataSet.Tables[0].Columns.Clear(); + dataSet.Tables[0].Columns.Add("注释"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "注:Hi表示线路第i基杆塔高度,单位米。"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + case "2.4.1": + { + flag2 = true; + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + dataSet.Tables[0].Rows.Clear(); + dataSet.Tables[0].Columns.Clear(); + dataSet.Tables[0].Columns.Add("注释"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "注:Hi表示线路第i基杆塔地面倾角,单位度。"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + case "-表6": + { + flag2 = true; + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + dataSet.Tables[0].Rows.Clear(); + dataSet.Tables[0].Columns.Clear(); + dataSet.Tables[0].Columns.Add("注释"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "注:Hi表示线路第i基杆塔绝缘子串长,单位米。"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + case "2.6.1": + { + flag2 = true; + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + dataSet.Tables[0].Rows.Clear(); + dataSet.Tables[0].Columns.Clear(); + dataSet.Tables[0].Columns.Add("注释"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "注:1)地区雷区分级宜采用10年及以上监测数据进行统计确定,至少要有5年雷电监测数据的积累;\r\n 2)一般情况下,不宜以特定年份或较短时间段的地闪密度统计参数作为地区雷区分级的评判依据。"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + case "2.7.1": + { + flag2 = true; + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + dataSet.Tables[0].Rows.Clear(); + dataSet.Tables[0].Columns.Clear(); + dataSet.Tables[0].Columns.Add("注释"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "注:Hi表示线路第i基杆塔避雷线保护角,单位度。"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + case "3.1": + { + flag2 = true; + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + dataSet.Tables[0].Rows.Clear(); + dataSet.Tables[0].Columns.Clear(); + dataSet.Tables[0].Columns.Add("注释"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "注:次/(km2•a)——次每平方公里每年,次/(100km•a)——次每百公里每年。"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + case "-表10": + { + flag2 = true; + list2.Add(WdParagraphAlignment.wdAlignParagraphLeft); + dataSet.Tables[0].Rows.Clear(); + dataSet.Tables[0].Columns.Clear(); + dataSet.Tables[0].Columns.Add("注释"); + DataRow dataRow = dataSet.Tables[0].NewRow(); + dataRow[0] = "注:1)Ri表示线路第i基杆塔及其水平档距范围内的雷击跳闸率(折算至年40雷暴日\r\n\t和每百公里长度下的指标),单位为:次/(100km•a);\r\n\t2)R表示线路平均雷击跳闸率(折算至年40雷暴日和每百公里长度下的指标),\r\n\t单位为:次/(100km•a)。"; + dataSet.Tables[0].Rows.Add(dataRow); + break; + } + } + if (flag2) + { + count = dataSet.Tables[0].Rows.Count; + count2 = dataSet.Tables[0].Columns.Count; + Table table = range3.Tables.Add(range3, dataSet.Tables[0].Rows.Count, dataSet.Tables[0].Columns.Count, ref Template, ref Template); + table.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; + if (list2.Count > 0) + { + table.Range.ParagraphFormat.Alignment = list2[0]; + } + table.Range.Font.Name = "宋体"; + table.Range.Font.Size = 12f; + table.Range.Cells.VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter; + table.Range.Rows.Alignment = WdRowAlignment.wdAlignRowCenter; + for (int num96 = 1; num96 <= count2; num96++) + { + table.Columns[num96].Width = num12 / count2; + } + for (int num97 = 1; num97 <= count; num97++) + { + for (int num96 = 1; num96 <= count2; num96++) + { + table.Cell(num97, num96).Range.Text = dataSet.Tables[0].Rows[num97 - 1][num96 - 1].ToString().Trim(); + } + } + table.Borders.InsideLineStyle = WdLineStyle.wdLineStyleSingle; + table.Borders.OutsideLineStyle = WdLineStyle.wdLineStyleSingle; + range3 = document.Sections[index].Range.Paragraphs[num].Range; + range3.set_Style(ref prop2); + range3.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; + if (list2.Count > 0) + { + range3.ParagraphFormat.Alignment = list2[0]; + } + } + list2.Clear(); + desktop.MySetFormTitle(desktop, $"报告生成进度 = {num11 + 1}/{array.Length} "); + } + catch (Exception ex6) + { + MyLog.AddLog($"MyReport.cs iXiaoJie={num11} 第{array[num11]}节 {array2[num11]} ex={ex6.Message}"); + } + } + object FileName = text3; + Document document2 = document; + prop3 = System.Type.Missing; + obj8 = System.Type.Missing; + obj6 = System.Type.Missing; + obj4 = System.Type.Missing; + object WritePassword = System.Type.Missing; + object ReadOnlyRecommended = System.Type.Missing; + object EmbedTrueTypeFonts = System.Type.Missing; + object SaveNativePictureFormat = System.Type.Missing; + object SaveFormsData = System.Type.Missing; + object SaveAsAOCELetter = System.Type.Missing; + object Encoding = System.Type.Missing; + object InsertLineBreaks = System.Type.Missing; + object AllowSubstitutions = System.Type.Missing; + object LineEnding = System.Type.Missing; + object AddBiDiMarks = System.Type.Missing; + object CompatibilityMode = System.Type.Missing; + document2.SaveAs2(ref FileName, ref prop3, ref obj8, ref obj6, ref obj4, ref WritePassword, ref ReadOnlyRecommended, ref EmbedTrueTypeFonts, ref SaveNativePictureFormat, ref SaveFormsData, ref SaveAsAOCELetter, ref Encoding, ref InsertLineBreaks, ref AllowSubstitutions, ref LineEnding, ref AddBiDiMarks, ref CompatibilityMode); + Document document3 = document; + CompatibilityMode = System.Type.Missing; + AddBiDiMarks = System.Type.Missing; + LineEnding = System.Type.Missing; + document3.Close(ref CompatibilityMode, ref AddBiDiMarks, ref LineEnding); + Marshal.ReleaseComObject(document); + document = null; + Application application2 = application; + LineEnding = System.Type.Missing; + AddBiDiMarks = System.Type.Missing; + CompatibilityMode = System.Type.Missing; + application2.Quit(ref LineEnding, ref AddBiDiMarks, ref CompatibilityMode); + Marshal.ReleaseComObject(application); + application = null; + } + catch (Exception ex7) + { + text = "MyReport.cs MyBuild_JiShuanShu() ex=" + ex7.Message; + MyLog.AddLog(text); + } + finally + { + } + desktop.mTask.mListDetails[mIndex_ListDetail].mTaskData.Complete = 1; + return text; + } +} diff --git a/LP/MySignal.cs b/LP/MySignal.cs new file mode 100644 index 0000000..858102b --- /dev/null +++ b/LP/MySignal.cs @@ -0,0 +1,396 @@ +using System; +using System.IO; +using System.Text; + +namespace LP; + +public class MySignal +{ + public bool mLoadXianLu_setting = false; + + public bool mSaveXianLu_setting = false; + + public bool mLoadTask_setting = false; + + public bool mSaveTask_setting = false; + + public bool mLoadExTask_setting = false; + + public bool mSaveExTask_setting = false; + + public bool mLoadGanTa_setting = false; + + public bool mSaveGanTa_setting = false; + + public bool mLoadTGanTa_setting = false; + + public bool mSaveTGanTa_setting = false; + + public bool mLoadCanShuFenJi_setting = false; + + public bool mSaveCanShuFenJi_setting = false; + + public bool mNeed_PrepareParameters_setting = false; + + public bool mShowButton_GuZhangFuXian = false; + + public bool mShow_Province = false; + + public void MyLoad_Setting(string _filename) + { + if (string.IsNullOrEmpty(_filename)) + { + MyLog.AddLog("MyLoad_Setting(_filename) 参数1为空:配置文件名(绝对路径)"); + return; + } + if (!File.Exists(_filename)) + { + MyLog.AddLog("MyLoad_Setting(_filename) 文件未找到。文件名=" + _filename); + return; + } + bool flag = false; + int i = -1; + int num = 0; + int num2 = 0; + string[] array = new string[18] + { + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "" + }; + string[] array2 = new string[18] + { + "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "" + }; + Encoding[] array3 = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num3 = 0; + bool flag2 = false; + string text = ""; + for (int j = 0; j < array3.Length; j++) + { + try + { + using FileStream fileStream = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream, array3[j])) + { + text = streamReader.ReadToEnd(); + if (string.IsNullOrEmpty(text) || text.IndexOf("直流") >= 0) + { + num3 = j; + flag2 = true; + } + streamReader.Close(); + } + fileStream.Close(); + } + catch (Exception) + { + } + if (flag2) + { + break; + } + } + using FileStream fileStream2 = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader2 = new StreamReader(fileStream2, array3[num3])) + { + while (!streamReader2.EndOfStream) + { + text = streamReader2.ReadLine().Trim(); + if (string.IsNullOrEmpty(text)) + { + continue; + } + if (!flag) + { + for (i = 0; i < array.Length; i++) + { + if (text.IndexOf(array[i]) >= 0) + { + flag = true; + num = 0; + break; + } + } + continue; + } + if (flag) + { + for (int k = 0; k < array2.Length; k++) + { + if (text.IndexOf(array2[k]) >= 0) + { + flag = false; + i = -1; + break; + } + } + if (!flag) + { + continue; + } + } + switch (array[i]) + { + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mShowButton_GuZhangFuXian = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mLoadXianLu_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mSaveXianLu_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mLoadTask_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mSaveTask_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mLoadExTask_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mSaveExTask_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mLoadGanTa_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mSaveGanTa_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mLoadTGanTa_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mSaveTGanTa_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mLoadCanShuFenJi_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mSaveCanShuFenJi_setting = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + GanTas.mSubPath_Models = text; + } + num++; + break; + case "": + if (num == 0) + { + GanTas.mSubPath_ModelsSimple = text; + } + num++; + break; + case "": + if (num == 0) + { + GanTas.mName_GanTaModels.Clear(); + } + GanTas.mName_GanTaModels.Add(text); + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mShow_Province = num2 > 0; + } + num++; + break; + case "": + if (num == 0) + { + try + { + num2 = Convert.ToInt32(text); + } + catch (Exception) + { + num2 = -1; + } + mNeed_PrepareParameters_setting = num2 > 0; + } + num++; + break; + } + } + streamReader2.Close(); + } + fileStream2.Close(); + } +} diff --git a/LP/Program.cs b/LP/Program.cs new file mode 100644 index 0000000..92fbe58 --- /dev/null +++ b/LP/Program.cs @@ -0,0 +1,15 @@ +using System; +using System.Windows.Forms; + +namespace LP; + +internal static class Program +{ + [STAThread] + private static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(defaultValue: false); + Application.Run(new FormDesktop()); + } +} diff --git a/LP/TGanTaData.cs b/LP/TGanTaData.cs new file mode 100644 index 0000000..8424c7d --- /dev/null +++ b/LP/TGanTaData.cs @@ -0,0 +1,689 @@ +namespace LP; + +public class TGanTaData +{ + public static int mNextID_static; + + public string mTaskIDstring = ""; + + public int mIndex__GanTa = 0; + + public int mID_TGanTa = 0; + + public string mID_GanTa = ""; + + public int mXianLuID = 0; + + public string mXianLuName = ""; + + public int m_ID_CanShuFenJi = 0; + + public int mDYDJ_GanTa = 0; + + public string mModel_GanTa = ""; + + public string mTaXing_GanTa = ""; + + public double mJingDu_GanTa = 0.0; + + public double mWeiDu_GanTa = 0.0; + + public string mXiangXu1_GanTa = ""; + + public string mXiangXu2_GanTa = ""; + + public string mXiangXu3_GanTa = ""; + + public string mXiangXu4_GanTa = ""; + + public string mBLQ_A_GanTa = ""; + + public string mBLQ_B_GanTa = ""; + + public string mBLQ_C_GanTa = ""; + + public double mJDDZ_GanTa = 0.0; + + public double mBLZJ_L_GanTa = 0.0; + + public double mBLZJ_R_GanTa = 0.0; + + public double mBLXGD_GanTa = 0.0; + + public double mJYZCD_GanTa = 0.0; + + public double mHuGao_GanTa = 0.0; + + public double m1ZJ_Shang_GanTa = 0.0; + + public double m1ZJ_Zhong_GanTa = 0.0; + + public double m1ZJ_Xia_GanTa = 0.0; + + public double m1GD_Shang_GanTa = 0.0; + + public double m1GD_Zhong_GanTa = 0.0; + + public double m1GD_Xia_GanTa = 0.0; + + public double m2ZJ_Shang_GanTa = 0.0; + + public double m2ZJ_Zhong_GanTa = 0.0; + + public double m2ZJ_Xia_GanTa = 0.0; + + public double m2GD_Shang_GanTa = 0.0; + + public double m2GD_Zhong_GanTa = 0.0; + + public double m2GD_Xia_GanTa = 0.0; + + public double m3ZJ_Shang_GanTa = 0.0; + + public double m3ZJ_Zhong_GanTa = 0.0; + + public double m3ZJ_Xia_GanTa = 0.0; + + public double m3GD_Shang_GanTa = 0.0; + + public double m3GD_Zhong_GanTa = 0.0; + + public double m3GD_Xia_GanTa = 0.0; + + public double m4ZJ_Shang_GanTa = 0.0; + + public double m4ZJ_Zhong_GanTa = 0.0; + + public double m4ZJ_Xia_GanTa = 0.0; + + public double m4GD_Shang_GanTa = 0.0; + + public double m4GD_Zhong_GanTa = 0.0; + + public double m4GD_Xia_GanTa = 0.0; + + public double mXiaoHao_GanTa = 0.0; + + public double mDaHao_GanTa = 0.0; + + public double mAngle_GanTa = 0.0; + + public double mCurrent_a_GanTa = 31.0; + + public double mCurrent_b_GanTa = 2.8; + + public double mDMQJ1_GanTa = 5.0; + + public double mDMQJ2_GanTa = 5.0; + + public double mHaiBa_GanTa = 0.0; + + public string mDiXing_GanTa = ""; + + public double mDSMD_GanTa = 2.8; + + public string mZXNZ_GanTa = ""; + + public int mCurrentType_GanTa = 0; + + public double mCurrentHeadTime_GanTa = 0.0; + + public double mCurrentTailTime_GanTa = 0.0; + + public int mRaoJiFanJi_GanTa = 0; + + public double mFJ_NLSP_GanTa = 0.0; + + public double mFJ_TZL_GanTa = 0.0; + + public double mRJ_NLSP_GanTa = 0.0; + + public double mRJ_TZL_GanTa = 0.0; + + public int mFXDJ_GanTa = 0; + + public double mMA_RJ_NLSP_GanTa = 0.0; + + public double mMB_RJ_NLSP_GanTa = 0.0; + + public double mMC_RJ_NLSP_GanTa = 0.0; + + public double mM1_NLSP_GanTa = 0.0; + + public string mM1_Xiang_GanTa = ""; + + public double mM1_TZL_GanTa = 0.0; + + public double mM2_NLSP_GanTa = 0.0; + + public string mM2_Xiang_GanTa = ""; + + public double mM2_TZL_GanTa = 0.0; + + public double mM3_NLSP_GanTa = 0.0; + + public string mM3_Xiang_GanTa = ""; + + public double mM3_TZL_GanTa = 0.0; + + public double mM4_NLSP_GanTa = 0.0; + + public string mM4_Xiang_GanTa = ""; + + public double mM4_TZL_GanTa = 0.0; + + public double mM5_NLSP_GanTa = 0.0; + + public string mM5_Xiang_GanTa = ""; + + public double mM5_TZL_GanTa = 0.0; + + public double mM6_NLSP_GanTa = 0.0; + + public string mM6_Xiang_GanTa = ""; + + public double mM6_TZL_GanTa = 0.0; + + public string m_YuanYinFenXi_GanTa = ""; + + public string m_CuoShiTuiJian_GanTa = ""; + + public double m_BaoHuJiao = 0.0; + + public string m_Result_PuTongJiSuan_GanTa = ""; + + static TGanTaData() + { + mNextID_static = 0; + mNextID_static = 1; + } + + public TGanTaData() + { + mTaskIDstring = "-1"; + mIndex__GanTa = -1; + mID_TGanTa = -1; + mID_GanTa = "-1"; + mXianLuID = -1; + mXianLuName = "-1"; + m_ID_CanShuFenJi = 0; + mDYDJ_GanTa = -1; + mModel_GanTa = "-1"; + mTaXing_GanTa = "-1"; + mJingDu_GanTa = -1.0; + mWeiDu_GanTa = -1.0; + mXiangXu1_GanTa = "-1"; + mXiangXu2_GanTa = "-1"; + mXiangXu3_GanTa = "-1"; + mXiangXu4_GanTa = "-1"; + mBLQ_A_GanTa = "-1"; + mBLQ_B_GanTa = "-1"; + mBLQ_C_GanTa = "-1"; + mJDDZ_GanTa = -1.0; + mBLZJ_L_GanTa = -1.0; + mBLZJ_R_GanTa = -1.0; + mBLXGD_GanTa = -1.0; + mJYZCD_GanTa = -1.0; + mHuGao_GanTa = -1.0; + m1ZJ_Shang_GanTa = -1.0; + m1ZJ_Zhong_GanTa = -1.0; + m1ZJ_Xia_GanTa = -1.0; + m1GD_Shang_GanTa = -1.0; + m1GD_Zhong_GanTa = -1.0; + m1GD_Xia_GanTa = -1.0; + m2ZJ_Shang_GanTa = -1.0; + m2ZJ_Zhong_GanTa = -1.0; + m2ZJ_Xia_GanTa = -1.0; + m2GD_Shang_GanTa = -1.0; + m2GD_Zhong_GanTa = -1.0; + m2GD_Xia_GanTa = -1.0; + m3ZJ_Shang_GanTa = -1.0; + m3ZJ_Zhong_GanTa = -1.0; + m3ZJ_Xia_GanTa = -1.0; + m3GD_Shang_GanTa = -1.0; + m3GD_Zhong_GanTa = -1.0; + m3GD_Xia_GanTa = -1.0; + m4ZJ_Shang_GanTa = -1.0; + m4ZJ_Zhong_GanTa = -1.0; + m4ZJ_Xia_GanTa = -1.0; + m4GD_Shang_GanTa = -1.0; + m4GD_Zhong_GanTa = -1.0; + m4GD_Xia_GanTa = -1.0; + mXiaoHao_GanTa = -1.0; + mDaHao_GanTa = -1.0; + mAngle_GanTa = -1.0; + mCurrent_a_GanTa = 31.0; + mCurrent_b_GanTa = 2.8; + mDMQJ1_GanTa = 5.0; + mDMQJ2_GanTa = 5.0; + mHaiBa_GanTa = -1.0; + mDiXing_GanTa = "-1"; + mDSMD_GanTa = 2.8; + mZXNZ_GanTa = "-1"; + mCurrentType_GanTa = -1; + mCurrentHeadTime_GanTa = -1.0; + mCurrentTailTime_GanTa = -1.0; + mRaoJiFanJi_GanTa = -1; + mFJ_NLSP_GanTa = 0.0; + mFJ_TZL_GanTa = 0.0; + mRJ_NLSP_GanTa = 0.0; + mRJ_TZL_GanTa = 0.0; + mFXDJ_GanTa = 0; + mMA_RJ_NLSP_GanTa = 0.0; + mMB_RJ_NLSP_GanTa = 0.0; + mMC_RJ_NLSP_GanTa = 0.0; + mM1_NLSP_GanTa = 0.0; + mM1_Xiang_GanTa = "-"; + mM1_TZL_GanTa = 0.0; + mM2_NLSP_GanTa = 0.0; + mM2_Xiang_GanTa = "-"; + mM2_TZL_GanTa = 0.0; + mM3_NLSP_GanTa = 0.0; + mM3_Xiang_GanTa = "-"; + mM3_TZL_GanTa = 0.0; + mM4_NLSP_GanTa = 0.0; + mM4_Xiang_GanTa = "-"; + mM4_TZL_GanTa = 0.0; + mM5_NLSP_GanTa = 0.0; + mM5_Xiang_GanTa = "-"; + mM5_TZL_GanTa = 0.0; + mM6_NLSP_GanTa = 0.0; + mM6_Xiang_GanTa = "-"; + mM6_TZL_GanTa = 0.0; + m_YuanYinFenXi_GanTa = "-1"; + m_CuoShiTuiJian_GanTa = "-1"; + m_BaoHuJiao = 0.0; + m_Result_PuTongJiSuan_GanTa = "-1"; + } + + public string MyToString() + { + string text = ""; + text = text + mTaskIDstring + ","; + text += $"{mID_TGanTa},"; + text += $"{mXianLuID},"; + text += $"{mIndex__GanTa + 1},"; + text = text + mXianLuName + ","; + text += $"{mDYDJ_GanTa},"; + text = text + mID_GanTa + ","; + text += $"{m_ID_CanShuFenJi},"; + text = text + mModel_GanTa + ","; + text = text + mTaXing_GanTa + ","; + text += $"{mJingDu_GanTa},"; + text += $"{mWeiDu_GanTa},"; + text = text + mXiangXu1_GanTa + ","; + text = text + mXiangXu2_GanTa + ","; + text = text + mXiangXu3_GanTa + ","; + text = text + mXiangXu4_GanTa + ","; + text = text + mBLQ_A_GanTa + ","; + text = text + mBLQ_B_GanTa + ","; + text = text + mBLQ_C_GanTa + ","; + text += $"{mJDDZ_GanTa},"; + text += $"{mBLZJ_L_GanTa},"; + text += $"{mBLZJ_R_GanTa},"; + text += $"{mBLXGD_GanTa},"; + text += $"{mJYZCD_GanTa},"; + text += $"{mHuGao_GanTa},"; + text += $"{m1ZJ_Shang_GanTa},"; + text += $"{m1ZJ_Zhong_GanTa},"; + text += $"{m1ZJ_Xia_GanTa},"; + text += $"{m1GD_Shang_GanTa},"; + text += $"{m1GD_Zhong_GanTa},"; + text += $"{m1GD_Xia_GanTa},"; + text += $"{m2ZJ_Shang_GanTa},"; + text += $"{m2ZJ_Zhong_GanTa},"; + text += $"{m2ZJ_Xia_GanTa},"; + text += $"{m2GD_Shang_GanTa},"; + text += $"{m2GD_Zhong_GanTa},"; + text += $"{m2GD_Xia_GanTa},"; + text += $"{m3ZJ_Shang_GanTa},"; + text += $"{m3ZJ_Zhong_GanTa},"; + text += $"{m3ZJ_Xia_GanTa},"; + text += $"{m3GD_Shang_GanTa},"; + text += $"{m3GD_Zhong_GanTa},"; + text += $"{m3GD_Xia_GanTa},"; + text += $"{m4ZJ_Shang_GanTa},"; + text += $"{m4ZJ_Zhong_GanTa},"; + text += $"{m4ZJ_Xia_GanTa},"; + text += $"{m4GD_Shang_GanTa},"; + text += $"{m4GD_Zhong_GanTa},"; + text += $"{m4GD_Xia_GanTa},"; + text += $"{mXiaoHao_GanTa},"; + text += $"{mDaHao_GanTa},"; + text += $"{mAngle_GanTa},"; + text += $"{mCurrent_a_GanTa},"; + text += $"{mCurrent_b_GanTa},"; + text += $"{mDMQJ1_GanTa},"; + text += $"{mDMQJ2_GanTa},"; + text += $"{mHaiBa_GanTa},"; + text = text + mDiXing_GanTa + ","; + text += $"{mDSMD_GanTa},"; + text = text + mZXNZ_GanTa + ","; + text += $"{mCurrentType_GanTa},"; + text += $"{mCurrentHeadTime_GanTa},"; + text += $"{mCurrentTailTime_GanTa},"; + text += $"{mRaoJiFanJi_GanTa},"; + text += $"{mFJ_NLSP_GanTa},"; + text += $"{mFJ_TZL_GanTa},"; + text += $"{mRJ_NLSP_GanTa},"; + text += $"{mRJ_TZL_GanTa},"; + text += $"{mFXDJ_GanTa},"; + text += $"{mMA_RJ_NLSP_GanTa},"; + text += $"{mMB_RJ_NLSP_GanTa},"; + text += $"{mMC_RJ_NLSP_GanTa},"; + text += $"{mM1_NLSP_GanTa},"; + text = text + mM1_Xiang_GanTa + ","; + text += $"{mM1_TZL_GanTa},"; + text += $"{mM2_NLSP_GanTa},"; + text = text + mM2_Xiang_GanTa + ","; + text += $"{mM2_TZL_GanTa},"; + text += $"{mM3_NLSP_GanTa},"; + text = text + mM3_Xiang_GanTa + ","; + text += $"{mM3_TZL_GanTa},"; + text += $"{mM4_NLSP_GanTa},"; + text = text + mM4_Xiang_GanTa + ","; + text += $"{mM4_TZL_GanTa},"; + text += $"{mM5_NLSP_GanTa},"; + text = text + mM5_Xiang_GanTa + ","; + text += $"{mM5_TZL_GanTa},"; + text += $"{mM6_NLSP_GanTa},"; + text = text + mM6_Xiang_GanTa + ","; + text += $"{mM6_TZL_GanTa},"; + string text2 = ""; + text2 = m_YuanYinFenXi_GanTa; + text2 = text2.Replace("\r", "\\r").Replace("\n", "\\n"); + text = text + text2 + ","; + text2 = m_CuoShiTuiJian_GanTa; + text2 = text2.Replace("\r", "\\r").Replace("\n", "\\n"); + text = text + text2 + ","; + text += $"{m_BaoHuJiao},"; + return text + m_Result_PuTongJiSuan_GanTa; + } + + public static string MyHead_ToString() + { + string text = ""; + text += "任务编号,"; + text += "任务塔号,"; + text += "线路编号,"; + text += "序号,"; + text += "线路名称,"; + text += "电压等级,"; + text += "塔号,"; + text += "参数分级编码,"; + text += "杆塔模型,"; + text += "塔形,"; + text += "经度,"; + text += "纬度,"; + text += "I回相序,"; + text += "II回相序,"; + text += "III回相序,"; + text += "IV回相序,"; + text += "A相是否安装避雷器,"; + text += "B相是否安装避雷器,"; + text += "C相是否安装避雷器,"; + text += "接地电阻,"; + text += "左避雷中距m,"; + text += "右避雷中距m,"; + text += "避雷线高度m,"; + text += "绝缘子串长度mm,"; + text += "杆塔呼高m,"; + text += "I回上相中距m,"; + text += "I回中相中距m,"; + text += "I回下相中距m,"; + text += "I回上相高度m,"; + text += "I回中相高度m,"; + text += "I回下相高度m,"; + text += "II回上相中距m,"; + text += "II回中相中距m,"; + text += "II回下相中距m,"; + text += "II回上相高度m,"; + text += "II回中相高度m,"; + text += "II回下相高度m,"; + text += "III回上相中距m,"; + text += "III回中相中距m,"; + text += "III回下相中距m,"; + text += "III回上相高度m,"; + text += "III回中相高度m,"; + text += "III回下相高度m,"; + text += "IV回上相中距m,"; + text += "IV回中相中距m,"; + text += "IV回下相中距m,"; + text += "IV回上相高度m,"; + text += "IV回中相高度m,"; + text += "IV回下相高度m,"; + text += "小号侧档距,"; + text += "大号侧档距,"; + text += "电角度,"; + text += "雷电流幅值a,"; + text += "雷电流幅值b,"; + text += "地面倾角1,"; + text += "地面倾角2,"; + text += "海拔m,"; + text += "地形,"; + text += "地闪密度,"; + text += "直线或耐张杆塔,"; + text += "雷电流波形种类,"; + text += "波头时间/μs,"; + text += "波尾时间/μs,"; + text += "绕击反击,"; + text += "反击耐雷水平kA,"; + text += "反击跳闸率(次/100km.a),"; + text += "绕击耐雷水平kA,"; + text += "绕击跳闸率(次/100km.a),"; + text += "雷击风险等级,"; + text += "A相绕击耐雷水平kA,"; + text += "B相绕击耐雷水平kA,"; + text += "C相绕击耐雷水平kA,"; + text += "单相反击耐雷水平kA,"; + text += "单相闪络相,"; + text += "单相反击跳闸率(次/100km.a),"; + text += "双相反击耐雷水平kA,"; + text += "双相闪络相,"; + text += "双相反击跳闸率(次/100km.a),"; + text += "三相反击耐雷水平kA,"; + text += "三相闪络相,"; + text += "三相反击跳闸率(次/100km.a),"; + text += "四相反击耐雷水平kA,"; + text += "四相闪络相,"; + text += "四相反击跳闸率(次/100km.a),"; + text += "五相反击耐雷水平kA,"; + text += "五相闪络相,"; + text += "五相反击跳闸率(次/100km.a),"; + text += "六相反击耐雷水平kA,"; + text += "六相闪络相,"; + text += "六相反击跳闸率(次/100km.a),"; + text += "原因分析,"; + text += "措施推荐,"; + text += "保护角,"; + return text + "普通计算结果"; + } + + public void CopyFrom_GanTaData(GanTaData _ganTaData) + { + mIndex__GanTa = _ganTaData.mIndex__GanTa; + mID_GanTa = _ganTaData.mID_GanTa; + mXianLuID = _ganTaData.mXianLuID; + mXianLuName = _ganTaData.mXianLuName; + mDYDJ_GanTa = _ganTaData.mDYDJ_GanTa; + m_ID_CanShuFenJi = 0; + mModel_GanTa = _ganTaData.mModel_GanTa; + mTaXing_GanTa = _ganTaData.mTaXing_GanTa; + mJingDu_GanTa = _ganTaData.mJingDu_GanTa; + mWeiDu_GanTa = _ganTaData.mWeiDu_GanTa; + mXiangXu1_GanTa = _ganTaData.mXiangXu1_GanTa; + mXiangXu2_GanTa = _ganTaData.mXiangXu2_GanTa; + mXiangXu3_GanTa = _ganTaData.mXiangXu3_GanTa; + mXiangXu4_GanTa = _ganTaData.mXiangXu4_GanTa; + mBLQ_A_GanTa = _ganTaData.mBLQ_A_GanTa; + mBLQ_B_GanTa = _ganTaData.mBLQ_B_GanTa; + mBLQ_C_GanTa = _ganTaData.mBLQ_C_GanTa; + mJDDZ_GanTa = _ganTaData.mJDDZ_GanTa; + mBLZJ_L_GanTa = _ganTaData.mBLZJ_L_GanTa; + mBLZJ_R_GanTa = _ganTaData.mBLZJ_R_GanTa; + mBLXGD_GanTa = _ganTaData.mBLXGD_GanTa; + mJYZCD_GanTa = _ganTaData.mJYZCD_GanTa; + mHuGao_GanTa = _ganTaData.mHuGao_GanTa; + m1ZJ_Shang_GanTa = _ganTaData.m1ZJ_Shang_GanTa; + m1ZJ_Zhong_GanTa = _ganTaData.m1ZJ_Zhong_GanTa; + m1ZJ_Xia_GanTa = _ganTaData.m1ZJ_Xia_GanTa; + m1GD_Shang_GanTa = _ganTaData.m1GD_Shang_GanTa; + m1GD_Zhong_GanTa = _ganTaData.m1GD_Zhong_GanTa; + m1GD_Xia_GanTa = _ganTaData.m1GD_Xia_GanTa; + m2ZJ_Shang_GanTa = _ganTaData.m2ZJ_Shang_GanTa; + m2ZJ_Zhong_GanTa = _ganTaData.m2ZJ_Zhong_GanTa; + m2ZJ_Xia_GanTa = _ganTaData.m2ZJ_Xia_GanTa; + m2GD_Shang_GanTa = _ganTaData.m2GD_Shang_GanTa; + m2GD_Zhong_GanTa = _ganTaData.m2GD_Zhong_GanTa; + m2GD_Xia_GanTa = _ganTaData.m2GD_Xia_GanTa; + m3ZJ_Shang_GanTa = _ganTaData.m3ZJ_Shang_GanTa; + m3ZJ_Zhong_GanTa = _ganTaData.m3ZJ_Zhong_GanTa; + m3ZJ_Xia_GanTa = _ganTaData.m3ZJ_Xia_GanTa; + m3GD_Shang_GanTa = _ganTaData.m3GD_Shang_GanTa; + m3GD_Zhong_GanTa = _ganTaData.m3GD_Zhong_GanTa; + m3GD_Xia_GanTa = _ganTaData.m3GD_Xia_GanTa; + m4ZJ_Shang_GanTa = _ganTaData.m4ZJ_Shang_GanTa; + m4ZJ_Zhong_GanTa = _ganTaData.m4ZJ_Zhong_GanTa; + m4ZJ_Xia_GanTa = _ganTaData.m4ZJ_Xia_GanTa; + m4GD_Shang_GanTa = _ganTaData.m4GD_Shang_GanTa; + m4GD_Zhong_GanTa = _ganTaData.m4GD_Zhong_GanTa; + m4GD_Xia_GanTa = _ganTaData.m4GD_Xia_GanTa; + mXiaoHao_GanTa = _ganTaData.mXiaoHao_GanTa; + mDaHao_GanTa = _ganTaData.mDaHao_GanTa; + mAngle_GanTa = _ganTaData.mAngle_GanTa; + mCurrent_a_GanTa = _ganTaData.mCurrent_a_GanTa; + mCurrent_b_GanTa = _ganTaData.mCurrent_b_GanTa; + mDMQJ1_GanTa = _ganTaData.mDMQJ1_GanTa; + mDMQJ2_GanTa = _ganTaData.mDMQJ2_GanTa; + mHaiBa_GanTa = _ganTaData.mHaiBa_GanTa; + mDiXing_GanTa = _ganTaData.mDiXing_GanTa; + mDSMD_GanTa = _ganTaData.mDSMD_GanTa; + mZXNZ_GanTa = _ganTaData.mZXNZ_GanTa; + mRaoJiFanJi_GanTa = _ganTaData.mRaoJiFanJi_GanTa; + mFJ_NLSP_GanTa = _ganTaData.mFJ_NLSP_GanTa; + mFJ_TZL_GanTa = _ganTaData.mFJ_TZL_GanTa; + mRJ_NLSP_GanTa = _ganTaData.mRJ_NLSP_GanTa; + mRJ_TZL_GanTa = _ganTaData.mRJ_TZL_GanTa; + mFXDJ_GanTa = _ganTaData.mFXDJ_GanTa; + m_YuanYinFenXi_GanTa = _ganTaData.m_YuanYinFenXi_GanTa; + m_CuoShiTuiJian_GanTa = _ganTaData.m_CuoShiTuiJian_GanTa; + m_Result_PuTongJiSuan_GanTa = "-1"; + } + + public void CopyFrom_TGanTaData(TGanTaData _tGanTaData) + { + mID_TGanTa = _tGanTaData.mID_TGanTa; + mTaskIDstring = _tGanTaData.mTaskIDstring; + mIndex__GanTa = _tGanTaData.mIndex__GanTa; + mID_GanTa = _tGanTaData.mID_GanTa; + mXianLuID = _tGanTaData.mXianLuID; + mXianLuName = _tGanTaData.mXianLuName; + m_ID_CanShuFenJi = _tGanTaData.m_ID_CanShuFenJi; + mDYDJ_GanTa = _tGanTaData.mDYDJ_GanTa; + mModel_GanTa = _tGanTaData.mModel_GanTa; + mTaXing_GanTa = _tGanTaData.mTaXing_GanTa; + mJingDu_GanTa = _tGanTaData.mJingDu_GanTa; + mWeiDu_GanTa = _tGanTaData.mWeiDu_GanTa; + mXiangXu1_GanTa = _tGanTaData.mXiangXu1_GanTa; + mXiangXu2_GanTa = _tGanTaData.mXiangXu2_GanTa; + mXiangXu3_GanTa = _tGanTaData.mXiangXu3_GanTa; + mXiangXu4_GanTa = _tGanTaData.mXiangXu4_GanTa; + mBLQ_A_GanTa = _tGanTaData.mBLQ_A_GanTa; + mBLQ_B_GanTa = _tGanTaData.mBLQ_B_GanTa; + mBLQ_C_GanTa = _tGanTaData.mBLQ_C_GanTa; + mJDDZ_GanTa = _tGanTaData.mJDDZ_GanTa; + mBLZJ_L_GanTa = _tGanTaData.mBLZJ_L_GanTa; + mBLZJ_R_GanTa = _tGanTaData.mBLZJ_R_GanTa; + mBLXGD_GanTa = _tGanTaData.mBLXGD_GanTa; + mJYZCD_GanTa = _tGanTaData.mJYZCD_GanTa; + mHuGao_GanTa = _tGanTaData.mHuGao_GanTa; + m1ZJ_Shang_GanTa = _tGanTaData.m1ZJ_Shang_GanTa; + m1ZJ_Zhong_GanTa = _tGanTaData.m1ZJ_Zhong_GanTa; + m1ZJ_Xia_GanTa = _tGanTaData.m1ZJ_Xia_GanTa; + m1GD_Shang_GanTa = _tGanTaData.m1GD_Shang_GanTa; + m1GD_Zhong_GanTa = _tGanTaData.m1GD_Zhong_GanTa; + m1GD_Xia_GanTa = _tGanTaData.m1GD_Xia_GanTa; + m2ZJ_Shang_GanTa = _tGanTaData.m2ZJ_Shang_GanTa; + m2ZJ_Zhong_GanTa = _tGanTaData.m2ZJ_Zhong_GanTa; + m2ZJ_Xia_GanTa = _tGanTaData.m2ZJ_Xia_GanTa; + m2GD_Shang_GanTa = _tGanTaData.m2GD_Shang_GanTa; + m2GD_Zhong_GanTa = _tGanTaData.m2GD_Zhong_GanTa; + m2GD_Xia_GanTa = _tGanTaData.m2GD_Xia_GanTa; + m3ZJ_Shang_GanTa = _tGanTaData.m3ZJ_Shang_GanTa; + m3ZJ_Zhong_GanTa = _tGanTaData.m3ZJ_Zhong_GanTa; + m3ZJ_Xia_GanTa = _tGanTaData.m3ZJ_Xia_GanTa; + m3GD_Shang_GanTa = _tGanTaData.m3GD_Shang_GanTa; + m3GD_Zhong_GanTa = _tGanTaData.m3GD_Zhong_GanTa; + m3GD_Xia_GanTa = _tGanTaData.m3GD_Xia_GanTa; + m4ZJ_Shang_GanTa = _tGanTaData.m4ZJ_Shang_GanTa; + m4ZJ_Zhong_GanTa = _tGanTaData.m4ZJ_Zhong_GanTa; + m4ZJ_Xia_GanTa = _tGanTaData.m4ZJ_Xia_GanTa; + m4GD_Shang_GanTa = _tGanTaData.m4GD_Shang_GanTa; + m4GD_Zhong_GanTa = _tGanTaData.m4GD_Zhong_GanTa; + m4GD_Xia_GanTa = _tGanTaData.m4GD_Xia_GanTa; + mXiaoHao_GanTa = _tGanTaData.mXiaoHao_GanTa; + mDaHao_GanTa = _tGanTaData.mDaHao_GanTa; + mAngle_GanTa = _tGanTaData.mAngle_GanTa; + mCurrent_a_GanTa = _tGanTaData.mCurrent_a_GanTa; + mCurrent_b_GanTa = _tGanTaData.mCurrent_b_GanTa; + mDMQJ1_GanTa = _tGanTaData.mDMQJ1_GanTa; + mDMQJ2_GanTa = _tGanTaData.mDMQJ2_GanTa; + mHaiBa_GanTa = _tGanTaData.mHaiBa_GanTa; + mDiXing_GanTa = _tGanTaData.mDiXing_GanTa; + mDSMD_GanTa = _tGanTaData.mDSMD_GanTa; + mZXNZ_GanTa = _tGanTaData.mZXNZ_GanTa; + mCurrentType_GanTa = _tGanTaData.mCurrentType_GanTa; + mCurrentHeadTime_GanTa = _tGanTaData.mCurrentHeadTime_GanTa; + mCurrentTailTime_GanTa = _tGanTaData.mCurrentTailTime_GanTa; + mRaoJiFanJi_GanTa = _tGanTaData.mRaoJiFanJi_GanTa; + mFJ_NLSP_GanTa = _tGanTaData.mFJ_NLSP_GanTa; + mFJ_TZL_GanTa = _tGanTaData.mFJ_TZL_GanTa; + mRJ_NLSP_GanTa = _tGanTaData.mRJ_NLSP_GanTa; + mRJ_TZL_GanTa = _tGanTaData.mRJ_TZL_GanTa; + mFXDJ_GanTa = _tGanTaData.mFXDJ_GanTa; + mMA_RJ_NLSP_GanTa = _tGanTaData.mMA_RJ_NLSP_GanTa; + mMB_RJ_NLSP_GanTa = _tGanTaData.mMB_RJ_NLSP_GanTa; + mMC_RJ_NLSP_GanTa = _tGanTaData.mMC_RJ_NLSP_GanTa; + mM1_NLSP_GanTa = _tGanTaData.mM1_NLSP_GanTa; + mM1_Xiang_GanTa = _tGanTaData.mM1_Xiang_GanTa; + mM1_TZL_GanTa = _tGanTaData.mM1_TZL_GanTa; + mM2_NLSP_GanTa = _tGanTaData.mM2_NLSP_GanTa; + mM2_Xiang_GanTa = _tGanTaData.mM2_Xiang_GanTa; + mM2_TZL_GanTa = _tGanTaData.mM2_TZL_GanTa; + mM3_NLSP_GanTa = _tGanTaData.mM3_NLSP_GanTa; + mM3_Xiang_GanTa = _tGanTaData.mM3_Xiang_GanTa; + mM3_TZL_GanTa = _tGanTaData.mM3_TZL_GanTa; + mM4_NLSP_GanTa = _tGanTaData.mM4_NLSP_GanTa; + mM4_Xiang_GanTa = _tGanTaData.mM4_Xiang_GanTa; + mM4_TZL_GanTa = _tGanTaData.mM4_TZL_GanTa; + mM5_NLSP_GanTa = _tGanTaData.mM5_NLSP_GanTa; + mM5_Xiang_GanTa = _tGanTaData.mM5_Xiang_GanTa; + mM5_TZL_GanTa = _tGanTaData.mM5_TZL_GanTa; + mM6_NLSP_GanTa = _tGanTaData.mM6_NLSP_GanTa; + mM6_Xiang_GanTa = _tGanTaData.mM6_Xiang_GanTa; + mM6_TZL_GanTa = _tGanTaData.mM6_TZL_GanTa; + m_YuanYinFenXi_GanTa = _tGanTaData.m_YuanYinFenXi_GanTa; + m_CuoShiTuiJian_GanTa = _tGanTaData.m_CuoShiTuiJian_GanTa; + m_BaoHuJiao = _tGanTaData.m_BaoHuJiao; + m_Result_PuTongJiSuan_GanTa = _tGanTaData.m_Result_PuTongJiSuan_GanTa; + } + + public void Destroy() + { + mXianLuName = ""; + mModel_GanTa = ""; + mTaXing_GanTa = ""; + mXiangXu1_GanTa = ""; + mXiangXu2_GanTa = ""; + mXiangXu3_GanTa = ""; + mXiangXu4_GanTa = ""; + mBLQ_A_GanTa = ""; + mBLQ_B_GanTa = ""; + mBLQ_C_GanTa = ""; + mDiXing_GanTa = ""; + mZXNZ_GanTa = ""; + m_YuanYinFenXi_GanTa = ""; + m_CuoShiTuiJian_GanTa = ""; + m_Result_PuTongJiSuan_GanTa = ""; + } +} diff --git a/LP/TGanTas.cs b/LP/TGanTas.cs new file mode 100644 index 0000000..5684a17 --- /dev/null +++ b/LP/TGanTas.cs @@ -0,0 +1,86 @@ +using System.Collections.Generic; + +namespace LP; + +public class TGanTas +{ + public string mTaskIDstring_TGanTas = ""; + + public XianLuData mXianLuData = null; + + public List mListTGanTaData = null; + + public bool mAfterInit_XianLuData = false; + + static TGanTas() + { + } + + public TGanTas() + { + mTaskIDstring_TGanTas = ""; + if (mXianLuData == null) + { + mXianLuData = new XianLuData(); + } + if (mListTGanTaData == null) + { + mListTGanTaData = new List(); + } + mListTGanTaData.Clear(); + mAfterInit_XianLuData = false; + } + + public void CopyFrom_TGanTas(TGanTas _tGanTas) + { + mTaskIDstring_TGanTas = _tGanTas.mTaskIDstring_TGanTas; + mXianLuData.CopyFrom_XianLuData(_tGanTas.mXianLuData); + mListTGanTaData.Clear(); + for (int i = 0; i < _tGanTas.mListTGanTaData.Count; i++) + { + mListTGanTaData.Add(_tGanTas.mListTGanTaData[i]); + } + mAfterInit_XianLuData = _tGanTas.mAfterInit_XianLuData; + } + + public void Dispose() + { + if (mXianLuData != null) + { + mXianLuData.Destroy(); + } + mXianLuData = null; + if (mListTGanTaData != null) + { + for (int i = 0; i < mListTGanTaData.Count; i++) + { + mListTGanTaData[i].Destroy(); + } + mListTGanTaData.Clear(); + mListTGanTaData = null; + } + } + + public void SetXianLuData(string _taskIDstring, XianLuData _sourceXianLuData) + { + if (_sourceXianLuData != null) + { + mXianLuData.CopyFrom_XianLuData(_sourceXianLuData); + mTaskIDstring_TGanTas = _taskIDstring; + mAfterInit_XianLuData = true; + } + } + + public void Add1TGanTaData(GanTaData _ganTaData, int _CurrentType, double _CurrentHeadTime, double _CurrentTailTime) + { + TGanTaData tGanTaData = new TGanTaData(); + tGanTaData.CopyFrom_GanTaData(_ganTaData); + tGanTaData.mTaskIDstring = mTaskIDstring_TGanTas; + tGanTaData.mID_TGanTa = TGanTaData.mNextID_static; + tGanTaData.mCurrentType_GanTa = _CurrentType; + tGanTaData.mCurrentHeadTime_GanTa = _CurrentHeadTime; + tGanTaData.mCurrentTailTime_GanTa = _CurrentTailTime; + tGanTaData.mIndex__GanTa = mListTGanTaData.Count; + mListTGanTaData.Add(tGanTaData); + } +} diff --git a/LP/Task.cs b/LP/Task.cs new file mode 100644 index 0000000..372234b --- /dev/null +++ b/LP/Task.cs @@ -0,0 +1,5650 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace LP; + +public class Task +{ + public FormDesktop desktop = null; + + public FlowLayoutPanel mRQ = null; + + public Panel mPanel1st = null; + + public Button mButtonCompute1st = null; + + public Button mButtonResult1st = null; + + public Label mLabelName1st = null; + + public Label mLabelXianLuName1st = null; + + public Label mLabelJLZL1st = null; + + public Label mLabelDYDJ1st = null; + + public List mListDetails = null; + + public Task() + { + MySet_RongQi(null); + if (mListDetails == null) + { + mListDetails = new List(); + } + MyClear_ListTask(); + } + + public void MySet_RongQi(FlowLayoutPanel _rq) + { + mRQ = _rq; + } + + public void MyClear_ListTask() + { + mListDetails.Clear(); + } + + public void Destroy() + { + mRQ.Controls.Clear(); + for (int i = 0; i < mListDetails.Count; i++) + { + if (mListDetails[i] != null) + { + mListDetails[i].Destroy(); + } + mListDetails[i] = null; + } + mListDetails.Clear(); + mListDetails = null; + } + + public void MySet_Control1st(Panel _panel, Button _button_compute, Button _button_result, Label _label_name, Label _label_XianLu_name, Label _label_jlzl, Label _label_DYDJ) + { + mPanel1st = _panel; + mButtonCompute1st = _button_compute; + mButtonResult1st = _button_result; + mLabelName1st = _label_name; + mLabelXianLuName1st = _label_XianLu_name; + mLabelJLZL1st = _label_jlzl; + mLabelDYDJ1st = _label_DYDJ; + } + + public void Add1TaskData(int _indexDetail, TaskData _taskData) + { + if (_indexDetail >= 0 && _indexDetail < mListDetails.Count) + { + if (TaskData.mNextID_static < _taskData.mID_Task) + { + TaskData.mNextID_static = _taskData.mID_Task; + } + else if (_taskData.mID_Task <= TaskData.mNextID_static) + { + _taskData.mID_Task = TaskData.mNextID_static; + } + mListDetails[_indexDetail].mTaskData.copyFrom_TaskData(_taskData); + TaskData.mNextID_static++; + } + else + { + MyLog.AddLog($"Add1TaskData() index out of Bound(_indexDetail={_indexDetail}, mListDetails.Count={mListDetails.Count})."); + } + } + + public void Add1_ExTaskData(int _indexDetail, TaskData _taskData) + { + if (_indexDetail < 0 || _indexDetail >= mListDetails.Count) + { + MyLog.AddLog($"Task.cs Add1_ExTaskData() _indexDetail={_indexDetail} mListDetails.Count={mListDetails.Count}"); + return; + } + _taskData.mID_Task = mListDetails[_indexDetail].mTaskData.mID_Task; + _taskData.mID_ExTask = mListDetails[_indexDetail].mTaskGroup.mListExTaskData.Count + 1; + _taskData.mID_string_Task = $"{_taskData.mID_Task}|{_taskData.mID_ExTask}"; + _taskData.mTGanTas.mTaskIDstring_TGanTas = _taskData.mID_string_Task; + mListDetails[_indexDetail].mTaskGroup.mListExTaskData.Add(_taskData); + } + + public void Add1TaskControl(int _indexDetail, TaskData _taskData) + { + string mName_Task = _taskData.mName_Task; + string mXianLuName_Task = _taskData.mXianLuName_Task; + string mXianLuJLZL_Task = _taskData.mXianLuJLZL_Task; + int mDYDJ_Task = _taskData.mDYDJ_Task; + TaskControl taskControl = new TaskControl(); + taskControl.mIndex__Control = _indexDetail; + taskControl.mID_Control = _taskData.mID_Task; + Panel panel = new Panel(); + panel.Font = mPanel1st.Font; + panel.Location = new Point(mPanel1st.Location.X, mPanel1st.Location.Y + _indexDetail * (mPanel1st.Height + mPanel1st.Margin.All * 2)); + panel.Size = mPanel1st.Size; + panel.BorderStyle = mPanel1st.BorderStyle; + panel.ContextMenuStrip = mPanel1st.ContextMenuStrip; + panel.ContextMenuStrip.Tag = taskControl.mID_Control; + for (int i = 0; i < panel.ContextMenuStrip.Items.Count; i++) + { + panel.ContextMenuStrip.Items[i].Tag = taskControl.mID_Control; + } + panel.Controls.Clear(); + panel.Tag = taskControl.mID_Control; + Label label = null; + label = new Label(); + label.Font = mLabelName1st.Font; + label.Location = mLabelName1st.Location; + label.AutoSize = false; + label.Size = mLabelName1st.Size; + label.Text = mName_Task; + panel.Controls.Add(label); + taskControl.mName_Task_Label = label; + Button button = null; + button = new Button(); + button.Font = mButtonCompute1st.Font; + button.Location = mButtonCompute1st.Location; + button.Size = mButtonCompute1st.Size; + button.Text = mButtonCompute1st.Text; + button.Tag = taskControl.mID_Control; + panel.Controls.Add(button); + taskControl.mStart_Task_Button = button; + button = new Button(); + button.Font = mButtonResult1st.Font; + button.Location = mButtonResult1st.Location; + button.Size = mButtonResult1st.Size; + button.Text = mButtonResult1st.Text; + button.Tag = taskControl.mID_Control; + panel.Controls.Add(button); + taskControl.mResult_Task_Button = button; + label = new Label(); + label.Font = mLabelXianLuName1st.Font; + label.Location = mLabelXianLuName1st.Location; + label.AutoSize = true; + label.Text = mXianLuName_Task; + panel.Controls.Add(label); + taskControl.mXianLuName_Task_Label = label; + label = new Label(); + label.Font = mLabelJLZL1st.Font; + label.Location = mLabelJLZL1st.Location; + label.AutoSize = true; + label.Text = mXianLuJLZL_Task; + panel.Controls.Add(label); + taskControl.mJLZL_Task_Label = label; + label = new Label(); + label.Font = mLabelDYDJ1st.Font; + label.Location = mLabelDYDJ1st.Location; + label.AutoSize = true; + label.Text = mListDetails[_indexDetail].mTaskData.mStringDYDJ_Task; + panel.Controls.Add(label); + taskControl.mDYDJ_Task_Label = label; + panel.Visible = true; + taskControl.mPanel_Task = panel; + mListDetails[_indexDetail].mTaskControl.copyFrom_TaskControl(taskControl); + desktop.MyFlowLayoutPanelAddControl(mRQ, panel); + } + + public string Delete1_TaskControl_and_TaskData(int _index) + { + string result = "OK"; + try + { + List list = null; + if (_index >= 0 && _index < mListDetails.Count && mListDetails[_index].mTaskControl != null) + { + mListDetails[_index].mTaskControl.Dispose(); + mListDetails[_index].mTaskControl = null; + } + if (_index >= 0 && _index < mListDetails.Count && mListDetails[_index].mTaskGroup != null) + { + TaskData taskData = null; + for (int i = 0; i < mListDetails[_index].mTaskGroup.mListExTaskData.Count; i++) + { + taskData = mListDetails[_index].mTaskGroup.mListExTaskData[i]; + if (taskData == null || taskData.mTGanTas == null) + { + continue; + } + list = taskData.mTGanTas.mListTGanTaData; + if (list != null) + { + for (int j = 0; j < list.Count; j++) + { + if (list[j].m_ID_CanShuFenJi > 0) + { + int num = -1; + num = desktop.mAll_CanShuFenJi.MyFind(list[j].m_ID_CanShuFenJi); + if (num >= 0) + { + desktop.mAll_CanShuFenJi.MyDelete1CanShuFenJi(num); + } + } + } + } + taskData.mTGanTas.Dispose(); + taskData.Destroy(); + taskData = null; + } + mListDetails[_index].mTaskGroup.Destroy(); + mListDetails[_index].mTaskGroup = null; + } + if (_index >= 0 && _index < mListDetails.Count && mListDetails[_index].mTaskData != null) + { + mListDetails[_index].mTaskData.Destroy(); + mListDetails[_index].mTaskData = null; + } + if (_index >= 0 && _index < mListDetails.Count) + { + mListDetails.RemoveAt(_index); + } + } + catch (Exception ex) + { + result = ex.Message; + } + return result; + } + + public Button GetTaskControl_ButtonStart(int _index) + { + Button result = null; + if (_index < 0 || _index >= mListDetails.Count) + { + MyLog.AddLog($"GetTaskControl_ButtonStart(_index) 参数1无效:{_index}"); + return result; + } + return mListDetails[_index].mTaskControl.mStart_Task_Button; + } + + public Button GetTaskControl_ButtonLook(int _index) + { + Button result = null; + if (_index < 0 || _index >= mListDetails.Count) + { + MyLog.AddLog($"GetTaskControl_ButtonLook(_index) 参数1无效:{_index}"); + return result; + } + return mListDetails[_index].mTaskControl.mResult_Task_Button; + } + + public int MyLoadTask(string _filename) + { + int result = 0; + if (string.IsNullOrEmpty(_filename)) + { + MyLog.AddLog("MyLoadTask(_fileName) 参数1为空:任务数据文件名。"); + return result; + } + if (!File.Exists(_filename)) + { + MyLog.AddLog("MyLoadTask(_fileName) 文件未找到! 文件名=" + _filename); + return result; + } + bool flag = false; + int i = -1; + int num = 0; + int num2 = 0; + double num3 = 0.0; + string[] array = new string[2] { "", "" }; + string[] array2 = new string[2] { "", "" }; + string text = ""; + string[] separator = new string[3] { "\r", "\n", "," }; + string[] array3 = null; + int num4 = 0; + int num5 = 0; + TaskData taskData = new TaskData(); + TaskGroup taskGroup = new TaskGroup(); + TaskDetail taskDetail = new TaskDetail(); + int num6 = 0; + Encoding[] array4 = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num7 = 0; + bool flag2 = false; + for (int j = 0; j < array4.Length; j++) + { + try + { + using FileStream fileStream = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream, array4[j])) + { + text = streamReader.ReadToEnd().Trim(); + if (string.IsNullOrEmpty(text) || text.IndexOf("耐雷水平") >= 0 || text.IndexOf("跳闸率") >= 0) + { + num7 = j; + flag2 = true; + } + streamReader.Close(); + } + fileStream.Close(); + } + catch (Exception) + { + } + if (flag2) + { + break; + } + } + using (FileStream fileStream2 = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader2 = new StreamReader(fileStream2, array4[num7])) + { + while (!streamReader2.EndOfStream) + { + text = streamReader2.ReadLine().Trim(); + if (string.IsNullOrEmpty(text)) + { + continue; + } + if (!flag) + { + for (i = 0; i < array.Length; i++) + { + if (text.IndexOf(array[i]) >= 0) + { + flag = true; + num = 0; + break; + } + } + continue; + } + if (flag) + { + for (int k = 0; k < array2.Length; k++) + { + if (text.IndexOf(array2[k]) >= 0) + { + flag = false; + i = -1; + break; + } + } + if (!flag) + { + continue; + } + } + string text2 = array[i]; + string text3 = text2; + if (!(text3 == "")) + { + if (text3 == "") + { + num++; + } + continue; + } + array3 = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + if (num == 0) + { + num5 = 0; + } + if (array3.Length >= 38) + { + taskData = new TaskData(); + try + { + num4 = Convert.ToInt32(array3[1]); + } + catch (Exception) + { + num4 = TaskData.mNextID_static; + } + taskData.mID_Task = num4; + if (num4 >= TaskData.mNextID_static) + { + TaskData.mNextID_static = num4; + } + try + { + num2 = Convert.ToInt32(array3[2]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mID_ExTask = num2; + taskData.mID_string_Task = $"{taskData.mID_Task}|{taskData.mID_ExTask}"; + try + { + num2 = Convert.ToInt32(array3[3]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mTypeCode_Task = num2; + taskData.mName_Task = array3[4].Trim(); + try + { + num2 = Convert.ToInt32(array3[5]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mXianLuID_Task = num2; + taskData.mXianLuName_Task = array3[6].Trim(); + taskData.mXianLuJLZL_Task = array3[7].Trim(); + try + { + num2 = Convert.ToInt32(array3[8]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mDYDJ_Task = num2; + taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); + taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); + taskData.mFanJi_TZL = array3[11].Trim(); + taskData.mRaoJi_TZL = array3[12].Trim(); + try + { + num2 = Convert.ToInt32(array3[13]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_HaiBaXiuZhengGongShi = num2; + taskData.mGanYingDianYaGongShi = array3[14].Trim(); + try + { + num2 = Convert.ToInt32(array3[15]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_CurrentCurve = num2; + try + { + num3 = Convert.ToDouble(array3[16].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead = num3; + try + { + num3 = Convert.ToDouble(array3[17].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_min = num3; + try + { + num3 = Convert.ToDouble(array3[18].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_max = num3; + try + { + num3 = Convert.ToDouble(array3[19].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_step = num3; + try + { + num3 = Convert.ToDouble(array3[20].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail = num3; + try + { + num3 = Convert.ToDouble(array3[21].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_min = num3; + try + { + num3 = Convert.ToDouble(array3[22].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_max = num3; + try + { + num3 = Convert.ToDouble(array3[23].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_step = num3; + try + { + num3 = Convert.ToDouble(array3[24].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mTongDaoZuKang = num3; + taskData.mShanLuoPanJu = array3[25].Trim(); + try + { + num2 = Convert.ToInt32(array3[26]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mIndex_DuoXiangNaiLeiShuiPing = num2; + taskData.mFName_Prepare = array3[27].Trim(); + try + { + num2 = Convert.ToInt32(array3[28]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare11_LightingCurrent = num2; + try + { + num2 = Convert.ToInt32(array3[29]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare12_DiShanMiDu = num2; + try + { + num2 = Convert.ToInt32(array3[30]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare13_DiMianQingJiao = num2; + try + { + num2 = Convert.ToInt32(array3[31]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished1_PuTongJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[32]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished2_FengXianPingGu = num2; + try + { + num2 = Convert.ToInt32(array3[33]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished3_CuoShiTuiJian = num2; + try + { + num2 = Convert.ToInt32(array3[34]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished4_GaiZaoJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[35]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Complete = num2; + try + { + num2 = Convert.ToInt32(array3[36]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = num2; + try + { + num2 = Convert.ToInt32(array3[37]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = num2; + taskData.mTGanTas.mListTGanTaData.Clear(); + taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = taskData.mID_Task; + taskDetail.mXianLuID_Detail = taskData.mXianLuID_Task; + num6 = mListDetails.Count; + mListDetails.Add(taskDetail); + Add1TaskData(num6, taskData); + Add1TaskControl(num6, taskData); + mListDetails[num6].mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; + num5++; + } + else if (array3.Length >= 36) + { + taskData = new TaskData(); + try + { + num4 = Convert.ToInt32(array3[1]); + } + catch (Exception) + { + num4 = TaskData.mNextID_static; + } + taskData.mID_Task = num4; + if (num4 >= TaskData.mNextID_static) + { + TaskData.mNextID_static = num4; + } + try + { + num2 = Convert.ToInt32(array3[2]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mID_ExTask = num2; + taskData.mID_string_Task = $"{taskData.mID_Task}|{taskData.mID_ExTask}"; + try + { + num2 = Convert.ToInt32(array3[3]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mTypeCode_Task = num2; + taskData.mName_Task = array3[4].Trim(); + try + { + num2 = Convert.ToInt32(array3[5]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mXianLuID_Task = num2; + taskData.mXianLuName_Task = array3[6].Trim(); + taskData.mXianLuJLZL_Task = array3[7].Trim(); + try + { + num2 = Convert.ToInt32(array3[8]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mDYDJ_Task = num2; + taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); + taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); + taskData.mFanJi_TZL = array3[11].Trim(); + taskData.mRaoJi_TZL = array3[12].Trim(); + try + { + num2 = Convert.ToInt32(array3[13]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_HaiBaXiuZhengGongShi = num2; + taskData.mGanYingDianYaGongShi = array3[14].Trim(); + try + { + num2 = Convert.ToInt32(array3[15]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_CurrentCurve = num2; + try + { + num3 = Convert.ToDouble(array3[16].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead = num3; + try + { + num3 = Convert.ToDouble(array3[17].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_min = num3; + try + { + num3 = Convert.ToDouble(array3[18].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_max = num3; + try + { + num3 = Convert.ToDouble(array3[19].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_step = num3; + try + { + num3 = Convert.ToDouble(array3[20].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail = num3; + try + { + num3 = Convert.ToDouble(array3[21].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_min = num3; + try + { + num3 = Convert.ToDouble(array3[22].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_max = num3; + try + { + num3 = Convert.ToDouble(array3[23].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_step = num3; + try + { + num3 = Convert.ToDouble(array3[24].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mTongDaoZuKang = num3; + taskData.mShanLuoPanJu = array3[25].Trim(); + try + { + num2 = Convert.ToInt32(array3[26]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mIndex_DuoXiangNaiLeiShuiPing = num2; + taskData.mFName_Prepare = array3[27].Trim(); + try + { + num2 = Convert.ToInt32(array3[28]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare11_LightingCurrent = num2; + try + { + num2 = Convert.ToInt32(array3[29]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare12_DiShanMiDu = num2; + try + { + num2 = Convert.ToInt32(array3[30]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare13_DiMianQingJiao = num2; + try + { + num2 = Convert.ToInt32(array3[31]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished1_PuTongJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[32]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished2_FengXianPingGu = num2; + try + { + num2 = Convert.ToInt32(array3[33]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished3_CuoShiTuiJian = num2; + try + { + num2 = Convert.ToInt32(array3[34]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished4_GaiZaoJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[35]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Complete = num2; + taskData.mTGanTas.mListTGanTaData.Clear(); + taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = taskData.mID_Task; + taskDetail.mXianLuID_Detail = taskData.mXianLuID_Task; + num6 = mListDetails.Count; + mListDetails.Add(taskDetail); + Add1TaskData(num6, taskData); + Add1TaskControl(num6, taskData); + mListDetails[num6].mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; + num5++; + } + else if (array3.Length >= 35) + { + taskData = new TaskData(); + try + { + num4 = Convert.ToInt32(array3[1]); + } + catch (Exception) + { + num4 = TaskData.mNextID_static; + } + taskData.mID_Task = num4; + if (num4 >= TaskData.mNextID_static) + { + TaskData.mNextID_static = num4; + } + try + { + num2 = Convert.ToInt32(array3[2]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mID_ExTask = num2; + taskData.mID_string_Task = $"{taskData.mID_Task}|{taskData.mID_ExTask}"; + try + { + num2 = Convert.ToInt32(array3[3]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mTypeCode_Task = num2; + taskData.mName_Task = array3[4].Trim(); + try + { + num2 = Convert.ToInt32(array3[5]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mXianLuID_Task = num2; + taskData.mXianLuName_Task = array3[6].Trim(); + taskData.mXianLuJLZL_Task = array3[7].Trim(); + try + { + num2 = Convert.ToInt32(array3[8]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mDYDJ_Task = num2; + taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); + taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); + taskData.mFanJi_TZL = array3[11].Trim(); + taskData.mRaoJi_TZL = array3[12].Trim(); + try + { + num2 = Convert.ToInt32(array3[13]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_HaiBaXiuZhengGongShi = num2; + taskData.mGanYingDianYaGongShi = array3[14].Trim(); + try + { + num2 = Convert.ToInt32(array3[15]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_CurrentCurve = num2; + try + { + num3 = Convert.ToDouble(array3[16].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead = num3; + try + { + num3 = Convert.ToDouble(array3[17].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_min = num3; + try + { + num3 = Convert.ToDouble(array3[18].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_max = num3; + try + { + num3 = Convert.ToDouble(array3[19].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_step = num3; + try + { + num3 = Convert.ToDouble(array3[20].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail = num3; + try + { + num3 = Convert.ToDouble(array3[21].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_min = num3; + try + { + num3 = Convert.ToDouble(array3[22].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_max = num3; + try + { + num3 = Convert.ToDouble(array3[23].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_step = num3; + try + { + num3 = Convert.ToDouble(array3[24].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mTongDaoZuKang = num3; + taskData.mShanLuoPanJu = array3[25].Trim(); + taskData.mFName_Prepare = array3[26].Trim(); + try + { + num2 = Convert.ToInt32(array3[27]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare11_LightingCurrent = num2; + try + { + num2 = Convert.ToInt32(array3[28]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare12_DiShanMiDu = num2; + try + { + num2 = Convert.ToInt32(array3[29]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare13_DiMianQingJiao = num2; + try + { + num2 = Convert.ToInt32(array3[30]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished1_PuTongJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[31]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished2_FengXianPingGu = num2; + try + { + num2 = Convert.ToInt32(array3[32]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished3_CuoShiTuiJian = num2; + try + { + num2 = Convert.ToInt32(array3[33]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished4_GaiZaoJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[34]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Complete = num2; + taskData.mTGanTas.mListTGanTaData.Clear(); + taskDetail = new TaskDetail(); + taskDetail.mTaskID_Detail = taskData.mID_Task; + taskDetail.mXianLuID_Detail = taskData.mXianLuID_Task; + num6 = mListDetails.Count; + mListDetails.Add(taskDetail); + Add1TaskData(num6, taskData); + Add1TaskControl(num6, taskData); + mListDetails[num6].mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; + num5++; + } + num++; + } + streamReader2.Close(); + } + fileStream2.Close(); + } + return num5; + } + + public int MySaveTask(string _filename) + { + int result = 0; + if (string.IsNullOrEmpty(_filename)) + { + MyLog.AddLog("MySaveTask(_fileName) 参数1为空:任务数据文件名。"); + return result; + } + int num = 0; + int num2 = -1; + string[] array = new string[2] { "", "" }; + string[] array2 = new string[2] { "", "" }; + using (FileStream fileStream = new FileStream(_filename, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + for (num2 = 0; num2 < array.Length; num2++) + { + string text = array[num2]; + string text2 = text; + if (text2 == "") + { + num = 0; + streamWriter.WriteLine(TaskData.MyHead_ToString()); + streamWriter.WriteLine(array[num2]); + for (int i = 0; i < mListDetails.Count; i++) + { + streamWriter.WriteLine(mListDetails[i].mTaskData.MyToString()); + num++; + } + if (num2 < array2.Length) + { + streamWriter.WriteLine(array2[num2]); + } + else + { + streamWriter.WriteLine(array[num2].Replace("<", "", "" }; + string[] array2 = new string[2] { "", "" }; + string text = ""; + string[] separator = new string[3] { "\r", "\n", "," }; + string[] array3 = null; + int num4 = 0; + TaskData taskData = null; + bool flag2 = false; + int num5 = 0; + TaskDetail taskDetail = null; + Encoding[] array4 = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num6 = 0; + bool flag3 = false; + for (int j = 0; j < array4.Length; j++) + { + try + { + using FileStream fileStream = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream, array4[j])) + { + text = streamReader.ReadToEnd().Trim(); + if (string.IsNullOrEmpty(text) || text.IndexOf("耐雷水平") >= 0 || text.IndexOf("跳闸率") >= 0) + { + num6 = j; + flag3 = true; + } + streamReader.Close(); + } + fileStream.Close(); + } + catch (Exception) + { + } + if (flag3) + { + break; + } + } + using (FileStream fileStream2 = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader2 = new StreamReader(fileStream2, array4[num6])) + { + while (!streamReader2.EndOfStream) + { + text = streamReader2.ReadLine().Trim(); + if (string.IsNullOrEmpty(text)) + { + continue; + } + if (!flag) + { + for (i = 0; i < array.Length; i++) + { + if (text.IndexOf(array[i]) >= 0) + { + flag = true; + num = 0; + break; + } + } + continue; + } + if (flag) + { + for (int k = 0; k < array2.Length; k++) + { + if (text.IndexOf(array2[k]) >= 0) + { + flag = false; + i = -1; + break; + } + } + if (!flag) + { + continue; + } + } + string text2 = array[i]; + string text3 = text2; + if (!(text3 == "")) + { + if (text3 == "") + { + num++; + } + continue; + } + array3 = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + if (num == 0) + { + num4 = 0; + } + if (array3.Length >= 38) + { + taskData = new TaskData(); + taskData.mID_string_Task = array3[0].Trim(); + try + { + num2 = Convert.ToInt32(array3[1]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mID_Task = num2; + try + { + num2 = Convert.ToInt32(array3[2]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mID_ExTask = num2; + try + { + num2 = Convert.ToInt32(array3[3]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mTypeCode_Task = num2; + taskData.mName_Task = array3[4].Trim(); + try + { + num2 = Convert.ToInt32(array3[5]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mXianLuID_Task = num2; + taskData.mXianLuName_Task = array3[6].Trim(); + taskData.mXianLuJLZL_Task = array3[7].Trim(); + try + { + num2 = Convert.ToInt32(array3[8]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mDYDJ_Task = num2; + taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); + taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); + taskData.mFanJi_TZL = array3[11].Trim(); + taskData.mRaoJi_TZL = array3[12].Trim(); + try + { + num2 = Convert.ToInt32(array3[13]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_HaiBaXiuZhengGongShi = num2; + taskData.mGanYingDianYaGongShi = array3[14].Trim(); + try + { + num2 = Convert.ToInt32(array3[15]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_CurrentCurve = num2; + try + { + num3 = Convert.ToDouble(array3[16].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead = num3; + try + { + num3 = Convert.ToDouble(array3[17].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_min = num3; + try + { + num3 = Convert.ToDouble(array3[18].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_max = num3; + try + { + num3 = Convert.ToDouble(array3[19].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_step = num3; + try + { + num3 = Convert.ToDouble(array3[20].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail = num3; + try + { + num3 = Convert.ToDouble(array3[21].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_min = num3; + try + { + num3 = Convert.ToDouble(array3[22].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_max = num3; + try + { + num3 = Convert.ToDouble(array3[23].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_step = num3; + try + { + num3 = Convert.ToDouble(array3[24].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mTongDaoZuKang = num3; + taskData.mShanLuoPanJu = array3[25].Trim(); + try + { + num2 = Convert.ToInt32(array3[26]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mIndex_DuoXiangNaiLeiShuiPing = num2; + taskData.mFName_Prepare = array3[27].Trim(); + try + { + num2 = Convert.ToInt32(array3[28]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare11_LightingCurrent = num2; + try + { + num2 = Convert.ToInt32(array3[29]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare12_DiShanMiDu = num2; + try + { + num2 = Convert.ToInt32(array3[30]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare13_DiMianQingJiao = num2; + try + { + num2 = Convert.ToInt32(array3[31]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished1_PuTongJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[32]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished2_FengXianPingGu = num2; + try + { + num2 = Convert.ToInt32(array3[33]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished3_CuoShiTuiJian = num2; + try + { + num2 = Convert.ToInt32(array3[34]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished4_GaiZaoJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[35]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Complete = num2; + try + { + num2 = Convert.ToInt32(array3[36]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = num2; + try + { + num2 = Convert.ToInt32(array3[37]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = num2; + taskData.mTGanTas.mListTGanTaData.Clear(); + flag2 = false; + num5 = -1; + for (int l = 0; l < mListDetails.Count; l++) + { + if (mListDetails[l].mTaskID_Detail == taskData.mID_Task) + { + flag2 = true; + num5 = l; + break; + } + } + if (flag2) + { + taskDetail = mListDetails[num5]; + taskDetail.mTaskData.mID_Task = taskDetail.mTaskID_Detail; + if (taskDetail.mTaskGroup == null) + { + taskDetail.mTaskGroup = new TaskGroup(); + } + taskDetail.mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; + if (taskDetail.mTaskGroup.mListExTaskData == null) + { + taskDetail.mTaskGroup.mListExTaskData = new List(); + taskDetail.mTaskGroup.mListExTaskData.Clear(); + } + Add1_ExTaskData(num5, taskData); + num4++; + taskDetail = null; + } + } + else if (array3.Length >= 36) + { + taskData = new TaskData(); + taskData.mID_string_Task = array3[0].Trim(); + try + { + num2 = Convert.ToInt32(array3[1]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mID_Task = num2; + try + { + num2 = Convert.ToInt32(array3[2]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mID_ExTask = num2; + try + { + num2 = Convert.ToInt32(array3[3]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mTypeCode_Task = num2; + taskData.mName_Task = array3[4].Trim(); + try + { + num2 = Convert.ToInt32(array3[5]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mXianLuID_Task = num2; + taskData.mXianLuName_Task = array3[6].Trim(); + taskData.mXianLuJLZL_Task = array3[7].Trim(); + try + { + num2 = Convert.ToInt32(array3[8]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mDYDJ_Task = num2; + taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); + taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); + taskData.mFanJi_TZL = array3[11].Trim(); + taskData.mRaoJi_TZL = array3[12].Trim(); + try + { + num2 = Convert.ToInt32(array3[13]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_HaiBaXiuZhengGongShi = num2; + taskData.mGanYingDianYaGongShi = array3[14].Trim(); + try + { + num2 = Convert.ToInt32(array3[15]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_CurrentCurve = num2; + try + { + num3 = Convert.ToDouble(array3[16].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead = num3; + try + { + num3 = Convert.ToDouble(array3[17].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_min = num3; + try + { + num3 = Convert.ToDouble(array3[18].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_max = num3; + try + { + num3 = Convert.ToDouble(array3[19].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_step = num3; + try + { + num3 = Convert.ToDouble(array3[20].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail = num3; + try + { + num3 = Convert.ToDouble(array3[21].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_min = num3; + try + { + num3 = Convert.ToDouble(array3[22].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_max = num3; + try + { + num3 = Convert.ToDouble(array3[23].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_step = num3; + try + { + num3 = Convert.ToDouble(array3[24].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mTongDaoZuKang = num3; + taskData.mShanLuoPanJu = array3[25].Trim(); + try + { + num2 = Convert.ToInt32(array3[26]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mIndex_DuoXiangNaiLeiShuiPing = num2; + taskData.mFName_Prepare = array3[27].Trim(); + try + { + num2 = Convert.ToInt32(array3[28]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare11_LightingCurrent = num2; + try + { + num2 = Convert.ToInt32(array3[29]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare12_DiShanMiDu = num2; + try + { + num2 = Convert.ToInt32(array3[30]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare13_DiMianQingJiao = num2; + try + { + num2 = Convert.ToInt32(array3[31]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished1_PuTongJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[32]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished2_FengXianPingGu = num2; + try + { + num2 = Convert.ToInt32(array3[33]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished3_CuoShiTuiJian = num2; + try + { + num2 = Convert.ToInt32(array3[34]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished4_GaiZaoJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[35]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Complete = num2; + taskData.mTGanTas.mListTGanTaData.Clear(); + flag2 = false; + num5 = -1; + for (int m = 0; m < mListDetails.Count; m++) + { + if (mListDetails[m].mTaskID_Detail == taskData.mID_Task) + { + flag2 = true; + num5 = m; + break; + } + } + if (flag2) + { + taskDetail = mListDetails[num5]; + taskDetail.mTaskData.mID_Task = taskDetail.mTaskID_Detail; + if (taskDetail.mTaskGroup == null) + { + taskDetail.mTaskGroup = new TaskGroup(); + } + taskDetail.mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; + if (taskDetail.mTaskGroup.mListExTaskData == null) + { + taskDetail.mTaskGroup.mListExTaskData = new List(); + taskDetail.mTaskGroup.mListExTaskData.Clear(); + } + Add1_ExTaskData(num5, taskData); + num4++; + taskDetail = null; + } + } + else if (array3.Length >= 35) + { + taskData = new TaskData(); + taskData.mID_string_Task = array3[0].Trim(); + try + { + num2 = Convert.ToInt32(array3[1]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mID_Task = num2; + try + { + num2 = Convert.ToInt32(array3[2]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mID_ExTask = num2; + try + { + num2 = Convert.ToInt32(array3[3]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mTypeCode_Task = num2; + taskData.mName_Task = array3[4].Trim(); + try + { + num2 = Convert.ToInt32(array3[5]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mXianLuID_Task = num2; + taskData.mXianLuName_Task = array3[6].Trim(); + taskData.mXianLuJLZL_Task = array3[7].Trim(); + try + { + num2 = Convert.ToInt32(array3[8]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mDYDJ_Task = num2; + taskData.mFanJi_NaiLeiShuiPing = array3[9].Trim(); + taskData.mRaoJi_NaiLeiShuiPing = array3[10].Trim(); + taskData.mFanJi_TZL = array3[11].Trim(); + taskData.mRaoJi_TZL = array3[12].Trim(); + try + { + num2 = Convert.ToInt32(array3[13]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_HaiBaXiuZhengGongShi = num2; + taskData.mGanYingDianYaGongShi = array3[14].Trim(); + try + { + num2 = Convert.ToInt32(array3[15]); + } + catch (Exception) + { + num2 = -1; + } + taskData.mIndex_CurrentCurve = num2; + try + { + num3 = Convert.ToDouble(array3[16].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead = num3; + try + { + num3 = Convert.ToDouble(array3[17].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_min = num3; + try + { + num3 = Convert.ToDouble(array3[18].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_max = num3; + try + { + num3 = Convert.ToDouble(array3[19].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeHead_step = num3; + try + { + num3 = Convert.ToDouble(array3[20].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail = num3; + try + { + num3 = Convert.ToDouble(array3[21].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_min = num3; + try + { + num3 = Convert.ToDouble(array3[22].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_max = num3; + try + { + num3 = Convert.ToDouble(array3[23].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mCurveTimeTail_step = num3; + try + { + num3 = Convert.ToDouble(array3[24].Trim()); + } + catch (Exception) + { + num3 = -1.0; + } + taskData.mTongDaoZuKang = num3; + taskData.mShanLuoPanJu = array3[25].Trim(); + taskData.mFName_Prepare = array3[26].Trim(); + try + { + num2 = Convert.ToInt32(array3[27]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare11_LightingCurrent = num2; + try + { + num2 = Convert.ToInt32(array3[28]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare12_DiShanMiDu = num2; + try + { + num2 = Convert.ToInt32(array3[29]); + } + catch (Exception) + { + num2 = 0; + } + taskData.mPrepare13_DiMianQingJiao = num2; + try + { + num2 = Convert.ToInt32(array3[30]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished1_PuTongJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[31]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished2_FengXianPingGu = num2; + try + { + num2 = Convert.ToInt32(array3[32]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished3_CuoShiTuiJian = num2; + try + { + num2 = Convert.ToInt32(array3[33]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Finished4_GaiZaoJiSuan = num2; + try + { + num2 = Convert.ToInt32(array3[34]); + } + catch (Exception) + { + num2 = 0; + } + taskData.Complete = num2; + taskData.mTGanTas.mListTGanTaData.Clear(); + flag2 = false; + num5 = -1; + for (int n = 0; n < mListDetails.Count; n++) + { + if (mListDetails[n].mTaskID_Detail == taskData.mID_Task) + { + flag2 = true; + num5 = n; + break; + } + } + if (flag2) + { + taskDetail = mListDetails[num5]; + taskDetail.mTaskData.mID_Task = taskDetail.mTaskID_Detail; + if (taskDetail.mTaskGroup == null) + { + taskDetail.mTaskGroup = new TaskGroup(); + } + taskDetail.mTaskGroup.mID_Task = taskDetail.mTaskID_Detail; + if (taskDetail.mTaskGroup.mListExTaskData == null) + { + taskDetail.mTaskGroup.mListExTaskData = new List(); + taskDetail.mTaskGroup.mListExTaskData.Clear(); + } + Add1_ExTaskData(num5, taskData); + num4++; + taskDetail = null; + } + } + num++; + } + streamReader2.Close(); + } + fileStream2.Close(); + } + return num4; + } + + public int MySaveExTask(string _filename) + { + int result = 0; + if (string.IsNullOrEmpty(_filename)) + { + MyLog.AddLog("MySaveExTask(_fileName) 参数1为空:任务数据文件名。"); + return result; + } + int num = 0; + int num2 = -1; + string[] array = new string[2] { "", "" }; + string[] array2 = new string[2] { "", "" }; + using (FileStream fileStream = new FileStream(_filename, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + for (num2 = 0; num2 < array.Length; num2++) + { + string text = array[num2]; + string text2 = text; + if (!(text2 == "")) + { + continue; + } + num = 0; + streamWriter.WriteLine(TaskData.MyHead_ToString()); + streamWriter.WriteLine(array[num2]); + for (int i = 0; i < mListDetails.Count; i++) + { + for (int j = 0; j < mListDetails[i].mTaskGroup.mListExTaskData.Count; j++) + { + streamWriter.WriteLine(mListDetails[i].mTaskGroup.mListExTaskData[j].MyToString()); + num++; + } + } + if (num2 < array2.Length) + { + streamWriter.WriteLine(array2[num2]); + } + else + { + streamWriter.WriteLine(array[num2].Replace("<", "", "" }; + string[] array2 = new string[2] { "", "" }; + string text2 = ""; + string[] separator = new string[3] { "\r", "\n", "," }; + string[] array3 = null; + TGanTaData tGanTaData = null; + int result2 = 0; + int num4 = 0; + string text3 = ""; + Dictionary dictionary = new Dictionary(); + dictionary.Clear(); + bool flag2 = false; + bool flag3 = false; + int num5 = 0; + TaskDetail taskDetail = null; + Encoding[] array4 = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num6 = 0; + bool flag4 = false; + for (int j = 0; j < array4.Length; j++) + { + try + { + using FileStream fileStream = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream, array4[j])) + { + text2 = streamReader.ReadToEnd().Trim(); + if (string.IsNullOrEmpty(text2) || text2.IndexOf("塔号") >= 0 || text2.IndexOf("耐雷水平") >= 0 || text2.IndexOf("跳闸率") >= 0) + { + num6 = j; + flag4 = true; + } + streamReader.Close(); + } + fileStream.Close(); + } + catch (Exception) + { + } + if (flag4) + { + break; + } + } + try + { + using FileStream fileStream2 = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader2 = new StreamReader(fileStream2, array4[num6])) + { + while (!streamReader2.EndOfStream) + { + text2 = streamReader2.ReadLine().Trim(); + if (string.IsNullOrEmpty(text2)) + { + continue; + } + if (!flag) + { + for (i = 0; i < array.Length; i++) + { + if (text2.IndexOf(array[i]) >= 0) + { + flag = true; + num = 0; + break; + } + } + continue; + } + if (flag) + { + for (int k = 0; k < array2.Length; k++) + { + if (text2.IndexOf(array2[k]) >= 0) + { + flag = false; + i = -1; + break; + } + } + if (!flag) + { + continue; + } + } + string text4 = array[i]; + string text5 = text4; + if (!(text5 == "")) + { + if (text5 == "") + { + num++; + } + continue; + } + array3 = text2.Split(separator, StringSplitOptions.None); + if (num == 0) + { + result2 = 0; + } + if (num == 0 && text2.IndexOf("杆塔模型") >= 0) + { + for (int l = 0; l < array3.Length; l++) + { + dictionary.Add(array3[l], l); + } + num++; + result2 = 0; + flag2 = true; + continue; + } + if (array3.Length >= 94) + { + tGanTaData = new TGanTaData(); + if (flag2) + { + for (int m = 0; m < array3.Length; m++) + { + text3 = dictionary.ElementAt(m).Key; + num4 = dictionary.ElementAt(m).Value; + if (array3[num4] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num4].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num4].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num4].Trim(); + switch (text3) + { + case "任务编号": + tGanTaData.mTaskIDstring = text; + break; + case "任务塔号": + tGanTaData.mID_TGanTa = num2; + break; + case "线路编号": + tGanTaData.mXianLuID = num2; + break; + case "序号": + tGanTaData.mIndex__GanTa = num2; + break; + case "线路名称": + tGanTaData.mXianLuName = text; + break; + case "电压等级": + tGanTaData.mDYDJ_GanTa = num2; + break; + case "塔号": + tGanTaData.mID_GanTa = text; + break; + case "参数分级编码": + tGanTaData.m_ID_CanShuFenJi = num2; + break; + case "杆塔模型": + tGanTaData.mModel_GanTa = text; + break; + case "塔形": + tGanTaData.mTaXing_GanTa = text; + break; + case "经度": + tGanTaData.mJingDu_GanTa = num3; + break; + case "纬度": + tGanTaData.mWeiDu_GanTa = num3; + break; + case "I回相序": + tGanTaData.mXiangXu1_GanTa = text; + break; + case "II回相序": + tGanTaData.mXiangXu2_GanTa = text; + break; + case "III回相序": + tGanTaData.mXiangXu3_GanTa = text; + break; + case "IV回相序": + tGanTaData.mXiangXu4_GanTa = text; + break; + case "A相是否安装避雷器": + tGanTaData.mBLQ_A_GanTa = text; + break; + case "B相是否安装避雷器": + tGanTaData.mBLQ_B_GanTa = text; + break; + case "C相是否安装避雷器": + tGanTaData.mBLQ_C_GanTa = text; + break; + case "接地电阻": + tGanTaData.mJDDZ_GanTa = num3; + break; + case "左避雷中距m": + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case "右避雷中距m": + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case "避雷线高度m": + tGanTaData.mBLXGD_GanTa = num3; + break; + case "绝缘子串长度mm": + tGanTaData.mJYZCD_GanTa = num3; + break; + case "杆塔呼高m": + tGanTaData.mHuGao_GanTa = num3; + break; + case "I回上相中距m": + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case "I回中相中距m": + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case "I回下相中距m": + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case "I回上相高度m": + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case "I回中相高度m": + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case "I回下相高度m": + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case "II回上相中距m": + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case "II回中相中距m": + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case "II回下相中距m": + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case "II回上相高度m": + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case "II回中相高度m": + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case "II回下相高度m": + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case "III回上相中距m": + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case "III回中相中距m": + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case "III回下相中距m": + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case "III回上相高度m": + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case "III回中相高度m": + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case "III回下相高度m": + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case "IV回上相中距m": + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case "IV回中相中距m": + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case "IV回下相中距m": + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case "IV回上相高度m": + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case "IV回中相高度m": + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case "IV回下相高度m": + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case "小号侧档距": + tGanTaData.mXiaoHao_GanTa = num3; + break; + case "大号侧档距": + tGanTaData.mDaHao_GanTa = num3; + break; + case "电角度": + tGanTaData.mAngle_GanTa = num3; + break; + case "雷电流幅值a": + tGanTaData.mCurrent_a_GanTa = num3; + break; + case "雷电流幅值b": + tGanTaData.mCurrent_b_GanTa = num3; + break; + case "地面倾角1": + tGanTaData.mDMQJ1_GanTa = num3; + break; + case "地面倾角2": + tGanTaData.mDMQJ2_GanTa = num3; + break; + case "海拔m": + tGanTaData.mHaiBa_GanTa = num3; + break; + case "地形": + tGanTaData.mDiXing_GanTa = text; + break; + case "地闪密度": + tGanTaData.mDSMD_GanTa = num3; + break; + case "直线或耐张杆塔": + tGanTaData.mZXNZ_GanTa = text; + break; + case "雷电流波形种类": + tGanTaData.mCurrentType_GanTa = num2; + break; + case "波头时间/μs": + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case "波尾时间/μs": + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case "绕击反击": + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case "反击耐雷水平kA": + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case "反击跳闸率(次/100km.a)": + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case "绕击耐雷水平kA": + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case "绕击跳闸率(次/100km.a)": + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num2; + break; + case "A相绕击耐雷水平kA": + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case "B相绕击耐雷水平kA": + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case "C相绕击耐雷水平kA": + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case "单相反击耐雷水平kA": + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case "单相闪络相": + tGanTaData.mM1_Xiang_GanTa = text; + break; + case "单相反击跳闸率(次/100km.a)": + tGanTaData.mM1_TZL_GanTa = num3; + break; + case "双相反击耐雷水平kA": + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case "双相闪络相": + tGanTaData.mM2_Xiang_GanTa = text; + break; + case "双相反击跳闸率(次/100km.a)": + tGanTaData.mM2_TZL_GanTa = num3; + break; + case "三相反击耐雷水平kA": + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case "三相闪络相": + tGanTaData.mM3_Xiang_GanTa = text; + break; + case "三相反击跳闸率(次/100km.a)": + tGanTaData.mM3_TZL_GanTa = num3; + break; + case "四相反击耐雷水平kA": + tGanTaData.mM4_NLSP_GanTa = num3; + break; + case "四相闪络相": + tGanTaData.mM4_Xiang_GanTa = text; + break; + case "四相反击跳闸率(次/100km.a)": + tGanTaData.mM4_TZL_GanTa = num3; + break; + case "五相反击耐雷水平kA": + tGanTaData.mM5_NLSP_GanTa = num3; + break; + case "五相闪络相": + tGanTaData.mM5_Xiang_GanTa = text; + break; + case "五相反击跳闸率(次/100km.a)": + tGanTaData.mM5_TZL_GanTa = num3; + break; + case "六相反击耐雷水平kA": + tGanTaData.mM6_NLSP_GanTa = num3; + break; + case "六相闪络相": + tGanTaData.mM6_Xiang_GanTa = text; + break; + case "六相反击跳闸率(次/100km.a)": + tGanTaData.mM6_TZL_GanTa = num3; + break; + case "原因分析": + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "措施推荐": + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "保护角": + tGanTaData.m_BaoHuJiao = num3; + break; + case "普通计算结果": + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + else if (!flag2) + { + for (num4 = 0; num4 < array3.Length; num4++) + { + if (array3[num4] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num4].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num4].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num4].Trim(); + switch (num4) + { + case 0: + tGanTaData.mTaskIDstring = text; + break; + case 1: + tGanTaData.mID_TGanTa = num2; + break; + case 2: + tGanTaData.mXianLuID = num2; + break; + case 3: + tGanTaData.mIndex__GanTa = num2; + break; + case 4: + tGanTaData.mXianLuName = text; + break; + case 5: + tGanTaData.mDYDJ_GanTa = num2; + break; + case 6: + tGanTaData.mID_GanTa = text; + break; + case 7: + tGanTaData.m_ID_CanShuFenJi = num2; + break; + case 8: + tGanTaData.mModel_GanTa = text; + break; + case 9: + tGanTaData.mTaXing_GanTa = text; + break; + case 10: + tGanTaData.mJingDu_GanTa = num3; + break; + case 11: + tGanTaData.mWeiDu_GanTa = num3; + break; + case 12: + tGanTaData.mXiangXu1_GanTa = text; + break; + case 13: + tGanTaData.mXiangXu2_GanTa = text; + break; + case 14: + tGanTaData.mXiangXu3_GanTa = text; + break; + case 15: + tGanTaData.mXiangXu4_GanTa = text; + break; + case 16: + tGanTaData.mBLQ_A_GanTa = text; + break; + case 17: + tGanTaData.mBLQ_B_GanTa = text; + break; + case 18: + tGanTaData.mBLQ_C_GanTa = text; + break; + case 19: + tGanTaData.mJDDZ_GanTa = num3; + break; + case 20: + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case 21: + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case 22: + tGanTaData.mBLXGD_GanTa = num3; + break; + case 23: + tGanTaData.mJYZCD_GanTa = num3; + break; + case 24: + tGanTaData.mHuGao_GanTa = num3; + break; + case 25: + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case 26: + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case 27: + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case 28: + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case 29: + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case 30: + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case 31: + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case 32: + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case 33: + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case 34: + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case 35: + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case 36: + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case 37: + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case 38: + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case 39: + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case 40: + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case 41: + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case 42: + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case 43: + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case 44: + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case 45: + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case 46: + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case 47: + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case 48: + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case 49: + tGanTaData.mXiaoHao_GanTa = num3; + break; + case 50: + tGanTaData.mDaHao_GanTa = num3; + break; + case 51: + tGanTaData.mAngle_GanTa = num3; + break; + case 52: + tGanTaData.mCurrent_a_GanTa = num3; + break; + case 53: + tGanTaData.mCurrent_b_GanTa = num3; + break; + case 54: + tGanTaData.mDMQJ1_GanTa = num3; + break; + case 55: + tGanTaData.mDMQJ2_GanTa = num3; + break; + case 56: + tGanTaData.mHaiBa_GanTa = num3; + break; + case 57: + tGanTaData.mDiXing_GanTa = text; + break; + case 58: + tGanTaData.mDSMD_GanTa = num3; + break; + case 59: + tGanTaData.mZXNZ_GanTa = text; + break; + case 60: + tGanTaData.mCurrentType_GanTa = num2; + break; + case 61: + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case 62: + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case 63: + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case 64: + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case 65: + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case 66: + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case 67: + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case 68: + tGanTaData.mFXDJ_GanTa = num2; + break; + case 69: + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case 70: + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case 71: + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case 72: + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case 73: + tGanTaData.mM1_Xiang_GanTa = text; + break; + case 74: + tGanTaData.mM1_TZL_GanTa = num3; + break; + case 75: + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case 76: + tGanTaData.mM2_Xiang_GanTa = text; + break; + case 77: + tGanTaData.mM2_TZL_GanTa = num3; + break; + case 78: + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case 79: + tGanTaData.mM3_Xiang_GanTa = text; + break; + case 80: + tGanTaData.mM3_TZL_GanTa = num3; + break; + case 81: + tGanTaData.mM4_NLSP_GanTa = num3; + break; + case 82: + tGanTaData.mM4_Xiang_GanTa = text; + break; + case 83: + tGanTaData.mM4_TZL_GanTa = num3; + break; + case 84: + tGanTaData.mM5_NLSP_GanTa = num3; + break; + case 85: + tGanTaData.mM5_Xiang_GanTa = text; + break; + case 86: + tGanTaData.mM5_TZL_GanTa = num3; + break; + case 87: + tGanTaData.mM6_NLSP_GanTa = num3; + break; + case 88: + tGanTaData.mM6_Xiang_GanTa = text; + break; + case 89: + tGanTaData.mM6_TZL_GanTa = num3; + break; + case 90: + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 91: + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 92: + tGanTaData.m_BaoHuJiao = num3; + break; + case 93: + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + flag3 = false; + num5 = -1; + for (int n = 0; n < mListDetails.Count; n++) + { + taskDetail = mListDetails[n]; + if (taskDetail.mTaskGroup == null || taskDetail.mTaskGroup.mListExTaskData == null || taskDetail.mTaskGroup.mListExTaskData.Count == 0) + { + continue; + } + for (int num7 = 0; num7 < taskDetail.mTaskGroup.mListExTaskData.Count; num7++) + { + if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num7].mID_string_Task)) + { + num5 = n; + flag3 = true; + break; + } + } + if (flag3) + { + break; + } + } + if (!flag3) + { + num++; + continue; + } + taskDetail = mListDetails[num5]; + tGanTaData.mXianLuID = taskDetail.mTaskData.mXianLuID_Task; + tGanTaData.mXianLuName = taskDetail.mTaskData.mXianLuName_Task; + for (int num8 = 0; num8 < taskDetail.mTaskGroup.mListExTaskData.Count; num8++) + { + if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num8].mID_string_Task)) + { + if (taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas == null) + { + taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas = new TGanTas(); + } + if (taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas.mListTGanTaData == null) + { + taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas.mListTGanTaData = new List(); + taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas.mListTGanTaData.Clear(); + } + tGanTaData.mIndex__GanTa = taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas.mListTGanTaData.Count; + taskDetail.mTaskGroup.mListExTaskData[num8].mTGanTas.mListTGanTaData.Add(tGanTaData); + result2++; + } + } + } + else if (array3.Length >= 93) + { + tGanTaData = new TGanTaData(); + tGanTaData.m_ID_CanShuFenJi = 0; + if (flag2) + { + for (int num9 = 0; num9 < array3.Length; num9++) + { + text3 = dictionary.ElementAt(num9).Key; + num4 = dictionary.ElementAt(num9).Value; + if (array3[num4] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num4].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num4].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num4].Trim(); + switch (text3) + { + case "任务编号": + tGanTaData.mTaskIDstring = text; + break; + case "任务塔号": + tGanTaData.mID_TGanTa = num2; + break; + case "线路编号": + tGanTaData.mXianLuID = num2; + break; + case "序号": + tGanTaData.mIndex__GanTa = num2; + break; + case "线路名称": + tGanTaData.mXianLuName = text; + break; + case "电压等级": + tGanTaData.mDYDJ_GanTa = num2; + break; + case "塔号": + tGanTaData.mID_GanTa = text; + break; + case "杆塔模型": + tGanTaData.mModel_GanTa = text; + break; + case "塔形": + tGanTaData.mTaXing_GanTa = text; + break; + case "经度": + tGanTaData.mJingDu_GanTa = num3; + break; + case "纬度": + tGanTaData.mWeiDu_GanTa = num3; + break; + case "I回相序": + tGanTaData.mXiangXu1_GanTa = text; + break; + case "II回相序": + tGanTaData.mXiangXu2_GanTa = text; + break; + case "III回相序": + tGanTaData.mXiangXu3_GanTa = text; + break; + case "IV回相序": + tGanTaData.mXiangXu4_GanTa = text; + break; + case "A相是否安装避雷器": + tGanTaData.mBLQ_A_GanTa = text; + break; + case "B相是否安装避雷器": + tGanTaData.mBLQ_B_GanTa = text; + break; + case "C相是否安装避雷器": + tGanTaData.mBLQ_C_GanTa = text; + break; + case "接地电阻": + tGanTaData.mJDDZ_GanTa = num3; + break; + case "左避雷中距m": + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case "右避雷中距m": + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case "避雷线高度m": + tGanTaData.mBLXGD_GanTa = num3; + break; + case "绝缘子串长度mm": + tGanTaData.mJYZCD_GanTa = num3; + break; + case "杆塔呼高m": + tGanTaData.mHuGao_GanTa = num3; + break; + case "I回上相中距m": + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case "I回中相中距m": + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case "I回下相中距m": + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case "I回上相高度m": + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case "I回中相高度m": + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case "I回下相高度m": + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case "II回上相中距m": + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case "II回中相中距m": + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case "II回下相中距m": + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case "II回上相高度m": + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case "II回中相高度m": + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case "II回下相高度m": + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case "III回上相中距m": + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case "III回中相中距m": + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case "III回下相中距m": + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case "III回上相高度m": + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case "III回中相高度m": + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case "III回下相高度m": + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case "IV回上相中距m": + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case "IV回中相中距m": + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case "IV回下相中距m": + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case "IV回上相高度m": + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case "IV回中相高度m": + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case "IV回下相高度m": + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case "小号侧档距": + tGanTaData.mXiaoHao_GanTa = num3; + break; + case "大号侧档距": + tGanTaData.mDaHao_GanTa = num3; + break; + case "电角度": + tGanTaData.mAngle_GanTa = num3; + break; + case "雷电流幅值a": + tGanTaData.mCurrent_a_GanTa = num3; + break; + case "雷电流幅值b": + tGanTaData.mCurrent_b_GanTa = num3; + break; + case "地面倾角1": + tGanTaData.mDMQJ1_GanTa = num3; + break; + case "地面倾角2": + tGanTaData.mDMQJ2_GanTa = num3; + break; + case "海拔m": + tGanTaData.mHaiBa_GanTa = num3; + break; + case "地形": + tGanTaData.mDiXing_GanTa = text; + break; + case "地闪密度": + tGanTaData.mDSMD_GanTa = num3; + break; + case "直线或耐张杆塔": + tGanTaData.mZXNZ_GanTa = text; + break; + case "雷电流波形种类": + tGanTaData.mCurrentType_GanTa = num2; + break; + case "波头时间/μs": + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case "波尾时间/μs": + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case "绕击反击": + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case "反击耐雷水平kA": + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case "反击跳闸率(次/100km.a)": + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case "绕击耐雷水平kA": + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case "绕击跳闸率(次/100km.a)": + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num2; + break; + case "A相绕击耐雷水平kA": + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case "B相绕击耐雷水平kA": + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case "C相绕击耐雷水平kA": + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case "单相反击耐雷水平kA": + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case "单相闪络相": + tGanTaData.mM1_Xiang_GanTa = text; + break; + case "单相反击跳闸率(次/100km.a)": + tGanTaData.mM1_TZL_GanTa = num3; + break; + case "双相反击耐雷水平kA": + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case "双相闪络相": + tGanTaData.mM2_Xiang_GanTa = text; + break; + case "双相反击跳闸率(次/100km.a)": + tGanTaData.mM2_TZL_GanTa = num3; + break; + case "三相反击耐雷水平kA": + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case "三相闪络相": + tGanTaData.mM3_Xiang_GanTa = text; + break; + case "三相反击跳闸率(次/100km.a)": + tGanTaData.mM3_TZL_GanTa = num3; + break; + case "四相反击耐雷水平kA": + tGanTaData.mM4_NLSP_GanTa = num3; + break; + case "四相闪络相": + tGanTaData.mM4_Xiang_GanTa = text; + break; + case "四相反击跳闸率(次/100km.a)": + tGanTaData.mM4_TZL_GanTa = num3; + break; + case "五相反击耐雷水平kA": + tGanTaData.mM5_NLSP_GanTa = num3; + break; + case "五相闪络相": + tGanTaData.mM5_Xiang_GanTa = text; + break; + case "五相反击跳闸率(次/100km.a)": + tGanTaData.mM5_TZL_GanTa = num3; + break; + case "六相反击耐雷水平kA": + tGanTaData.mM6_NLSP_GanTa = num3; + break; + case "六相闪络相": + tGanTaData.mM6_Xiang_GanTa = text; + break; + case "六相反击跳闸率(次/100km.a)": + tGanTaData.mM6_TZL_GanTa = num3; + break; + case "原因分析": + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "措施推荐": + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "保护角": + tGanTaData.m_BaoHuJiao = num3; + break; + case "普通计算结果": + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + else if (!flag2) + { + for (num4 = 0; num4 < array3.Length; num4++) + { + if (array3[num4] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num4].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num4].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num4].Trim(); + switch (num4) + { + case 0: + tGanTaData.mTaskIDstring = text; + break; + case 1: + tGanTaData.mID_TGanTa = num2; + break; + case 2: + tGanTaData.mXianLuID = num2; + break; + case 3: + tGanTaData.mIndex__GanTa = num2; + break; + case 4: + tGanTaData.mXianLuName = text; + break; + case 5: + tGanTaData.mDYDJ_GanTa = num2; + break; + case 6: + tGanTaData.mID_GanTa = text; + break; + case 7: + tGanTaData.mModel_GanTa = text; + break; + case 8: + tGanTaData.mTaXing_GanTa = text; + break; + case 9: + tGanTaData.mJingDu_GanTa = num3; + break; + case 10: + tGanTaData.mWeiDu_GanTa = num3; + break; + case 11: + tGanTaData.mXiangXu1_GanTa = text; + break; + case 12: + tGanTaData.mXiangXu2_GanTa = text; + break; + case 13: + tGanTaData.mXiangXu3_GanTa = text; + break; + case 14: + tGanTaData.mXiangXu4_GanTa = text; + break; + case 15: + tGanTaData.mBLQ_A_GanTa = text; + break; + case 16: + tGanTaData.mBLQ_B_GanTa = text; + break; + case 17: + tGanTaData.mBLQ_C_GanTa = text; + break; + case 18: + tGanTaData.mJDDZ_GanTa = num3; + break; + case 19: + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case 20: + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case 21: + tGanTaData.mBLXGD_GanTa = num3; + break; + case 22: + tGanTaData.mJYZCD_GanTa = num3; + break; + case 23: + tGanTaData.mHuGao_GanTa = num3; + break; + case 24: + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case 25: + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case 26: + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case 27: + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case 28: + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case 29: + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case 30: + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case 31: + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case 32: + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case 33: + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case 34: + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case 35: + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case 36: + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case 37: + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case 38: + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case 39: + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case 40: + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case 41: + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case 42: + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case 43: + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case 44: + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case 45: + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case 46: + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case 47: + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case 48: + tGanTaData.mXiaoHao_GanTa = num3; + break; + case 49: + tGanTaData.mDaHao_GanTa = num3; + break; + case 50: + tGanTaData.mAngle_GanTa = num3; + break; + case 51: + tGanTaData.mCurrent_a_GanTa = num3; + break; + case 52: + tGanTaData.mCurrent_b_GanTa = num3; + break; + case 53: + tGanTaData.mDMQJ1_GanTa = num3; + break; + case 54: + tGanTaData.mDMQJ2_GanTa = num3; + break; + case 55: + tGanTaData.mHaiBa_GanTa = num3; + break; + case 56: + tGanTaData.mDiXing_GanTa = text; + break; + case 57: + tGanTaData.mDSMD_GanTa = num3; + break; + case 58: + tGanTaData.mZXNZ_GanTa = text; + break; + case 59: + tGanTaData.mCurrentType_GanTa = num2; + break; + case 60: + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case 61: + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case 62: + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case 63: + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case 64: + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case 65: + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case 66: + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case 67: + tGanTaData.mFXDJ_GanTa = num2; + break; + case 68: + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case 69: + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case 70: + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case 71: + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case 72: + tGanTaData.mM1_Xiang_GanTa = text; + break; + case 73: + tGanTaData.mM1_TZL_GanTa = num3; + break; + case 74: + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case 75: + tGanTaData.mM2_Xiang_GanTa = text; + break; + case 76: + tGanTaData.mM2_TZL_GanTa = num3; + break; + case 77: + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case 78: + tGanTaData.mM3_Xiang_GanTa = text; + break; + case 79: + tGanTaData.mM3_TZL_GanTa = num3; + break; + case 80: + tGanTaData.mM4_NLSP_GanTa = num3; + break; + case 81: + tGanTaData.mM4_Xiang_GanTa = text; + break; + case 82: + tGanTaData.mM4_TZL_GanTa = num3; + break; + case 83: + tGanTaData.mM5_NLSP_GanTa = num3; + break; + case 84: + tGanTaData.mM5_Xiang_GanTa = text; + break; + case 85: + tGanTaData.mM5_TZL_GanTa = num3; + break; + case 86: + tGanTaData.mM6_NLSP_GanTa = num3; + break; + case 87: + tGanTaData.mM6_Xiang_GanTa = text; + break; + case 88: + tGanTaData.mM6_TZL_GanTa = num3; + break; + case 89: + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 90: + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 91: + tGanTaData.m_BaoHuJiao = num3; + break; + case 92: + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + flag3 = false; + num5 = -1; + for (int num10 = 0; num10 < mListDetails.Count; num10++) + { + taskDetail = mListDetails[num10]; + if (taskDetail.mTaskGroup == null || taskDetail.mTaskGroup.mListExTaskData == null || taskDetail.mTaskGroup.mListExTaskData.Count == 0) + { + continue; + } + for (int num11 = 0; num11 < taskDetail.mTaskGroup.mListExTaskData.Count; num11++) + { + if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num11].mID_string_Task)) + { + num5 = num10; + flag3 = true; + break; + } + } + if (flag3) + { + break; + } + } + if (!flag3) + { + num++; + continue; + } + taskDetail = mListDetails[num5]; + tGanTaData.mXianLuID = taskDetail.mTaskData.mXianLuID_Task; + tGanTaData.mXianLuName = taskDetail.mTaskData.mXianLuName_Task; + for (int num12 = 0; num12 < taskDetail.mTaskGroup.mListExTaskData.Count; num12++) + { + if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num12].mID_string_Task)) + { + if (taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas == null) + { + taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas = new TGanTas(); + } + if (taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas.mListTGanTaData == null) + { + taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas.mListTGanTaData = new List(); + taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas.mListTGanTaData.Clear(); + } + tGanTaData.mIndex__GanTa = taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas.mListTGanTaData.Count; + taskDetail.mTaskGroup.mListExTaskData[num12].mTGanTas.mListTGanTaData.Add(tGanTaData); + result2++; + } + } + } + else if (array3.Length >= 92) + { + tGanTaData = new TGanTaData(); + tGanTaData.m_ID_CanShuFenJi = 0; + if (flag2) + { + for (int num13 = 0; num13 < array3.Length; num13++) + { + text3 = dictionary.ElementAt(num13).Key; + num4 = dictionary.ElementAt(num13).Value; + if (array3[num4] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num4].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num4].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num4].Trim(); + switch (text3) + { + case "任务编号": + tGanTaData.mTaskIDstring = text; + break; + case "任务塔号": + tGanTaData.mID_TGanTa = num2; + break; + case "线路编号": + tGanTaData.mXianLuID = num2; + break; + case "序号": + tGanTaData.mIndex__GanTa = num2; + break; + case "线路名称": + tGanTaData.mXianLuName = text; + break; + case "电压等级": + tGanTaData.mDYDJ_GanTa = num2; + break; + case "塔号": + tGanTaData.mID_GanTa = text; + break; + case "杆塔模型": + tGanTaData.mModel_GanTa = text; + break; + case "塔形": + tGanTaData.mTaXing_GanTa = text; + break; + case "经度": + tGanTaData.mJingDu_GanTa = num3; + break; + case "纬度": + tGanTaData.mWeiDu_GanTa = num3; + break; + case "I回相序": + tGanTaData.mXiangXu1_GanTa = text; + break; + case "II回相序": + tGanTaData.mXiangXu2_GanTa = text; + break; + case "III回相序": + tGanTaData.mXiangXu3_GanTa = text; + break; + case "IV回相序": + tGanTaData.mXiangXu4_GanTa = text; + break; + case "A相是否安装避雷器": + tGanTaData.mBLQ_A_GanTa = text; + break; + case "B相是否安装避雷器": + tGanTaData.mBLQ_B_GanTa = text; + break; + case "C相是否安装避雷器": + tGanTaData.mBLQ_C_GanTa = text; + break; + case "接地电阻": + tGanTaData.mJDDZ_GanTa = num3; + break; + case "左避雷中距m": + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case "右避雷中距m": + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case "避雷线高度m": + tGanTaData.mBLXGD_GanTa = num3; + break; + case "绝缘子串长度mm": + tGanTaData.mJYZCD_GanTa = num3; + break; + case "杆塔呼高m": + tGanTaData.mHuGao_GanTa = num3; + break; + case "I回上相中距m": + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case "I回中相中距m": + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case "I回下相中距m": + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case "I回上相高度m": + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case "I回中相高度m": + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case "I回下相高度m": + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case "II回上相中距m": + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case "II回中相中距m": + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case "II回下相中距m": + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case "II回上相高度m": + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case "II回中相高度m": + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case "II回下相高度m": + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case "III回上相中距m": + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case "III回中相中距m": + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case "III回下相中距m": + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case "III回上相高度m": + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case "III回中相高度m": + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case "III回下相高度m": + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case "IV回上相中距m": + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case "IV回中相中距m": + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case "IV回下相中距m": + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case "IV回上相高度m": + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case "IV回中相高度m": + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case "IV回下相高度m": + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case "小号侧档距": + tGanTaData.mXiaoHao_GanTa = num3; + break; + case "大号侧档距": + tGanTaData.mDaHao_GanTa = num3; + break; + case "电角度": + tGanTaData.mAngle_GanTa = num3; + break; + case "雷电流幅值a": + tGanTaData.mCurrent_a_GanTa = num3; + break; + case "雷电流幅值b": + tGanTaData.mCurrent_b_GanTa = num3; + break; + case "地面倾角1": + tGanTaData.mDMQJ1_GanTa = num3; + break; + case "地面倾角2": + tGanTaData.mDMQJ2_GanTa = num3; + break; + case "海拔m": + tGanTaData.mHaiBa_GanTa = num3; + break; + case "地形": + tGanTaData.mDiXing_GanTa = text; + break; + case "地闪密度": + tGanTaData.mDSMD_GanTa = num3; + break; + case "直线或耐张杆塔": + tGanTaData.mZXNZ_GanTa = text; + break; + case "雷电流波形种类": + tGanTaData.mCurrentType_GanTa = num2; + break; + case "波头时间/μs": + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case "波尾时间/μs": + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case "绕击反击": + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case "反击耐雷水平kA": + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case "反击跳闸率(次/100km.a)": + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case "绕击耐雷水平kA": + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case "绕击跳闸率(次/100km.a)": + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num2; + break; + case "A相绕击耐雷水平kA": + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case "B相绕击耐雷水平kA": + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case "C相绕击耐雷水平kA": + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case "单相反击耐雷水平kA": + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case "单相闪络相": + tGanTaData.mM1_Xiang_GanTa = text; + break; + case "单相反击跳闸率(次/100km.a)": + tGanTaData.mM1_TZL_GanTa = num3; + break; + case "双相反击耐雷水平kA": + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case "双相闪络相": + tGanTaData.mM2_Xiang_GanTa = text; + break; + case "双相反击跳闸率(次/100km.a)": + tGanTaData.mM2_TZL_GanTa = num3; + break; + case "三相反击耐雷水平kA": + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case "三相闪络相": + tGanTaData.mM3_Xiang_GanTa = text; + break; + case "三相反击跳闸率(次/100km.a)": + tGanTaData.mM3_TZL_GanTa = num3; + break; + case "四相反击耐雷水平kA": + tGanTaData.mM4_NLSP_GanTa = num3; + break; + case "四相闪络相": + tGanTaData.mM4_Xiang_GanTa = text; + break; + case "四相反击跳闸率(次/100km.a)": + tGanTaData.mM4_TZL_GanTa = num3; + break; + case "五相反击耐雷水平kA": + tGanTaData.mM5_NLSP_GanTa = num3; + break; + case "五相闪络相": + tGanTaData.mM5_Xiang_GanTa = text; + break; + case "五相反击跳闸率(次/100km.a)": + tGanTaData.mM5_TZL_GanTa = num3; + break; + case "六相反击耐雷水平kA": + tGanTaData.mM6_NLSP_GanTa = num3; + break; + case "六相闪络相": + tGanTaData.mM6_Xiang_GanTa = text; + break; + case "六相反击跳闸率(次/100km.a)": + tGanTaData.mM6_TZL_GanTa = num3; + break; + case "原因分析": + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "措施推荐": + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "普通计算结果": + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + else if (!flag2) + { + for (num4 = 0; num4 < array3.Length; num4++) + { + if (array3[num4] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num4].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num4].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num4].Trim(); + switch (num4) + { + case 0: + tGanTaData.mTaskIDstring = text; + break; + case 1: + tGanTaData.mID_TGanTa = num2; + break; + case 2: + tGanTaData.mXianLuID = num2; + break; + case 3: + tGanTaData.mIndex__GanTa = num2; + break; + case 4: + tGanTaData.mXianLuName = text; + break; + case 5: + tGanTaData.mDYDJ_GanTa = num2; + break; + case 6: + tGanTaData.mID_GanTa = text; + break; + case 7: + tGanTaData.mModel_GanTa = text; + break; + case 8: + tGanTaData.mTaXing_GanTa = text; + break; + case 9: + tGanTaData.mJingDu_GanTa = num3; + break; + case 10: + tGanTaData.mWeiDu_GanTa = num3; + break; + case 11: + tGanTaData.mXiangXu1_GanTa = text; + break; + case 12: + tGanTaData.mXiangXu2_GanTa = text; + break; + case 13: + tGanTaData.mXiangXu3_GanTa = text; + break; + case 14: + tGanTaData.mXiangXu4_GanTa = text; + break; + case 15: + tGanTaData.mBLQ_A_GanTa = text; + break; + case 16: + tGanTaData.mBLQ_B_GanTa = text; + break; + case 17: + tGanTaData.mBLQ_C_GanTa = text; + break; + case 18: + tGanTaData.mJDDZ_GanTa = num3; + break; + case 19: + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case 20: + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case 21: + tGanTaData.mBLXGD_GanTa = num3; + break; + case 22: + tGanTaData.mJYZCD_GanTa = num3; + break; + case 23: + tGanTaData.mHuGao_GanTa = num3; + break; + case 24: + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case 25: + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case 26: + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case 27: + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case 28: + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case 29: + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case 30: + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case 31: + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case 32: + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case 33: + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case 34: + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case 35: + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case 36: + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case 37: + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case 38: + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case 39: + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case 40: + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case 41: + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case 42: + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case 43: + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case 44: + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case 45: + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case 46: + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case 47: + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case 48: + tGanTaData.mXiaoHao_GanTa = num3; + break; + case 49: + tGanTaData.mDaHao_GanTa = num3; + break; + case 50: + tGanTaData.mAngle_GanTa = num3; + break; + case 51: + tGanTaData.mCurrent_a_GanTa = num3; + break; + case 52: + tGanTaData.mCurrent_b_GanTa = num3; + break; + case 53: + tGanTaData.mDMQJ1_GanTa = num3; + break; + case 54: + tGanTaData.mDMQJ2_GanTa = num3; + break; + case 55: + tGanTaData.mHaiBa_GanTa = num3; + break; + case 56: + tGanTaData.mDiXing_GanTa = text; + break; + case 57: + tGanTaData.mDSMD_GanTa = num3; + break; + case 58: + tGanTaData.mZXNZ_GanTa = text; + break; + case 59: + tGanTaData.mCurrentType_GanTa = num2; + break; + case 60: + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case 61: + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case 62: + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case 63: + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case 64: + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case 65: + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case 66: + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case 67: + tGanTaData.mFXDJ_GanTa = num2; + break; + case 68: + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case 69: + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case 70: + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case 71: + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case 72: + tGanTaData.mM1_Xiang_GanTa = text; + break; + case 73: + tGanTaData.mM1_TZL_GanTa = num3; + break; + case 74: + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case 75: + tGanTaData.mM2_Xiang_GanTa = text; + break; + case 76: + tGanTaData.mM2_TZL_GanTa = num3; + break; + case 77: + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case 78: + tGanTaData.mM3_Xiang_GanTa = text; + break; + case 79: + tGanTaData.mM3_TZL_GanTa = num3; + break; + case 80: + tGanTaData.mM4_NLSP_GanTa = num3; + break; + case 81: + tGanTaData.mM4_Xiang_GanTa = text; + break; + case 82: + tGanTaData.mM4_TZL_GanTa = num3; + break; + case 83: + tGanTaData.mM5_NLSP_GanTa = num3; + break; + case 84: + tGanTaData.mM5_Xiang_GanTa = text; + break; + case 85: + tGanTaData.mM5_TZL_GanTa = num3; + break; + case 86: + tGanTaData.mM6_NLSP_GanTa = num3; + break; + case 87: + tGanTaData.mM6_Xiang_GanTa = text; + break; + case 88: + tGanTaData.mM6_TZL_GanTa = num3; + break; + case 89: + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 90: + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 91: + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + flag3 = false; + num5 = -1; + for (int num14 = 0; num14 < mListDetails.Count; num14++) + { + taskDetail = mListDetails[num14]; + if (taskDetail.mTaskGroup == null || taskDetail.mTaskGroup.mListExTaskData == null || taskDetail.mTaskGroup.mListExTaskData.Count == 0) + { + continue; + } + for (int num15 = 0; num15 < taskDetail.mTaskGroup.mListExTaskData.Count; num15++) + { + if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num15].mID_string_Task)) + { + num5 = num14; + flag3 = true; + break; + } + } + if (flag3) + { + break; + } + } + if (!flag3) + { + num++; + continue; + } + taskDetail = mListDetails[num5]; + tGanTaData.mXianLuID = taskDetail.mTaskData.mXianLuID_Task; + tGanTaData.mXianLuName = taskDetail.mTaskData.mXianLuName_Task; + for (int num16 = 0; num16 < taskDetail.mTaskGroup.mListExTaskData.Count; num16++) + { + if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num16].mID_string_Task)) + { + if (taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas == null) + { + taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas = new TGanTas(); + } + if (taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData == null) + { + taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData = new List(); + taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData.Clear(); + } + tGanTaData.mIndex__GanTa = taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData.Count; + taskDetail.mTaskGroup.mListExTaskData[num16].mTGanTas.mListTGanTaData.Add(tGanTaData); + result2++; + } + } + } + else if (array3.Length >= 79) + { + tGanTaData = new TGanTaData(); + if (flag2) + { + for (int num17 = 0; num17 < array3.Length; num17++) + { + text3 = dictionary.ElementAt(num17).Key; + num4 = dictionary.ElementAt(num17).Value; + if (array3[num4] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num4].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num4].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num4].Trim(); + switch (text3) + { + case "任务编号": + tGanTaData.mTaskIDstring = text; + break; + case "任务塔号": + tGanTaData.mID_TGanTa = num2; + break; + case "线路编号": + tGanTaData.mXianLuID = num2; + break; + case "序号": + tGanTaData.mIndex__GanTa = num2; + break; + case "线路名称": + tGanTaData.mXianLuName = text; + break; + case "电压等级": + tGanTaData.mDYDJ_GanTa = num2; + break; + case "塔号": + tGanTaData.mID_GanTa = text; + break; + case "杆塔模型": + tGanTaData.mModel_GanTa = text; + break; + case "塔形": + tGanTaData.mTaXing_GanTa = text; + break; + case "经度": + tGanTaData.mJingDu_GanTa = num3; + break; + case "纬度": + tGanTaData.mWeiDu_GanTa = num3; + break; + case "I回相序": + tGanTaData.mXiangXu1_GanTa = text; + break; + case "II回相序": + tGanTaData.mXiangXu2_GanTa = text; + break; + case "III回相序": + tGanTaData.mXiangXu3_GanTa = text; + break; + case "IV回相序": + tGanTaData.mXiangXu4_GanTa = text; + break; + case "A相是否安装避雷器": + tGanTaData.mBLQ_A_GanTa = text; + break; + case "B相是否安装避雷器": + tGanTaData.mBLQ_B_GanTa = text; + break; + case "C相是否安装避雷器": + tGanTaData.mBLQ_C_GanTa = text; + break; + case "接地电阻": + tGanTaData.mJDDZ_GanTa = num3; + break; + case "左避雷中距m": + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case "右避雷中距m": + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case "避雷线高度m": + tGanTaData.mBLXGD_GanTa = num3; + break; + case "绝缘子串长度mm": + tGanTaData.mJYZCD_GanTa = num3; + break; + case "杆塔呼高m": + tGanTaData.mHuGao_GanTa = num3; + break; + case "I回上相中距m": + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case "I回中相中距m": + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case "I回下相中距m": + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case "I回上相高度m": + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case "I回中相高度m": + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case "I回下相高度m": + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case "II回上相中距m": + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case "II回中相中距m": + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case "II回下相中距m": + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case "II回上相高度m": + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case "II回中相高度m": + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case "II回下相高度m": + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case "III回上相中距m": + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case "III回中相中距m": + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case "III回下相中距m": + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case "III回上相高度m": + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case "III回中相高度m": + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case "III回下相高度m": + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case "IV回上相中距m": + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case "IV回中相中距m": + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case "IV回下相中距m": + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case "IV回上相高度m": + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case "IV回中相高度m": + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case "IV回下相高度m": + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case "小号侧档距": + tGanTaData.mXiaoHao_GanTa = num3; + break; + case "大号侧档距": + tGanTaData.mDaHao_GanTa = num3; + break; + case "电角度": + tGanTaData.mAngle_GanTa = num3; + break; + case "雷电流幅值a": + tGanTaData.mCurrent_a_GanTa = num3; + break; + case "雷电流幅值b": + tGanTaData.mCurrent_b_GanTa = num3; + break; + case "地面倾角1": + tGanTaData.mDMQJ1_GanTa = num3; + break; + case "地面倾角2": + tGanTaData.mDMQJ2_GanTa = num3; + break; + case "海拔m": + tGanTaData.mHaiBa_GanTa = num3; + break; + case "地形": + tGanTaData.mDiXing_GanTa = text; + break; + case "地闪密度": + tGanTaData.mDSMD_GanTa = num3; + break; + case "直线或耐张杆塔": + tGanTaData.mZXNZ_GanTa = text; + break; + case "雷电流波形种类": + tGanTaData.mCurrentType_GanTa = num2; + break; + case "波头时间/μs": + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case "波尾时间/μs": + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case "绕击反击": + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case "反击耐雷水平kA": + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case "反击跳闸率(次/100km.a)": + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case "绕击耐雷水平kA": + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case "绕击跳闸率(次/100km.a)": + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num2; + break; + case "A相绕击耐雷水平kA": + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case "B相绕击耐雷水平kA": + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case "C相绕击耐雷水平kA": + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case "单相反击耐雷水平kA": + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case "单相闪络相": + tGanTaData.mM1_Xiang_GanTa = text; + break; + case "双相反击耐雷水平kA": + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case "双相闪络相": + tGanTaData.mM2_Xiang_GanTa = text; + break; + case "三相反击耐雷水平kA": + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case "原因分析": + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "措施推荐": + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "普通计算结果": + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + else if (!flag2) + { + for (num4 = 0; num4 < array3.Length; num4++) + { + if (array3[num4] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num4].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num4].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num4].Trim(); + switch (num4) + { + case 0: + tGanTaData.mTaskIDstring = text; + break; + case 1: + tGanTaData.mID_TGanTa = num2; + break; + case 2: + tGanTaData.mXianLuID = num2; + break; + case 3: + tGanTaData.mIndex__GanTa = num2; + break; + case 4: + tGanTaData.mXianLuName = text; + break; + case 5: + tGanTaData.mDYDJ_GanTa = num2; + break; + case 6: + tGanTaData.mID_GanTa = text; + break; + case 7: + tGanTaData.mModel_GanTa = text; + break; + case 8: + tGanTaData.mTaXing_GanTa = text; + break; + case 9: + tGanTaData.mJingDu_GanTa = num3; + break; + case 10: + tGanTaData.mWeiDu_GanTa = num3; + break; + case 11: + tGanTaData.mXiangXu1_GanTa = text; + break; + case 12: + tGanTaData.mXiangXu2_GanTa = text; + break; + case 13: + tGanTaData.mXiangXu3_GanTa = text; + break; + case 14: + tGanTaData.mXiangXu4_GanTa = text; + break; + case 15: + tGanTaData.mBLQ_A_GanTa = text; + break; + case 16: + tGanTaData.mBLQ_B_GanTa = text; + break; + case 17: + tGanTaData.mBLQ_C_GanTa = text; + break; + case 18: + tGanTaData.mJDDZ_GanTa = num3; + break; + case 19: + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case 20: + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case 21: + tGanTaData.mBLXGD_GanTa = num3; + break; + case 22: + tGanTaData.mJYZCD_GanTa = num3; + break; + case 23: + tGanTaData.mHuGao_GanTa = num3; + break; + case 24: + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case 25: + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case 26: + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case 27: + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case 28: + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case 29: + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case 30: + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case 31: + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case 32: + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case 33: + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case 34: + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case 35: + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case 36: + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case 37: + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case 38: + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case 39: + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case 40: + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case 41: + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case 42: + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case 43: + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case 44: + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case 45: + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case 46: + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case 47: + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case 48: + tGanTaData.mXiaoHao_GanTa = num3; + break; + case 49: + tGanTaData.mDaHao_GanTa = num3; + break; + case 50: + tGanTaData.mAngle_GanTa = num3; + break; + case 51: + tGanTaData.mCurrent_a_GanTa = num3; + break; + case 52: + tGanTaData.mCurrent_b_GanTa = num3; + break; + case 53: + tGanTaData.mDMQJ1_GanTa = num3; + break; + case 54: + tGanTaData.mDMQJ2_GanTa = num3; + break; + case 55: + tGanTaData.mHaiBa_GanTa = num3; + break; + case 56: + tGanTaData.mDiXing_GanTa = text; + break; + case 57: + tGanTaData.mDSMD_GanTa = num3; + break; + case 58: + tGanTaData.mZXNZ_GanTa = text; + break; + case 59: + tGanTaData.mCurrentType_GanTa = num2; + break; + case 60: + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case 61: + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case 62: + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case 63: + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case 64: + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case 65: + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case 66: + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case 67: + tGanTaData.mFXDJ_GanTa = num2; + break; + case 68: + tGanTaData.mMA_RJ_NLSP_GanTa = num3; + break; + case 69: + tGanTaData.mMB_RJ_NLSP_GanTa = num3; + break; + case 70: + tGanTaData.mMC_RJ_NLSP_GanTa = num3; + break; + case 71: + tGanTaData.mM1_NLSP_GanTa = num3; + break; + case 72: + tGanTaData.mM1_Xiang_GanTa = text; + break; + case 73: + tGanTaData.mM2_NLSP_GanTa = num3; + break; + case 74: + tGanTaData.mM2_Xiang_GanTa = text; + break; + case 75: + tGanTaData.mM3_NLSP_GanTa = num3; + break; + case 76: + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 77: + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 78: + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + flag3 = false; + num5 = -1; + for (int num18 = 0; num18 < mListDetails.Count; num18++) + { + taskDetail = mListDetails[num18]; + if (taskDetail.mTaskGroup == null || taskDetail.mTaskGroup.mListExTaskData == null || taskDetail.mTaskGroup.mListExTaskData.Count == 0) + { + continue; + } + for (int num19 = 0; num19 < taskDetail.mTaskGroup.mListExTaskData.Count; num19++) + { + if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num19].mID_string_Task)) + { + num5 = num18; + flag3 = true; + break; + } + } + if (flag3) + { + break; + } + } + if (!flag3) + { + num++; + continue; + } + taskDetail = mListDetails[num5]; + tGanTaData.mXianLuID = taskDetail.mTaskData.mXianLuID_Task; + tGanTaData.mXianLuName = taskDetail.mTaskData.mXianLuName_Task; + for (int num20 = 0; num20 < taskDetail.mTaskGroup.mListExTaskData.Count; num20++) + { + if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num20].mID_string_Task)) + { + if (taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas == null) + { + taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas = new TGanTas(); + } + if (taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas.mListTGanTaData == null) + { + taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas.mListTGanTaData = new List(); + taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas.mListTGanTaData.Clear(); + } + tGanTaData.mIndex__GanTa = taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas.mListTGanTaData.Count; + taskDetail.mTaskGroup.mListExTaskData[num20].mTGanTas.mListTGanTaData.Add(tGanTaData); + result2++; + } + } + } + else if (array3.Length >= 71) + { + tGanTaData = new TGanTaData(); + if (flag2) + { + for (int num21 = 0; num21 < array3.Length; num21++) + { + text3 = dictionary.ElementAt(num21).Key; + num4 = dictionary.ElementAt(num21).Value; + if (array3[num4] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num4].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num4].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num4].Trim(); + switch (text3) + { + case "任务编号": + tGanTaData.mTaskIDstring = text; + break; + case "任务塔号": + tGanTaData.mID_TGanTa = num2; + break; + case "线路编号": + tGanTaData.mXianLuID = num2; + break; + case "序号": + tGanTaData.mIndex__GanTa = num2; + break; + case "线路名称": + tGanTaData.mXianLuName = text; + break; + case "电压等级": + tGanTaData.mDYDJ_GanTa = num2; + break; + case "塔号": + tGanTaData.mID_GanTa = text; + break; + case "杆塔模型": + tGanTaData.mModel_GanTa = text; + break; + case "塔形": + tGanTaData.mTaXing_GanTa = text; + break; + case "经度": + tGanTaData.mJingDu_GanTa = num3; + break; + case "纬度": + tGanTaData.mWeiDu_GanTa = num3; + break; + case "I回相序": + tGanTaData.mXiangXu1_GanTa = text; + break; + case "II回相序": + tGanTaData.mXiangXu2_GanTa = text; + break; + case "III回相序": + tGanTaData.mXiangXu3_GanTa = text; + break; + case "IV回相序": + tGanTaData.mXiangXu4_GanTa = text; + break; + case "A相是否安装避雷器": + tGanTaData.mBLQ_A_GanTa = text; + break; + case "B相是否安装避雷器": + tGanTaData.mBLQ_B_GanTa = text; + break; + case "C相是否安装避雷器": + tGanTaData.mBLQ_C_GanTa = text; + break; + case "接地电阻": + tGanTaData.mJDDZ_GanTa = num3; + break; + case "左避雷中距m": + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case "右避雷中距m": + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case "避雷线高度m": + tGanTaData.mBLXGD_GanTa = num3; + break; + case "绝缘子串长度mm": + tGanTaData.mJYZCD_GanTa = num3; + break; + case "杆塔呼高m": + tGanTaData.mHuGao_GanTa = num3; + break; + case "I回上相中距m": + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case "I回中相中距m": + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case "I回下相中距m": + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case "I回上相高度m": + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case "I回中相高度m": + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case "I回下相高度m": + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case "II回上相中距m": + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case "II回中相中距m": + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case "II回下相中距m": + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case "II回上相高度m": + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case "II回中相高度m": + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case "II回下相高度m": + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case "III回上相中距m": + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case "III回中相中距m": + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case "III回下相中距m": + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case "III回上相高度m": + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case "III回中相高度m": + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case "III回下相高度m": + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case "IV回上相中距m": + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case "IV回中相中距m": + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case "IV回下相中距m": + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case "IV回上相高度m": + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case "IV回中相高度m": + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case "IV回下相高度m": + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case "小号侧档距": + tGanTaData.mXiaoHao_GanTa = num3; + break; + case "大号侧档距": + tGanTaData.mDaHao_GanTa = num3; + break; + case "电角度": + tGanTaData.mAngle_GanTa = num3; + break; + case "雷电流幅值a": + tGanTaData.mCurrent_a_GanTa = num3; + break; + case "雷电流幅值b": + tGanTaData.mCurrent_b_GanTa = num3; + break; + case "地面倾角1": + tGanTaData.mDMQJ1_GanTa = num3; + break; + case "地面倾角2": + tGanTaData.mDMQJ2_GanTa = num3; + break; + case "海拔m": + tGanTaData.mHaiBa_GanTa = num3; + break; + case "地形": + tGanTaData.mDiXing_GanTa = text; + break; + case "地闪密度": + tGanTaData.mDSMD_GanTa = num3; + break; + case "直线或耐张杆塔": + tGanTaData.mZXNZ_GanTa = text; + break; + case "雷电流波形种类": + tGanTaData.mCurrentType_GanTa = num2; + break; + case "波头时间/μs": + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case "波尾时间/μs": + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case "绕击反击": + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case "反击耐雷水平kA": + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case "反击跳闸率(次/100km.a)": + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case "绕击耐雷水平kA": + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case "绕击跳闸率(次/100km.a)": + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case "雷击风险等级": + tGanTaData.mFXDJ_GanTa = num2; + break; + case "原因分析": + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "措施推荐": + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "普通计算结果": + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + else if (!flag2) + { + for (num4 = 0; num4 < array3.Length; num4++) + { + if (array3[num4] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num4].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num4].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + text = array3[num4].Trim(); + switch (num4) + { + case 0: + tGanTaData.mTaskIDstring = text; + break; + case 1: + tGanTaData.mID_TGanTa = num2; + break; + case 2: + tGanTaData.mXianLuID = num2; + break; + case 3: + tGanTaData.mIndex__GanTa = num2; + break; + case 4: + tGanTaData.mXianLuName = text; + break; + case 5: + tGanTaData.mDYDJ_GanTa = num2; + break; + case 6: + tGanTaData.mID_GanTa = text; + break; + case 7: + tGanTaData.mModel_GanTa = text; + break; + case 8: + tGanTaData.mTaXing_GanTa = text; + break; + case 9: + tGanTaData.mJingDu_GanTa = num3; + break; + case 10: + tGanTaData.mWeiDu_GanTa = num3; + break; + case 11: + tGanTaData.mXiangXu1_GanTa = text; + break; + case 12: + tGanTaData.mXiangXu2_GanTa = text; + break; + case 13: + tGanTaData.mXiangXu3_GanTa = text; + break; + case 14: + tGanTaData.mXiangXu4_GanTa = text; + break; + case 15: + tGanTaData.mBLQ_A_GanTa = text; + break; + case 16: + tGanTaData.mBLQ_B_GanTa = text; + break; + case 17: + tGanTaData.mBLQ_C_GanTa = text; + break; + case 18: + tGanTaData.mJDDZ_GanTa = num3; + break; + case 19: + tGanTaData.mBLZJ_L_GanTa = num3; + break; + case 20: + tGanTaData.mBLZJ_R_GanTa = num3; + break; + case 21: + tGanTaData.mBLXGD_GanTa = num3; + break; + case 22: + tGanTaData.mJYZCD_GanTa = num3; + break; + case 23: + tGanTaData.mHuGao_GanTa = num3; + break; + case 24: + tGanTaData.m1ZJ_Shang_GanTa = num3; + break; + case 25: + tGanTaData.m1ZJ_Zhong_GanTa = num3; + break; + case 26: + tGanTaData.m1ZJ_Xia_GanTa = num3; + break; + case 27: + tGanTaData.m1GD_Shang_GanTa = num3; + break; + case 28: + tGanTaData.m1GD_Zhong_GanTa = num3; + break; + case 29: + tGanTaData.m1GD_Xia_GanTa = num3; + break; + case 30: + tGanTaData.m2ZJ_Shang_GanTa = num3; + break; + case 31: + tGanTaData.m2ZJ_Zhong_GanTa = num3; + break; + case 32: + tGanTaData.m2ZJ_Xia_GanTa = num3; + break; + case 33: + tGanTaData.m2GD_Shang_GanTa = num3; + break; + case 34: + tGanTaData.m2GD_Zhong_GanTa = num3; + break; + case 35: + tGanTaData.m2GD_Xia_GanTa = num3; + break; + case 36: + tGanTaData.m3ZJ_Shang_GanTa = num3; + break; + case 37: + tGanTaData.m3ZJ_Zhong_GanTa = num3; + break; + case 38: + tGanTaData.m3ZJ_Xia_GanTa = num3; + break; + case 39: + tGanTaData.m3GD_Shang_GanTa = num3; + break; + case 40: + tGanTaData.m3GD_Zhong_GanTa = num3; + break; + case 41: + tGanTaData.m3GD_Xia_GanTa = num3; + break; + case 42: + tGanTaData.m4ZJ_Shang_GanTa = num3; + break; + case 43: + tGanTaData.m4ZJ_Zhong_GanTa = num3; + break; + case 44: + tGanTaData.m4ZJ_Xia_GanTa = num3; + break; + case 45: + tGanTaData.m4GD_Shang_GanTa = num3; + break; + case 46: + tGanTaData.m4GD_Zhong_GanTa = num3; + break; + case 47: + tGanTaData.m4GD_Xia_GanTa = num3; + break; + case 48: + tGanTaData.mXiaoHao_GanTa = num3; + break; + case 49: + tGanTaData.mDaHao_GanTa = num3; + break; + case 50: + tGanTaData.mAngle_GanTa = num3; + break; + case 51: + tGanTaData.mCurrent_a_GanTa = num3; + break; + case 52: + tGanTaData.mCurrent_b_GanTa = num3; + break; + case 53: + tGanTaData.mDMQJ1_GanTa = num3; + break; + case 54: + tGanTaData.mDMQJ2_GanTa = num3; + break; + case 55: + tGanTaData.mHaiBa_GanTa = num3; + break; + case 56: + tGanTaData.mDiXing_GanTa = text; + break; + case 57: + tGanTaData.mDSMD_GanTa = num3; + break; + case 58: + tGanTaData.mZXNZ_GanTa = text; + break; + case 59: + tGanTaData.mCurrentType_GanTa = num2; + break; + case 60: + tGanTaData.mCurrentHeadTime_GanTa = num3; + break; + case 61: + tGanTaData.mCurrentTailTime_GanTa = num3; + break; + case 62: + tGanTaData.mRaoJiFanJi_GanTa = num2; + break; + case 63: + tGanTaData.mFJ_NLSP_GanTa = num3; + break; + case 64: + tGanTaData.mFJ_TZL_GanTa = num3; + break; + case 65: + tGanTaData.mRJ_NLSP_GanTa = num3; + break; + case 66: + tGanTaData.mRJ_TZL_GanTa = num3; + break; + case 67: + tGanTaData.mFXDJ_GanTa = num2; + break; + case 68: + tGanTaData.m_CuoShiTuiJian_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 69: + tGanTaData.m_YuanYinFenXi_GanTa = text.Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 70: + tGanTaData.m_Result_PuTongJiSuan_GanTa = text; + break; + } + } + } + flag3 = false; + num5 = -1; + for (int num22 = 0; num22 < mListDetails.Count; num22++) + { + taskDetail = mListDetails[num22]; + if (taskDetail.mTaskGroup == null || taskDetail.mTaskGroup.mListExTaskData == null || taskDetail.mTaskGroup.mListExTaskData.Count == 0) + { + continue; + } + for (int num23 = 0; num23 < taskDetail.mTaskGroup.mListExTaskData.Count; num23++) + { + if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num23].mID_string_Task)) + { + num5 = num22; + flag3 = true; + break; + } + } + if (flag3) + { + break; + } + } + if (!flag3) + { + num++; + continue; + } + taskDetail = mListDetails[num5]; + tGanTaData.mXianLuID = taskDetail.mTaskData.mXianLuID_Task; + tGanTaData.mXianLuName = taskDetail.mTaskData.mXianLuName_Task; + for (int num24 = 0; num24 < taskDetail.mTaskGroup.mListExTaskData.Count; num24++) + { + if (tGanTaData.mTaskIDstring.Equals(taskDetail.mTaskGroup.mListExTaskData[num24].mID_string_Task)) + { + if (taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas == null) + { + taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas = new TGanTas(); + } + if (taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData == null) + { + taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData = new List(); + taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData.Clear(); + } + tGanTaData.mIndex__GanTa = taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData.Count; + taskDetail.mTaskGroup.mListExTaskData[num24].mTGanTas.mListTGanTaData.Add(tGanTaData); + result2++; + } + } + } + num++; + } + streamReader2.Close(); + } + fileStream2.Close(); + } + catch (Exception ex22) + { + MyLog.AddLog("MyLoadTGanTa() 载入扩展杆塔文件发生异常。文件:" + _filename + "。异常:" + ex22.Message + "。"); + MessageBox.Show(ex22.Message); + } + return result2; + } + + public int MySaveTGanTa(string _filename) + { + int result = 0; + if (string.IsNullOrEmpty(_filename)) + { + MyLog.AddLog("MySaveTGanTa(_fileName) 参数1为空:扩展杆塔数据文件名。"); + return result; + } + int num = 0; + int num2 = -1; + string[] array = new string[2] { "", "" }; + string[] array2 = new string[2] { "", "" }; + TGanTaData tGanTaData = null; + TaskData taskData = null; + try + { + using FileStream fileStream = new FileStream(_filename, FileMode.Create, FileAccess.Write, FileShare.None); + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + for (num2 = 0; num2 < array.Length; num2++) + { + string text = array[num2]; + string text2 = text; + if (!(text2 == "")) + { + if (text2 == "") + { + } + continue; + } + num = 0; + streamWriter.WriteLine(array[num2]); + streamWriter.WriteLine(TGanTaData.MyHead_ToString()); + for (int i = 0; i < mListDetails.Count; i++) + { + if (mListDetails[i].mTaskGroup == null || mListDetails[i].mTaskGroup.mListExTaskData == null) + { + continue; + } + for (int j = 0; j < mListDetails[i].mTaskGroup.mListExTaskData.Count; j++) + { + taskData = mListDetails[i].mTaskGroup.mListExTaskData[j]; + if (taskData != null && taskData.mTGanTas != null && taskData.mTGanTas.mListTGanTaData.Count != 0) + { + for (int k = 0; k < taskData.mTGanTas.mListTGanTaData.Count; k++) + { + tGanTaData = taskData.mTGanTas.mListTGanTaData[k]; + streamWriter.WriteLine(tGanTaData.MyToString()); + num++; + } + } + } + } + if (num2 < array2.Length) + { + streamWriter.WriteLine(array2[num2]); + } + else + { + streamWriter.WriteLine(array[num2].Replace("<", " mListID_TGanTa = null; + + public int mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = 0; + + public int mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = 0; + + public string mFanJi_NaiLeiShuiPing + { + get + { + return _mFanJi_NaiLeiShuiPing; + } + set + { + _mFanJi_NaiLeiShuiPing = value; + string text = _mFanJi_NaiLeiShuiPing; + string text2 = text; + if (!(text2 == "规程")) + { + if (text2 == "ATP") + { + mIndex_FanJi_NaiLeiShuiPing = 1; + } + else + { + mIndex_FanJi_NaiLeiShuiPing = -1; + } + } + else + { + mIndex_FanJi_NaiLeiShuiPing = 0; + } + } + } + + public string mRaoJi_NaiLeiShuiPing + { + get + { + return _mRaoJi_NaiLeiShuiPing; + } + set + { + _mRaoJi_NaiLeiShuiPing = value; + string text = _mRaoJi_NaiLeiShuiPing; + string text2 = text; + if (!(text2 == "规程")) + { + if (text2 == "ATP") + { + mIndex_RaoJi_NaiLeiShuiPing = 1; + } + else + { + mIndex_RaoJi_NaiLeiShuiPing = -1; + } + } + else + { + mIndex_RaoJi_NaiLeiShuiPing = 0; + } + } + } + + public string mFanJi_TZL + { + get + { + return _mFanJi_TZL; + } + set + { + _mFanJi_TZL = value; + string text = _mFanJi_TZL; + string text2 = text; + if (!(text2 == "无")) + { + if (text2 == "规程") + { + mIndex_FanJi_TZL = 1; + } + else + { + mIndex_FanJi_TZL = -1; + } + } + else + { + mIndex_FanJi_TZL = 0; + } + } + } + + public string mRaoJi_TZL + { + get + { + return _mRaoJi_TZL; + } + set + { + _mRaoJi_TZL = value; + switch (_mRaoJi_TZL) + { + case "无": + mIndex_RaoJi_TZL = 0; + break; + case "规程": + mIndex_RaoJi_TZL = 1; + break; + case "EGM": + mIndex_RaoJi_TZL = 2; + break; + default: + mIndex_RaoJi_TZL = -1; + break; + } + } + } + + public string mGanYingDianYaGongShi + { + get + { + return _mGanYingDianYaGongShi; + } + set + { + _mGanYingDianYaGongShi = value; + string text = _mGanYingDianYaGongShi; + string text2 = text; + if (!(text2 == "公式1")) + { + if (text2 == "公式2") + { + mIndex_GanYingDianYaGongShi = 1; + } + else + { + mIndex_GanYingDianYaGongShi = -1; + } + } + else + { + mIndex_GanYingDianYaGongShi = 0; + } + } + } + + public string mShanLuoPanJu + { + get + { + return _mShanLuoPanJu; + } + set + { + _mShanLuoPanJu = value; + switch (_mShanLuoPanJu) + { + case "规程法": + mIndex_ShanLuoPanJu = 0; + break; + case "相交法": + mIndex_ShanLuoPanJu = 1; + break; + case "先导发展法": + mIndex_ShanLuoPanJu = 2; + break; + default: + mIndex_ShanLuoPanJu = -1; + break; + } + } + } + + public int Finished1_PuTongJiSuan + { + get + { + return mFinished1_PuTongJiSuan; + } + set + { + mFinished1_PuTongJiSuan = value; + if (mFinished1_PuTongJiSuan == 0) + { + Finished2_FengXianPingGu = 0; + } + } + } + + public int Finished2_FengXianPingGu + { + get + { + return mFinished2_FengXianPingGu; + } + set + { + mFinished2_FengXianPingGu = value; + if (mFinished2_FengXianPingGu == 0) + { + Finished3_CuoShiTuiJian = 0; + } + } + } + + public int Finished3_CuoShiTuiJian + { + get + { + return mFinished3_CuoShiTuiJian; + } + set + { + mFinished3_CuoShiTuiJian = value; + if (mFinished3_CuoShiTuiJian == 0) + { + Finished4_GaiZaoJiSuan = 0; + } + } + } + + public int Finished4_GaiZaoJiSuan + { + get + { + return mFinished4_GaiZaoJiSuan; + } + set + { + mFinished4_GaiZaoJiSuan = value; + } + } + + public int Finished6_AnZhuangBLQ + { + get + { + return mFinished6_AnZhuangBLQ; + } + set + { + mFinished6_AnZhuangBLQ = value; + } + } + + public int Complete + { + get + { + return mComplete; + } + set + { + mComplete = value; + } + } + + static TaskData() + { + mNextID_static = 0; + mNextID_static = 1; + } + + public TaskData() + { + mIndex__Data = -1; + mTypeCode_Task = -1; + mID_ExTask = -1; + mID_Task = -1; + mID_string_Task = $"{mID_Task}|{mID_ExTask}"; + mName_Task = "-1"; + mXianLuID_Task = -1; + mXianLuName_Task = "-1"; + mXianLuJLZL_Task = "-1"; + mDYDJ_Task = -1; + mStringDYDJ_Task = "-1"; + mFanJi_NaiLeiShuiPing = "-1"; + mRaoJi_NaiLeiShuiPing = "-1"; + mFanJi_TZL = "-1"; + mRaoJi_TZL = "-1"; + mIndex_HaiBaXiuZhengGongShi = -1; + mGanYingDianYaGongShi = "-1"; + mIndex_CurrentCurve = -1; + mCurveTimeHead = -1.0; + mCurveTimeHead_min = 2.0; + mCurveTimeHead_max = 2.0; + mCurveTimeHead_step = 0.1; + mCurveTimeTail = -1.0; + mCurveTimeTail_min = 40.0; + mCurveTimeTail_max = 40.0; + mCurveTimeTail_step = 1.0; + mTongDaoZuKang = 5.0; + mShanLuoPanJu = "-1"; + mIndex_DuoXiangNaiLeiShuiPing = 0; + mFName_Prepare = "-1"; + if (mTGanTas == null) + { + mTGanTas = new TGanTas(); + } + mTGanTas.mListTGanTaData.Clear(); + mPrepare11_LightingCurrent = 0; + mPrepare12_DiShanMiDu = 0; + mPrepare13_DiMianQingJiao = 0; + Finished1_PuTongJiSuan = 0; + Finished2_FengXianPingGu = 0; + Finished3_CuoShiTuiJian = 0; + Finished4_GaiZaoJiSuan = 0; + Complete = 0; + mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = 0; + mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = 0; + if (mListID_TGanTa == null) + { + mListID_TGanTa = new List(); + } + mListID_TGanTa.Clear(); + } + + public void Destroy() + { + mIndex__Data = 0; + mTypeCode_Task = 0; + mID_string_Task = ""; + mID_ExTask = 0; + mID_Task = 0; + mName_Task = ""; + mXianLuID_Task = 0; + mXianLuName_Task = ""; + mXianLuJLZL_Task = ""; + mDYDJ_Task = 0; + mStringDYDJ_Task = ""; + mFanJi_NaiLeiShuiPing = ""; + mRaoJi_NaiLeiShuiPing = ""; + mFanJi_TZL = ""; + mRaoJi_TZL = ""; + mIndex_HaiBaXiuZhengGongShi = 0; + mGanYingDianYaGongShi = ""; + mIndex_CurrentCurve = 0; + mCurveTimeHead = 0.0; + mCurveTimeHead_min = 0.0; + mCurveTimeHead_max = 0.0; + mCurveTimeHead_step = 0.0; + mCurveTimeTail = 0.0; + mCurveTimeTail_min = 0.0; + mCurveTimeTail_max = 0.0; + mCurveTimeTail_step = 0.0; + mTongDaoZuKang = 5.0; + mShanLuoPanJu = ""; + mIndex_DuoXiangNaiLeiShuiPing = 0; + mFName_Prepare = ""; + if (mTGanTas != null) + { + mTGanTas.Dispose(); + } + mTGanTas = null; + mPrepare11_LightingCurrent = 0; + mPrepare12_DiShanMiDu = 0; + mPrepare13_DiMianQingJiao = 0; + Finished1_PuTongJiSuan = 0; + Finished2_FengXianPingGu = 0; + Finished3_CuoShiTuiJian = 0; + Finished4_GaiZaoJiSuan = 0; + Complete = 0; + mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = 0; + mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = 0; + if (mListID_TGanTa != null) + { + mListID_TGanTa.Clear(); + } + mListID_TGanTa = null; + } + + public string MyToString() + { + string text = ""; + text += mID_string_Task; + text += $",{mID_Task}"; + text += $",{mID_ExTask}"; + text += $",{mTypeCode_Task}"; + text = text + "," + mName_Task; + text += $",{mXianLuID_Task}"; + text = text + "," + mXianLuName_Task; + text = text + "," + mXianLuJLZL_Task; + text += $",{mDYDJ_Task}"; + text = text + "," + mFanJi_NaiLeiShuiPing; + text = text + "," + mRaoJi_NaiLeiShuiPing; + text = text + "," + mFanJi_TZL; + text = text + "," + mRaoJi_TZL; + text += $",{mIndex_HaiBaXiuZhengGongShi}"; + text = text + "," + mGanYingDianYaGongShi; + text += $",{mIndex_CurrentCurve}"; + text += $",{mCurveTimeHead}"; + text += $",{mCurveTimeHead_min}"; + text += $",{mCurveTimeHead_max}"; + text += $",{mCurveTimeHead_step}"; + text += $",{mCurveTimeTail}"; + text += $",{mCurveTimeTail_min}"; + text += $",{mCurveTimeTail_max}"; + text += $",{mCurveTimeTail_step}"; + text += $",{mTongDaoZuKang}"; + text = text + "," + mShanLuoPanJu; + text += $",{mIndex_DuoXiangNaiLeiShuiPing}"; + text = text + "," + mFName_Prepare; + text += $",{mPrepare11_LightingCurrent}"; + text += $",{mPrepare12_DiShanMiDu}"; + text += $",{mPrepare13_DiMianQingJiao}"; + text += $",{Finished1_PuTongJiSuan}"; + text += $",{Finished2_FengXianPingGu}"; + text += $",{Finished3_CuoShiTuiJian}"; + text += $",{Finished4_GaiZaoJiSuan}"; + text += $",{Complete}"; + text += $",{mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian}"; + return text + $",{mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ}"; + } + + public static string MyHead_ToString() + { + string text = ""; + text += "ID描述字符串"; + text += ",任务编号"; + text += ",扩展任务编号"; + text += ",任务类别代码"; + text += ",任务名称"; + text += ",线路编号"; + text += ",线路名称"; + text += ",线路交流直流"; + text += ",电压等级"; + text += ",反击耐雷水平方法"; + text += ",绕击耐雷水平方法"; + text += ",反击跳闸率方法"; + text += ",绕击跳闸率方法"; + text += ",海拔修正推荐公式"; + text += ",感应电压公式"; + text += ",雷电流波形"; + text += ",波头时间"; + text += ",波头时间min"; + text += ",波头时间max"; + text += ",波头时间step"; + text += ",波尾时间"; + text += ",波尾时间min"; + text += ",波尾时间max"; + text += ",波尾时间step"; + text += ",通道阻抗"; + text += ",绝缘子闪络判据"; + text += ",多相耐雷水平"; + text += ",预处理数据文件名"; + text += ",就绪-雷电流幅值"; + text += ",就绪-地闪密度"; + text += ",就绪-地面倾角"; + text += ",完成-普通计算"; + text += ",完成-风险评估"; + text += ",完成-措施推荐"; + text += ",完成-同跳计算"; + text += ",总完成"; + text += ",措施推荐前驱任务"; + return text + ",加装避雷器前驱任务"; + } + + public void SetTaskData(int _index, int _id, int _typeCode_Task, string _nameTask, int _idXianlu, string _nameXianLu, string _jlzl, int _dydj) + { + mTypeCode_Task = _typeCode_Task; + mIndex__Data = _index; + mID_Task = _id; + mID_ExTask = 0; + mID_string_Task = $"{mID_Task}|{mID_ExTask}"; + mName_Task = _nameTask; + mXianLuID_Task = _idXianlu; + mXianLuName_Task = _nameXianLu; + mXianLuJLZL_Task = _jlzl; + mDYDJ_Task = _dydj; + mStringDYDJ_Task = $"{mDYDJ_Task}kV"; + } + + public void SetTaskData(int _index, TaskData _taskData) + { + mTypeCode_Task = _taskData.mTypeCode_Task; + mIndex__Data = _index; + mID_Task = _taskData.mID_Task; + mID_ExTask = _taskData.mID_ExTask; + mID_string_Task = $"{mID_Task}|{mID_ExTask}"; + mName_Task = _taskData.mName_Task; + mXianLuID_Task = _taskData.mXianLuID_Task; + mXianLuName_Task = _taskData.mXianLuName_Task; + mXianLuJLZL_Task = _taskData.mXianLuJLZL_Task; + mDYDJ_Task = _taskData.mDYDJ_Task; + mStringDYDJ_Task = $"{_taskData.mDYDJ_Task}kV"; + mFanJi_NaiLeiShuiPing = _taskData.mFanJi_NaiLeiShuiPing; + mRaoJi_NaiLeiShuiPing = _taskData.mRaoJi_NaiLeiShuiPing; + mFanJi_TZL = _taskData.mFanJi_TZL; + mRaoJi_TZL = _taskData.mRaoJi_TZL; + mIndex_HaiBaXiuZhengGongShi = _taskData.mIndex_HaiBaXiuZhengGongShi; + mGanYingDianYaGongShi = _taskData.mGanYingDianYaGongShi; + mIndex_CurrentCurve = _taskData.mIndex_CurrentCurve; + mCurveTimeHead = _taskData.mCurveTimeHead; + mCurveTimeHead_min = _taskData.mCurveTimeHead_min; + mCurveTimeHead_max = _taskData.mCurveTimeHead_max; + mCurveTimeHead_step = _taskData.mCurveTimeHead_step; + mCurveTimeTail = _taskData.mCurveTimeTail; + mCurveTimeTail_min = _taskData.mCurveTimeTail_min; + mCurveTimeTail_max = _taskData.mCurveTimeTail_max; + mCurveTimeTail_step = _taskData.mCurveTimeTail_step; + mTongDaoZuKang = _taskData.mTongDaoZuKang; + mShanLuoPanJu = _taskData.mShanLuoPanJu; + mIndex_DuoXiangNaiLeiShuiPing = _taskData.mIndex_DuoXiangNaiLeiShuiPing; + mFName_Prepare = _taskData.mFName_Prepare; + mTGanTas.CopyFrom_TGanTas(_taskData.mTGanTas); + mPrepare11_LightingCurrent = _taskData.mPrepare11_LightingCurrent; + mPrepare12_DiShanMiDu = _taskData.mPrepare12_DiShanMiDu; + mPrepare13_DiMianQingJiao = _taskData.mPrepare13_DiMianQingJiao; + Finished1_PuTongJiSuan = _taskData.Finished1_PuTongJiSuan; + Finished2_FengXianPingGu = _taskData.Finished2_FengXianPingGu; + Finished3_CuoShiTuiJian = _taskData.Finished3_CuoShiTuiJian; + Finished4_GaiZaoJiSuan = _taskData.Finished4_GaiZaoJiSuan; + Complete = _taskData.Complete; + mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = _taskData.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian; + mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = _taskData.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ; + } + + public void copyFrom_TaskData(TaskData _source) + { + mTypeCode_Task = _source.mTypeCode_Task; + mIndex__Data = _source.mIndex__Data; + mID_Task = _source.mID_Task; + mID_ExTask = _source.mID_ExTask; + mID_string_Task = _source.mID_string_Task; + mName_Task = _source.mName_Task; + mXianLuID_Task = _source.mXianLuID_Task; + mXianLuName_Task = _source.mXianLuName_Task; + mXianLuJLZL_Task = _source.mXianLuJLZL_Task; + mDYDJ_Task = _source.mDYDJ_Task; + mStringDYDJ_Task = $"{_source.mDYDJ_Task}kV"; + mFanJi_NaiLeiShuiPing = _source.mFanJi_NaiLeiShuiPing; + mRaoJi_NaiLeiShuiPing = _source.mRaoJi_NaiLeiShuiPing; + mFanJi_TZL = _source.mFanJi_TZL; + mRaoJi_TZL = _source.mRaoJi_TZL; + mIndex_HaiBaXiuZhengGongShi = _source.mIndex_HaiBaXiuZhengGongShi; + mGanYingDianYaGongShi = _source.mGanYingDianYaGongShi; + mIndex_CurrentCurve = _source.mIndex_CurrentCurve; + mCurveTimeHead = _source.mCurveTimeHead; + mCurveTimeHead_min = _source.mCurveTimeHead_min; + mCurveTimeHead_max = _source.mCurveTimeHead_max; + mCurveTimeHead_step = _source.mCurveTimeHead_step; + mCurveTimeTail = _source.mCurveTimeTail; + mCurveTimeTail_min = _source.mCurveTimeTail_min; + mCurveTimeTail_max = _source.mCurveTimeTail_max; + mCurveTimeTail_step = _source.mCurveTimeTail_step; + mTongDaoZuKang = _source.mTongDaoZuKang; + mShanLuoPanJu = _source.mShanLuoPanJu; + mIndex_DuoXiangNaiLeiShuiPing = _source.mIndex_DuoXiangNaiLeiShuiPing; + mFName_Prepare = _source.mFName_Prepare; + mTGanTas.CopyFrom_TGanTas(_source.mTGanTas); + mPrepare11_LightingCurrent = _source.mPrepare11_LightingCurrent; + mPrepare12_DiShanMiDu = _source.mPrepare12_DiShanMiDu; + mPrepare13_DiMianQingJiao = _source.mPrepare13_DiMianQingJiao; + Finished1_PuTongJiSuan = _source.Finished1_PuTongJiSuan; + Finished2_FengXianPingGu = _source.Finished2_FengXianPingGu; + Finished3_CuoShiTuiJian = _source.Finished3_CuoShiTuiJian; + Finished4_GaiZaoJiSuan = _source.Finished4_GaiZaoJiSuan; + Complete = _source.Complete; + mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian = _source.mTaskID_QianQu_PuTongOrTongTiao_CuoShiTuiJian; + mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ = _source.mTaskID_QianQu_PuTongOrTongTiao_JiaZhuangBLQ; + } + + public bool Permit_CuoShiTuiJian() + { + bool result = false; + if (Finished1_PuTongJiSuan == 1 && Finished3_CuoShiTuiJian == 0) + { + return true; + } + return result; + } + + public bool Permit_FengXianPingGu() + { + bool result = false; + if (Finished1_PuTongJiSuan == 1 && Finished2_FengXianPingGu == 0) + { + return true; + } + return result; + } + + public bool Permit_PuTongJiSuan() + { + bool result = false; + if (mPrepare11_LightingCurrent == 1 && mPrepare12_DiShanMiDu == 1 && mPrepare13_DiMianQingJiao == 1) + { + return true; + } + return result; + } +} diff --git a/LP/TaskDetail.cs b/LP/TaskDetail.cs new file mode 100644 index 0000000..aed3526 --- /dev/null +++ b/LP/TaskDetail.cs @@ -0,0 +1,51 @@ +namespace LP; + +public class TaskDetail +{ + public int mTaskID_Detail = 0; + + public int mXianLuID_Detail = 0; + + public TaskData mTaskData = null; + + public TaskControl mTaskControl = null; + + public TaskGroup mTaskGroup = null; + + public TaskDetail() + { + mTaskID_Detail = 0; + mXianLuID_Detail = 0; + if (mTaskData == null) + { + mTaskData = new TaskData(); + } + if (mTaskControl == null) + { + mTaskControl = new TaskControl(); + } + if (mTaskGroup == null) + { + mTaskGroup = new TaskGroup(); + } + } + + public void Destroy() + { + if (mTaskData != null) + { + mTaskData.Destroy(); + } + mTaskData = null; + if (mTaskControl != null) + { + mTaskControl.Dispose(); + } + mTaskControl = null; + if (mTaskGroup != null) + { + mTaskGroup.Destroy(); + } + mTaskGroup = null; + } +} diff --git a/LP/TaskGroup.cs b/LP/TaskGroup.cs new file mode 100644 index 0000000..d0b7be9 --- /dev/null +++ b/LP/TaskGroup.cs @@ -0,0 +1,51 @@ +using System.Collections.Generic; + +namespace LP; + +public class TaskGroup +{ + public int mID_Task = 0; + + public List mListExTaskData = null; + + public TaskGroup() + { + mID_Task = 0; + if (mListExTaskData == null) + { + mListExTaskData = new List(); + } + mListExTaskData.Clear(); + } + + public void copyFrom_TaskGroup(TaskGroup _source) + { + mID_Task = _source.mID_Task; + if (mListExTaskData == null) + { + mListExTaskData = new List(); + } + mListExTaskData.Clear(); + TaskData taskData = null; + for (int i = 0; i < _source.mListExTaskData.Count; i++) + { + taskData = new TaskData(); + taskData.copyFrom_TaskData(_source.mListExTaskData[i]); + mListExTaskData.Add(taskData); + } + } + + public void Destroy() + { + if (mListExTaskData != null) + { + for (int i = 0; i < mListExTaskData.Count; i++) + { + mListExTaskData[i].Destroy(); + mListExTaskData[i] = null; + } + mListExTaskData.Clear(); + mListExTaskData = null; + } + } +} diff --git a/LP/XianLu.cs b/LP/XianLu.cs new file mode 100644 index 0000000..5060916 --- /dev/null +++ b/LP/XianLu.cs @@ -0,0 +1,1452 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace LP; + +public class XianLu +{ + public static object mLockObj; + + public FlowLayoutPanel mRQ = null; + + public Panel mPanel1st = null; + + public Label mLabelName1st = null; + + public Label mLabelJLZL1st = null; + + public Label mLabelDYDJ1st = null; + + public Label mLabelGanTa1st = null; + + public CheckBox mCheckBoxXianLu1st = null; + + public List mListXianLuData = null; + + public List mListXianLuControl = null; + + public List mListGanTas = null; + + public double mCurrent_a_All_GanTa = 0.0; + + public double mCurrent_b_All_GanTa = 0.0; + + public bool mCurrent_a_b_Ready = false; + + static XianLu() + { + mLockObj = null; + mLockObj = new object(); + } + + public XianLu() + { + MySet_RongQi(null); + if (mListXianLuData == null) + { + mListXianLuData = new List(); + } + if (mListXianLuControl == null) + { + mListXianLuControl = new List(); + } + if (mListGanTas == null) + { + mListGanTas = new List(); + } + MyClear_ListXianLu(); + } + + public void MySet_RongQi(FlowLayoutPanel _rq) + { + mRQ = _rq; + } + + public void MyClear_ListXianLu() + { + mListXianLuData.Clear(); + mListXianLuControl.Clear(); + mListGanTas.Clear(); + } + + public void Destroy() + { + mRQ.Controls.Clear(); + for (int i = 0; i < mListXianLuControl.Count; i++) + { + mListXianLuControl[i].Dispose(); + } + for (int j = 0; j < mListGanTas.Count; j++) + { + mListGanTas[j].Dispose(); + } + MyClear_ListXianLu(); + } + + public void MySet_Control1st(Panel _panel, Label _label_name, Label _label_jlzl, Label _label_DYDJ, Label _label_GanTa, CheckBox _checkBox_XianLu) + { + mPanel1st = _panel; + mLabelName1st = _label_name; + mLabelJLZL1st = _label_jlzl; + mLabelDYDJ1st = _label_DYDJ; + mLabelGanTa1st = _label_GanTa; + mCheckBoxXianLu1st = _checkBox_XianLu; + } + + public void Add1XianLuData(int _huiluNo, string _name_XianLu, string _jlzl_XianLu, int _dydj_XianLu, int _gantaNum_XianLu, int _id, int _pre1_LightingCurrent, int _pre2_DiShanMiDu, int _pre3_DiMianQingJiao, bool _isCreate = true) + { + int count = mListXianLuData.Count; + XianLuData xianLuData = new XianLuData(); + lock (mLockObj) + { + if (_isCreate) + { + xianLuData.SetXianLuData(count, XianLuData.mNextID_static, _huiluNo, _name_XianLu, _jlzl_XianLu, _dydj_XianLu, _gantaNum_XianLu, _pre1_LightingCurrent, _pre2_DiShanMiDu, _pre3_DiMianQingJiao); + XianLuData.mNextID_static++; + } + if (!_isCreate) + { + xianLuData.SetXianLuData(count, _id, _huiluNo, _name_XianLu, _jlzl_XianLu, _dydj_XianLu, _gantaNum_XianLu, _pre1_LightingCurrent, _pre2_DiShanMiDu, _pre3_DiMianQingJiao); + if (XianLuData.mNextID_static <= _id) + { + XianLuData.mNextID_static = _id + 1; + } + } + } + mListXianLuData.Add(xianLuData); + CheckXianLuData_1Level("Add1XianLuData()", count); + } + + private void CheckXianLuData_1Level(string _where, int _index) + { + if (_index < 0) + { + MyLog.AddLog($"[自查CheckXianLuData_1Level()] {_where} 参数2:_index={_index}"); + return; + } + XianLuData xianLuData = mListXianLuData[_index]; + string text = ""; + if (xianLuData.mIndex__Data < 0) + { + text += $" mIndex__Data={xianLuData.mIndex__Data}"; + } + if (xianLuData.mID_XianLu <= 0) + { + text += $" mID_XianLu={xianLuData.mID_XianLu}"; + } + if (xianLuData.mName_XianLu.Equals("-1")) + { + text += " mName_XianLu=-1"; + } + if (xianLuData.mJLZL_XianLu.Equals("-1")) + { + text += " mJLZL_XianLu=-1"; + } + if (xianLuData.mDYDJ_XianLu < 0) + { + text += $" mDYDY_XianLu={xianLuData.mDYDJ_XianLu}"; + } + if (xianLuData.mStringDYDJ_XianLu.Equals("-1")) + { + text += " mStringDYDY_XianLu=-1"; + } + if (xianLuData.mGanTaNumber_XianLu < 0) + { + text += $" mGanTaNumber_XianLu={xianLuData.mGanTaNumber_XianLu}"; + } + if (xianLuData.mStringGanTaNumber_XianLu.Equals("-1")) + { + text += " mStringGanTaNumber_XianLu=-1"; + } + if (!string.IsNullOrEmpty(text)) + { + text = $"index={_index}" + text; + MyLog.AddLog("[自查CheckXianLuData_1Level()] " + _where + " " + text); + } + } + + public void Add1XianLuControl(int _huiluNo, string _name_XianLu, string _JLZL_XianLu, int _dydj_XianLu, int _gantaNum_XianLu, int _id, int _pre1_LightingCurrent, int _pre2_DiShanMiDu, int _pre3_DiMianQingJiao, bool _isCreate = true) + { + Add1XianLuData(_huiluNo, _name_XianLu, _JLZL_XianLu, _dydj_XianLu, _gantaNum_XianLu, _id, _pre1_LightingCurrent, _pre2_DiShanMiDu, _pre3_DiMianQingJiao, _isCreate); + int count = mListXianLuControl.Count; + XianLuControl xianLuControl = new XianLuControl(); + xianLuControl.mIndex__Control = count; + xianLuControl.mID_Control = mListXianLuData[count].mID_XianLu; + Panel panel = new Panel(); + panel.Font = mPanel1st.Font; + panel.Location = new Point(mPanel1st.Location.X, mPanel1st.Location.Y + count * (mPanel1st.Height + mPanel1st.Margin.All * 2)); + panel.Size = mPanel1st.Size; + panel.BorderStyle = mPanel1st.BorderStyle; + panel.ContextMenuStrip = mPanel1st.ContextMenuStrip; + panel.ContextMenuStrip.Tag = xianLuControl.mID_Control; + for (int i = 0; i < panel.ContextMenuStrip.Items.Count; i++) + { + panel.ContextMenuStrip.Items[i].Tag = xianLuControl.mID_Control; + } + panel.Controls.Clear(); + panel.Tag = xianLuControl.mID_Control; + Label label = null; + label = new Label(); + label.Font = mLabelName1st.Font; + label.Location = mLabelName1st.Location; + label.AutoSize = true; + label.Text = _name_XianLu; + panel.Controls.Add(label); + xianLuControl.mName_XianLu_Label = label; + label = new Label(); + label.Font = mLabelJLZL1st.Font; + label.Location = mLabelJLZL1st.Location; + label.AutoSize = true; + label.Text = _JLZL_XianLu; + panel.Controls.Add(label); + xianLuControl.mJLZL_XianLu_Label = label; + label = new Label(); + label.Font = mLabelDYDJ1st.Font; + label.Location = mLabelDYDJ1st.Location; + label.AutoSize = true; + label.Text = mListXianLuData[count].mStringDYDJ_XianLu; + panel.Controls.Add(label); + xianLuControl.mDYDJ_XianLu_Label = label; + label = new Label(); + label.Font = mLabelGanTa1st.Font; + label.Location = mLabelGanTa1st.Location; + label.AutoSize = true; + label.Text = mListXianLuData[count].mStringGanTaNumber_XianLu; + panel.Controls.Add(label); + xianLuControl.mGanTaNumber_XianLu_Label = label; + CheckBox checkBox = new CheckBox(); + checkBox.Font = mCheckBoxXianLu1st.Font; + checkBox.Location = mCheckBoxXianLu1st.Location; + checkBox.AutoSize = true; + checkBox.Text = mCheckBoxXianLu1st.Text; + checkBox.CheckState = (mListXianLuData[count].mShow_XianLu ? CheckState.Checked : CheckState.Unchecked); + checkBox.Tag = mListXianLuData[count].mID_XianLu; + panel.Controls.Add(checkBox); + xianLuControl.mShow_XianLu_CheckBox = checkBox; + panel.Visible = true; + xianLuControl.mPanel_XianLu = panel; + mListXianLuControl.Add(xianLuControl); + mRQ.Controls.Add(panel); + CheckXianLuControl_1Level("Add1XianLuControl()", count); + GanTas ganTas = new GanTas(); + ganTas.SetXianLuData(mListXianLuData[count]); + mListGanTas.Add(ganTas); + } + + private void CheckXianLuControl_1Level(string _where, int _index) + { + if (_index < 0) + { + MyLog.AddLog($"[自查CheckXianLuControl_1Level()] {_where} 参数2:_index={_index}"); + return; + } + XianLuControl xianLuControl = mListXianLuControl[_index]; + string text = ""; + if (xianLuControl.mIndex__Control < 0) + { + text += $" mIndex__Control={xianLuControl.mIndex__Control}"; + } + if (xianLuControl.mID_Control <= 0) + { + text += $" mID_Control={xianLuControl.mID_Control}"; + } + if (xianLuControl.mPanel_XianLu == null) + { + text += " mPanel_XianLu=null"; + } + if (xianLuControl.mName_XianLu_Label == null) + { + text += " mName_XianLu_Label=null"; + } + if (xianLuControl.mJLZL_XianLu_Label == null) + { + text += " mJLZL_XianLu_Label=null"; + } + if (xianLuControl.mDYDJ_XianLu_Label == null) + { + text += " mDYDY_XianLu_Label=null"; + } + if (xianLuControl.mGanTaNumber_XianLu_Label == null) + { + text += " mGanTaNumber_XianLu_Label=null"; + } + if (!string.IsNullOrEmpty(text)) + { + text = $"index={_index}" + text; + MyLog.AddLog("[自查CheckXianLuControl_1Level()] " + _where + " " + text); + } + } + + public string Delete1_XianLuControl_and_XianLuData(int _index) + { + string result = "OK"; + try + { + if (_index >= 0 && _index < mListGanTas.Count) + { + mListGanTas[_index].Dispose(); + mListGanTas[_index] = null; + mListGanTas.RemoveAt(_index); + } + if (_index >= 0 && _index < mListXianLuControl.Count) + { + mListXianLuControl[_index].Dispose(); + mListXianLuControl[_index] = null; + mListXianLuControl.RemoveAt(_index); + } + if (_index >= 0 && _index < mListXianLuData.Count) + { + mListXianLuData[_index].Destroy(); + mListXianLuData[_index] = null; + mListXianLuData.RemoveAt(_index); + } + } + catch (Exception ex) + { + result = ex.Message; + } + return result; + } + + public Panel GetLastXianLuControl_Panel() + { + Panel result = null; + if (mListXianLuControl.Count == 0) + { + return result; + } + int num = -1; + num = mListXianLuControl.Count - 1; + return mListXianLuControl[num].mPanel_XianLu; + } + + public XianLuData GetLastXianLuData() + { + XianLuData result = null; + if (mListXianLuData.Count == 0) + { + return result; + } + int num = -1; + num = mListXianLuData.Count - 1; + return mListXianLuData[num]; + } + + public Panel GetXianLuControl_Panel(int _index) + { + Panel result = null; + if (_index < 0 || _index >= mListXianLuControl.Count) + { + MyLog.AddLog($"GetXianLuControl_Panel(_index) 参数1无效:{_index}"); + return result; + } + return mListXianLuControl[_index].mPanel_XianLu; + } + + public int MyLoadXianLu(string _filename) + { + int result = 0; + if (string.IsNullOrEmpty(_filename)) + { + MyLog.AddLog("MyLoadXianLu(_fileName) 参数1为空:线路数据文件名。"); + return result; + } + if (!File.Exists(_filename)) + { + MyLog.AddLog("MyLoadXianLu(_fileName) 文件未找到! 文件名=" + _filename); + return result; + } + bool flag = false; + int i = -1; + int num = 0; + int num2 = 0; + string[] array = new string[2] { "", "" }; + string[] array2 = new string[2] { "", "" }; + string text = ""; + string[] separator = new string[3] { "\r", "\n", "," }; + string[] array3 = null; + int num3 = 0; + int num4 = 0; + string text2 = ""; + string text3 = ""; + int num5 = 0; + int num6 = 0; + int num7 = 0; + int num8 = 0; + int num9 = 0; + int num10 = 0; + double num11 = 0.0; + Encoding[] array4 = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num12 = 0; + bool flag2 = false; + for (int j = 0; j < array4.Length; j++) + { + try + { + using FileStream fileStream = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream, array4[j])) + { + text = streamReader.ReadToEnd().Trim(); + if (string.IsNullOrEmpty(text) || text.IndexOf("线路") >= 0 || text.IndexOf("杆塔") >= 0) + { + num12 = j; + flag2 = true; + } + streamReader.Close(); + } + fileStream.Close(); + } + catch (Exception) + { + } + if (flag2) + { + break; + } + } + using (FileStream fileStream2 = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None)) + { + using (StreamReader streamReader2 = new StreamReader(fileStream2, array4[num12])) + { + while (!streamReader2.EndOfStream) + { + text = streamReader2.ReadLine().Trim(); + if (string.IsNullOrEmpty(text)) + { + continue; + } + if (!flag) + { + for (i = 0; i < array.Length; i++) + { + if (text.IndexOf(array[i]) >= 0) + { + flag = true; + num = 0; + break; + } + } + if (!flag || array[i].IndexOf("") < 0) + { + continue; + } + array3 = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + if (array3.Length >= 3) + { + try + { + num11 = Convert.ToDouble(array3[1]); + } + catch (Exception) + { + num11 = 31.0; + } + mCurrent_a_All_GanTa = num11; + try + { + num11 = Convert.ToDouble(array3[2]); + } + catch (Exception) + { + num11 = 2.8; + } + mCurrent_b_All_GanTa = num11; + mCurrent_a_b_Ready = true; + } + else + { + mCurrent_a_b_Ready = false; + } + continue; + } + if (flag) + { + for (int k = 0; k < array2.Length; k++) + { + if (text.IndexOf(array2[k]) >= 0) + { + flag = false; + i = -1; + break; + } + } + if (!flag) + { + continue; + } + } + string text4 = array[i]; + string text5 = text4; + if (!(text5 == "")) + { + if (text5 == "") + { + num++; + } + continue; + } + array3 = text.Split(separator, StringSplitOptions.RemoveEmptyEntries); + if (num == 0) + { + num7 = 0; + } + if (array3.Length >= 9) + { + try + { + num2 = Convert.ToInt32(array3[0]); + } + catch (Exception) + { + num2 = 1; + } + num4 = num2; + try + { + num2 = Convert.ToInt32(array3[1]); + } + catch (Exception) + { + num2 = XianLuData.mNextID_static; + } + num3 = num2; + text2 = array3[2].Trim(); + text3 = array3[3].Trim(); + try + { + num2 = Convert.ToInt32(array3[4]); + } + catch (Exception) + { + num2 = -1; + } + num5 = num2; + try + { + num2 = Convert.ToInt32(array3[5]); + } + catch (Exception) + { + num2 = -1; + } + num6 = num2; + try + { + num2 = Convert.ToInt32(array3[6]); + } + catch (Exception) + { + num2 = 0; + } + num8 = num2; + try + { + num2 = Convert.ToInt32(array3[7]); + } + catch (Exception) + { + num2 = 0; + } + num9 = num2; + try + { + num2 = Convert.ToInt32(array3[8]); + } + catch (Exception) + { + num2 = 0; + } + num10 = num2; + Add1XianLuControl(num4, text2, text3, num5, num6, num3, num8, num9, num10); + num7++; + } + else if (array3.Length >= 6) + { + try + { + num2 = Convert.ToInt32(array3[0]); + } + catch (Exception) + { + num2 = 1; + } + num4 = num2; + try + { + num2 = Convert.ToInt32(array3[1]); + } + catch (Exception) + { + num2 = XianLuData.mNextID_static; + } + num3 = num2; + text2 = array3[2].Trim(); + text3 = array3[3].Trim(); + try + { + num2 = Convert.ToInt32(array3[4]); + } + catch (Exception) + { + num2 = -1; + } + num5 = num2; + try + { + num2 = Convert.ToInt32(array3[5]); + } + catch (Exception) + { + num2 = -1; + } + num6 = num2; + Add1XianLuControl(num4, text2, text3, num5, num6, num3, 0, 0, 0); + num7++; + } + else if (array3.Length == 5) + { + try + { + num2 = Convert.ToInt32(array3[0]); + } + catch (Exception) + { + num2 = 1; + } + num4 = num2; + text2 = array3[1].Trim(); + text3 = array3[2].Trim(); + try + { + num2 = Convert.ToInt32(array3[3]); + } + catch (Exception) + { + num2 = -1; + } + num5 = num2; + try + { + num2 = Convert.ToInt32(array3[4]); + } + catch (Exception) + { + num2 = -1; + } + num6 = num2; + Add1XianLuControl(num4, text2, text3, num5, num6, XianLuData.mNextID_static, 0, 0, 0); + num7++; + } + num++; + } + streamReader2.Close(); + } + fileStream2.Close(); + } + return num7; + } + + public int MySaveXianLu(string _filename) + { + int result = 0; + if (string.IsNullOrEmpty(_filename)) + { + MyLog.AddLog("MySaveXianLu(_fileName) 参数1为空:线路数据文件名。"); + return result; + } + int num = 0; + int num2 = -1; + string[] array = new string[2] { "", "" }; + string[] array2 = new string[2] { "", "" }; + XianLuData xianLuData = null; + using (FileStream fileStream = new FileStream(_filename, FileMode.Create, FileAccess.Write, FileShare.None)) + { + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + for (num2 = 0; num2 < array.Length; num2++) + { + string text = array[num2]; + string text2 = text; + if (text2 == "") + { + num = 0; + streamWriter.WriteLine(XianLuData.MyHead_ToString()); + streamWriter.WriteLine($"{array[num2]},{mCurrent_a_All_GanTa},{mCurrent_b_All_GanTa}"); + for (int i = 0; i < mListXianLuData.Count; i++) + { + xianLuData = mListXianLuData[i]; + streamWriter.WriteLine(xianLuData.MyToString()); + num++; + } + if (num2 < array2.Length) + { + streamWriter.WriteLine(array2[num2]); + } + else + { + streamWriter.WriteLine(array[num2].Replace("<", "", "" }; + string[] array2 = new string[2] { "", "" }; + string text = ""; + string[] separator = new string[3] { "\r", "\n", "," }; + string[] array3 = null; + GanTaData ganTaData = null; + XianLuData xianLuData = null; + int num4 = 0; + int num5 = 0; + string text2 = ""; + Dictionary dictionary = new Dictionary(); + dictionary.Clear(); + bool flag2 = false; + int index = 0; + bool flag3 = false; + Encoding[] array4 = new Encoding[6] + { + Encoding.UTF8, + Encoding.Default, + Encoding.ASCII, + Encoding.Unicode, + Encoding.UTF7, + Encoding.UTF32 + }; + int num6 = 0; + bool flag4 = false; + for (int j = 0; j < array4.Length; j++) + { + try + { + using FileStream fileStream = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader = new StreamReader(fileStream, array4[j])) + { + text = streamReader.ReadToEnd().Trim(); + if (string.IsNullOrEmpty(text) || text.IndexOf("线路") >= 0 || text.IndexOf("杆塔") >= 0) + { + num6 = j; + flag4 = true; + } + streamReader.Close(); + } + fileStream.Close(); + } + catch (Exception) + { + } + if (flag4) + { + break; + } + } + try + { + using FileStream fileStream2 = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.None); + using (StreamReader streamReader2 = new StreamReader(fileStream2, array4[num6])) + { + while (!streamReader2.EndOfStream) + { + text = streamReader2.ReadLine().Trim(); + if (string.IsNullOrEmpty(text)) + { + continue; + } + if (!flag) + { + for (i = 0; i < array.Length; i++) + { + if (text.IndexOf(array[i]) >= 0) + { + flag = true; + num = 0; + break; + } + } + continue; + } + if (flag) + { + for (int k = 0; k < array2.Length; k++) + { + if (text.IndexOf(array2[k]) >= 0) + { + flag = false; + i = -1; + break; + } + } + if (!flag) + { + continue; + } + } + string text3 = array[i]; + string text4 = text3; + if (!(text4 == "")) + { + if (text4 == "") + { + num++; + } + continue; + } + array3 = text.Split(separator, StringSplitOptions.None); + if (num == 0) + { + num4 = 0; + } + if (num == 0 && text.IndexOf("塔号") >= 0) + { + for (int l = 0; l < array3.Length; l++) + { + dictionary.Add(array3[l], l); + } + num++; + num4 = 0; + flag2 = true; + continue; + } + if (array3.Length >= 65) + { + ganTaData = new GanTaData(); + if (flag2) + { + for (int m = 0; m < array3.Length; m++) + { + text2 = dictionary.ElementAt(m).Key; + num5 = dictionary.ElementAt(m).Value; + if (array3[num5] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num5].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num5].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + switch (text2) + { + case "线路编号": + ganTaData.mXianLuID = num2; + break; + case "序号": + ganTaData.mIndex__GanTa = num2; + break; + case "线路名称": + ganTaData.mXianLuName = array3[num5].Trim(); + break; + case "电压等级": + ganTaData.mDYDJ_GanTa = num2; + break; + case "塔号": + ganTaData.mID_GanTa = array3[num5].Trim(); + break; + case "杆塔模型": + ganTaData.mModel_GanTa = array3[num5].Trim(); + break; + case "塔形": + ganTaData.mTaXing_GanTa = array3[num5].Trim(); + break; + case "经度": + ganTaData.mJingDu_GanTa = num3; + break; + case "纬度": + ganTaData.mWeiDu_GanTa = num3; + break; + case "I回相序": + ganTaData.mXiangXu1_GanTa = array3[num5].Trim(); + break; + case "II回相序": + ganTaData.mXiangXu2_GanTa = array3[num5].Trim(); + break; + case "III回相序": + ganTaData.mXiangXu3_GanTa = array3[num5].Trim(); + break; + case "IV回相序": + ganTaData.mXiangXu4_GanTa = array3[num5].Trim(); + break; + case "A相是否安装避雷器": + ganTaData.mBLQ_A_GanTa = array3[num5].Trim(); + break; + case "B相是否安装避雷器": + ganTaData.mBLQ_B_GanTa = array3[num5].Trim(); + break; + case "C相是否安装避雷器": + ganTaData.mBLQ_C_GanTa = array3[num5].Trim(); + break; + case "接地电阻": + ganTaData.mJDDZ_GanTa = num3; + break; + case "左避雷中距m": + ganTaData.mBLZJ_L_GanTa = num3; + break; + case "右避雷中距m": + ganTaData.mBLZJ_R_GanTa = num3; + break; + case "避雷线高度m": + ganTaData.mBLXGD_GanTa = num3; + break; + case "绝缘子串长度mm": + ganTaData.mJYZCD_GanTa = num3; + break; + case "杆塔呼高m": + ganTaData.mHuGao_GanTa = num3; + break; + case "I回上相中距m": + ganTaData.m1ZJ_Shang_GanTa = num3; + break; + case "I回中相中距m": + ganTaData.m1ZJ_Zhong_GanTa = num3; + break; + case "I回下相中距m": + ganTaData.m1ZJ_Xia_GanTa = num3; + break; + case "I回上相高度m": + ganTaData.m1GD_Shang_GanTa = num3; + break; + case "I回中相高度m": + ganTaData.m1GD_Zhong_GanTa = num3; + break; + case "I回下相高度m": + ganTaData.m1GD_Xia_GanTa = num3; + break; + case "II回上相中距m": + ganTaData.m2ZJ_Shang_GanTa = num3; + break; + case "II回中相中距m": + ganTaData.m2ZJ_Zhong_GanTa = num3; + break; + case "II回下相中距m": + ganTaData.m2ZJ_Xia_GanTa = num3; + break; + case "II回上相高度m": + ganTaData.m2GD_Shang_GanTa = num3; + break; + case "II回中相高度m": + ganTaData.m2GD_Zhong_GanTa = num3; + break; + case "II回下相高度m": + ganTaData.m2GD_Xia_GanTa = num3; + break; + case "III回上相中距m": + ganTaData.m3ZJ_Shang_GanTa = num3; + break; + case "III回中相中距m": + ganTaData.m3ZJ_Zhong_GanTa = num3; + break; + case "III回下相中距m": + ganTaData.m3ZJ_Xia_GanTa = num3; + break; + case "III回上相高度m": + ganTaData.m3GD_Shang_GanTa = num3; + break; + case "III回中相高度m": + ganTaData.m3GD_Zhong_GanTa = num3; + break; + case "III回下相高度m": + ganTaData.m3GD_Xia_GanTa = num3; + break; + case "IV回上相中距m": + ganTaData.m4ZJ_Shang_GanTa = num3; + break; + case "IV回中相中距m": + ganTaData.m4ZJ_Zhong_GanTa = num3; + break; + case "IV回下相中距m": + ganTaData.m4ZJ_Xia_GanTa = num3; + break; + case "IV回上相高度m": + ganTaData.m4GD_Shang_GanTa = num3; + break; + case "IV回中相高度m": + ganTaData.m4GD_Zhong_GanTa = num3; + break; + case "IV回下相高度m": + ganTaData.m4GD_Xia_GanTa = num3; + break; + case "小号侧档距": + ganTaData.mXiaoHao_GanTa = num3; + break; + case "大号侧档距": + ganTaData.mDaHao_GanTa = num3; + break; + case "电角度": + ganTaData.mAngle_GanTa = num3; + break; + case "雷电流幅值a": + ganTaData.mCurrent_a_GanTa = num3; + break; + case "雷电流幅值b": + ganTaData.mCurrent_b_GanTa = num3; + break; + case "地面倾角1": + ganTaData.mDMQJ1_GanTa = num3; + break; + case "地面倾角2": + ganTaData.mDMQJ2_GanTa = num3; + break; + case "海拔m": + ganTaData.mHaiBa_GanTa = num3; + break; + case "地形": + ganTaData.mDiXing_GanTa = array3[num5].Trim(); + break; + case "地闪密度": + ganTaData.mDSMD_GanTa = num3; + break; + case "直线或耐张杆塔": + ganTaData.mZXNZ_GanTa = array3[num5].Trim(); + break; + case "绕击反击": + ganTaData.mRaoJiFanJi_GanTa = num2; + break; + case "反击耐雷水平kA": + ganTaData.mFJ_NLSP_GanTa = num3; + break; + case "反击跳闸率(次/100km.a)": + ganTaData.mFJ_TZL_GanTa = num3; + break; + case "绕击耐雷水平kA": + ganTaData.mRJ_NLSP_GanTa = num3; + break; + case "绕击跳闸率(次/100km.a)": + ganTaData.mRJ_TZL_GanTa = num3; + break; + case "雷击风险等级": + ganTaData.mFXDJ_GanTa = num2; + break; + case "原因分析": + ganTaData.m_YuanYinFenXi_GanTa = array3[num5].Trim().Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case "措施推荐": + ganTaData.m_CuoShiTuiJian_GanTa = array3[num5].Trim().Replace("\\r", "\r").Replace("\\n", "\n"); + break; + } + } + } + else if (!flag2) + { + for (num5 = 0; num5 < array3.Length; num5++) + { + if (array3[num5] == null) + { + num2 = 0; + num3 = 0.0; + } + else + { + try + { + num2 = Convert.ToInt32(array3[num5].Trim()); + } + catch (Exception) + { + num2 = 1; + } + try + { + num3 = Convert.ToDouble(array3[num5].Trim()); + } + catch (Exception) + { + num3 = 1.0; + } + } + switch (num5) + { + case 0: + ganTaData.mXianLuID = num2; + break; + case 1: + ganTaData.mIndex__GanTa = num2; + break; + case 2: + ganTaData.mXianLuName = array3[num5].Trim(); + break; + case 3: + ganTaData.mDYDJ_GanTa = num2; + break; + case 4: + ganTaData.mID_GanTa = array3[num5].Trim(); + break; + case 5: + ganTaData.mModel_GanTa = array3[num5].Trim(); + break; + case 6: + ganTaData.mTaXing_GanTa = array3[num5].Trim(); + break; + case 7: + ganTaData.mJingDu_GanTa = num3; + break; + case 8: + ganTaData.mWeiDu_GanTa = num3; + break; + case 9: + ganTaData.mXiangXu1_GanTa = array3[num5].Trim(); + break; + case 10: + ganTaData.mXiangXu2_GanTa = array3[num5].Trim(); + break; + case 11: + ganTaData.mXiangXu3_GanTa = array3[num5].Trim(); + break; + case 12: + ganTaData.mXiangXu4_GanTa = array3[num5].Trim(); + break; + case 13: + ganTaData.mBLQ_A_GanTa = array3[num5].Trim(); + break; + case 14: + ganTaData.mBLQ_B_GanTa = array3[num5].Trim(); + break; + case 15: + ganTaData.mBLQ_C_GanTa = array3[num5].Trim(); + break; + case 16: + ganTaData.mJDDZ_GanTa = num3; + break; + case 17: + ganTaData.mBLZJ_L_GanTa = num3; + break; + case 18: + ganTaData.mBLZJ_R_GanTa = num3; + break; + case 19: + ganTaData.mBLXGD_GanTa = num3; + break; + case 20: + ganTaData.mJYZCD_GanTa = num3; + break; + case 21: + ganTaData.mHuGao_GanTa = num3; + break; + case 22: + ganTaData.m1ZJ_Shang_GanTa = num3; + break; + case 23: + ganTaData.m1ZJ_Zhong_GanTa = num3; + break; + case 24: + ganTaData.m1ZJ_Xia_GanTa = num3; + break; + case 25: + ganTaData.m1GD_Shang_GanTa = num3; + break; + case 26: + ganTaData.m1GD_Zhong_GanTa = num3; + break; + case 27: + ganTaData.m1GD_Xia_GanTa = num3; + break; + case 28: + ganTaData.m2ZJ_Shang_GanTa = num3; + break; + case 29: + ganTaData.m2ZJ_Zhong_GanTa = num3; + break; + case 30: + ganTaData.m2ZJ_Xia_GanTa = num3; + break; + case 31: + ganTaData.m2GD_Shang_GanTa = num3; + break; + case 32: + ganTaData.m2GD_Zhong_GanTa = num3; + break; + case 33: + ganTaData.m2GD_Xia_GanTa = num3; + break; + case 34: + ganTaData.m3ZJ_Shang_GanTa = num3; + break; + case 35: + ganTaData.m3ZJ_Zhong_GanTa = num3; + break; + case 36: + ganTaData.m3ZJ_Xia_GanTa = num3; + break; + case 37: + ganTaData.m3GD_Shang_GanTa = num3; + break; + case 38: + ganTaData.m3GD_Zhong_GanTa = num3; + break; + case 39: + ganTaData.m3GD_Xia_GanTa = num3; + break; + case 40: + ganTaData.m4ZJ_Shang_GanTa = num3; + break; + case 41: + ganTaData.m4ZJ_Zhong_GanTa = num3; + break; + case 42: + ganTaData.m4ZJ_Xia_GanTa = num3; + break; + case 43: + ganTaData.m4GD_Shang_GanTa = num3; + break; + case 44: + ganTaData.m4GD_Zhong_GanTa = num3; + break; + case 45: + ganTaData.m4GD_Xia_GanTa = num3; + break; + case 46: + ganTaData.mXiaoHao_GanTa = num3; + break; + case 47: + ganTaData.mDaHao_GanTa = num3; + break; + case 48: + ganTaData.mAngle_GanTa = num3; + break; + case 49: + ganTaData.mCurrent_a_GanTa = num3; + break; + case 50: + ganTaData.mCurrent_b_GanTa = num3; + break; + case 51: + ganTaData.mDMQJ1_GanTa = num3; + break; + case 52: + ganTaData.mDMQJ2_GanTa = num3; + break; + case 53: + ganTaData.mHaiBa_GanTa = num3; + break; + case 54: + ganTaData.mDiXing_GanTa = array3[num5].Trim(); + break; + case 55: + ganTaData.mDSMD_GanTa = num3; + break; + case 56: + ganTaData.mZXNZ_GanTa = array3[num5].Trim(); + break; + case 57: + ganTaData.mRaoJiFanJi_GanTa = num2; + break; + case 58: + ganTaData.mFJ_NLSP_GanTa = num3; + break; + case 59: + ganTaData.mFJ_TZL_GanTa = num3; + break; + case 60: + ganTaData.mRJ_NLSP_GanTa = num3; + break; + case 61: + ganTaData.mRJ_TZL_GanTa = num3; + break; + case 62: + ganTaData.mFXDJ_GanTa = num2; + break; + case 63: + ganTaData.m_CuoShiTuiJian_GanTa = array3[num5].Trim().Replace("\\r", "\r").Replace("\\n", "\n"); + break; + case 64: + ganTaData.m_YuanYinFenXi_GanTa = array3[num5].Trim().Replace("\\r", "\r").Replace("\\n", "\n"); + break; + } + } + } + flag3 = false; + for (int n = 0; n < mListXianLuData.Count; n++) + { + if (ganTaData.mXianLuName.Equals(mListXianLuData[n].mName_XianLu)) + { + flag3 = true; + index = n; + xianLuData = mListXianLuData[n]; + break; + } + } + if (!flag3) + { + num++; + continue; + } + ganTaData.mXianLuID = xianLuData.mID_XianLu; + ganTaData.mXianLuName = xianLuData.mName_XianLu; + mListGanTas[index].Add1GanTaData(ganTaData); + num4++; + } + num++; + } + streamReader2.Close(); + } + fileStream2.Close(); + } + catch (Exception ex6) + { + MyLog.AddLog("MyLoadGanTa() 载入杆塔文件发生异常。文件:" + _filename + "。异常:" + ex6.Message + "。"); + MessageBox.Show(ex6.Message); + } + return num4; + } + + public int MySaveGanTa(string _filename) + { + int result = 0; + if (string.IsNullOrEmpty(_filename)) + { + MyLog.AddLog("MySaveGanTa(_fileName) 参数1为空:杆塔数据文件名。"); + return result; + } + int num = 0; + int num2 = -1; + string[] array = new string[2] { "", "" }; + string[] array2 = new string[2] { "", "" }; + GanTaData ganTaData = null; + try + { + using FileStream fileStream = new FileStream(_filename, FileMode.Create, FileAccess.Write, FileShare.None); + using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) + { + for (num2 = 0; num2 < array.Length; num2++) + { + string text = array[num2]; + string text2 = text; + if (!(text2 == "")) + { + if (text2 == "") + { + } + continue; + } + num = 0; + streamWriter.WriteLine(array[num2]); + streamWriter.WriteLine(GanTaData.MyHead_ToString()); + for (int i = 0; i < mListGanTas.Count; i++) + { + if (mListGanTas[i] != null && mListGanTas[i].mListGanTaData != null && mListGanTas[i].mListGanTaData.Count != 0) + { + for (int j = 0; j < mListGanTas[i].mListGanTaData.Count; j++) + { + ganTaData = mListGanTas[i].mListGanTaData[j]; + streamWriter.WriteLine(ganTaData.MyToString()); + num++; + } + } + } + if (num2 < array2.Length) + { + streamWriter.WriteLine(array2[num2]); + } + else + { + streamWriter.WriteLine(array[num2].Replace("<", " + + + + + \ No newline at end of file diff --git a/lark_doc_normal_calc.xml b/lark_doc_normal_calc.xml new file mode 100644 index 0000000..14d3a47 --- /dev/null +++ b/lark_doc_normal_calc.xml @@ -0,0 +1,96 @@ +防雷计算-普通计算流程图与步骤说明 + +

结论:普通计算是“建任务 → 启动任务 → 逐塔同步调用 DLL 计算 → 解析回写 → 标记完成”的串行流水线。

+

其中 DLL 调用在计算线程内同步等待返回,按杆塔逐个执行。

+
+

一、流程图(普通计算)

+ +flowchart TD + A[进入防雷计算页面] --> B[点击普通计算] + B --> C[填写参数并勾选包含杆塔] + C --> D{表单校验是否通过} + D -- 否 --> C1[提示错误并停留在表单] + D -- 是 --> E[构建TaskData mTypeCode=1] + E --> F[创建TaskDetail与ExTask] + F --> G[把任务回传主界面任务列表] + G --> H[用户点击开始] + H --> I[MyStart按类型分发到普通计算] + I --> J[写TaskOption.txt配置] + J --> K[逐ExTask逐杆塔拼接参数] + K --> L{是否规程法且全相装避雷器} + L -- 是 --> M[该塔结果记为 请换ATP方法] + L -- 否 --> N[同步调用DLL AllCall_CS] + N --> O[读取ResultTips并映射字段] + M --> P[回写杆塔结果与分级参数] + O --> P + P --> Q{是否还有下一杆塔} + Q -- 是 --> K + Q -- 否 --> R[置Finished1与Complete为1] + R --> S[结果可查看与导出] + +

二、图外步骤说明

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
步骤处理内容关键数据/状态
1. 进入与发起在“防雷计算”中进入“普通计算”对话框。入口窗体:FormFangLeiJiSuan → Form_PuTongJiSuan
2. 表单校验校验线路、任务名、方法选择、包含杆塔。不通过则仅提示,不建任务
3. 任务组装创建任务主数据并生成 ExTask,复制被勾选杆塔。mTypeCode_Task=1,Finished1=0
4. 任务回传把任务加入主界面任务列表并显示“开始/结果”按钮。Add1TaskData + Add1TaskControl
5. 启动执行点击开始后,后台线程调用 MyStart 并分发到普通计算。MyStart_Finished1_PuTongJiSuan
6. 计算配置落盘把方法索引、波形、闪络判据等写入 TaskOption.txt。供 DLL 计算读取
7. 逐塔计算逐杆塔拼参数;特殊分支下直接返回“请换ATP方法”,否则调用 DLL。DLL: Invoke_CircuitLightningProtection_Base.dll
8. 结果解析回写读取 ResultTips 映射字段,回写耐雷水平、跳闸率、风险等级等。成功则普通计算结果=OK
9. 完成收口全部杆塔处理后标记任务完成。Finished1_PuTongJiSuan=1,Complete=1
10. 结果消费可在结果窗口查看明细并导出 CSV/TXT。展示/导出来自 TGanTaData 回写字段
+
+ +

注意:DLL 调用为同步阻塞式,但运行在后台计算线程,不直接阻塞主界面 UI 线程。

+
diff --git a/lark_doc_normal_calc_restructured.xml b/lark_doc_normal_calc_restructured.xml new file mode 100644 index 0000000..5d56587 --- /dev/null +++ b/lark_doc_normal_calc_restructured.xml @@ -0,0 +1,97 @@ +防雷计算-普通计算流程图与步骤说明 + +

结论:普通计算是“建任务 → 启动任务 → 逐塔同步调用 DLL 计算 → 解析回写 → 标记完成”的串行流水线。

+

其中 DLL 调用在计算线程内同步等待返回,按杆塔逐个执行。

+
+

普通计算逻辑

+

流程图

+ +flowchart TD + A[进入防雷计算页面] --> B[点击普通计算] + B --> C[填写参数并勾选包含杆塔] + C --> D{表单校验是否通过} + D -- 否 --> C1[提示错误并停留在表单] + D -- 是 --> E[构建TaskData mTypeCode=1] + E --> F[创建TaskDetail与ExTask] + F --> G[把任务回传主界面任务列表] + G --> H[用户点击开始] + H --> I[MyStart按类型分发到普通计算] + I --> J[写TaskOption.txt配置] + J --> K[逐ExTask逐杆塔拼接参数] + K --> L{是否规程法且全相装避雷器} + L -- 是 --> M[该塔结果记为 请换ATP方法] + L -- 否 --> N[同步调用DLL AllCall_CS] + N --> O[读取ResultTips并映射字段] + M --> P[回写杆塔结果与分级参数] + O --> P + P --> Q{是否还有下一杆塔} + Q -- 是 --> K + Q -- 否 --> R[置Finished1与Complete为1] + R --> S[结果可查看与导出] + +

图外步骤说明

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
步骤处理内容关键数据/状态
1. 进入与发起在“防雷计算”中进入“普通计算”对话框。入口窗体:FormFangLeiJiSuan → Form_PuTongJiSuan
2. 表单校验校验线路、任务名、方法选择、包含杆塔。不通过则仅提示,不建任务
3. 任务组装创建任务主数据并生成 ExTask,复制被勾选杆塔。mTypeCode_Task=1,Finished1=0
4. 任务回传把任务加入主界面任务列表并显示“开始/结果”按钮。Add1TaskData + Add1TaskControl
5. 启动执行点击开始后,后台线程调用 MyStart 并分发到普通计算。MyStart_Finished1_PuTongJiSuan
6. 计算配置落盘把方法索引、波形、闪络判据等写入 TaskOption.txt。供 DLL 计算读取
7. 逐塔计算逐杆塔拼参数;特殊分支下直接返回“请换ATP方法”,否则调用 DLL。DLL: Invoke_CircuitLightningProtection_Base.dll
8. 结果解析回写读取 ResultTips 映射字段,回写耐雷水平、跳闸率、风险等级等。成功则普通计算结果=OK
9. 完成收口全部杆塔处理后标记任务完成。Finished1_PuTongJiSuan=1,Complete=1
10. 结果消费可在结果窗口查看明细并导出 CSV/TXT。展示/导出来自 TGanTaData 回写字段
+
+ +

注意:DLL 调用为同步阻塞式,但运行在后台计算线程,不直接阻塞主界面 UI 线程。

+