EquipmentMaintainRecord.cs 4.05 KB
using System.ComponentModel.DataAnnotations;
using TableAttribute = System.ComponentModel.DataAnnotations.Schema.TableAttribute;
using ColumnAttribute = System.ComponentModel.DataAnnotations.Schema.ColumnAttribute;
using System.ComponentModel.DataAnnotations.Schema;
using System;

namespace HHECS.Model.Entities
{
    /// <summary>
    /// 维护记录
    /// 通过设备绑定的保养规则生成保养记录
    /// </summary>
    [Table("equipmentmaintainrecord")]
    public class EquipmentMaintainRecord : BaseEntityCU<int>
    {
        /// <summary>
        /// 当一个组件生成多个保养记录、那么则需要通过标识去区分  此处需要设备编码和KeyId去进行区分
        /// </summary>
        public int KeyId { get; set; }

        [Column(Order = 2)]
        public string EquipmentCode { get; set; }
        [Column(Order = 2)]
        public string EquipmentName { get; set; }

        /// <summary>
        /// 设备名称条件(查询
        /// </summary>
        [NotMapped]
        public string Equipment_Name { get; set; }

        public string PartCode { get; set; }

        public string PartName { get; set; }

        /// <summary>
        /// 保养费用
        /// </summary>
        [Column(Order = 4)]
        public long? Price { get; set; }

        /// <summary>
        /// 保养周期 
        /// </summary>
        /// <remarks>
        /// <para>距离上一次保养后(没有则从现在开始计算多少分钟后),无论前台提供那种格式,均需要转换成分钟</para>
        /// <para>保养一般为周期性,考虑Cron表达式对客户不友好,这里使用间隔时间来表示保养周期 </para>
        /// </remarks>
        [Column(Order = 5)]
        public int? Indicator { get; set; }

        /// <summary>
        /// 处理方式,时间间隔、距离、次数、圈数等等
        /// </summary>
        [Column(Order = 6)]
        public int? IndicatorType { get; set; }

        /// <summary>
        ///异常信息警告
        /// </summary>
        [Column(Order = 7)]
        [MaxLength(500)]
        public string Warning { get; set; }

        /// <summary>
        /// 维保内容
        /// </summary>
        [Column(Order = 8)]
        [MaxLength(4000)]
        public string MaintenanceContent { get; set; }

        /// <summary>
        /// 状态--待维护、已维护
        /// <seealso cref="Enums.EquipmentMaintainStatus"/>
        /// </summary>
        [Column(Order = 5)]
        [Required]
        public int Status { get; set; }

        /// <summary>
        /// 本次保养时间
        /// </summary> 
        [Column(Order = 6)]
        public DateTime? MaintainTime { get; set; }

        /// <summary>
        /// 维护时由员工写入的备注
        /// </summary>
        [Column(Order = 7)]
        [MaxLength(200)]
        public string Remark { get; set; }

        /// <summary>
        /// 保养人员
        /// </summary>
        [Column(Order = 8)]
        [MaxLength(50)]
        public string Maintainer { get; set; }

        /// <summary>
        /// 上次保养时间
        /// </summary>
        [Column(Order = 9)]
        public DateTime? LastMaintainTime { get; set; }

        /// <summary>
        /// 是否推送  保养逾期推送一次 保养完成推送一次
        /// </summary>
        public bool IsPush { get; set; }

        /// <summary>
        /// 仓库编码
        /// </summary>
        [MaxLength(50)]
        public string WarehouseCode { get; set; }

        /// <summary>
        /// 映射处理方式名称
        /// </summary>
        [NotMapped]
        public string IndicatorTypeName { get; set; }


        /// <summary>
        /// 状态描述
        /// </summary>
        [NotMapped]
        public string StatusDes { get; set; }

        public Equipment Equipment { get; set; }
        public EquipmentMaintainRuleDetail EquipmentMaintainRuleDetail { get; set; }

        /// <summary>
        /// 状态描述
        /// </summary>
        [NotMapped]
        public string WarehouseCodeExt { get; set; }


    }
}