using iWare.Wms.Core.Enum; using iWare.Wms.Core; using iWare.Wms.Core.Util.LowCode.Dto; using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; namespace iWare.Wms.Application { /// /// 设备运行历史输出参数 /// [Description("设备运行历史")] public class EquipmentWorkingLogOutput { /// /// 字典类型Id /// [Description("设备ID")] public long EquipId { get; set; } /// /// 设备编号 /// [Description("设备编号")] public string EquipmentID { get; set; } /// /// 开机时间 /// [Description("开机时间")] public DateTime? StartUpTime { get; set; } /// /// 关机时间 /// [Description("关机时间")] public DateTime? ShutDownTime { get; set; } /// /// 故障开始时间 /// [Description("故障开始时间")] public DateTime? FailureStartTime { get; set; } /// /// 故障结束时间 /// [Description("故障结束时间")] public DateTime? FailureEndTime { get; set; } /// /// 故障代码 /// [Description("故障代码")] public string FailureType { get; set; } /// /// 故障文本 /// [Description("故障文本")] public string FailureMsg { get; set; } /// /// 开始换刀时间 /// [Description("开始换刀时间")] public DateTime? KnifeToolChangeStartTime { get; set; } /// /// 结束换刀时间 /// [Description("结束换刀时间")] public DateTime? KnifeToolChangeEndTime { get; set; } /// /// 切换手动时间 /// [Description("切换手动时间")] public DateTime? ToggleManualTime { get; set; } /// /// 切换自动时间 /// [Description("切换自动时间")] public DateTime? ToggleAutoTime { get; set; } /// /// 工件履历ID /// [Description("工件履历ID")] public long WorkPieceLogID { get; set; } /// /// 设备所属工序 /// [Description("设备所属工序")] public string WorkingProcedure { get; set; } /// /// 设备信息变更点 /// [Description("设备信息变更点")] public string MonitoringPoint { get; set; } /// /// 设备信息变更时生产工件号 /// [Description("生产工件号")] public string WorkPieceID { get; set; } /// /// 备注 /// [Description("备注")] public string Remarks { get; set; } /// /// 履历信息新增时间 /// [Description("履历信息新增时间")] public DateTime? LogAddTime { get; set; } /// /// Id主键 /// [Description("ID")] public long Id { get; set; } /// /// 设备名称 /// [Description("设备名称")] public string EquipmentName { get; set; } /// /// 工件状态 /// public string EquipmentStateName { get { try { return EquipmentState == null ? "" : EnumUtil.GetDescription((EnumEquipmentCurrentState)(int.Parse(EquipmentState))); } catch { return ""; } } } public string EquipmentState { get; set; } public DateTime? EquipmentStateStartTime { get; set; } public DateTime? EquipmentStateEndTime { get; set; } public string WarnType { get; set; } public DateTime? WarnStartTime { get; set; } public DateTime? WarnEndTime { get; set; } public string Warnmsg { get; set; } public string UpdateDesc { get; set; } public string WarnTimeHand { get { string str = ""; if (WarnStartTime.HasValue) { str += (WarnStartTime.ToString() + "-"); } else { str += "-"; } if (WarnEndTime.HasValue) { str += WarnEndTime.ToString(); } return str; } } public string EquipmentStateTimeHand { get { string str = ""; if (EquipmentStateStartTime.HasValue) { str += (EquipmentStateStartTime.ToString() + "-"); } else { str += "-"; } if (EquipmentStateEndTime.HasValue) { str += EquipmentStateEndTime.ToString(); } return str; } } public double EquipmentStateTimeCount { get { double str = 0; if (EquipmentStateStartTime.HasValue) { if (EquipmentStateEndTime.HasValue) { str = (EquipmentStateEndTime.Value- EquipmentStateStartTime.Value).TotalHours; } else { //str=(DateTime.Now - EquipmentStateStartTime.Value).TotalHours; str = 0; } } else { str = 0; } return str; } } public string FailureTimeHand { get { string str = ""; if (FailureStartTime.HasValue) { str += (FailureStartTime.ToString() + "-"); } else { str += "-"; } if (FailureEndTime.HasValue) { str += FailureEndTime.ToString(); } return str; } } } /// /// 导出Excel文件中字段 /// [Description("设备运行历史")] public class EquipmentExcelOutput { /// /// 设备编号 /// [Description("设备编号")] public string EquipmentId { get; set; } /// /// 设备名称 /// [Description("设备名称")] public string EquipmentName { get; set; } /// /// 变更描述 /// [Description("变更描述")] public string UpdateDesc { get; set; } ///// ///// 故障代码 ///// //[Description("故障代码")] //public string FailureType { get; set; } /// /// 故障文本 /// [Description("故障文本")] public string FailureMsg { get; set; } /// /// 故障开始时间 /// [Description("故障开始时间")] public DateTime? FailureStartTime { get; set; } /// /// 故障结束时间 /// [Description("故障结束时间")] public DateTime? FailureEndTime { get; set; } /// /// 告警文本 /// [Description("告警文本")] public string Warnmsg { get; set; } /// /// 告警开始时间 /// [Description("告警开始时间")] public DateTime? WarnStartTime { get; set; } /// /// 告警结束时间 /// [Description("告警结束时间")] public DateTime? WarnEndTime { get; set; } /// /// 工件状态 /// [Description("设备状态")] public string EquipmentStateName { get; set; } //public string EquipmentState { get; set; } [Description("状态开始")] public DateTime? EquipmentStateStartTime { get; set; } [Description("状态结束")] public DateTime? EquipmentStateEndTime { get; set; } /// /// 履历信息新增时间 /// [Description("履历信息新增时间")] public DateTime? LogAddTime { get; set; } /// /// 备注 /// [Description("备注")] public string Remarks { get; set; } } }