using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Threading; using System.Windows.Forms; namespace LP; public class Form6_ReportTask : Form { private delegate void delegateFormSetTitle(Form form, string value); private delegate void delegateComboBoxItemsClear(ComboBox comboBox); private delegate void delegateComboBoxAdd(ComboBox comboBox, string value); private delegate void delegateComboBoxSetSelectedIndex(ComboBox comboBox, int value); private delegate void delegateListBoxItemsClear(ListBox listBox); private delegate void delegateListBoxAdd(ListBox listBox, string value); private delegate void delegateListBoxSetSelectedIndex(ListBox listBox, int value); private delegate void delegateTextBoxSetText(TextBox textBox, string value); private delegate void delegateButtonEnabled(Button button, bool value); private delegate void delegateFormHide(Form form); public FormDesktop desktop = null; private bool mAfterInit = false; public bool mBusy = false; public string mTitle = ""; public XianLuData mXianLuData = null; public string mNameXianLu = ""; public int mIndexControl_XianLuName = -1; public int mIndex_ListXianLuData = -1; private bool mReady_XianLuName = false; public TaskData mTaskData = null; public string mNameTask = ""; private bool mReady_TaskName = false; public int mIndex_ListDetail_Choosed = 0; public int mIndexControl_FanJi_NaiLeiShuiPing = -1; public string mFanJi_NaiLeiShuiPing = ""; public int mIndexControl_RaoJi_NaiLeiShuiPing = -1; public string mRaoJi_NaiLeiShuiPing = ""; public int mIndexControl_FanJi_TZL = -1; public string mFanJi_TZL = ""; public int mIndexControl_RaoJi_TZL = -1; public string mRaoJi_TZL = ""; private float initWidth = 0f; private float initHeight = 0f; public int mIndexControl_TaskName_Report = -1; private string mTaskName_Report = ""; private TaskData mTaskData_Report = null; private int mTaskID_Report = 0; private bool mBusy_ButtonOK = false; public DataGridView mDGView = null; public DataSet mDS = null; public List mList_GanTaID_2DisInclude_Checked_ByUser = null; private bool mCurrentSelect = false; public string mMainKeyColumnName = ""; private List mList_SBH = null; private bool mBusy_ListBox_TaskName_Report = false; private IContainer components = null; private Button buttonSelectAll; private TextBox textBox_NameTask; private Label label3; private DataGridView dataGridView_GanTa; private Button buttonCancel; private Button buttonOK; private ComboBox comboBox_TaskName_ReportTask; private Label label4; public bool Ready_XianLuName { get { return mReady_XianLuName; } set { mReady_XianLuName = value; } } public bool Ready_TaskName { get { return mReady_TaskName; } set { mReady_TaskName = value; } } public bool Busy_ButtonOK { get { return mBusy_ButtonOK; } set { mBusy_ButtonOK = value; MyButtonEnabled(buttonCancel, !value); } } public bool Busy_ComboBox_TaskName_Report { get { return mBusy_ListBox_TaskName_Report; } set { mBusy_ListBox_TaskName_Report = value; } } public Form6_ReportTask() { InitializeComponent(); if (mTaskData == null) { mTaskData = new TaskData(); } if (mXianLuData == null) { mXianLuData = new XianLuData(); } if (mTaskData_Report == null) { mTaskData_Report = new TaskData(); } mNameTask = "报告生成任务"; mTitle = "报告生成"; mIndexControl_XianLuName = -1; mIndex_ListXianLuData = -1; mIndexControl_TaskName_Report = -1; if (mList_GanTaID_2DisInclude_Checked_ByUser == null) { mList_GanTaID_2DisInclude_Checked_ByUser = new List(); } mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); if (mDS == null) { mDS = new DataSet(); } mMainKeyColumnName = "塔号"; mIndexControl_FanJi_NaiLeiShuiPing = 1; mFanJi_NaiLeiShuiPing = "ATP"; mIndexControl_RaoJi_NaiLeiShuiPing = 1; mRaoJi_NaiLeiShuiPing = "ATP"; mIndexControl_FanJi_TZL = 1; mFanJi_TZL = "规程"; mIndexControl_RaoJi_TZL = 2; mRaoJi_TZL = "EGM"; if (mList_SBH == null) { mList_SBH = new List(); } } private void Form6_ReportTask_Load(object sender, EventArgs e) { mAfterInit = false; Busy_ButtonOK = false; MyFormSetTitle(this, ""); Ready_TaskName = false; base.DialogResult = DialogResult.None; if (mDGView == null) { mDGView = dataGridView_GanTa; } mDGView.Columns.Clear(); mDGView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; initWidth = base.Width; initHeight = base.Height; setTag(this); MyInput_TaskData(); MyInit_ComboBox_TaskName_ReportTask(); mBusy = false; mAfterInit = true; } private void Form6_ReportTask_FormClosing(object sender, FormClosingEventArgs e) { mDGView.DataSource = null; } public void MyInput_TaskData() { mTaskData.copyFrom_TaskData(desktop.m6TaskData_Report); } public void MyOutput_TaskData() { desktop.m6TaskData_Report.copyFrom_TaskData(mTaskData); } private void MyInit_ComboBox_TaskName_ReportTask() { try { Busy_ComboBox_TaskName_Report = true; MyComboBoxItemsClear(comboBox_TaskName_ReportTask); for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) { if (desktop.mTask.mListDetails[i] != null && desktop.mTask.mListDetails[i].mTaskData != null && desktop.mTask.mListDetails[i].mTaskData.mTypeCode_Task != 5 && (desktop.mTask.mListDetails[i].mTaskData.mTypeCode_Task == 1 || desktop.mTask.mListDetails[i].mTaskData.mTypeCode_Task == 4) && !string.IsNullOrEmpty(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) { MyComboBoxAdd(comboBox_TaskName_ReportTask, desktop.mTask.mListDetails[i].mTaskData.mName_Task); } } if (mIndexControl_TaskName_Report < 0 || mIndexControl_TaskName_Report >= comboBox_TaskName_ReportTask.Items.Count) { mIndexControl_TaskName_Report = 0; } if (mIndexControl_TaskName_Report >= 0 && mIndexControl_TaskName_Report < comboBox_TaskName_ReportTask.Items.Count) { MyComboBoxSetSelectedIndex(comboBox_TaskName_ReportTask, mIndexControl_TaskName_Report); mTaskName_Report = comboBox_TaskName_ReportTask.SelectedItem.ToString().Trim(); for (int j = 0; j < desktop.mTask.mListDetails.Count; j++) { if (!mTaskName_Report.Equals(desktop.mTask.mListDetails[j].mTaskData.mName_Task)) { continue; } for (int k = 0; k < desktop.mXL.mListXianLuData.Count; k++) { if (desktop.mTask.mListDetails[j].mXianLuID_Detail == desktop.mXL.mListXianLuData[k].mID_XianLu) { mIndex_ListXianLuData = k; break; } } mIndex_ListDetail_Choosed = j; mTaskData.copyFrom_TaskData(desktop.mTask.mListDetails[j].mTaskData); GetDataSet(); MyQuery_refreshDGV(); mTaskData_Report.copyFrom_TaskData(desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskData); mTaskID_Report = mTaskData_Report.mID_Task; for (int l = 0; l < desktop.mXL.mListXianLuData.Count; l++) { if (desktop.mXL.mListXianLuData[l].mName_XianLu.Equals(desktop.mTask.mListDetails[j].mTaskData.mXianLuName_Task)) { mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[l]); break; } } break; } Ready_TaskName = true; } else { mTaskName_Report = ""; mTaskID_Report = 0; Ready_TaskName = false; } Busy_ComboBox_TaskName_Report = false; mNameTask = textBox_NameTask.Text.Trim(); Ready_TaskName = desktop.mTask.MyCheckTaskName(mNameTask) == 0; } catch (Exception ex) { MyLog.AddLog("Form6_ReportTask.cs MyInit_ListBox_TaskName_ReportTask() Exception=" + ex.Message); } } public void Destroy() { if (mTaskData != null) { mTaskData.Destroy(); } mTaskData = null; if (mTaskData_Report != null) { mTaskData_Report.Destroy(); } mTaskData_Report = null; if (mXianLuData != null) { mXianLuData.Destroy(); } mXianLuData = null; if (mList_GanTaID_2DisInclude_Checked_ByUser != null) { mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); mList_GanTaID_2DisInclude_Checked_ByUser = null; } if (mDS != null) { mDS.Clear(); mDS = null; } if (mList_SBH != null) { mList_SBH.Clear(); mList_SBH = null; } } private bool ActionIsBusy() { return mBusy; } private void ActionSetBusy() { mBusy = true; } private void ActionClearBusy() { mBusy = false; } private void setTag(Control cons) { foreach (Control control in cons.Controls) { control.Tag = control.Width + ":" + control.Height + ":" + control.Left + ":" + control.Top + ":" + control.Font.Size; if (control.Controls.Count > 0) { setTag(control); } } } private void setControls(float scaleX, float scaleY, Control cons) { foreach (Control control in cons.Controls) { string[] array = control.Tag.ToString().Split(':'); float num = Convert.ToSingle(array[0]) * scaleX; control.Width = (int)num; num = Convert.ToSingle(array[1]) * scaleY; if (control is ComboBox) { num = Convert.ToSingle(array[1]) * 1f; } control.Height = (int)num; num = Convert.ToSingle(array[2]) * scaleX; control.Left = (int)num; num = Convert.ToSingle(array[3]) * scaleY; control.Top = (int)num; float emSize = Convert.ToSingle(array[4]) * Math.Min(scaleX, scaleY); control.Font = new Font(control.Font.Name, emSize, control.Font.Style, control.Font.Unit); if (control.Controls.Count > 0) { setControls(scaleX, scaleY, control); } } } private void Form6_ReportTask_Resize(object sender, EventArgs e) { float scaleX = (float)base.Width / initWidth; float scaleY = (float)base.Height / initHeight; setControls(scaleX, scaleY, this); } private void GetDataSet() { try { if (mIndex_ListXianLuData < 0 || mIndex_ListXianLuData >= desktop.mXL.mListXianLuData.Count || desktop.mXL.mListGanTas[mIndex_ListXianLuData].mListGanTaData.Count == 0) { return; } if (mList_SBH == null) { mList_SBH = new List(); } mList_SBH.Clear(); if (mDS == null) { mDS = new DataSet(); } if (mDS.Tables.Count == 0) { mDS.Tables.Add(new DataTable()); } if (mDS.Tables[0].Rows.Count > 0) { mDS.Tables[0].Rows.Clear(); } if (mDS.Tables[0].Columns.Count > 0) { mDS.Tables[0].Columns.Clear(); } mDS.Tables[0].Columns.Add("任务号"); mDS.Tables[0].Columns.Add("塔号"); mDS.Tables[0].Columns.Add("杆塔模型"); mDS.Tables[0].Columns.Add("地理坐标°"); mDS.Tables[0].Columns.Add("档距"); mDS.Tables[0].Columns.Add("雷击风险等级"); mDS.Tables[0].Columns.Add("海拔高度m"); mDS.Tables[0].Columns.Add("地形"); mDS.Tables[0].Columns.Add("接地电阻Ω"); mDS.Tables[0].Columns.Add("地闪密度 次/(km^2*年)"); mDS.Tables[0].Columns.Add("雷电流"); mDS.Tables[0].Columns.Add("倾角"); List list = null; List list2 = null; for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) { if (!mTaskName_Report.Equals(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) { continue; } list = desktop.mTask.mListDetails[i].mTaskGroup.mListExTaskData; if (list == null) { continue; } for (int j = 0; j < list.Count; j++) { if (list[j] == null || list[j].mTGanTas == null || list[j].mTGanTas.mListTGanTaData == null) { continue; } list2 = list[j].mTGanTas.mListTGanTaData; if (list2 == null) { continue; } for (int k = 0; k < list2.Count; k++) { DataRow dataRow = mDS.Tables[0].NewRow(); for (int l = 0; l < mDS.Tables[0].Columns.Count; l++) { dataRow[l] = ""; } dataRow[0] = $"{list[j].mID_ExTask}"; dataRow[1] = list2[k].mID_GanTa ?? ""; dataRow[2] = list2[k].mModel_GanTa ?? ""; dataRow[3] = $"{list2[k].mJingDu_GanTa}|{list2[k].mWeiDu_GanTa}"; dataRow[4] = $"{list2[k].mXiaoHao_GanTa},{list2[k].mDaHao_GanTa}"; dataRow[5] = $"{list2[k].mFXDJ_GanTa}"; dataRow[6] = $"{list2[k].mHaiBa_GanTa}"; dataRow[7] = list2[k].mDiXing_GanTa ?? ""; dataRow[8] = $"{list2[k].mJDDZ_GanTa}"; dataRow[9] = $"{list2[k].mDSMD_GanTa}"; dataRow[10] = $"{list2[k].mCurrent_a_GanTa},{list2[k].mCurrent_b_GanTa}"; dataRow[11] = $"{list2[k].mDMQJ1_GanTa},{list2[k].mDMQJ2_GanTa}"; mDS.Tables[0].Rows.Add(dataRow); mList_SBH.Add($"{list2[k].mTaskIDstring}|{list2[k].mIndex__GanTa}"); } } } if (mDS.Tables[0].Rows.Count == 0) { if (mAfterInit) { MyFormSetTitle(this, "“" + desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskData.mName_Task + "”所有杆塔的雷击风险等级都小于3"); } } else { MyFormSetTitle(this, $" 共{mDS.Tables[0].Rows.Count}条"); } } catch (Exception ex) { MyLog.AddLog("Form6_ReportTask.cs GetDataSet() Exception=" + ex.Message); } } private void MyQuery_refreshDGV() { try { if (mDGView != null && mDGView.Columns.Count > 0) { if (mDGView.Columns.Contains("包含")) { mDGView.Columns.Remove("包含"); } if (mDGView.Columns.Contains("关联数目")) { mDGView.Columns.Remove("关联数目"); } } mDGView.DataSource = null; if (mDS == null || mDS.Tables.Count == 0) { return; } DataTable dataTable = mDS.Tables[0]; mDGView.DataSource = dataTable.DefaultView; if (mDGView.Columns.Contains(mMainKeyColumnName)) { mDGView.Columns[mMainKeyColumnName].ReadOnly = true; } else { mDGView.Columns[0].ReadOnly = true; } if (dataTable.Rows.Count > 0) { DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn = new DataGridViewCheckBoxColumn(); dataGridViewCheckBoxColumn.HeaderText = "包含"; dataGridViewCheckBoxColumn.Name = "包含"; dataGridViewCheckBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; dataGridViewCheckBoxColumn.FlatStyle = FlatStyle.Flat; dataGridViewCheckBoxColumn.ThreeState = false; if (mDGView.Columns.Count > 0 && mDGView.Columns.Contains("包含")) { mDGView.Columns.Remove("包含"); } mDGView.Columns.Insert(0, dataGridViewCheckBoxColumn); } if (dataTable.Rows.Count == 0 || mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0 || mAfterInit) { return; } bool flag = false; bool flag2 = false; string text = ""; for (int i = 0; i < mList_GanTaID_2DisInclude_Checked_ByUser.Count; i++) { flag2 = false; for (int j = 0; j < mDS.Tables[0].Rows.Count; j++) { text = mList_SBH[j]; if (!string.IsNullOrEmpty(text) && text.Equals(mList_GanTaID_2DisInclude_Checked_ByUser[i] ?? "")) { flag2 = true; break; } } if (!flag2) { flag = true; break; } } if (flag) { mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); return; } DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; string text2 = ""; for (int k = 0; k < mDGView.Rows.Count; k++) { if (mDGView.Rows[k] != null && mDGView.Rows[k].Cells != null && mDGView.Rows[k].Cells["塔号"] != null && mDGView.Rows[k].Cells["塔号"].Value != null) { dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[k].Cells["包含"]; text2 = mList_SBH[k]; dataGridViewCheckBoxCell.Value = mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text2); } } } catch (Exception ex) { MyLog.AddLog("Form6_ReportTask.cs MyQuery_refreshDGV() Exception=" + ex.Message); } } private void buttonOK_Click(object sender, EventArgs e) { if (ActionIsBusy()) { return; } ActionSetBusy(); try { MyFormSetTitle(this, ""); if (Busy_ButtonOK) { ActionClearBusy(); return; } Busy_ButtonOK = true; if (!Ready_TaskName) { switch (desktop.mTask.MyCheckTaskName(textBox_NameTask.Text.Trim())) { case 1: MyFormSetTitle(this, "任务名称空白,请填写“任务名称”。"); break; case 2: MyFormSetTitle(this, "任务名称重复,请重新填写“任务名称”。"); break; } textBox_NameTask.Focus(); Busy_ButtonOK = false; ActionClearBusy(); return; } if (string.IsNullOrEmpty(mTaskName_Report)) { if (comboBox_TaskName_ReportTask.Items.Count == 0) { MyFormSetTitle(this, "!无匹配结果!风险评估。"); buttonCancel.Focus(); Busy_ButtonOK = false; ActionClearBusy(); } else { MyFormSetTitle(this, "请选择已有结果的风险评估任务,然后点击“" + buttonOK.Text + "”。"); comboBox_TaskName_ReportTask.Focus(); Busy_ButtonOK = false; ActionClearBusy(); } return; } switch (desktop.mTask.MyCheckTaskName(mNameTask)) { case 1: MyFormSetTitle(this, "任务名称空白!"); buttonCancel.Focus(); Busy_ButtonOK = false; ActionClearBusy(); return; case 2: MyFormSetTitle(this, "推荐任务已存在!请点击“" + buttonCancel.Text + "”。"); buttonCancel.Focus(); Busy_ButtonOK = false; ActionClearBusy(); return; } if (!mTaskData_Report.Permit_CuoShiTuiJian()) { MyFormSetTitle(this, "重新完成风险评估。"); comboBox_TaskName_ReportTask.Focus(); Busy_ButtonOK = false; ActionClearBusy(); return; } mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; string text = ""; for (int i = 0; i < mDGView.Rows.Count; i++) { if (mDGView.Rows[i] != null && mDGView.Rows[i].Cells != null && mDGView.Rows[i].Cells["塔号"] != null && mDGView.Rows[i].Cells["塔号"].Value != null) { dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[i].Cells["包含"]; if (dataGridViewCheckBoxCell != null && dataGridViewCheckBoxCell.Value != null && (bool)dataGridViewCheckBoxCell.Value) { text = mList_SBH[i]; mList_GanTaID_2DisInclude_Checked_ByUser.Add(text); } } } if (mList_GanTaID_2DisInclude_Checked_ByUser.Count == 0) { MyFormSetTitle(this, "包含杆塔为空,请选择计算“包含”杆塔,然后点击“" + buttonOK.Text + "”。"); dataGridView_GanTa.Focus(); Busy_ButtonOK = false; ActionClearBusy(); } else { Thread thread = new Thread(MyThread_ButtonOK); thread.Start(); } } catch (Exception ex) { MyLog.AddLog("Form6_ReportTask.cs buttonOK_Click() Exception=" + ex.Message); ActionClearBusy(); } } private void MyRefresh_TaskData() { mTaskData.mID_Task = TaskData.mNextID_static; mTaskData.mID_ExTask = desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskID_Detail; mTaskData.mID_string_Task = $"{mTaskData.mID_Task}|{mTaskData.mID_ExTask}"; mTaskData.mTypeCode_Task = 5; mTaskData.mName_Task = mNameTask; mTaskData.mXianLuID_Task = mXianLuData.mID_XianLu; mTaskData.mXianLuName_Task = mXianLuData.mName_XianLu; mTaskData.mXianLuJLZL_Task = mXianLuData.mJLZL_XianLu; mTaskData.mDYDJ_Task = mXianLuData.mDYDJ_XianLu; mTaskData.mFanJi_NaiLeiShuiPing = mFanJi_NaiLeiShuiPing; mTaskData.mRaoJi_NaiLeiShuiPing = mRaoJi_NaiLeiShuiPing; mTaskData.mFanJi_TZL = mFanJi_TZL; mTaskData.mRaoJi_TZL = mRaoJi_TZL; mTaskData.mPrepare11_LightingCurrent = mXianLuData.mPrepare1_LightingCurrent; mTaskData.mPrepare12_DiShanMiDu = mXianLuData.mPrepare2_DiShanMiDu; mTaskData.mPrepare13_DiMianQingJiao = mXianLuData.mPrepare3_DiMianQingJiao; } private void MyThread_ButtonOK() { try { Busy_ButtonOK = false; MyRefresh_TaskData(); int num = 0; bool flag = false; for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) { if (mTaskData.mID_Task == desktop.mTask.mListDetails[i].mTaskID_Detail) { desktop.mTask.mListDetails[i].mTaskData.copyFrom_TaskData(mTaskData); num = i; flag = true; break; } } if (!flag) { TaskDetail taskDetail = new TaskDetail(); taskDetail.mTaskID_Detail = mTaskData.mID_Task; taskDetail.mXianLuID_Detail = mTaskData.mXianLuID_Task; taskDetail.mTaskData.copyFrom_TaskData(mTaskData); num = desktop.mTask.mListDetails.Count; desktop.mTask.mListDetails.Add(taskDetail); desktop.mTask.mListDetails[num].mTaskGroup.mID_Task = mTaskData.mID_Task; desktop.mTask.mListDetails[num].mTaskData.mID_Task = mTaskData.mID_Task; } else if (flag) { MyLog.AddLog($"MyThread_ButtonOK() Detail repeat(indexDetail={num}, mListDetails.Count={desktop.mTask.mListDetails.Count})."); } TaskData taskData = null; TaskData taskData2 = null; TaskData taskData3 = null; for (int j = 0; j < desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskGroup.mListExTaskData.Count; j++) { taskData2 = desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskGroup.mListExTaskData[j]; if (taskData2 != null) { taskData = new TaskData(); taskData.copyFrom_TaskData(mTaskData); taskData.mCurveTimeHead = taskData2.mCurveTimeHead; taskData.mCurveTimeTail = taskData2.mCurveTimeTail; taskData.mTGanTas.SetXianLuData(taskData.mID_string_Task, mXianLuData); taskData.mTGanTas.mListTGanTaData.Clear(); desktop.mTask.Add1_ExTaskData(num, taskData); } } TGanTas tGanTas = null; GanTaData ganTaData = null; TGanTaData tGanTaData = null; string text = ""; for (int k = 0; k < desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData.Count; k++) { taskData = desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData[k]; taskData.mTGanTas.mListTGanTaData.Clear(); for (int l = 0; l < desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskGroup.mListExTaskData.Count; l++) { taskData3 = desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskGroup.mListExTaskData[l]; tGanTas = taskData3.mTGanTas; for (int m = 0; m < tGanTas.mListTGanTaData.Count; m++) { tGanTaData = tGanTas.mListTGanTaData[m]; text = $"{tGanTaData.mTaskIDstring}|{tGanTaData.mIndex__GanTa}"; if (mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text)) { ganTaData = new GanTaData(); ganTaData.CopyFrom_TGanTaData(tGanTaData); taskData.mTGanTas.Add1TGanTaData(ganTaData, taskData3.mIndex_CurrentCurve, taskData3.mCurveTimeHead, taskData3.mCurveTimeTail); TGanTaData.mNextID_static++; } } } } if (!desktop.mSignal.mNeed_PrepareParameters_setting) { for (int n = 0; n < desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData.Count; n++) { taskData = desktop.mTask.mListDetails[num].mTaskGroup.mListExTaskData[n]; if (taskData.mTGanTas == null) { continue; } for (int num2 = 0; num2 < taskData.mTGanTas.mListTGanTaData.Count; num2++) { if (taskData.mTGanTas.mListTGanTaData[num2] == null) { } } } } MyOutput_TaskData(); } catch (Exception ex) { MyLog.AddLog("Form6_ReportTask.cs MyThread_ButtonOK() Exception=" + ex.Message); } finally { Busy_ButtonOK = false; ActionClearBusy(); } base.DialogResult = DialogResult.OK; } private void buttonCancel_Click(object sender, EventArgs e) { if (ActionIsBusy()) { return; } ActionSetBusy(); try { MyFormSetTitle(this, ""); MyButtonEnabled(buttonCancel, value: false); Thread thread = new Thread(MyCancel); thread.Start(); } catch (Exception ex) { MyLog.AddLog("Form6_ReportTask.cs buttonCancel_Click() Exception=" + ex.Message); ActionClearBusy(); } } private void MyCancel() { try { MyFormSetTitle(this, "取消—"); MyFormSetTitle(this, "取消———"); } catch (Exception ex) { MyLog.AddLog("Form6_ReportTask.cs MyCancel() Exception=" + ex.Message); } finally { ActionClearBusy(); } base.DialogResult = DialogResult.Cancel; MyFormHide(this); } private void buttonSelectAll_Click(object sender, EventArgs e) { mList_GanTaID_2DisInclude_Checked_ByUser.Clear(); mCurrentSelect = !mCurrentSelect; for (int i = 0; i < mList_SBH.Count; i++) { if (mCurrentSelect) { mList_GanTaID_2DisInclude_Checked_ByUser.Add(mList_SBH[i]); } } DataGridViewCheckBoxCell dataGridViewCheckBoxCell = null; string text = ""; try { for (int j = 0; j < mDGView.Rows.Count; j++) { if (mDGView.Rows[j] != null && mDGView.Rows[j].Cells != null && mDGView.Rows[j].Cells["塔号"] != null && mDGView.Rows[j].Cells["塔号"].Value != null) { dataGridViewCheckBoxCell = (DataGridViewCheckBoxCell)mDGView.Rows[j].Cells["包含"]; text = mList_SBH[j]; dataGridViewCheckBoxCell.Value = mList_GanTaID_2DisInclude_Checked_ByUser.Contains(text); } } } catch (Exception) { } buttonSelectAll.Text = (mCurrentSelect ? "不选" : "全选"); } private void comboBox_TaskName_ReportTask_SelectedIndexChanged(object sender, EventArgs e) { if (ActionIsBusy()) { return; } ActionSetBusy(); try { if (!mAfterInit) { ActionClearBusy(); return; } if (Busy_ButtonOK) { ActionClearBusy(); return; } int selectedIndex = ((ComboBox)sender).SelectedIndex; mIndexControl_TaskName_Report = selectedIndex; mTaskName_Report = ((ComboBox)sender).SelectedItem.ToString().Trim(); for (int i = 0; i < desktop.mTask.mListDetails.Count; i++) { if (!mTaskName_Report.Equals(desktop.mTask.mListDetails[i].mTaskData.mName_Task)) { continue; } for (int j = 0; j < desktop.mXL.mListXianLuData.Count; j++) { if (desktop.mTask.mListDetails[i].mXianLuID_Detail == desktop.mXL.mListXianLuData[j].mID_XianLu) { mIndex_ListXianLuData = j; break; } } mIndex_ListDetail_Choosed = i; mTaskData.copyFrom_TaskData(desktop.mTask.mListDetails[i].mTaskData); GetDataSet(); MyQuery_refreshDGV(); mTaskData_Report.copyFrom_TaskData(desktop.mTask.mListDetails[mIndex_ListDetail_Choosed].mTaskData); mTaskID_Report = mTaskData_Report.mID_Task; for (int k = 0; k < desktop.mXL.mListXianLuData.Count; k++) { if (desktop.mXL.mListXianLuData[k].mName_XianLu.Equals(desktop.mTask.mListDetails[i].mTaskData.mXianLuName_Task)) { mXianLuData.CopyFrom_XianLuData(desktop.mXL.mListXianLuData[k]); break; } } break; } } catch (Exception ex) { MyLog.AddLog("Form6_ReportTask.cs listBox_TaskName_PuTongJiSuan_SelectedIndexChanged() Exception=" + ex.Message); } ActionClearBusy(); } private void textBox_NameTask_TextChanged(object sender, EventArgs e) { mNameTask = textBox_NameTask.Text.Trim(); Ready_TaskName = desktop.mTask.MyCheckTaskName(mNameTask) == 0; } public void MyFormSetTitle(Form form, string value) { if (form.InvokeRequired) { delegateFormSetTitle method = MyFormSetTitle; form.Invoke(method, form, value); return; } if (string.IsNullOrEmpty(value)) { form.Text = mTitle; } if (!string.IsNullOrEmpty(value)) { form.Text = mTitle + " " + value; } } public void MyComboBoxItemsClear(ComboBox comboBox) { if (comboBox.InvokeRequired) { delegateComboBoxItemsClear method = MyComboBoxItemsClear; comboBox.Invoke(method, comboBox); } else { comboBox.Items.Clear(); } } public void MyComboBoxAdd(ComboBox comboBox, string value) { if (comboBox.InvokeRequired) { delegateComboBoxAdd method = MyComboBoxAdd; comboBox.Invoke(method, comboBox, value); } else if (!string.IsNullOrEmpty(value)) { comboBox.Items.Add(value); } } public void MyComboBoxSetSelectedIndex(ComboBox comboBox, int value) { if (comboBox.InvokeRequired) { delegateComboBoxSetSelectedIndex method = MyComboBoxSetSelectedIndex; comboBox.Invoke(method, comboBox, value); } else if (value >= 0 && value < comboBox.Items.Count) { comboBox.SelectedIndex = value; } } public void MyListBoxItemsClear(ListBox listBox) { if (listBox.InvokeRequired) { delegateListBoxItemsClear method = MyListBoxItemsClear; listBox.Invoke(method, listBox); } else { listBox.Items.Clear(); } } public void MyListBoxAdd(ListBox listBox, string value) { if (listBox.InvokeRequired) { delegateListBoxAdd method = MyListBoxAdd; listBox.Invoke(method, listBox, value); } else if (!string.IsNullOrEmpty(value)) { listBox.Items.Add(value); } } public void MyListBoxSetSelectedIndex(ListBox listBox, int value) { if (listBox.InvokeRequired) { delegateListBoxSetSelectedIndex method = MyListBoxSetSelectedIndex; listBox.Invoke(method, listBox, value); } else if (value >= 0 && value < listBox.Items.Count) { listBox.SelectedIndex = value; } } public void MyTextBoxSetText(TextBox textBox, string value) { if (textBox.InvokeRequired) { delegateTextBoxSetText method = MyTextBoxSetText; textBox.Invoke(method, textBox, value); } else { textBox.Text = value; } } public void MyButtonEnabled(Button button, bool value) { if (button.InvokeRequired) { delegateButtonEnabled method = MyButtonEnabled; button.Invoke(method, button, value); } else { button.Enabled = value; } } public void MyFormHide(Form form) { try { if (form.InvokeRequired) { delegateFormHide method = MyFormHide; form.Invoke(method, form); } else { form.Hide(); } } catch (Exception) { } } protected override void Dispose(bool disposing) { if (disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } private void InitializeComponent() { this.buttonSelectAll = new System.Windows.Forms.Button(); this.textBox_NameTask = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.dataGridView_GanTa = new System.Windows.Forms.DataGridView(); this.buttonCancel = new System.Windows.Forms.Button(); this.buttonOK = new System.Windows.Forms.Button(); this.comboBox_TaskName_ReportTask = new System.Windows.Forms.ComboBox(); this.label4 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).BeginInit(); base.SuspendLayout(); this.buttonSelectAll.Location = new System.Drawing.Point(134, 518); this.buttonSelectAll.Name = "buttonSelectAll"; this.buttonSelectAll.Size = new System.Drawing.Size(75, 28); this.buttonSelectAll.TabIndex = 86; this.buttonSelectAll.Text = "全选"; this.buttonSelectAll.UseVisualStyleBackColor = true; this.buttonSelectAll.Click += new System.EventHandler(buttonSelectAll_Click); this.textBox_NameTask.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); this.textBox_NameTask.Location = new System.Drawing.Point(29, 30); this.textBox_NameTask.Name = "textBox_NameTask"; this.textBox_NameTask.Size = new System.Drawing.Size(483, 26); this.textBox_NameTask.TabIndex = 79; this.textBox_NameTask.TextChanged += new System.EventHandler(textBox_NameTask_TextChanged); this.label3.AutoSize = true; this.label3.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); this.label3.Location = new System.Drawing.Point(26, 13); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(63, 14); this.label3.TabIndex = 85; this.label3.Text = "任务名称"; this.dataGridView_GanTa.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; this.dataGridView_GanTa.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dataGridView_GanTa.Location = new System.Drawing.Point(28, 133); this.dataGridView_GanTa.Name = "dataGridView_GanTa"; this.dataGridView_GanTa.RowTemplate.Height = 23; this.dataGridView_GanTa.Size = new System.Drawing.Size(484, 379); this.dataGridView_GanTa.TabIndex = 81; this.buttonCancel.Location = new System.Drawing.Point(398, 518); this.buttonCancel.Name = "buttonCancel"; this.buttonCancel.Size = new System.Drawing.Size(86, 28); this.buttonCancel.TabIndex = 83; this.buttonCancel.Text = "取消"; this.buttonCancel.UseVisualStyleBackColor = true; this.buttonCancel.Click += new System.EventHandler(buttonCancel_Click); this.buttonOK.Location = new System.Drawing.Point(270, 518); this.buttonOK.Name = "buttonOK"; this.buttonOK.Size = new System.Drawing.Size(86, 28); this.buttonOK.TabIndex = 82; this.buttonOK.Text = "确定"; this.buttonOK.UseVisualStyleBackColor = true; this.buttonOK.Click += new System.EventHandler(buttonOK_Click); this.comboBox_TaskName_ReportTask.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBox_TaskName_ReportTask.Font = new System.Drawing.Font("宋体", 12f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); this.comboBox_TaskName_ReportTask.FormattingEnabled = true; this.comboBox_TaskName_ReportTask.Location = new System.Drawing.Point(29, 88); this.comboBox_TaskName_ReportTask.Name = "comboBox_TaskName_ReportTask"; this.comboBox_TaskName_ReportTask.Size = new System.Drawing.Size(483, 20); this.comboBox_TaskName_ReportTask.TabIndex = 80; this.comboBox_TaskName_ReportTask.SelectedIndexChanged += new System.EventHandler(comboBox_TaskName_ReportTask_SelectedIndexChanged); this.label4.AutoSize = true; this.label4.Font = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 134); this.label4.Location = new System.Drawing.Point(26, 71); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(119, 14); this.label4.TabIndex = 84; this.label4.Text = "已完成的普通任务"; base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f); base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; base.ClientSize = new System.Drawing.Size(539, 559); base.Controls.Add(this.buttonSelectAll); base.Controls.Add(this.textBox_NameTask); base.Controls.Add(this.label3); base.Controls.Add(this.dataGridView_GanTa); base.Controls.Add(this.buttonCancel); base.Controls.Add(this.buttonOK); base.Controls.Add(this.comboBox_TaskName_ReportTask); base.Controls.Add(this.label4); base.Name = "Form6_ReportTask"; base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Form6_ReportTask"; base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form6_ReportTask_FormClosing); base.Load += new System.EventHandler(Form6_ReportTask_Load); base.Resize += new System.EventHandler(Form6_ReportTask_Resize); ((System.ComponentModel.ISupportInitialize)this.dataGridView_GanTa).EndInit(); base.ResumeLayout(false); base.PerformLayout(); } }