package com.ruoyi.ems.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.huashe.common.annotation.Excel;
import com.huashe.common.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 用水计量-小时对象 adm_water_meter_h
 * 
 * @author ruoyi
 * @date 2024-12-03
 */
public class WaterMeterH extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 园区代码 */
    private String areaCode;

    /** 计量设备 */
    @Excel(name = "表计编号")
    private String deviceCode;

    @Excel(name = "表计名称")
    private String deviceName;

    /** 记录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "记录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date recordTime;

    /** 日期 yyyy-MM-dd */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date date;

    /** 时间 HH:mm:ss */
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "时间", width = 30, dateFormat = "HH:mm:ss")
    private Date time;

    /** 时间序列 */
    private Integer timeIndex;

    /** 用水量 单位：t（吨） */
    @Excel(name = "用水量")
    private Double waterQuantity;

    /** 单位水价（1吨水） */
    @Excel(name = "单位水价")
    private Double meterUnitPrice;

    /** 小时水费 */
    @Excel(name = "小时水费")
    private Double useWaterCost;

    /** 抄表读数 */
    @Excel(name = "表计读数")
    private Double meterReading;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public Date getRecordTime() {
        return recordTime;
    }

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

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }

    public Integer getTimeIndex() {
        return timeIndex;
    }

    public void setTimeIndex(Integer timeIndex) {
        this.timeIndex = timeIndex;
    }

    public Double getWaterQuantity() {
        return waterQuantity;
    }

    public void setWaterQuantity(Double waterQuantity) {
        this.waterQuantity = waterQuantity;
    }

    public Double getMeterUnitPrice() {
        return meterUnitPrice;
    }

    public void setMeterUnitPrice(Double meterUnitPrice) {
        this.meterUnitPrice = meterUnitPrice;
    }

    public Double getUseWaterCost() {
        return useWaterCost;
    }

    public void setUseWaterCost(Double useWaterCost) {
        this.useWaterCost = useWaterCost;
    }

    public Double getMeterReading() {
        return meterReading;
    }

    public void setMeterReading(Double meterReading) {
        this.meterReading = meterReading;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("areaCode", getAreaCode())
            .append("deviceCode", getDeviceCode())
            .append("recordTime", getRecordTime())
            .append("date", getDate())
            .append("time", getTime())
            .append("timeIndex", getTimeIndex())
            .append("waterQuantity", getWaterQuantity())
            .append("meterUnitPrice", getMeterUnitPrice())
            .append("useWaterCost", getUseWaterCost())
            .append("createTime", getCreateTime())
            .toString();
    }
}
