package com.ruoyi.project.base.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备/管线对象 t_base_device
 *
 * @author ruoyi
 * @date 2022-11-15
 */
public class TBaseDevice extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识id
     */
    private Long devId;

    @TableField(exist = false)
    private Long[] devIds;

    /**
     * 装置id
     */
    private Long plantId;

    /**
     * 区域id
     */
    private Long regionId;

    /**
     * 审核状态
     */
    @Excel(name = "审核状态",dictType = "base_approve_status")
    private Long approveStatus;

    @Excel(name = "装置名称")
    @TableField(exist = false)
    private String plantName;

    @Excel(name = "装置编码")
    @TableField(exist = false)
    private String plantCode;

    @Excel(name = "区域名称")
    @TableField(exist = false)
    private String regionName;

    @Excel(name = "区域编号")
    @TableField(exist = false)
    private String regionCode;

    /**
     * 设备/管线编号
     */
    @Excel(name = "设备/管线编号")
    private String devCode;

    /**
     * 设备/管线描述
     */
    @Excel(name = "设备/管线描述")
    private String devDescribe;


    /**
     * 主要物料/产品
     */
    @Excel(name = "主要物料/产品")
    private String material;

    /**
     * 物料状态
     */
    @Excel(name = "物料状态")
    private String materialStatus;

    /**
     * 设备/管线描述
     */
    @Excel(name = "合成相应因子")
    private String responseFactor;

    /**
     * 设备/管线描述
     */
    @Excel(name = "相应因子来源")
    private String responseFactorFrom;

    /**
     * 最新申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date approveTime;

    /**
     * 部门编号
     */
    private Long deptId;

    /**
     * 状态 1 ：正常 ；0：删除
     */
    private Integer delFlag;

    /**
     * 创建人
     */
    private Long createrCode;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createdate;

    /**
     * 修改人
     */
    private Long updaterCode;

    @Excel(name = "维护人")
    @TableField(exist = false)
    private String updater;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "维护时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedate;

    @Excel(name = "备注")
    private String remarks;

    public Long[] getDevIds() {
        return devIds;
    }

    public void setDevIds(Long[] devIds) {
        this.devIds = devIds;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getMaterial() {
        return material;
    }

    public void setMaterial(String material) {
        this.material = material;
    }

    public String getMaterialStatus() {
        return materialStatus;
    }

    public void setMaterialStatus(String materialStatus) {
        this.materialStatus = materialStatus;
    }

    public String getResponseFactor() {
        return responseFactor;
    }

    public void setResponseFactor(String responseFactor) {
        this.responseFactor = responseFactor;
    }

    public String getResponseFactorFrom() {
        return responseFactorFrom;
    }

    public void setResponseFactorFrom(String responseFactorFrom) {
        this.responseFactorFrom = responseFactorFrom;
    }

    public String getPlantName() {
        return plantName;
    }

    public void setPlantName(String plantName) {
        this.plantName = plantName;
    }

    public String getPlantCode() {
        return plantCode;
    }

    public void setPlantCode(String plantCode) {
        this.plantCode = plantCode;
    }

    public String getRegionName() {
        return regionName;
    }

    public void setRegionName(String regionName) {
        this.regionName = regionName;
    }

    public String getRegionCode() {
        return regionCode;
    }

    public void setRegionCode(String regionCode) {
        this.regionCode = regionCode;
    }

    public String getUpdater() {
        return updater;
    }

    public void setUpdater(String updater) {
        this.updater = updater;
    }

    public void setDevId(Long devId) {
        this.devId = devId;
    }

    public Long getDevId() {
        return devId;
    }

    public void setPlantId(Long plantId) {
        this.plantId = plantId;
    }

    public Long getPlantId() {
        return plantId;
    }

    public void setRegionId(Long regionId) {
        this.regionId = regionId;
    }

    public Long getRegionId() {
        return regionId;
    }

    public void setDevCode(String devCode) {
        this.devCode = devCode;
    }

    public String getDevCode() {
        return devCode;
    }

    public void setDevDescribe(String devDescribe) {
        this.devDescribe = devDescribe;
    }

    public String getDevDescribe() {
        return devDescribe;
    }

    public void setApproveStatus(Long approveStatus) {
        this.approveStatus = approveStatus;
    }

    public Long getApproveStatus() {
        return approveStatus;
    }

    public void setApproveTime(Date approveTime) {
        this.approveTime = approveTime;
    }

    public Date getApproveTime() {
        return approveTime;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setCreaterCode(Long createrCode) {
        this.createrCode = createrCode;
    }

    public Long getCreaterCode() {
        return createrCode;
    }

    public void setCreatedate(Date createdate) {
        this.createdate = createdate;
    }

    public Date getCreatedate() {
        return createdate;
    }

    public void setUpdaterCode(Long updaterCode) {
        this.updaterCode = updaterCode;
    }

    public Long getUpdaterCode() {
        return updaterCode;
    }

    public void setUpdatedate(Date updatedate) {
        this.updatedate = updatedate;
    }

    public Date getUpdatedate() {
        return updatedate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getDevId())
                .append("plantId", getPlantId())
                .append("regionId", getRegionId())
                .append("code", getDevCode())
                .append("describe", getDevDescribe())
                .append("remark", getRemark())
                .append("approveStatus", getApproveStatus())
                .append("approveTime", getApproveTime())
                .append("deptId", getDeptId())
                .append("delFlag", getDelFlag())
                .append("createrCode", getCreaterCode())
                .append("createdate", getCreatedate())
                .append("updaterCode", getUpdaterCode())
                .append("updatedate", getUpdatedate())
                .toString();
    }
}
