Пример #1
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.SensorDate   = eLine.SensorDate;
                dtoStatus.ReceivedDate = eLine.ReceivedDate;

                // Temperature
                AddValueNumberToStatus(dtoStatus, eLine.ValueNumber1, Properties.Resource.TemperatureSeries);
                AddValueNumberToStatus(dtoStatus, eLine.ValueNumber2, Properties.Resource.PressureSeries);
                AddValueNumberToStatus(dtoStatus, eLine.ValueNumber3, Properties.Resource.HumiditySeries);
                AddValueNumberToStatus(dtoStatus, eLine.ValueNumber4, Properties.Resource.VoltageSeries);

                // 确定更新时间
                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);
        }
Пример #2
0
        private static void AddValueNumberToStatus(SensorStatusDTO dtoStatus, decimal?valueNumber, string caption)
        {
            string temp = string.Empty;

            if (valueNumber != null && valueNumber.HasValue)
            {
                temp = valueNumber.Value.ToString("0.00");
                StatusItemDTO item = new StatusItemDTO(caption, StatusItemDTO.StatusItemType.StringValue, temp);
                dtoStatus.StatusData.Add(item);
            }
        }
Пример #3
0
        private void AddProgramNameCaption(SensorStatusDTO dtoStatus)
        {
            string programCaption = string.Empty;
            string programName    = GetValue(dtoStatus.StatusData, SystemData.ProgramName.ToString());

            if (!string.IsNullOrEmpty(programName))
            {
                programCaption = Business.Utility.GetProgramNameCaption(Sensor, programName);
            }
            StatusItemDTO item = new StatusItemDTO(Properties.Resource.ProgramNameCaption, StatusItemDTO.StatusItemType.StringValue, programCaption);

            dtoStatus.StatusData.Add(item);
        }
Пример #4
0
        private static void AddContentStringToStatus(SensorStatusDTO dtoStatus, IList <SensorDataLineValueEntity> lstLineValue, string valueType)
        {
            var lst = lstLineValue.Where(lv => lv.ValueType == valueType);

            if (lst != null && lst.Count() > 0)
            {
                SensorDataLineValueEntity eLineValue = lst.First();
                if (eLineValue != null)
                {
                    StatusItemDTO item = new StatusItemDTO(valueType, StatusItemDTO.StatusItemType.StringValue, eLineValue.ContentString);
                    dtoStatus.StatusData.Add(item);
                }
            }
        }
Пример #5
0
        private static void AddContentNumberToStatus(SensorStatusDTO dtoStatus, IList <SensorDataLineValueEntity> lstLineValue, string valueType)
        {
            var lst = lstLineValue.Where(lv => lv.ValueType == valueType);

            if (lst != null && lst.Count() > 0)
            {
                SensorDataLineValueEntity eLineValue = lst.First();
                if (eLineValue != null)
                {
                    string temp = string.Empty;
                    if (eLineValue.ContentNumber != null && eLineValue.ContentNumber.HasValue)
                    {
                        temp = eLineValue.ContentNumber.Value.ToString("0.00");
                    }
                    StatusItemDTO item = new StatusItemDTO(valueType, StatusItemDTO.StatusItemType.DoubleValue, temp);
                    dtoStatus.StatusData.Add(item);
                }
            }
        }
Пример #6
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);
        }