Newer
Older
RbFreqStand / RbFreqStandMeasure / counter / CounterCtrlForm.cs
yangqianqian on 8 Apr 2021 13 KB detail-setting-databackup complete
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Dto;
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model;
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Service;
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Service.Impl;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Casic.Birmm.RbFreqStandMeasure.counter
{
    public partial class CounterCtrlForm : UserControl
    {
        DataTable table_counterDetecInit = null;
        DeviceService deviceService = new DeviceServiceImpl();
        DictService dictService = new DictServiceImpl();
        CounterDetecInitService counterDetecInitService = new CounterDetecInitServiceImpl();

        Label colStdValue = new Label();
        Label colValue = new Label();

        #region 样式常量定影
        private readonly Color titleBackColor = Color.FromArgb(63, 132, 215); // #3F64D7
        private readonly Font titleFont = new Font("微软雅黑", 14F, FontStyle.Regular, GraphicsUnit.Pixel, 134);
        #endregion

        public CounterCtrlForm()
        {
            InitializeComponent();

            List<DeviceDto> list = deviceService.getAllCounter();

            comboBox_counters.DataSource = list;
            comboBox_counters.DisplayMember = "DevCode";
            comboBox_counters.ValueMember = "Id";
            InitTableCounter();
            LoadCounterDetecInitList();

            CounterParam counterParam = dictService.getCounterParam();
            text_counterIp.Text = counterParam.GeneratorIp;
        }

        private void InitTableCounter()
        {
            dataGridView_CounterResult.DataSource = null;

            // 添加标题栏
            Panel tableHeader = new Panel
            {
                BackColor = Color.White,
                Size = new Size(714, 50),
                Location = new Point(0, 0)
            };
            tableHeader.BackColor = titleBackColor;
            dataGridView_CounterResult.Controls.Add(tableHeader);

            // 序号
            Label colIndex = new Label
            {
                Font = titleFont,
                ForeColor = Color.White,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "序号",
                Location = new Point(0, 0),
                Size = new Size(50, 50)
            };
            dataGridView_CounterResult.Controls.Add(colIndex);
            colIndex.BringToFront();

            // 仪器型号
            Label colDevType = new Label
            {
                Font = titleFont,
                ForeColor = Color.White,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "仪器型号",
                Location = new Point(46, 0),
                Size = new Size(100, 50)
            };
            dataGridView_CounterResult.Controls.Add(colDevType);
            colDevType.BringToFront();

            // 仪器编号
            Label colDevNo = new Label
            {
                Font = titleFont,
                ForeColor = Color.White,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "仪器编号",
                Location = new Point(145, 0),
                Size = new Size(100, 50)
            };
            dataGridView_CounterResult.Controls.Add(colDevNo);
            colDevNo.BringToFront();

            // 描述/端口
            Label colDevPort = new Label
            {
                Font = titleFont,
                ForeColor = Color.White,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "描述/端口",
                Location = new Point(240, 0),
                Size = new Size(100, 50)
            };
            dataGridView_CounterResult.Controls.Add(colDevPort);
            colDevPort.BringToFront();

            // 标称值
            colStdValue = new Label
            {
                Font = titleFont,
                ForeColor = Color.White,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "输出频率",
                Location = new Point(328, 0),
                Size = new Size(100, 50)
            };
            dataGridView_CounterResult.Controls.Add(colStdValue);
            colStdValue.BringToFront();

            // 指标值
            colValue = new Label
            {
                Font = titleFont,
                ForeColor = Color.White,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "测量频率",
                Location = new Point(413, 0),
                Size = new Size(100, 50)
            };
            dataGridView_CounterResult.Controls.Add(colValue);
            colValue.BringToFront();

            // 创建日期
            Label colSensitivity = new Label
            {
                Font = titleFont,
                ForeColor = Color.White,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "灵敏度",
                Location = new Point(512, 0),
                Size = new Size(75, 50)
            };
            dataGridView_CounterResult.Controls.Add(colSensitivity);
            colSensitivity.BringToFront();

            Label colTime = new Label
            {
                Font = titleFont,
                ForeColor = Color.White,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "测量时间",
                Location = new Point(588, 0),
                Size = new Size(100, 50)
            };
            dataGridView_CounterResult.Controls.Add(colTime);
            colTime.BringToFront();


            dataGridView_CounterResult.Columns.Add("index", "");
            dataGridView_CounterResult.Columns.Add("devType", "");
            dataGridView_CounterResult.Columns.Add("devNo", "");
            dataGridView_CounterResult.Columns.Add("devPort", "");
            dataGridView_CounterResult.Columns.Add("stdValue", "");
            dataGridView_CounterResult.Columns.Add("value", "");
            dataGridView_CounterResult.Columns.Add("sensitivity", "");
            dataGridView_CounterResult.Columns.Add("logTime", "");
            dataGridView_CounterResult.Columns.Add("id", "");
        }

        private void LoadCounterDetecInitList()
        {
            table_counterDetecInit = new DataTable();

            table_counterDetecInit.Columns.Add("index", Type.GetType("System.String"));
            table_counterDetecInit.Columns.Add("devType", Type.GetType("System.String"));
            table_counterDetecInit.Columns.Add("devNo", Type.GetType("System.String"));
            table_counterDetecInit.Columns.Add("devPort", Type.GetType("System.String"));
            table_counterDetecInit.Columns.Add("stdValue", Type.GetType("System.String"));
            table_counterDetecInit.Columns.Add("value", Type.GetType("System.String"));
            table_counterDetecInit.Columns.Add("sensitivity", Type.GetType("System.String"));
            table_counterDetecInit.Columns.Add("logTime", Type.GetType("System.String"));
            table_counterDetecInit.Columns.Add("id", Type.GetType("System.Int32"));

            if (text_counterCode.Text != "")
            {
                string devType = "";
                string devCode = "";
                string devPort = "输入A";
                
                List<DeviceDto> list =deviceService.search("", text_counterCode.Text,"","","","");
                if (null != list && list.Count > 0)
                {
                    devType = list[0].DevTypeName;
                    devCode = list[0].DevCode;
                }

                // 获取数据
                List<CounterDetecInit> queryList = counterDetecInitService.getAll();
                if (null != queryList && queryList.Count > 0)
                {
                    int index = 1;
                    foreach (CounterDetecInit counterDetecInit in queryList)
                    {
                        if (textBox_detecModel.Text.Equals("周期测量"))
                        {                           
                            table_counterDetecInit.Rows.Add(index, devType, devCode, devPort,counterDetecInit.Cycle,"","","", counterDetecInit.Id);
                            
                        }
                        else
                        {
                            table_counterDetecInit.Rows.Add(index, devType, devCode, devPort,counterDetecInit.Frequency,"","","", counterDetecInit.Id);
                        }
                        dataGridView_CounterResult.Rows.Add(table_counterDetecInit.Rows[index - 1]);
                    }

                    //dataGridView_CounterResult.DataSource = table_counterDetecInit;

                    dataGridView_CounterResult.Columns[8].Visible = false;

                    // width=714px
                    dataGridView_CounterResult.Columns[0].Width = 50;
                    dataGridView_CounterResult.Columns[1].Width = 95;
                    dataGridView_CounterResult.Columns[2].Width = 95;
                    dataGridView_CounterResult.Columns[3].Width = 95;
                    dataGridView_CounterResult.Columns[4].Width = 85;
                    dataGridView_CounterResult.Columns[5].Width = 85;
                    dataGridView_CounterResult.Columns[6].Width = 85;
                    dataGridView_CounterResult.Columns[7].Width = 104;

                    dataGridView_CounterResult.Columns[0].ReadOnly = true;
                    dataGridView_CounterResult.Columns[1].ReadOnly = true;
                    dataGridView_CounterResult.Columns[2].ReadOnly = true;
                    dataGridView_CounterResult.Columns[3].ReadOnly = true;
                    dataGridView_CounterResult.Columns[4].ReadOnly = true;
                    dataGridView_CounterResult.Columns[5].ReadOnly = true;
                    dataGridView_CounterResult.Columns[6].ReadOnly = true;
                    dataGridView_CounterResult.Columns[7].ReadOnly = true;


                }
                else
                {
                    //tableToBeTested.Visible = false;
                    //labelNodata.Visible = true;
                }
                
            }
        }

        private void btn_downCounterList_Click(object sender, EventArgs e)
        {
            comboBox_counters.DroppedDown = true;
        }

        private void comboBox_counters_SelectedIndexChanged(object sender, EventArgs e)
        {
            text_counterCode.Text = ((DeviceDto)comboBox_counters.SelectedItem).DevCode;
            LoadCounterDetecInitList();

        }

        private void btn_dropDetecModel_Click(object sender, EventArgs e)
        {
            comboBox_detecModel.DroppedDown = true;        }

        private void comboBox_detecModel_SelectedIndexChanged(object sender, EventArgs e)
        {
            textBox_detecModel.Text = comboBox_detecModel.SelectedItem.ToString();
            if (textBox_detecModel.Text.Equals("频率测量"))
            {
                colStdValue.Text = "输出频率";
                colValue.Text = "测量频率";
            }
            else if (textBox_detecModel.Text.Equals("周期测量"))
            {
                colStdValue.Text = "输出周期";
                colValue.Text = "测量周期";
            }
        }

        private void dataGridView_CounterResult_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 4 || e.ColumnIndex == 5 || e.ColumnIndex == 6 || e.ColumnIndex == 7)
            {
                dataGridView_CounterResult.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly = false;//将当前单元格设为可读
                dataGridView_CounterResult.CurrentCell = dataGridView_CounterResult.Rows[e.RowIndex].Cells[e.ColumnIndex];//获取当前单元格
                dataGridView_CounterResult.BeginEdit(true);//将单元格设为编辑状态
            }
        }

        private void dataGridView_CounterResult_CellValuePushed(object sender, DataGridViewCellValueEventArgs e)
        {
            int id = Convert.ToInt32(dataGridView_CounterResult.Rows[e.RowIndex].Cells[8].Value);
            string value = dataGridView_CounterResult.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
            if (e.ColumnIndex == 4)
            {
                if (textBox_detecModel.Text.Equals("周期测量")) counterDetecInitService.update(id,"",value);
                else counterDetecInitService.update(id, value, "");
            }
        }

        private void benDelete_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("确认删除选中记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                    == DialogResult.Yes)
            {
                //deviceService.delete(Convert.ToInt32(dataGridView_DevList.Rows[dataGridView_DevList.CurrentRow.Index].Cells[8].Value));
                MessageBox.Show("删除成功", "提示");
                //LoadCounterDetecInitList();
            }
        }

        private void btn_add_Click(object sender, EventArgs e)
        {
            int index = dataGridView_CounterResult.Rows.Add();
            dataGridView_CounterResult.Rows[index].Cells[0].Value = "1";
            dataGridView_CounterResult.Rows[index].Cells[1].Value = "2";
            dataGridView_CounterResult.Rows[index].Cells[2].Value = "监听";
        }

        private void roundButton1_Click(object sender, EventArgs e)
        {

        }
    }
}