package com.ruoyi.ems.domain;

import com.alibaba.fastjson2.JSONObject;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.util.List;

/**
 * 商户能源计费配置对象 adm_co_charging_config
 * 
 * @author ruoyi
 * @date 2024-08-26
 */
public class CoChargingConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 服务区代码 */
    private String areaCode;

    /** 服务区名称 */
    @Excel(name = "服务区")
    private String areaName;

    /** 服务区简称 */
    private String areaShortName;

    /** 电计量单价 1度 */
    @Excel(name = "电计量单价")
    private Double elecUnitPrice;

    /** 电公摊计算类型 */
    @Excel(name = "电公摊计算类型")
    private Integer elecGtComputeType;

    /** 电费计算说明 */
    @Excel(name = "电费计算说明")
    private String elecComputeDesc;

    /** 水计量单价 1吨 */
    @Excel(name = "水计量单价")
    private Double waterUnitPrice;

    /** 水公摊计算类型 */
    @Excel(name = "水公摊计算类型")
    private Integer waterGtComputeType;

    /** 水费计算说明 */
    @Excel(name = "水费计算说明")
    private String waterComputeDesc;

    private List<CoChargingConfigRel> relCoList;

    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 getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public String getAreaShortName() {
        return areaShortName;
    }

    public void setAreaShortName(String areaShortName) {
        this.areaShortName = areaShortName;
    }

    public Double getElecUnitPrice() {
        return elecUnitPrice;
    }

    public void setElecUnitPrice(Double elecUnitPrice) {
        this.elecUnitPrice = elecUnitPrice;
    }

    public Integer getElecGtComputeType() {
        return elecGtComputeType;
    }

    public void setElecGtComputeType(Integer elecGtComputeType) {
        this.elecGtComputeType = elecGtComputeType;
    }

    public String getElecComputeDesc() {
        return elecComputeDesc;
    }

    public void setElecComputeDesc(String elecComputeDesc) {
        this.elecComputeDesc = elecComputeDesc;
    }

    public Double getWaterUnitPrice() {
        return waterUnitPrice;
    }

    public void setWaterUnitPrice(Double waterUnitPrice) {
        this.waterUnitPrice = waterUnitPrice;
    }

    public Integer getWaterGtComputeType() {
        return waterGtComputeType;
    }

    public void setWaterGtComputeType(Integer waterGtComputeType) {
        this.waterGtComputeType = waterGtComputeType;
    }

    public String getWaterComputeDesc() {
        return waterComputeDesc;
    }

    public void setWaterComputeDesc(String waterComputeDesc) {
        this.waterComputeDesc = waterComputeDesc;
    }

    public List<CoChargingConfigRel> getRelCoList() {
        return relCoList;
    }

    public void setRelCoList(List<CoChargingConfigRel> relCoList) {
        this.relCoList = relCoList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("areaCode", getAreaCode())
            .append("areaName", getAreaName())
            .append("elecUnitPrice", getElecUnitPrice())
            .append("elecGtComputeType", getElecGtComputeType())
            .append("elecComputeDesc", getElecComputeDesc())
            .append("waterUnitPrice", getWaterUnitPrice())
            .append("waterGtComputeType", getWaterGtComputeType())
            .append("waterComputeDesc", getWaterComputeDesc())
            .append("relCoList", JSONObject.toJSONString(getRelCoList()))
            .toString();
    }
}
