using System.Runtime.Serialization;

namespace WCS.Entity.Protocol.SRM
{
    /// <summary>
    ///  SRM521
    /// </summary>
    [DataContract]
    public class WCS_SRM521 : ISRM521
    {
        /// <inheritdoc/>
        [DataMember(Order = 0)]
        public SrmStatus Status { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 1)]
        public SrmAutoStatus AutoStatus { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 2)]
        public SrmRunStatus RunStatus { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 3)]
        public short SLine { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 4)]
        public short SCol { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 5)]
        public short SLayer { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 6)]
        public ForkPosition SDepth { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 7)]
        public short ELine { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 8)]
        public short ECol { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 9)]
        public short ELayer { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 10)]
        public ForkPosition EDepth { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 11)]
        public int TaskNumber { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 12)]
        public short VoucherNo { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 13)]
        public short Line { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 14)]
        public short Col { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 15)]
        public short Layer { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 16)]
        public int TaskFinishiId { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 17)]
        public int TravelPos { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 18)]
        public int LiftPos { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 19)]
        public int ForkPos { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 20)]
        public SrmRunSpeedEnum RunSpeed { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 21)]
        public SrmTaskTypeEnum TaskType { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 22)]
        public float TotalKm { get; set; }

        /// <inheritdoc/>/// <inheritdoc/>
        [DataMember(Order = 23)]
        public short GoodsType { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 24)]
        public float RunTime { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 25)]
        public int Res3 { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 26)]
        public int Res4 { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 27)]
        public int Res5 { get; set; }

        /// <inheritdoc/>
        [DataMember(Order = 28)]
        public int Res6 { get; set; }
    }
}
