package com.yuchen.saas.park.api.entity.property;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 仪表管理-公摊仪表
 * </p>
 *
 * @author miaoqs
 * @since 2024-09-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("saas_park_property_public_meter")
@ApiModel(value="SaasParkPropertyPublicMeter对象", description="仪表管理-公摊仪表")
public class SaasParkPropertyPublicMeter extends TenantEntity {

    /**
     * 所属项目
     */
    @ApiModelProperty(name = "parkId", value = "所属项目")
    private Long parkId;
    /**
     * 所在房间
     */
    @ApiModelProperty(name = "roomId", value = "所在房间")
    private Long roomId;
    /**
     * 分摊方式 1:平均分摊;2:按建筑面积分摊;3:按使用面积分摊;4:按计费面积;
     */
    @ApiModelProperty(name = "apportionType", value = "分摊方式 1:平均分摊;2:按建筑面积分摊;3:按使用面积分摊;4:按计费面积;")
    private String apportionType;
    /**
     * 分摊面积
     */
    @ApiModelProperty(name = "apportionArea", value = "分摊面积")
    private BigDecimal apportionArea;
    /**
     * 仪表类型
     */
    @ApiModelProperty(name = "meterTypeId", value = "仪表类型")
    private Long meterTypeId;
    /**
     * 仪表名称
     */
    @ApiModelProperty(name = "meterName", value = "仪表名称")
    private String meterName;
    /**
     * 用途 1:公摊表;2:总表;
     */
    @ApiModelProperty(name = "useType", value = "用途 1:公摊表;2:总表;")
    private String useType;
    /**
     * 关联总表id
     */
    @ApiModelProperty(name = "summaryMeterId", value = "关联总表id")
    private Long summaryMeterId;
    /**
     * 表具编号
     */
    @ApiModelProperty(name = "meterNo", value = "表具编号")
    private String meterNo;
    /**
     * 倍率
     */
    @ApiModelProperty(name = "multiplyingPower", value = "倍率")
    private BigDecimal multiplyingPower;
    /**
     * 损耗率
     */
    @ApiModelProperty(name = "rateOfWaste", value = "损耗率")
    private BigDecimal rateOfWaste;
    /**
     * 最大读数
     */
    @ApiModelProperty(name = "maxReading", value = "最大读数")
    private BigDecimal maxReading;
    /**
     * 回程
     */
    @ApiModelProperty(name = "backhaul", value = "回程")
    private BigDecimal backhaul;
    /**
     * 是否抄表 0:否;1:是;
     */
    @ApiModelProperty(name = "izReadingMeter", value = "是否抄表 0:否;1:是;")
    private String izReadingMeter;
    /**
     * 抄表时间
     */
    @ApiModelProperty(name = "readingTime", value = "抄表时间")
    private Date readingTime;
    /**
     * 原始读数
     */
    @ApiModelProperty(name = "originalReading", value = "原始读数")
    private BigDecimal originalReading;
    /**
     * 设备类型
     */
    @ApiModelProperty(name = "equipmentType", value = "设备类型")
    private String equipmentType;
    /**
     * 设备编码
     */
    @ApiModelProperty(name = "equipmentNo", value = "设备编码")
    private String equipmentNo;
    /**
     * 关联资产
     */
    @ApiModelProperty(name = "propertyId", value = "关联资产")
    private Long propertyId;

    /**
     * 收费标准id
     */
    @ApiModelProperty(name = "ratesId", value = "收费标准id")
    private Long ratesId;

    /**
     * 状态 1:可用;2:不可用;
     */
    @ApiModelProperty(name = "state", value = "状态 1:可用;2:不可用;")
    private String state;

    /**
     * 是否被更换 0:否;1:是;
     */
    @ApiModelProperty(name = "izChange", value = "是否被更换 0:否;1:是;")
    private String izChange;
    /**
     *  上次读数日期
     */
    @ApiModelProperty(name = "lastReadingDate", value = "上次读数日期")
    private Date lastReadingDate;
    /**
     * 上次读数
     */
    @ApiModelProperty(name = "lastReading", value = "上次读数")
    private BigDecimal lastReading;
    /**
     * 更换日期
     */
    @ApiModelProperty(name = "changeDate", value = "更换日期")
    private Date changeDate;
    /**
     * 更换时读数
     */
    @ApiModelProperty(name = "changeReading", value = "更换时读数")
    private BigDecimal changeReading;

}
