/// <summary>
        /// 绑定结果列表
        /// </summary>
        private void BindResult(NoiseRecorder rec)
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("记录仪编号");
            dt.Columns.Add("幅度");
            dt.Columns.Add("频率");
            dt.Columns.Add("读取时间");
            dt.Columns.Add("漏水状态");
            dt.Columns.Add("漏水概率");
            if (rec.Result != null)
            {
                NoiseResult re  = rec.Result;
                string      str = "不漏水";
                if (re.IsLeak == 0)
                {
                    str = "不漏水";
                }
                else if (re.IsLeak == 1)
                {
                    str = "漏水";
                }
                dt.Rows.Add(new object[] { rec.ID, re.LeakAmplitude.ToString(), re.LeakFrequency.ToString(), re.ReadTime.ToString("yyyy-MM-dd HH:mm:ss"), str, (re.LeakProbability * 100).ToString("f1") + "%" });
            }

            // 绑定数据
            MethodInvoker mi = (new MethodInvoker(() =>
            {
                gridControlResult.DataSource = dt;
            }));

            this.Invoke(mi);
        }
Beispiel #2
0
        /// <summary>
        /// 添加记录仪到数据库
        /// </summary>
        /// <param name="rec">记录仪对象</param>
        public static int AddRecorder(NoiseRecorder rec)
        {
            try
            {
                string sql   = string.Empty;
                int    query = 0;
                sql = string.Format(@"INSERT INTO EN_NoiseRecorder(RecorderId,AddDate,Remark,GroupState) VALUES(@RecorderId,@AddDate,@Remark,@GroupState)",
                                    rec.ID, rec.AddDate, rec.Remark, rec.GroupState);
                SqlParameter[] parms = new SqlParameter[] {
                    new SqlParameter("@RecorderId", DbType.String),
                    new SqlParameter("@AddDate", DbType.DateTime),
                    new SqlParameter("@Remark", DbType.String),
                    new SqlParameter("@GroupState", DbType.Int32)
                };
                parms[0].Value = rec.ID;
                parms[1].Value = rec.AddDate;
                parms[2].Value = rec.Remark;
                parms[3].Value = rec.GroupState;

                query = SQLHelper.ExecuteNonQuery(sql, parms);

                sql = string.Format(@"INSERT INTO MT_RecorderSet(RecorderId, RecordTime, PickSpan, Controler_Power, StartEnd_Power, CommunicationTime, LeakValue) 
                VALUES({0},{1},{2},{3},{4},{5},{6})",
                                    rec.ID, rec.RecordTime, rec.PickSpan, rec.ControlerPower, rec.Power, rec.CommunicationTime, rec.LeakValue);
                query = SQLHelper.ExecuteNonQuery(sql);
                return(query);
            }
            catch (Exception ex)
            {
                throw ex;
                //return -1;
            }
        }
 private void gridViewGroupList_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
 {
     if (e.Column.Caption == "选择")
     {
         int           id  = Convert.ToInt32(gridViewGroupList.GetRowCellValue(e.RowHandle, "记录仪编号"));
         NoiseRecorder rec = (from item in GlobalValue.recorderList
                              where item.ID == id
                              select item).ToList()[0];
         if ((bool)e.Value)
         {
             if (!selectList.Contains(rec))
             {
                 selectList.Add(rec);
             }
         }
         else
         {
             for (int i = 0; i < selectList.Count; i++)
             {
                 if (selectList[i].ID == rec.ID && selectList[i].GroupID == rec.GroupID)
                 {
                     selectList.RemoveAt(i);
                 }
             }
         }
     }
 }
        // 导出原始数据
        private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            List <NoiseRecorder> temp = new List <NoiseRecorder>();

            for (int i = 0; i < gridViewResultList.RowCount; i++)
            {
                object        obj   = gridViewResultList.GetRowCellValue(i, "记录仪编号");
                int           recId = Convert.ToInt32(gridViewResultList.GetRowCellValue(i, "记录仪编号"));
                NoiseRecorder rec   = (from item in GlobalValue.recorderList.AsEnumerable()
                                       where item.ID == recId
                                       select item).ToList()[0];

                if (rec.Data != null)
                {
                    if (rec.Data.OriginalData != null)
                    {
                        temp.Add(rec);
                    }
                }
            }

            if (temp.Count == 0)
            {
                XtraMessageBox.Show("请勾选需导出的记录仪/所勾选记录仪不存在原始数据,请重新读取!", GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            SaveFileDialog fileDialog = new SaveFileDialog();

            fileDialog.Title    = "导出原始数据";
            fileDialog.Filter   = "Excel文件|*.csv";
            fileDialog.FileName = "Data_" + DateTime.Now.ToString("yyMMddHHmm");
            if (fileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string       fileName = fileDialog.FileName;
                StreamWriter sw       = new StreamWriter(fileName, false, Encoding.Default);

                foreach (var item in temp)
                {
                    if (item.Data.OriginalData != null)
                    {
                        sw.Write(item.ID + ",");
                        for (int i = 0; i < item.Data.OriginalData.Length; i++)
                        {
                            sw.Write(item.Data.OriginalData[i] + ",");
                        }
                        sw.WriteLine();
                    }
                }

                sw.Flush();
                sw.Close();
                sw.Dispose();

                XtraMessageBox.Show("导出成功!", GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #5
0
        private void comboBoxEdit2_SelectedIndexChanged(object sender, EventArgs e)
        {
            ComboBoxEdit  combox = sender as ComboBoxEdit;
            string        id     = combox.SelectedItem.ToString();
            NoiseRecorder rec    = (from item in GlobalValue.recorderList
                                    where item.ID.ToString() == id
                                    select item).ToList()[0];

            eRecorder = rec;
            CreateChart(0);
        }
        // 分配记录仪
        private void btnImportRec_Click(object sender, EventArgs e)
        {
            if (treeList1.Selection != null)
            {
                if (treeList1.Selection.Count == 0)
                {
                    return;
                }
                if (treeList1.Selection[0].Level == 1)
                {
                    return;
                }

                if (listBoxRec.Items.Count == 0)
                {
                    XtraMessageBox.Show("当前无记录仪可分配!", GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                if (listBoxRec.SelectedItems.Count == 0)
                {
                    XtraMessageBox.Show("请选择需要分配的记录仪!", GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                NoiseRecorderGroup gp = (from temp in GlobalValue.groupList
                                         where temp.ID == Convert.ToInt32(treeList1.Selection[0].GetValue("Name"))
                                         select temp).ToList()[0];
                if (gp == null)
                {
                    return;
                }

                for (int i = 0; i < listBoxRec.SelectedItems.Count; i++)
                {
                    NoiseRecorder tmp = (from item in GlobalValue.recorderList.AsEnumerable()
                                         where item.ID.ToString() == listBoxRec.SelectedItems[i].ToString()
                                         select item).ToList()[0];

                    tmp.GroupState = 1;
                    NoiseDataBaseHelper.AddRecorderGroupRelation(tmp.ID, gp.ID);
                    NoiseDataBaseHelper.UpdateRecorder(tmp);
                }

                gp.RecorderList          = NoiseDataBaseHelper.GetRecordersByGroupId(gp.ID);
                GlobalValue.recorderList = NoiseDataBaseHelper.GetRecorders();
                BindTree();
                BindListBox();
            }
        }
        private void simpleButtonAny_Click(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(gridViewResultList.GetFocusedRowCellValue("记录仪编号"));

            if (id != 0)
            {
                NoiseRecorder rec = (from item in GlobalValue.recorderList
                                     where item.ID == id
                                     select item).ToList()[0];

                FrmDataAnalysis fda = new FrmDataAnalysis();
                fda.Recorder = rec;
                fda.ShowDialog();
            }
            else
            {
                XtraMessageBox.Show("请选择一组数据分析结果!", GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #8
0
        /// <summary>
        /// 更新记录仪
        /// </summary>
        /// <param name="rec">记录仪对象</param>
        public static int UpdateRecorder(NoiseRecorder rec)
        {
            try
            {
                string sql   = string.Empty;
                int    query = 0;
                sql   = string.Format(@"UPDATE EN_NoiseRecorder SET Remark = '{0}',GroupState = {1} WHERE RecorderId = {2}", rec.Remark, rec.GroupState, rec.ID);
                query = SQLHelper.ExecuteNonQuery(sql);

                sql = string.Format(
                    @"UPDATE MT_RecorderSet 
                SET RecordTime = {0},PickSpan = {1},Controler_Power = {2},StartEnd_Power = {3},CommunicationTime = {4},LeakValue = {5} WHERE RecorderId = {6}",
                    rec.RecordTime, rec.PickSpan, rec.ControlerPower, rec.Power, rec.CommunicationTime, rec.LeakValue, rec.ID);
                query = SQLHelper.ExecuteNonQuery(sql);

                return(query);
            }
            catch (Exception)
            {
                return(-1);
            }
        }
        private void gridViewGroupList_RowClick(object sender, RowClickEventArgs e)
        {
            GridView gridview = sender as GridView;

            if (gridview.IsGroupRow(e.RowHandle))
            {
                int id = Convert.ToInt32(gridview.GetGroupRowValue(e.RowHandle));
                NoiseRecorderGroup gp = (from item in GlobalValue.groupList
                                         where item.ID == id
                                         select item).ToList()[0];
                BindResult(gp);
            }
            else
            {
                int           id  = Convert.ToInt32(gridview.GetRowCellValue(e.RowHandle, "记录仪编号"));
                NoiseRecorder rec = (from item in GlobalValue.recorderList
                                     where item.ID == id
                                     select item).ToList()[0];
                BindResult(rec);
            }
            //simpleButtonAny.Enabled = false;
        }
        private void btnImportApply_Click(object sender, EventArgs e)
        {
            NoiseRecorderGroup gp = (from temp in GlobalValue.groupList
                                     where temp.ID == Convert.ToInt32(btnImportRec.Tag)
                                     select temp).ToList()[0];

            for (int i = 0; i < listBoxRec.SelectedItems.Count; i++)
            {
                NoiseRecorder tmp = (from item in GlobalValue.recorderList.AsEnumerable()
                                     where item.ID.ToString() == listBoxRec.SelectedItems[i].ToString()
                                     select item).ToList()[0];

                tmp.GroupState = 1;
                NoiseDataBaseHelper.AddRecorderGroupRelation(tmp.ID, gp.ID);
                NoiseDataBaseHelper.UpdateRecorder(tmp);
            }

            gp.RecorderList          = NoiseDataBaseHelper.GetRecordersByGroupId(gp.ID);
            GlobalValue.recorderList = NoiseDataBaseHelper.GetRecorders();
            BindTree();
            listBoxRec.Items.Clear();
        }
Beispiel #11
0
        /// <summary>
        /// 从数据库中获取记录仪列表
        /// </summary>
        public static List <NoiseRecorder> GetRecorders()
        {
            try
            {
                List <NoiseRecorder> recList = new List <NoiseRecorder>();
                string sql = string.Empty;

                sql = "SELECT * FROM EN_NoiseRecorder";
                DataTable dtRecorder = SQLHelper.ExecuteDataTable(sql);

                if (dtRecorder.Rows.Count == 0)
                {
                    return(recList);                   //throw new Exception("记录仪数据为空。");
                }

                for (int i = 0; i < dtRecorder.Rows.Count; i++)
                {
                    NoiseRecorder rec = new NoiseRecorder();
                    rec.ID         = Convert.ToInt32(dtRecorder.Rows[i]["RecorderId"]);
                    rec.Remark     = dtRecorder.Rows[i]["Remark"].ToString();
                    rec.AddDate    = Convert.ToDateTime(dtRecorder.Rows[i]["AddDate"]);
                    rec.GroupState = Convert.ToInt32(dtRecorder.Rows[i]["GroupState"]);

                    sql = "SELECT * FROM MT_RecorderSet WHERE RecorderId = " + rec.ID.ToString();
                    DataTable recSet = SQLHelper.ExecuteDataTable(sql);
                    rec.RecordTime        = Convert.ToInt32(recSet.Rows[0]["RecordTime"]);
                    rec.CommunicationTime = Convert.ToInt32(recSet.Rows[0]["CommunicationTime"]);
                    rec.PickSpan          = Convert.ToInt32(recSet.Rows[0]["PickSpan"]);
                    rec.Power             = Convert.ToInt32(recSet.Rows[0]["StartEnd_Power"]);
                    rec.ControlerPower    = Convert.ToInt32(recSet.Rows[0]["Controler_Power"]);
                    rec.Power             = Convert.ToInt32(recSet.Rows[0]["StartEnd_Power"]);
                    rec.LeakValue         = Convert.ToInt32(recSet.Rows[0]["LeakValue"]);

                    sql = "SELECT GroupId,RecorderId,leakValue,FrequencyValue,OriginalData,CollTime,UnloadTime,HistoryFlag FROM DL_Noise_Real WHERE RecorderId = " + rec.ID + " ORDER BY CollTime DESC";
                    //DataTable dt_test = SQLiteHelper.ExecuteDataTable(sql, null);
                    using (SqlDataReader reader = SQLHelper.ExecuteReader(sql, null))
                    {
                        if (reader.Read())
                        {
                            rec.Data            = new NoiseData();
                            rec.Data.GroupID    = Convert.ToInt32(reader["GroupId"]);
                            rec.Data.ReadTime   = Convert.ToDateTime(reader.GetString(5));
                            rec.Data.UploadTime = Convert.ToDateTime(reader.GetString(6));
                            rec.Data.UploadFlag = Convert.ToInt32(reader["HistoryFlag"]);

                            string[] strAmp = reader["LeakValue"].ToString().Split(',');
                            double[] amp    = new double[strAmp.Length];
                            for (int j = 0; j < strAmp.Length && strAmp.Length > 1; j++)
                            {
                                if (!string.IsNullOrEmpty(strAmp[j]))
                                {
                                    amp[j] = Convert.ToDouble(strAmp[j]);
                                }
                            }
                            rec.Data.Amplitude = amp;

                            string[] strFrq = reader["FrequencyValue"].ToString().Split(',');
                            double[] frq    = new double[strFrq.Length];
                            for (int j = 0; j < strFrq.Length && strFrq.Length > 1; j++)
                            {
                                if (!string.IsNullOrEmpty(strFrq[j]))
                                {
                                    frq[j] = Convert.ToDouble(strFrq[j]);
                                }
                            }
                            rec.Data.Frequency = frq;

                            string[] strDa = reader["OriginalData"].ToString().Split(',');
                            short[]  da    = new short[strDa.Length];
                            for (int j = 0; j < strDa.Length; j++)
                            {
                                if (strDa[j] != "")
                                {
                                    da[j] = Convert.ToInt16(strDa[j]);
                                }
                            }
                            rec.Data.OriginalData = da;
                        }
                    }

                    sql = "SELECT GroupId,RecorderId,MinLeakValue,MinFrequencyValue,IsLeak,ESA,COllTime,UnloadTime,HistoryFlag,EnergyValue,LeakProbability FROM DL_NoiseAnalyse WHERE RecorderId = " + rec.ID + " ORDER BY CollTime DESC";
                    using (SqlDataReader reader = SQLHelper.ExecuteReader(sql, null))
                    {
                        if (reader.Read())
                        {
                            rec.Result                 = new NoiseResult();
                            rec.Result.GroupID         = Convert.ToInt32(reader["GroupId"]);
                            rec.Result.RecorderID      = rec.ID;
                            rec.Result.IsLeak          = Convert.ToInt32(reader["IsLeak"]);
                            rec.Result.ReadTime        = Convert.ToDateTime(reader.GetString(6));
                            rec.Result.UploadTime      = Convert.ToDateTime(reader.GetString(7));
                            rec.Result.LeakAmplitude   = Convert.ToDouble(reader["MinLeakValue"]);
                            rec.Result.LeakFrequency   = Convert.ToDouble(reader["MinFrequencyValue"]);
                            rec.Result.EnergyValue     = Convert.ToDouble(reader["EnergyValue"]);
                            rec.Result.LeakProbability = Convert.ToDouble(reader["LeakProbability"]);
                            //rec.Result.UploadFlag = (int)reSet.Rows[0]["HistoryFlag"];
                        }
                    }

                    sql = @"SELECT GroupId FROM MP_GroupRecorder WHERE RecorderId = " + rec.ID.ToString();
                    object gID = SQLHelper.ExecuteScalar(sql);
                    if (gID == null)
                    {
                        rec.GroupID = 0;
                    }
                    else
                    {
                        rec.GroupID = Convert.ToInt32(gID);
                    }

                    recList.Add(rec);
                }

                return(recList);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void btnReadFromFold_Click(object sender, EventArgs e)
        {
            //if (!Regex.IsMatch(txtID.Text, @"^\d+$"))
            //{
            //    XtraMessageBox.Show("请输入一个记录仪ID!", GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            //    txtID.Focus();
            //    return;
            //}

            if (!CheckFileExist())
            {
                if (DialogResult.Yes == XtraMessageBox.Show("请将原始数据文件(txt)放入路径:" + OriginalFilePath + ",是否打开目录?", GlobalValue.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Information))
                {
                    btnOpenFold_Click(null, null);
                }
                return;
            }


            List <int> readIdList = new List <int>(); // 需要读取的ID列表
            //readIdList.Add(Convert.ToInt32(txtID.Text));
            bool isError = false;

            for (int j = 0; j < selectList.Count; j++)
            {
                if (!readIdList.Contains(selectList[j].ID))
                {
                    readIdList.Add(selectList[j].ID);
                }
            }
            if (selectList.Count != 0)
            {
                List <NoiseRecorder> lstSelecttmp = new List <NoiseRecorder>();
                lstSelecttmp.AddRange(selectList.OrderBy(a => a.ID));
                selectList = lstSelecttmp;

                btnReadFromFold.Enabled = false;
                List <NoiseData>   dataList   = new List <NoiseData>();
                List <NoiseResult> resultList = new List <NoiseResult>();
                GlobalValue.Noiselog.ValueChanged -= new ReadDataChangedEventHandler(log_ValueChanged);
                GlobalValue.Noiselog.ValueChanged += new ReadDataChangedEventHandler(log_ValueChanged);

                NoiseDataHandler.FourierData.Clear();
                isReading = true;
                new Action(() =>
                {
                    try
                    {
                        foreach (var id in readIdList)
                        {
                            try
                            {
                                DisableRibbonBar();
                                DisableNavigateBar();
                                Thread.Sleep(1000);
                                this.Invoke(new MethodInvoker(() =>
                                {
                                    for (int i = 0; i < gridViewGroupList.RowCount; i++)
                                    {
                                        if (gridViewGroupList.GetRowCellValue(i, "选择") != null)
                                        {
                                            if (gridViewGroupList.GetRowCellValue(i, "记录仪编号").ToString() == id.ToString())
                                            {
                                                gridViewGroupList.SetRowCellValue(i, "读取进度", 0);
                                                this.rowHandle = i;
                                                break;
                                            }
                                        }
                                    }
                                }));

                                Dictionary <short, short[]> result = new Dictionary <short, short[]>();
                                SetStaticItem(string.Format("正在读取记录仪{0}...", id));
                                ShowWaitForm("", string.Format("正在读取记录仪{0}...", id));
                                short[] arr = GetDataFromFiles();
                                if (arr == null || arr.Length == 0)
                                {
                                    throw new ArgumentNullException("数据获取失败");
                                }
                                result.Add((short)id, arr);
                                string TestPath = Application.StartupPath + @"\Data\记录仪{0}\";
                                string errmsg   = NoiseDataHandler.CallbackReaded(result, selectList, TestPath, ref GlobalValue.recorderList);
                                if (!string.IsNullOrEmpty(errmsg))
                                {
                                    ShowDialog("记录仪" + id + "分析数据发生错误,errmsg:" + errmsg, GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                    isError = true;
                                    return;
                                }
                                GlobalValue.reReadIdList.Remove(id);

                                NoiseRecorder gpRec = (from item in GlobalValue.recorderList.AsEnumerable()
                                                       where item.ID == id
                                                       select item).ToList()[0];

                                dataList.Add(gpRec.Data);
                                resultList.Add(gpRec.Result);

                                BindResult(gpRec);
                            }
                            catch (TimeoutException)
                            {
                                ShowDialog("记录仪" + id + "读取超时!", GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                isError = true;
                            }
                            catch (ArgumentNullException)
                            {
                                ShowDialog("记录仪" + id + "数据为空!", GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                isError = true;
                            }
                        }
                    }
                    catch (Exception)
                    {
                    }
                    finally
                    {
                        isReading = false;
                        SetStaticItem("数据读取完成");
                        btnReadFromFold.Enabled = true;
                        HideWaitForm();
                        EnableRibbonBar();
                        EnableNavigateBar();

                        if (dataList.Count != 0)
                        {
                            DialogResult dr = XtraMessageBox.Show("已成功读取" + dataList.Count + "条数据,是否保存到数据库?", GlobalValue.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            if (dr == System.Windows.Forms.DialogResult.Yes)
                            {
                                for (int i = 0; i < dataList.Count; i++)
                                {
                                    NoiseDataBaseHelper.AddNoiseData(dataList[i]);
                                    NoiseDataBaseHelper.AddNoiseResult(resultList[i]);
                                    GlobalValue.recorderList = NoiseDataBaseHelper.GetRecorders();
                                    GlobalValue.groupList    = NoiseDataBaseHelper.GetGroups();
                                }
                            }
                        }
                    }
                }).BeginInvoke(null, null);
            }
            else
            {
                XtraMessageBox.Show("请勾选需要读取的记录仪!", GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        public override void OnSerialPortNotify(object sender, SerialPortEventArgs e)
        {
            if (e.TransactStatus != TransStatus.Start && e.OptType == SerialPortType.NoiseReadData)
            {
                string message = string.Empty;
                if (e.Tag != null)
                {
                    message = e.Tag.ToString();
                }

                this.Enabled                  = true;
                simpleButtonRead.Enabled      = true;
                simpleButtonSelectAll.Enabled = true;
                simpleButtonUnSelect.Enabled  = true;
                HideWaitForm();
                EnableRibbonBar();
                EnableNavigateBar();

                GlobalValue.SerialPortMgr.SerialPortEvent -= new SerialPortHandle(SerialPortNotify);
                if (e.TransactStatus == TransStatus.Success)
                {
                    Dictionary <short, short[]> result = new Dictionary <short, short[]>();
                    result.Add(GlobalValue.NoiseSerialPortOptData.ID, (short[])e.Tag);
                    string TestPath = Application.StartupPath + @"\Data\记录仪{0}\";
                    string errmsg   = NoiseDataHandler.CallbackReaded(result, selectList, TestPath, ref GlobalValue.recorderList);
                    if (!string.IsNullOrEmpty(errmsg))
                    {
                        ShowDialog("分析数据发生错误,errmsg:" + errmsg, GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }

                    GlobalValue.reReadIdList.Remove(GlobalValue.NoiseSerialPortOptData.ID);

                    NoiseRecorder gpRec = (from item in GlobalValue.recorderList.AsEnumerable()
                                           where item.ID == GlobalValue.NoiseSerialPortOptData.ID
                                           select item).ToList()[0];

                    dataList.Add(gpRec.Data);
                    resultList.Add(gpRec.Result);

                    BindResult(gpRec);

                    if (ReadIdList != null && ReadIdList.Count > 0)
                    {
                        ReadData(Convert.ToInt16(ReadIdList.Dequeue()));
                    }
                    else
                    {
                        if (dataList.Count != 0)
                        {
                            DialogResult dr = XtraMessageBox.Show("已成功读取" + dataList.Count + "条数据,是否保存到数据库?", GlobalValue.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            if (dr == System.Windows.Forms.DialogResult.Yes)
                            {
                                for (int i = 0; i < dataList.Count; i++)
                                {
                                    NoiseDataBaseHelper.AddNoiseData(dataList[i]);
                                    NoiseDataBaseHelper.AddNoiseResult(resultList[i]);
                                    GlobalValue.recorderList = NoiseDataBaseHelper.GetRecorders();
                                    GlobalValue.groupList    = NoiseDataBaseHelper.GetGroups();
                                }
                            }
                        }
                    }
                    gridViewResultList.RefreshData();
                }
                else
                {
                    XtraMessageBox.Show("读取数据失败!" + e.Msg, GlobalValue.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    if (ReadIdList != null && ReadIdList.Count > 0)
                    {
                        ReadData(Convert.ToInt16(ReadIdList.Dequeue()));
                    }
                    else
                    {
                        if (dataList.Count != 0)
                        {
                            DialogResult dr = XtraMessageBox.Show("已成功读取" + dataList.Count + "条数据,是否保存到数据库?", GlobalValue.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            if (dr == System.Windows.Forms.DialogResult.Yes)
                            {
                                for (int i = 0; i < dataList.Count; i++)
                                {
                                    NoiseDataBaseHelper.AddNoiseData(dataList[i]);
                                    NoiseDataBaseHelper.AddNoiseResult(resultList[i]);
                                    GlobalValue.recorderList = NoiseDataBaseHelper.GetRecorders();
                                    GlobalValue.groupList    = NoiseDataBaseHelper.GetGroups();
                                }
                            }
                        }
                    }
                    gridViewResultList.RefreshData();
                }
            }
        }
Beispiel #14
0
        public HTTPRespEntity UploadGroups(List <UpLoadNoiseDataEntity> lstNoiseData)
        {
            HTTPRespEntity resp = new HTTPRespEntity();

            resp.code = 1;
            resp.msg  = "";
            try
            {
                if (lstNoiseData != null && lstNoiseData.Count > 0)
                {
                    Dictionary <short, short[]> result         = new Dictionary <short, short[]>();
                    List <NoiseRecorder>        recorderSelect = new List <NoiseRecorder>();
                    List <NoiseRecorder>        lstRecorder    = new List <NoiseRecorder>();
                    foreach (UpLoadNoiseDataEntity dataentity in lstNoiseData)
                    {
                        List <short> lstdata  = new List <short>();
                        string[]     strdatas = dataentity.Data.Split(',');
                        if (strdatas != null && strdatas.Length > 0)
                        {
                            foreach (string strdata in strdatas)
                            {
                                short shdata = 0;
                                if (short.TryParse(strdata, out shdata) && shdata > 0)
                                {
                                    lstdata.Add(shdata);
                                }
                            }
                        }

                        short terid = Convert.ToInt16(dataentity.TerId.Trim());
                        if (lstdata.Count > 0 && !string.IsNullOrEmpty(dataentity.GroupId))
                        {
                            result.Add(terid, lstdata.ToArray());

                            NoiseRecorder recorder = new NoiseRecorder();
                            recorder.ID      = terid;
                            recorder.GroupID = Convert.ToInt32(dataentity.GroupId);
                            recorderSelect.Add(recorder);

                            NoiseRecorder recorder1 = new NoiseRecorder();
                            recorder1.ID      = terid;
                            recorder1.GroupID = Convert.ToInt32(dataentity.GroupId);
                            lstRecorder.Add(recorder1);
                        }
                    }

                    if (recorderSelect != null && recorderSelect.Count > 0)
                    {
                        string errmsg = NoiseDataHandler.CallbackReaded(result, recorderSelect, "", ref lstRecorder);
                        if (string.IsNullOrEmpty(errmsg))
                        {
                            foreach (NoiseRecorder rec in lstRecorder)
                            {
                                NoiseDataBaseHelper.AddNoiseData(rec.Data);
                                NoiseDataBaseHelper.AddNoiseResult(rec.Result);
                            }
                        }
                        else
                        {
                            resp.code = -1;
                            resp.msg  = errmsg;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.ErrorException("GetGroupsInfo", ex);
                resp.code = -1;
                resp.msg  = "服务器异常";
            }
            return(resp);
        }