Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }