StationMonitorAnalysis.cs 1.74 KB
using HHECS.BllModel;
using HHECS.DAQHandle.Common.Enums;
using HHECS.DAQHandle.Common.Utils;
using HHECS.DAQHandle.Models;
using HHECS.EquipmentModel;

namespace HHECS.DAQHandle.EquipmentHandle
{
    /// <summary>
    /// 站台监控数据解析
    /// </summary>
    internal class StationMonitorAnalysis : BaseAnalysis
    {
        public StationMonitorAnalysis(EquipmentType equipmentType) : base(equipmentType)
        {
        }
        //public override BllResult Execute(IEnumerable<EquipmentDataRecord> records)
        //{
        //   // return base.Execute(records);
        //}

        public override EquipmentStatusRecordStatus? GetEquipmentStatus(EquipmentDataRecord equipmentInfo)
        {


            EquipmentStatusRecordStatus? equipmentStatus = null;

            var totalError = GetPropValue(equipmentInfo, StationProps.StationError);
            //故障
            if (string.IsNullOrWhiteSpace(totalError))
            {
                SystemLog.PrintError($"记录{equipmentInfo.Id}的totalError属性无有效数据");
            }
            else if (totalError == "True")
            {
                equipmentStatus = EquipmentStatusRecordStatus.Error;
            }
            else
            {
                //运行
                if (GetPropValue(equipmentInfo, StationProps.StationCorotation) == "True"
                  || GetPropValue(equipmentInfo, StationProps.StationReverse) == "True")
                {
                    equipmentStatus = EquipmentStatusRecordStatus.Running;
                }
                //待机
                else
                {
                    equipmentStatus = EquipmentStatusRecordStatus.Free;
                }
            }
            return equipmentStatus;

        }

    }
}