using iWareCommon.Common.EnumType;
using iWareDataCore.DEV.EnumType;
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 StackerInfoEntity
{
///
/// 堆垛机名称
///
[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 string 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 string IsOnline { get; private set; }
public StackerInfoEntity(StackerEntity stacker)
{
this.StackerName = stacker.Equipment.EquipName;
this.SrmNo = stacker.SrmNo.ToString();
this.Mode = ((ESrmMode)stacker.Mode).ToString();
this.Alarm = stacker.Alarm == (int)EYesOrNo.是 ? "告警" : "正常";
this.LiftFull = stacker.LiftFull == (int)EYesOrNo.是 ? "有货" : "无货";
this.PosX = stacker.PosX.ToString();
this.PosY = stacker.PosY.ToString();
this.PosZ = ((EForkPos)stacker.PosZ).ToString();
this.PosXmm = stacker.PosXmm.ToString();
this.PosYmm = stacker.PosYmm.ToString();
this.PosZmm = stacker.PosZmm.ToString();
this.PickFinish = stacker.PickFinish == (int)EYesOrNo.是 ? "抓取完成" : "抓取未完成";
this.DeliveryFinish = stacker.DeliveryFinish == (int)EYesOrNo.是 ? "放货完成" : "放货未完成";
this.TaskFinish = stacker.TaskFinish == (int)EYesOrNo.是 ? "完成" : "未完成";
this.TaskNo = stacker.TaskNo.ToString();
this.State = ((ESrmState)stacker.State).ToString();
this.ActualLane = stacker.ActualLane.ToString();
this.AlarmNumber = ((ESrmAlarm)stacker.AlarmNumber).ToString();
this.HandShake = stacker.HandShake.ToString();
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 = ((ESrmCommand)stacker.WCommand).ToString();
this.WEmergencyStop = stacker.WEmergencyStop.ToString();
this.WAlarmAck = stacker.WAlarmAck == (int)EYesOrNo.是 ? "消警" : "不消警";
this.WStb = stacker.WStb.ToString();
this.WAck = stacker.WAck.ToString();
this.WHandShake = stacker.WHandShake.ToString();
this.IsOnline = stacker.IsOnline ? "在线" : "离线";
}
}
}