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 cxj
 * @since 2023-11-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("property_house_meter")
@ApiModel(value="PropertyHouseMeter对象", description="房间仪表")
public class PropertyHouseMeter extends TenantEntity {

    /**
     * 园区id
     */
    @ApiModelProperty(name = "parkId", value = "园区id")
    private Long parkId;
    /**
     * 房间id
     */
    @ApiModelProperty(name = "houseId", value = "房间id")
    private Long houseId;
    /**
     * 楼栋id
     */
    @ApiModelProperty(name = "buildingId", value = "楼栋id")
    private Long buildingId;
    /**
     * 所在楼层
     */
    @ApiModelProperty(name = "floorNum", value = "所在楼层")
    private Integer floorNum;
    /**
     * 所在单元
     */
    @ApiModelProperty(name = "unitNum", value = "所在单元")
    private String unitNum;
    /**
     * (房间代码)资源代码
     */
    @ApiModelProperty(name = "resourceCode", value = "(房间代码)资源代码")
    private String resourceCode;

    @ApiModelProperty(name = "resourceId", value = "资源id")
    private Long resourceId;

    @ApiModelProperty(name = "resourceType", value = "资源类型:1园区,2楼栋,3房间")
    private Integer resourceType;
    /**
     * 仪表名称
     */
    @ApiModelProperty(name = "meterFullName", value = "仪表名称")
    private String meterFullName;
    /**
     * 仪表类型id
     */
    @ApiModelProperty(name = "meterId", value = "仪表类型id")
    private Long meterId;
    /**
     * 最大读数
     */
    @ApiModelProperty(name = "maxNum", value = "最大读数")
    private BigDecimal maxNum;
    /**
     * 初始读数
     */
    @ApiModelProperty(name = "initNum", value = "初始读数")
    private BigDecimal initNum;
    /**
     * 初始日期
     */
    @ApiModelProperty(name = "initTime", value = "初始日期")
    private Date initTime;
    /**
     * 倍率
     */
    @ApiModelProperty(name = "rate", value = "倍率")
    private BigDecimal rate;
    /**
     * 损耗率
     */
    @ApiModelProperty(name = "attritionRate", value = "损耗率")
    private BigDecimal attritionRate;
    /**
     * 是否是主表:0否,1是
     */
    @ApiModelProperty(name = "isMaster", value = "是否是主表:0否,1是")
    private Integer isMaster;
    /**
     * 父表id
     */
    @ApiModelProperty(name = "parentId", value = "父表id")
    private Long parentId;
    /**
     * 是否抄表:0否,1是
     */
    @ApiModelProperty(name = "isMeterReading", value = "是否抄表:0否,1是")
    private Integer isMeterReading;
    /**
     * 集中器号
     */
    @ApiModelProperty(name = "concentratorCode", value = "集中器号")
    private String concentratorCode;
    /**
     * 是否被使用(被使用了不能修改):0否,1是
     */
    @ApiModelProperty(name = "isUse", value = "是否被使用(被使用了不能修改):0否,1是")
    private Integer isUse;
    /**
     * 是否封存(更仪表后旧仪表进行封存):0否,1是
     */
    @ApiModelProperty(name = "isSealed", value = "是否可用(更仪表后旧仪表进行封存):0否,1是")
    private Integer isSealed;
    /**
     * 上一个id(更换仪表)
     */
    @ApiModelProperty(name = "lastId", value = "上一个id(更换仪表)")
    private Long lastId;
    /**
     * 原仪表更换时读数
     */
    @ApiModelProperty(name = "updateMeterNum", value = "原仪表更换时读数")
    private BigDecimal updateMeterNum;
    /**
     * 更换仪表时间
     */
    @ApiModelProperty(name = "updateMeterTime", value = "更换仪表时间")
    private Date updateMeterTime;
    /**
     * 收费标准id
     */
    @ApiModelProperty(name = "chargingStandardId", value = "收费标准id")
    private Long chargingStandardId;
    /**
     * 备注说明
     */
    @ApiModelProperty(name = "remark", value = "备注说明")
    private String remark;

    @ApiModelProperty(name = "primevalId", value = "原始id(记录当一个表更换多次后能够识别换的是同一个地方的表)")
    private Long primevalId;

    @ApiModelProperty(name = "finallyMeterReadingTime", value = "最后的抄表时间(抄表时需要更新进来)")
    private Date finallyMeterReadingTime;
    /**
     * 上次抄表读数
     */
    @ApiModelProperty(name = "finallyMeterReadingNum", value = "最后的抄表读数(抄表时需要更新进来)")
    private BigDecimal finallyMeterReadingNum;

}
