package org.dromara.ems.record.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import cn.idev.excel.annotation.format.DateTimeFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 蒸汽实时数据对象 ems_record_steam_instant
 *
 * @author Yinq
 * @date 2024-05-22
 */
@ExcelIgnoreUnannotated
public class EmsRecordSteamInstant extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 自增标识
     */
    private Long objId;

    /**
     * 计量设备编号
     */
    @ExcelProperty(value = "计量设备编号")
    private String monitorCode;

    /** 计量设备编号 */
    @ExcelProperty(value = "计量设备名称")
    private String monitorName;

    /**
     * 采集时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "采集时间")
    private Date collectTime;

    /**
     * 瞬时流量
     */
    @ExcelProperty(value = "瞬时流量")
    private BigDecimal fluxFlow;

    /**
     * 累计流量
     */
    @ExcelProperty(value = "累计流量")
    private BigDecimal steamFlow;

    /**
     * 瞬时热量
     */
    @ExcelProperty(value = "瞬时热量")
    private BigDecimal heatInstantValue;

    /**
     * 累计热量
     */
    @ExcelProperty(value = "累计热量")
    private BigDecimal heatTotalValue;

    /**
     * 温度
     */
    @ExcelProperty(value = "温度")
    private BigDecimal temperature;

    /**
     * 压力
     */
    @ExcelProperty(value = "压力")
    private BigDecimal press;

    /**
     * 密度
     */
    @ExcelProperty(value = "密度")
    private BigDecimal density;

    /**
     * 压力差值
     */
    @ExcelProperty(value = "压力差值")
    private BigDecimal differencePress;

    /**
     * 记录时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "记录时间")
    private Date recordTime;

    public String getMonitorName() {
        return monitorName;
    }

    public void setMonitorName(String monitorName) {
        this.monitorName = monitorName;
    }

    public void setObjId(Long objId) {
        this.objId = objId;
    }

    public Long getObjId() {
        return objId;
    }

    public void setMonitorCode(String monitorCode) {
        this.monitorCode = monitorCode;
    }

    public String getMonitorCode() {
        return monitorCode;
    }

    public void setCollectTime(Date collectTime) {
        this.collectTime = collectTime;
    }

    public Date getCollectTime() {
        return collectTime;
    }

    public void setFluxFlow(BigDecimal fluxFlow) {
        this.fluxFlow = fluxFlow;
    }

    public BigDecimal getFluxFlow() {
        return fluxFlow;
    }

    public void setSteamFlow(BigDecimal steamFlow) {
        this.steamFlow = steamFlow;
    }

    public BigDecimal getSteamFlow() {
        return steamFlow;
    }

    public void setHeatInstantValue(BigDecimal heatInstantValue) {
        this.heatInstantValue = heatInstantValue;
    }

    public BigDecimal getHeatInstantValue() {
        return heatInstantValue;
    }

    public void setHeatTotalValue(BigDecimal heatTotalValue) {
        this.heatTotalValue = heatTotalValue;
    }

    public BigDecimal getHeatTotalValue() {
        return heatTotalValue;
    }

    public void setTemperature(BigDecimal temperature) {
        this.temperature = temperature;
    }

    public BigDecimal getTemperature() {
        return temperature;
    }

    public void setPress(BigDecimal press) {
        this.press = press;
    }

    public BigDecimal getPress() {
        return press;
    }

    public void setDensity(BigDecimal density) {
        this.density = density;
    }

    public BigDecimal getDensity() {
        return density;
    }

    public void setDifferencePress(BigDecimal differencePress) {
        this.differencePress = differencePress;
    }

    public BigDecimal getDifferencePress() {
        return differencePress;
    }

    public void setRecordTime(Date recordTime) {
        this.recordTime = recordTime;
    }

    public Date getRecordTime() {
        return recordTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("objId", getObjId())
                .append("monitorCode", getMonitorCode())
                .append("collectTime", getCollectTime())
                .append("fluxFlow", getFluxFlow())
                .append("steamFlow", getSteamFlow())
                .append("heatInstantValue", getHeatInstantValue())
                .append("heatTotalValue", getHeatTotalValue())
                .append("temperature", getTemperature())
                .append("press", getPress())
                .append("density", getDensity())
                .append("differencePress", getDifferencePress())
                .append("recordTime", getRecordTime())
                .toString();
    }
}
