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_water_instant
 *
 * @author Yinq
 * @date 2024-05-14
 */
@ExcelIgnoreUnannotated
public class EmsRecordWaterInstant 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 waterFlow;

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

    /** 采集方式（0自动 1手动） */
    @ExcelProperty(value = "采集方式")
    private Long collectType;

    public String getMonitorCode() {
        return monitorCode;
    }

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

    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 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 setWaterFlow(BigDecimal waterFlow)
    {
        this.waterFlow = waterFlow;
    }

    public BigDecimal getWaterFlow()
    {
        return waterFlow;
    }
    public void setRecordTime(Date recordTime)
    {
        this.recordTime = recordTime;
    }

    public Date getRecordTime()
    {
        return recordTime;
    }
    public void setCollectType(Long collectType)
    {
        this.collectType = collectType;
    }

    public Long getCollectType()
    {
        return collectType;
    }

    @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("waterFlow", getWaterFlow())
            .append("recordTime", getRecordTime())
            .append("collectType", getCollectType())
            .toString();
    }
}
