5651 lines
149 KiB
C#
5651 lines
149 KiB
C#
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<TaskDetail> mListDetails = null;
|
|
|
|
public Task()
|
|
{
|
|
MySet_RongQi(null);
|
|
if (mListDetails == null)
|
|
{
|
|
mListDetails = new List<TaskDetail>();
|
|
}
|
|
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<TGanTaData> 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] { "<Task>", "<XianLu>" };
|
|
string[] array2 = new string[2] { "</Task>", "</XianLu>" };
|
|
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 == "<Task>"))
|
|
{
|
|
if (text3 == "<XianLu>")
|
|
{
|
|
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] { "<Task>", "<XianLu>" };
|
|
string[] array2 = new string[2] { "</Task>", "</XianLu>" };
|
|
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 == "<Task>")
|
|
{
|
|
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("<", "</"));
|
|
}
|
|
}
|
|
}
|
|
streamWriter.Close();
|
|
}
|
|
fileStream.Close();
|
|
}
|
|
return num;
|
|
}
|
|
|
|
public int MyLoadExTask(string _filename)
|
|
{
|
|
int result = 0;
|
|
if (string.IsNullOrEmpty(_filename))
|
|
{
|
|
MyLog.AddLog("MyLoadExTask(_fileName) 参数1为空:扩展任务数据文件名。");
|
|
return result;
|
|
}
|
|
if (!File.Exists(_filename))
|
|
{
|
|
MyLog.AddLog("MyLoadExTask(_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] { "<Task>", "<XianLu>" };
|
|
string[] array2 = new string[2] { "</Task>", "</XianLu>" };
|
|
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 == "<Task>"))
|
|
{
|
|
if (text3 == "<XianLu>")
|
|
{
|
|
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<TaskData>();
|
|
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<TaskData>();
|
|
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<TaskData>();
|
|
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] { "<Task>", "<XianLu>" };
|
|
string[] array2 = new string[2] { "</Task>", "</XianLu>" };
|
|
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 == "<Task>"))
|
|
{
|
|
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("<", "</"));
|
|
}
|
|
}
|
|
streamWriter.Close();
|
|
}
|
|
fileStream.Close();
|
|
}
|
|
return num;
|
|
}
|
|
|
|
public int MyLoadTGanTa(string _filename)
|
|
{
|
|
int result = 0;
|
|
if (string.IsNullOrEmpty(_filename))
|
|
{
|
|
MyLog.AddLog("MyLoadTGanTa() 参数1为空:扩展杆塔数据文件名。");
|
|
return result;
|
|
}
|
|
if (!File.Exists(_filename))
|
|
{
|
|
MyLog.AddLog("MyLoadTGanTa() 文件未找到! 文件名=" + _filename);
|
|
return result;
|
|
}
|
|
bool flag = false;
|
|
int i = -1;
|
|
int num = 0;
|
|
int num2 = 0;
|
|
double num3 = 0.0;
|
|
string text = "";
|
|
string[] array = new string[2] { "<TGanTa>", "<XianLu>" };
|
|
string[] array2 = new string[2] { "</TGanTa>", "</XianLu>" };
|
|
string text2 = "";
|
|
string[] separator = new string[3] { "\r", "\n", "," };
|
|
string[] array3 = null;
|
|
TGanTaData tGanTaData = null;
|
|
int result2 = 0;
|
|
int num4 = 0;
|
|
string text3 = "";
|
|
Dictionary<string, int> dictionary = new Dictionary<string, int>();
|
|
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 == "<TGanTa>"))
|
|
{
|
|
if (text5 == "<XianLu>")
|
|
{
|
|
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<TGanTaData>();
|
|
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<TGanTaData>();
|
|
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<TGanTaData>();
|
|
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<TGanTaData>();
|
|
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<TGanTaData>();
|
|
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] { "<TGanTa>", "<XianLu>" };
|
|
string[] array2 = new string[2] { "</TGanTa>", "</XianLu>" };
|
|
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 == "<TGanTa>"))
|
|
{
|
|
if (text2 == "<XianLu>")
|
|
{
|
|
}
|
|
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("<", "</"));
|
|
}
|
|
}
|
|
streamWriter.Close();
|
|
}
|
|
fileStream.Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyLog.AddLog("MySaveTGanTa() 异常:" + ex.Message);
|
|
MessageBox.Show("异常:" + ex.Message);
|
|
}
|
|
return num;
|
|
}
|
|
|
|
public int MyCheckTaskName(string _TaskName)
|
|
{
|
|
int result = 0;
|
|
if (string.IsNullOrEmpty(_TaskName))
|
|
{
|
|
return 1;
|
|
}
|
|
_TaskName = _TaskName.Trim();
|
|
for (int i = 0; i < mListDetails.Count; i++)
|
|
{
|
|
if (mListDetails[i].mTaskData.mName_Task.Equals(_TaskName))
|
|
{
|
|
return 2;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
}
|