namespace WcsMain.AppEntity.LED; /// /// 需要展示在LED显示器上的内容 /// public class LEDData { /// /// 展示的模式,用于区分各种样式 /// public LEDShowModel? ShowModel { get; set; } /// /// 出入库模式 /// public string? TaskModel { get; set; } /// /// 载具号 /// public string? VehicleNo { get; set; } /// /// plc任务号 /// public int? PlcId { get; set; } /// /// 任务起点 /// public string? Origin { get; set; } /// /// 任务终点 /// public string? Destination { get; set; } public static bool operator ==(LEDData? left, LEDData? right) { if (left == default && right == default) { return true; }; if (left == default && right != default) { return false; }; if (left != default && right == default) { return false; }; return left!.Equals(right); } public static bool operator !=(LEDData? left, LEDData? right) { if (left == default && right == default) { return false; }; if (left == default && right != default) { return true; }; if (left != default && right == default) { return true; }; return !left!.Equals(right); } public override bool Equals(object? obj) { if (obj == default) { return false; } if (obj is LEDData ledData) { if (ShowModel == LEDShowModel.stackerTask) { if (TaskModel == ledData.TaskModel && VehicleNo == ledData.VehicleNo && PlcId == ledData.PlcId && Origin == ledData.Origin && Destination == ledData.Destination) { return true; } // 上面这些值都相等旧返回 true } } return false; } public override int GetHashCode() { return GetType().GetHashCode(); } } public enum LEDShowModel { stackerTask = 1, // 显示堆垛机任务 }