SRMAnalysisBase.cs 2.26 KB
using HHECS.BllModel;
using HHECS.DAQHandle.Dto;
using HHECS.DAQShared.Common.Enums;
using HHECS.DAQShared.Models;

namespace HHECS.DAQHandle.EquipmentHandle.SRM
{
    internal abstract class SRMAnalysisBase : AnalysisBase
    {
        public SRMAnalysisBase(AnalysisParameter parameter) : base(parameter) { }

        protected override BllResult EquipmentAlarmCodeValidation(Equipment equipment, string equipmentPropCode)
        {
            var srmV2 = new List<EquipmentTypeConst>
            {
                EquipmentTypeConst.SingleForkSRMV2,
                EquipmentTypeConst.SingleForkSSRMV2,
                EquipmentTypeConst.DoubleForkSRMV2,
            }.Select(x => x.ToString()).ToList();

            if (srmV2.Contains(CurrentEquipmentType.Code))
            {
                var equipmentPropCodes = new List<string>
                {
                    "F8126",// 手动模式已选择
                    "F8127",// 维修模式已选择
                    "F8128",// 外超已屏蔽
                    "F8312",// 等待对接站台放货允许
                    "F8608",// 货叉1电机1:货叉伸出时,无伸叉就绪信号
                    "F8708",// 货叉1电机2:货叉伸出时,无伸叉就绪信号
                    "F8808",// 货叉2电机1:货叉伸出时,无伸叉就绪信号
                    "F8908",// 货叉2电机2:货叉伸出时,无伸叉就绪信号
                    "F8517",// 行走轴前减速触发警告
                    "F8518",// 行走轴后减速触发警告
                    "F8549",// 升降轴上减速触发警告
                    "F8550",// 升降轴下减速触发警告
                    "F8630",// 货叉1电机1:货叉手动伸出时,货架有货
                    "F8730",// 货叉1电机2:货叉手动伸出时,货架有货
                    "F8830",// 货叉2电机1:货叉手动伸出时,货架有货
                    "F8930",// 货叉2电机2:货叉手动伸出时,货架有货
                };
                if (equipmentPropCodes.Contains(equipmentPropCode))
                {
                    return BllResultFactory.Error($"“{equipmentPropCode}”报警需要忽略");
                }
            }

            return BllResultFactory.Success();
        }
    }
}