State_Jbt.cs 3.23 KB
using System.Text.Json.Serialization;
using Rcs.Domain.Extensions;

namespace Rcs.Domain.Models.VDA5050.Jbt
{
    /// <summary>
    /// AGV״̬��Ϣ��Jbt����Э����չ��
    /// </summary>
    [ProtocolInfo("Jbt", "2.0.0", nameof(State))]
    public class State_Jbt : State
    {
        #region �����ֶ�
        /// <summary>
        /// ��������
        /// </summary>
        [JsonPropertyName("upgState")]
        public Jbt_UpgState UpgState { get; set; } = new();
        /// <summary>
        /// ��ȡʽAGV״̬��Ϣ
        /// </summary>
        [JsonPropertyName("forkState")]
        public Jbt_ForkState JbtForkState { get; set; } = new();
        /// <summary>
        /// DZ������AGV״̬��Ϣ
        /// </summary>
        [JsonPropertyName("forkState")]
        public Jbt_JackState JbtJackState { get; set; } = new();
        /// <summary>
        /// DZ������AGV״̬��Ϣ
        /// </summary>
        [JsonPropertyName("files")]
        public List<Jbt_File> JbtFiles { get; set; } = new();
        [JsonPropertyName("loads")]
        public List<Jbt_Load>? JbtLoads { get; set; }
        #endregion

        #region ɾ���ֶ�
        [JsonIgnore]
        public new List<Load>? Loads { get; set; }
        #endregion

    }
    public class Jbt_UpgState {
        /// <summary>
        /// ����״̬
        /// </summary>
        [JsonPropertyName("upgState")]
        public string UpgState { get; set; }
        /// <summary>
        /// ����״̬
        /// </summary>
        [JsonPropertyName("errorDescription")]
        public string ErrorDescription { get; set; }
        /// <summary>
        /// ����״̬
        /// </summary>
        [JsonPropertyName("percent")]
        public string Percent { get; set; }
    }
    public class Jbt_ForkState
    {
        /// <summary>
        /// ��ݾ����߶�
        /// </summary>
        [JsonPropertyName("liftHeight")]
        public double? LiftHeight { get; set; }

    }
    public class Jbt_JackState
    {
        /// <summary>
        /// ��������Գ���Ƕ�, ��λ����rad, ȡֵ��Χ-PI��PI
        /// </summary>
        [JsonPropertyName("jackTheta")]
        public double? JackTheta { get; set; }

    }
    public class Jbt_File {
        /// <summary>
        /// �ļ�ID
        /// </summary>
        public string FileId { get; set; }
        /// <summary>
        /// �ļ��汾
        /// </summary>
        public string FileVersion { get; set; }
        /// <summary>
        /// �����
        /// </summary>
        public string FileType { get; set; }
    }
    public class Jbt_Load : Load {
        /// <summary>
        /// ���غͳ�������ϵ�ļн�
        /// </summary>
        [JsonPropertyName("theta")]
        public double Theta { get; set; }
        /// <summary>
        /// ����ID
        /// </summary>
        [JsonPropertyName("materialId")]
        public string? MaterialId { get; set; }
        /// <summary>
        /// ���ϱ���
        /// </summary>
        [JsonPropertyName("materialCode")]
        public string? MaterialCode { get; set; }
    }
}