using IWareCommon.Enum.Common;
using IWareCommon.Enum.Srm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
namespace IWareCC.SRM.Entity
{
[DataContract]
public class SrmInfoEntity
{
///
/// 堆垛机名称
///
[DataMember]
public string StackerName { get; private set; }
///
/// 1Srm编号
///
[DataMember]
public string SrmNo { get; private set; }
///
/// 2运行模式
///
[DataMember]
public string Mode { get; private set; }
///
/// 3告警信号
///
[DataMember]
public bool Alarm { get; private set; }
///
/// 4载货工位是否有货
///
[DataMember]
public string LiftFull { get; private set; }
///
/// 5当前列
///
[DataMember]
public string PosX { get; private set; }
///
/// 6当前层
///
[DataMember]
public string PosY { get; private set; }
///
/// 7货叉位置
///
[DataMember]
public string PosZ { get; private set; }
///
/// 8当前列坐标
///
[DataMember]
public string PosXmm { get; private set; }
///
/// 9当前层坐标
///
[DataMember]
public string PosYmm { get; private set; }
///
/// 10当前货叉坐标
///
[DataMember]
public string PosZmm { get; private set; }
///
/// 11完成取货信号
///
[DataMember]
public string PickFinish { get; private set; }
///
/// 12完成放货信号
///
[DataMember]
public string DeliveryFinish { get; private set; }
///
/// 13任务完成
///
[DataMember]
public string TaskFinish { get; private set; }
///
/// 14任务号
///
[DataMember]
public string TaskNo { get; private set; }
///
/// 15运行状态
///
[DataMember]
public string State { get; private set; }
///
/// 16当前巷道号
///
[DataMember]
public string ActualLane { get; private set; }
///
/// 17告警代码
///
[DataMember]
public string AlarmNumber { get; private set; }
///
/// 18心跳
///
[DataMember]
public string HandShake { get; private set; }
///
/// 1Srm编号
///
[DataMember]
public string WSrmNo { get; private set; }
///
/// 2任务号
///
[DataMember]
public string WTaskNo { get; private set; }
///
/// 3源列
///
[DataMember]
public string WSourcePosX { get; private set; }
///
/// 4源层
///
[DataMember]
public string WSourcePosY { get; private set; }
///
/// 5源排
///
[DataMember]
public string WSourcePosZ { get; private set; }
///
/// 6宿列
///
[DataMember]
public string WDestinationPosX { get; private set; }
///
/// 7宿层
///
[DataMember]
public string WDestinationPosY { get; private set; }
///
/// 8宿排
///
[DataMember]
public string WDestinationPosZ { get; private set; }
///
/// 9发送命令
///
[DataMember]
public string WCommand { get; private set; }
///
/// 10紧急停止
///
[DataMember]
public string WEmergencyStop { get; private set; }
///
/// 11解除告警
///
[DataMember]
public string WAlarmAck { get; private set; }
///
/// 12WCS通讯位
///
[DataMember]
public string WStb { get; private set; }
///
///13SRM 应答位
///
[DataMember]
public string WAck { get; private set; }
///
/// 14心跳
///
[DataMember]
public string WHandShake { get; private set; }
///
/// 是否在线
///
[DataMember]
public bool IsOnline { get; private set; }
public SrmInfoEntity()
{
}
public SrmInfoEntity(SrmEntity stacker)
{
this.StackerName = stacker.SrmName;
this.SrmNo = stacker.RSrmNo.ToString();
this.Mode = ((ESrmMode)stacker.RMode).ToString();
this.Alarm = stacker.RAlarm;
this.LiftFull = stacker.RLiftFull ? "有货" : "无货";
this.PosX = stacker.RPosX.ToString();
this.PosY = stacker.RPosY.ToString();
this.PosZ = stacker.RPosZ.ToString();
this.PosXmm = stacker.RPosXmm.ToString();
this.PosYmm = stacker.RPosYmm.ToString();
this.PosZmm = stacker.RPosZmm.ToString();
this.PickFinish = stacker.RPickFinish ? "抓取完成" : "抓取未完成";
this.DeliveryFinish = stacker.RDeliveryFinish ? "放货完成" : "放货未完成";
this.TaskFinish = stacker.RTaskFinish ? "完成" : "未完成";
this.TaskNo = stacker.RTaskNo.ToString();
this.State = ((ESrmState)stacker.RState).ToString();
this.ActualLane = stacker.RActualLane.ToString();
this.AlarmNumber = ((ESrmAlarm)stacker.RAlarmCode).ToString();
this.HandShake = stacker.RHandShake.ToString();
this.WAck = stacker.RAck ? "收到" : "置位";
this.WSrmNo = stacker.WSrmNo.ToString();
this.WTaskNo = stacker.WTaskNo.ToString();
this.WSourcePosX = stacker.WSourcePosX .ToString();
this.WSourcePosY = stacker.WSourcePosY.ToString();
this.WSourcePosZ = stacker.WSourcePosZ.ToString();
this.WDestinationPosX = stacker.WDestinationPosX.ToString();
this.WDestinationPosY = stacker.WDestinationPosY.ToString();
this.WDestinationPosZ = stacker.WDestinationPosZ.ToString();
this.WCommand = ((ESrmCmd)stacker.WCommand).ToString();
this.WEmergencyStop = stacker.WEmergencyStop.ToString();
this.WAlarmAck = stacker.WCancleAlarm ? "消警" : "不消警";
this.WHandShake = stacker.WHandShake.ToString();
this.IsOnline = stacker.IsOnline;
}
}
}