private void GetSeriesShowProperty(Dictionary <string, IList <SensorShowPropertyEntity> > dicShowProperty, string showName) { SensorHelper <object> helper = new SensorHelper <object>(); string strWhere = string.Format("SensorGroup = '{0}' AND SensorType = '{1}' AND ShowName = '{2}'", mSensor.SensorGroup, mSensor.SensorType, showName); IList <SensorShowPropertyEntity> lstShowProperty = helper.SelectList <SensorShowPropertyEntity>(strWhere, string.Empty); if (lstShowProperty != null && lstShowProperty.Count > 0) { dicShowProperty.Add(showName, lstShowProperty); } }
private ChartDTO GetChartDataByHead(SensorDataHeadEntity eHead) { mHeadEntity = eHead; if (mHeadEntity == null) { return(null); } IList <SensorDataLineEntity> lstLine = null; SensorHelper <object> helper = new SensorHelper <object>(); if (mIsCompressed) { lstLine = mSensorCompressedData.GetSensorDataLine(); } else { string strWhere = string.Format("SensorDataHeadID = '{0}'", eHead.SensorDataHeadID.ToString().ToUpper()); lstLine = helper.SelectList <SensorDataLineEntity>(strWhere, "ReceivedDate"); } SeriesDTO sTemperature = null; SeriesDTO sPressure = null; SeriesDTO sHumidity = null; SeriesDTO sVoltage = null; GetSeriesDto(lstLine, ref sTemperature, ref sPressure, ref sHumidity, ref sVoltage); MakeSensorData(lstLine); ChartDTO chartData = new ChartDTO(); chartData.IsAxisXCustomLabels = false; if (Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.Temperature)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperatureHumidity)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperaturePressure)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperaturePressureAccurate))) { // 温度 AxesDTO axesTemperature = new AxesDTO(Properties.Resource.TemperatureSeries); axesTemperature.AxisYProperty.Add(AxesDTO.AxisProperty.EndText.ToString(), Properties.Resource.TemperatureUnit); Dictionary <string, SeriesDTO> dicSeriesTemperature = new Dictionary <string, SeriesDTO>(); dicSeriesTemperature.Add(Properties.Resource.TemperatureSeries, sTemperature); chartData.AxesDictionary.Add(Properties.Resource.TemperatureSeries, axesTemperature); chartData.SeriesDictionary.Add(Properties.Resource.TemperatureSeries, dicSeriesTemperature); } if (Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.Humidity)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperatureHumidity))) { // 湿度 AxesDTO axesHumidity = new AxesDTO(Properties.Resource.HumiditySeries); axesHumidity.AxisYProperty.Add(AxesDTO.AxisProperty.EndText.ToString(), Properties.Resource.HumidityUnit); Dictionary <string, SeriesDTO> dicSeriesHumidity = new Dictionary <string, SeriesDTO>(); dicSeriesHumidity.Add(Properties.Resource.HumiditySeries, sHumidity); chartData.AxesDictionary.Add(Properties.Resource.HumiditySeries, axesHumidity); chartData.SeriesDictionary.Add(Properties.Resource.HumiditySeries, dicSeriesHumidity); } if (Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.Pressure)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperaturePressure)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperaturePressureAccurate))) { // 气压 AxesDTO axesPressure = new AxesDTO(Properties.Resource.PressureSeries); axesPressure.AxisYProperty.Add(AxesDTO.AxisProperty.EndText.ToString(), Properties.Resource.PressureUnit); Dictionary <string, SeriesDTO> dicSeriesPressure = new Dictionary <string, SeriesDTO>(); dicSeriesPressure.Add(Properties.Resource.PressureSeries, sPressure); chartData.AxesDictionary.Add(Properties.Resource.PressureSeries, axesPressure); chartData.SeriesDictionary.Add(Properties.Resource.PressureSeries, dicSeriesPressure); } chartData.ChartTitle = GetChartTitle(); chartData.RealtimeInfo = GetRealtimeInfo(lstLine); chartData.Comment = GetComment(chartData.SeriesDictionary); chartData.ErrorData = null; return(chartData); }
private ChartDTO GetChartDataInc(SensorDataHeadEntity eHead, DateTime lastReceivedDate) { IList <SensorDataLineEntity> lstLine = null; SensorHelper <object> helper = new SensorHelper <object>(); if (mIsCompressed) { lstLine = mSensorCompressedData.GetSensorDataLine(); } else { string strWhere = string.Empty; if (CommonValue.DatabaseType == CommonValue.DatabaseFlag.Oracle) { strWhere = string.Format("SensorDataHeadID = '{0}' AND to_char(ReceivedDate, 'YYYY-MM-DD HH24:MI:SS.FF3') > '{1}'", eHead.SensorDataHeadID.ToString().ToUpper(), lastReceivedDate.ToString("yyyy-MM-dd HH:mm:ss.fff")); } else { strWhere = string.Format("SensorDataHeadID = '{0}' AND ReceivedDate > '{1}'", eHead.SensorDataHeadID.ToString().ToUpper(), lastReceivedDate.ToString("yyyy-MM-dd HH:mm:ss.fff")); } lstLine = helper.SelectList <SensorDataLineEntity>(strWhere, "ReceivedDate"); } SeriesDTO sTemperature = null; SeriesDTO sPressure = null; SeriesDTO sHumidity = null; SeriesDTO sVoltage = null; GetSeriesDto(lstLine, ref sTemperature, ref sPressure, ref sHumidity, ref sVoltage); MakeSensorData(lstLine); ChartDTO chartData = new ChartDTO(); chartData.IsAxisXCustomLabels = false; if (Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.Temperature)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperatureHumidity)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperaturePressure)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperaturePressureAccurate))) { // 温度 Dictionary <string, SeriesDTO> dicSeriesTemperature = new Dictionary <string, SeriesDTO>(); dicSeriesTemperature.Add(Properties.Resource.TemperatureSeries, sTemperature); chartData.SeriesDictionary.Add(Properties.Resource.TemperatureSeries, dicSeriesTemperature); } if (Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.Humidity)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperatureHumidity))) { // 湿度 Dictionary <string, SeriesDTO> dicSeriesHumidity = new Dictionary <string, SeriesDTO>(); dicSeriesHumidity.Add(Properties.Resource.HumiditySeries, sHumidity); chartData.SeriesDictionary.Add(Properties.Resource.HumiditySeries, dicSeriesHumidity); } if (Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.Pressure)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperaturePressure)) || Convert.ToInt32(Sensor.SensorType).Equals(Convert.ToInt32(Common.Consts.SensorType.TemperaturePressureAccurate))) { // 气压 Dictionary <string, SeriesDTO> dicSeriesPressure = new Dictionary <string, SeriesDTO>(); dicSeriesPressure.Add(Properties.Resource.PressureSeries, sPressure); chartData.SeriesDictionary.Add(Properties.Resource.PressureSeries, dicSeriesPressure); } chartData.ChartTitle = GetChartTitle(); chartData.RealtimeInfo = GetRealtimeInfo(lstLine); chartData.Comment = GetComment(chartData.SeriesDictionary); chartData.ErrorData = null; return(chartData); }
private SensorStatusDTO GetStatusData(SensorDataHeadEntity eHead) { SensorStatusDTO dtoStatus = new SensorStatusDTO(); dtoStatus.SensorCaption = mSensor.SensorName; dtoStatus.SensorStatus = mSensor.PositionMark; StatusItemDTO item = null; SensorHelper <object> helper = new SensorHelper <object>(); SensorDataLineEntity eLine = helper.SelectSingle <SensorDataLineEntity>(string.Format("SensorDataHeadID = '{0}'", eHead.SensorDataHeadID.ToString().ToUpper()), "ReceivedDate DESC"); if (eLine != null) { dtoStatus.ProgressMark = GetProgressMark(eHead, eLine); dtoStatus.ErrorData = Utility.GetSensorErrors(eHead, eLine.ReceivedDate); dtoStatus.SensorDate = eLine.SensorDate; dtoStatus.ReceivedDate = eLine.ReceivedDate; IList <SensorDataLineValueEntity> lstLineValue = helper.SelectList <SensorDataLineValueEntity>(string.Format("SensorDataLineID = '{0}'", eLine.SensorDataLineID.ToString().ToUpper()), string.Empty); if (lstLineValue != null && lstLineValue.Count > 0) { string temp = string.Empty; AddContentStringToStatus(dtoStatus, lstLineValue, SystemData.Status.ToString()); // 程序 AddContentStringToStatus(dtoStatus, lstLineValue, SystemData.ProgramNo.ToString()); AddContentStringToStatus(dtoStatus, lstLineValue, SystemData.ProgramName.ToString()); AddContentStringToStatus(dtoStatus, lstLineValue, SystemData.ProgramPhase.ToString()); AddProgramNameCaption(dtoStatus); // MeasurementSensor1 ~ MeasurementSensor7 AddContentNumberToStatus(dtoStatus, lstLineValue, SystemData.MeasurementSensor1.ToString()); AddContentNumberToStatus(dtoStatus, lstLineValue, SystemData.MeasurementSensor2.ToString()); AddContentNumberToStatus(dtoStatus, lstLineValue, SystemData.MeasurementSensor3.ToString()); AddContentNumberToStatus(dtoStatus, lstLineValue, SystemData.MeasurementSensor4.ToString()); AddContentNumberToStatus(dtoStatus, lstLineValue, SystemData.MeasurementSensor5.ToString()); AddContentNumberToStatus(dtoStatus, lstLineValue, SystemData.MeasurementSensor6.ToString()); AddContentNumberToStatus(dtoStatus, lstLineValue, SystemData.MeasurementSensor7.ToString()); // 已用时间 if (eLine.SensorDate != null && eLine.SensorDate.HasValue) { TimeSpan tsUsed = eLine.SensorDate.Value.Subtract(eHead.BeginDate.Value); item = new StatusItemDTO(Properties.Resource.ElapsedTime, StatusItemDTO.StatusItemType.DoubleValue, tsUsed.TotalMinutes.ToString("f2")); dtoStatus.StatusData.Add(item); } // 确定更新时间 if (eLine.SensorDate != null && eLine.SensorDate.HasValue) { item = new StatusItemDTO(Properties.Resource.UpdatedTime, StatusItemDTO.StatusItemType.DateTimeValue, eLine.SensorDate.Value.ToString("yyyy-MM-dd HH:mm:ss")); dtoStatus.StatusData.Add(item); } } } return(dtoStatus); }