package org.eco.als.domain;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.eco.common.orm.core.domain.BaseEntity;

import java.io.Serial;
import java.util.Date;

/**
 * 维修记录对象 als_maintenance_record_t
 *
 * @author wgk
 * @date 2024-07-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Table(value = "als_maintenance_record_t")
public class MaintenanceRecord extends BaseEntity {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @Id
    private Long id;

    /**
     * 机型
     */
    private String aircraftType;

    /**
     * 机号
     */
    private String aircraftId;
    /**
     * 出厂号码
     */
    private String serialNumber;

    /**
     * 专业
     */
    private String specialty;

    /**
     * 系统
     */
    private String systemName;

    /**
     * 发动机型别
     */
    private String engineType;

    /**
     * 发动机号码
     */
    private String engineSerialNumber;

    /**
     * 单位
     */
    private String unitName;

    /**
     * 故障现象
     */
    private String faultPhenomenon;

    /**
     * 故障发生地点
     */
    private String locationFault;

    /**
     * 发现时机
     */
    private String discoveryTime;

    /**
     * 故障件名称
     */
    private String itemName;

    /**
     * 故障件型别
     */
    private String itemType;

    /**
     * 故换件号码
     */
    private String partNumber;

    /**
     * 故换件型别
     */
    private String partType;

    /**
     * 故障失常码
     */
    private String faultCode;

    /**
     * 故障件装机日期
     */
    private Date installationDate;

    /**
     * 故障原因
     */
    private String causeFault;

    /**
     * 故障性质
     */
    private String natureFault;

    /**
     * 故障责任
     */
    private String liabilityFault;

    /**
     * 故障后果
     */
    private String consequencesFault;

    /**
     * 发生日期
     */
    private Date occurDate;

    /**
     * 判明方法
     */
    private String methodDetermination;

    /**
     * 排除方法
     */
    private String methodRectification;

    /**
     * 发现人
     */
    private String discoveredBy;

    /**
     * 排故人
     */
    private String rectificationBy;

    /**
     * 审核人
     */
    private String reviewerBy;

    /**
     * 排故人数
     */
    private String rectificationNumber;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 删除标识（1删除 0未删除）
     */
    @Column(isLogicDelete = true)
    private Integer delFlag;


}
