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

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

    /** 能源类型编号 */
    @ExcelProperty(value = "能源类型编号")
    private Long energyId;

    /** 能源类型名称 */
    @ExcelProperty(value = "能源类型名称")
    private String energyName;

    /** 单位 */
    @ExcelProperty(value = "单位")
    private String measureUnit;

    /** 采购月份 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat("yyyy-MM")
    @ExcelProperty(value = "采购月份")
    private Date monthDate;

    /** 含税单价 */
    @ExcelProperty(value = "含税单价")
    private BigDecimal price;

    /** 不含税单价 */
    @ExcelProperty(value = "不含税单价")
    private BigDecimal unTaxPrice;

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

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

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

    public Long getObjId() 
    {
        return objId;
    }
    public void setEnergyId(Long energyId) 
    {
        this.energyId = energyId;
    }

    public Long getEnergyId() 
    {
        return energyId;
    }
    public void setEnergyName(String energyName) 
    {
        this.energyName = energyName;
    }

    public String getEnergyName() 
    {
        return energyName;
    }
    public void setMeasureUnit(String measureUnit) 
    {
        this.measureUnit = measureUnit;
    }

    public String getMeasureUnit() 
    {
        return measureUnit;
    }
    public void setMonthDate(Date monthDate) 
    {
        this.monthDate = monthDate;
    }

    public Date getMonthDate() 
    {
        return monthDate;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setUnTaxPrice(BigDecimal unTaxPrice)
    {
        this.unTaxPrice = unTaxPrice;
    }

    public BigDecimal getUnTaxPrice()
    {
        return unTaxPrice;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("objId", getObjId())
            .append("energyId", getEnergyId())
            .append("energyName", getEnergyName())
            .append("measureUnit", getMeasureUnit())
            .append("monthDate", getMonthDate())
            .append("price", getPrice())
            .append("unTaxPrice", getUnTaxPrice())
            .append("startDate", getStartDate())
            .append("endDate", getEndDate())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
