package com.aucma.report.domain;

import com.aucma.common.annotation.Excel;
import com.aucma.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 设备 OEE 分析报表
 *
 * 注意：当前实现为基于 DMS 数据的近似计算，可用率等口径后续可根据现场要求调整。
 */
public class DeviceOeeReport extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 设备编码 */
    @Excel(name = "设备编码")
    @JsonProperty("DEVICE_CODE")
    private String DEVICE_CODE;

    /** 设备名称 */
    @Excel(name = "设备名称")
    @JsonProperty("DEVICE_NAME")
    private String DEVICE_NAME;

    /** 可用率 */
    @Excel(name = "可用率")
    @JsonProperty("AVAILABILITY")
    private Double AVAILABILITY;

    /** 性能稼动率 */
    @Excel(name = "性能稼动率")
    @JsonProperty("PERFORMANCE")
    private Double PERFORMANCE;

    /** 良品率 */
    @Excel(name = "良品率")
    @JsonProperty("QUALITY")
    private Double QUALITY;

    /** OEE */
    @Excel(name = "OEE")
    @JsonProperty("OEE")
    private Double OEE;

    /** 计划运行时间（分钟） */
    @Excel(name = "计划运行时间(分钟)")
    @JsonProperty("PLANNED_TIME_MINUTES")
    private Long PLANNED_TIME_MINUTES;

    /** 停机时间（分钟） */
    @Excel(name = "停机时间(分钟)")
    @JsonProperty("DOWNTIME_MINUTES")
    private Long DOWNTIME_MINUTES;

    public String getDEVICE_CODE() {
        return DEVICE_CODE;
    }

    public void setDEVICE_CODE(String DEVICE_CODE) {
        this.DEVICE_CODE = DEVICE_CODE;
    }

    public String getDEVICE_NAME() {
        return DEVICE_NAME;
    }

    public void setDEVICE_NAME(String DEVICE_NAME) {
        this.DEVICE_NAME = DEVICE_NAME;
    }

    public Double getAVAILABILITY() {
        return AVAILABILITY;
    }

    public void setAVAILABILITY(Double AVAILABILITY) {
        this.AVAILABILITY = AVAILABILITY;
    }

    public Double getPERFORMANCE() {
        return PERFORMANCE;
    }

    public void setPERFORMANCE(Double PERFORMANCE) {
        this.PERFORMANCE = PERFORMANCE;
    }

    public Double getQUALITY() {
        return QUALITY;
    }

    public void setQUALITY(Double QUALITY) {
        this.QUALITY = QUALITY;
    }

    public Double getOEE() {
        return OEE;
    }

    public void setOEE(Double OEE) {
        this.OEE = OEE;
    }

    public Long getPLANNED_TIME_MINUTES() {
        return PLANNED_TIME_MINUTES;
    }

    public void setPLANNED_TIME_MINUTES(Long PLANNED_TIME_MINUTES) {
        this.PLANNED_TIME_MINUTES = PLANNED_TIME_MINUTES;
    }

    public Long getDOWNTIME_MINUTES() {
        return DOWNTIME_MINUTES;
    }

    public void setDOWNTIME_MINUTES(Long DOWNTIME_MINUTES) {
        this.DOWNTIME_MINUTES = DOWNTIME_MINUTES;
    }
}
