package org.dromara.ems.report.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_report_point_dnb
 *
 * @author Yinq
 * @date 2024-05-22
 */
@ExcelIgnoreUnannotated
public class EmsReportPointDnb extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键标识
     */
    private Long objId;

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

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

    /**
     * 仪表值
     */
    @ExcelProperty(value = "仪表值")
    private BigDecimal instrumentValue;

    /**
     * 耗量
     */
    @ExcelProperty(value = "耗量")
    private BigDecimal expend;

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

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

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

    /**
     * 修改标识（0是 1否）
     */
    @ExcelProperty(value = "修改标识")
    private String updateFlag;

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

    public BigDecimal getInstrumentValue() {
        return instrumentValue;
    }

    public void setExpend(BigDecimal expend) {
        this.expend = expend;
    }

    public BigDecimal getExpend() {
        return expend;
    }

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

    public Date getRecordTime() {
        return recordTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setUpdateFlag(String updateFlag) {
        this.updateFlag = updateFlag;
    }

    public String getUpdateFlag() {
        return updateFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("objId", getObjId())
                .append("monitorCode", getMonitorCode())
                .append("instrumentValue", getInstrumentValue())
                .append("expend", getExpend())
                .append("recordTime", getRecordTime())
                .append("beginTime", getBeginTime())
                .append("endTime", getEndTime())
                .append("updateFlag", getUpdateFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
