EquipmentMaintainViewModel.cs 6.33 KB
using System;
using System.Collections.Generic;

namespace HHECS.WebAPI.ViewModel
{
    /// <summary>
    /// 设备保养看板接口模板
    /// </summary>
    public class EquipmentMaintainViewModel
    {
        /// <summary>
        /// 设备状态
        /// </summary>
        public EquipmentStatusModel EquipmentStatus { get; set; }

        /// <summary>
        /// 设备保养规则
        /// </summary>
        public ICollection<MaintenanceRulesModel> MaintenanceRules { get; set; }

        /// <summary>
        /// 保养记录
        /// </summary>
        public ICollection<MaintenanceRecordsModel> MaintenanceRecords { get; set; }

        /// <summary>
        /// 保养提醒
        /// </summary>
        public ICollection<MaintenanceReminderModel> MaintenanceReminder { get; set; }

        /// <summary>
        /// 预知保养
        /// </summary>
        public ICollection<PredictiveMaintenanceModel> PredictiveMaintenance { get; set; }
    }

    /// <summary>
    /// 设备状态
    /// </summary>
    public class EquipmentStatusModel
    {
        /// <summary>
        /// 设备编码
        /// </summary>
        public string EquipmentCode { get; set; }
        /// <summary>
        /// 设备名称
        /// </summary>
        public string EquipmentName { get; set; }
        /// <summary>
        /// 已保养次数,原[运行总距离]
        /// </summary>
        public int RunningDistance { get; set; }

        /// <summary>
        /// 待保养次数,原[总任务数]
        /// </summary>
        public int TaskTotal { set; get; }

        /// <summary>
        /// 保养时间(下次保养时间)
        /// </summary>
        public DateTime? MaintenanceTime { get; set; }

        /// <summary>
        /// 上次保养时间
        /// </summary>
        public DateTime? LastMaintenanceTime { get; set; }
    }

    /// <summary>
    /// 设备保养规则
    /// </summary>
    public class MaintenanceRulesModel
    {
        /// <summary>
        /// 部件名称
        /// </summary>
        public string PartName { get; set; }

        /// <summary>
        /// 保养周期
        /// </summary>
        public string Indicator { get; set; }

        /// <summary>
        /// 保养类型
        /// </summary>
        public string IndicatorType { get; set; }

        /// <summary>
        /// 一个月
        /// </summary>
        public bool OneMonth { get; set; }

        /// <summary>
        /// 三个月
        /// </summary>
        public bool ThreeMonth { get; set; }

        /// <summary>
        /// 六个月
        /// </summary>
        public bool SixMonth { get; set; }

        /// <summary>
        /// 12个月
        /// </summary>
        public bool TwelveMonth { get; set; }

        /// <summary>
        /// 取决于灰尘度
        /// </summary>
        public bool Dust { get; set; }

        /// <summary>
        /// 距离下次保养时间(天)
        /// </summary>
        public int Days { get; set; }

        /// <summary>
        /// 配件价格(元)
        /// </summary>
        public int? PartPrice { get; set; }

        /// <summary>
        /// 保养价格(元)
        /// </summary>
        public long? MaintenancePrice { get; set; }
    }

    /// <summary>
    /// 设备保养记录
    /// </summary>
    public class MaintenanceRecordsModel
    {
        /// <summary>
        /// 设备编号
        /// </summary>
        public string EquipmentCode { get; set; }

        /// <summary>
        /// 保养标识
        /// </summary>
        public int? Identification { get; set; }

        /// <summary>
        /// 状态代码
        /// </summary>
        public int StatusCode { get; set; }

        /// <summary>
        /// 部件名称
        /// </summary>
        public string PartName { get; set; }

        /// <summary>
        /// 设备类型
        /// </summary>
        public string EquipmentType { get; set; }

        /// <summary>
        /// 投入时间
        /// </summary>
        public TimeSpan? UsageTime { get; set; }

        /// <summary>
        /// 已保养次数,原[总任务数]
        /// </summary>
        public int TaskTotal { get; set; }

        /// <summary>
        /// 待保养次数,原[运行总距离]
        /// </summary>
        public int RunningDistance { get; set; }

        /// <summary>
        /// 此次保养时间
        /// </summary>
        public DateTime? MaintenanceTime { get; set; }

        /// <summary>
        /// 工作人员
        /// </summary>
        public string User { get; set; }

        /// <summary>
        /// 上次保养时间
        /// </summary>
        public DateTime? LastMaintenanceTime { get; set; }

        /// <summary>
        /// 上次保养距离(时间)
        /// </summary>
        public TimeSpan? TimeInterval => LastMaintenanceTime == null ? TimeSpan.Zero : DateTime.Now - LastMaintenanceTime;
    }

    /// <summary>
    /// 保养提醒
    /// </summary>
    public class MaintenanceReminderModel
    {
        /// <summary>
        /// 设备编号
        /// </summary>
        public string EquipmentCode { get; set; }

        /// <summary>
        /// 组件名称
        /// </summary>
        public string PartName { get; set; }

        /// <summary>
        /// 设备类型
        /// </summary>
        public string EquipmentType { get; set; }

        /// <summary>
        /// 保养时间提醒,剩余天数
        /// </summary>
        public string Days { get; set; }

        /// <summary>
        /// 异常警告
        /// </summary>
        public string Warning { get; set; }
    }

    /// <summary>
    /// 预知保养
    /// </summary>
    public class PredictiveMaintenanceModel
    {
        /// <summary>
        /// 设备编号/部件编号
        /// </summary>
        public string EquipmentCode { get; set; }

        /// <summary>
        /// 部件名称
        /// </summary>
        public string PartName { get; set; }

        /// <summary>
        /// 维保内容
        /// </summary>
        public string Content { get; set; }

        /// <summary>
        /// 保养提醒,剩余天数
        /// </summary>
        public string Days { get; set; }

        /// <summary>
        /// 维保费用(元)
        /// </summary>
        public long? Price { get; set; }
    }
}