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-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("property_public_meter")
@ApiModel(value="PropertyPublicMeter对象", description="公摊仪表")
public class PropertyPublicMeter extends TenantEntity {

    /**
     * 园区id
     */
    @ApiModelProperty(name = "parkId", value = "园区id")
    private Long parkId;
    /**
     * 仪表名称
     */
    @ApiModelProperty(name = "meterFullName", value = "仪表名称")
    private String meterFullName;
    /**
     * 分摊方式:1平均分摊,2按照建筑面积分摊,3按照使用面积分摊,4按照用量分摊,5自动义公式进行分摊
     */
    @ApiModelProperty(name = "shareType", value = "分摊方式:1平均分摊,2按照建筑面积分摊,3按照使用面积分摊,4按照用量分摊,5自动义公式进行分摊")
    private Integer shareType;
    /**
     * 分摊总面积
     */
    @ApiModelProperty(name = "shareArea", value = "分摊总面积")
    private BigDecimal shareArea;
    /**
     * 公摊仪表类型:1公摊表,2总表
     */
    @ApiModelProperty(name = "shareMeterType", value = "公摊仪表类型:1公摊表,2总表")
    private Integer shareMeterType;
    /**
     * 仪表类型id
     */
    @ApiModelProperty(name = "meterId", value = "仪表类型id")
    private Long meterId;
    /**
     * 倍率
     */
    @ApiModelProperty(name = "rate", value = "倍率")
    private BigDecimal rate;
    /**
     * 损耗率
     */
    @ApiModelProperty(name = "attritionRate", value = "损耗率")
    private BigDecimal attritionRate;
    /**
     * 回程
     */
    @ApiModelProperty(name = "backhaul", value = "回程")
    private BigDecimal backhaul;

    @ApiModelProperty(name = "maxNum", value = "最大读数")
    private BigDecimal maxNum;
    /**
     * 初始读数
     */
    @ApiModelProperty(name = "initNum", value = "初始读数")
    private BigDecimal initNum;
    /**
     * 初始日期
     */
    @ApiModelProperty(name = "initTime", value = "初始日期")
    private Date initTime;
    /**
     * 读数日期
     */
   /* @ApiModelProperty(name = "readingTime", value = "读数日期")
    private Date readingTime;*/
    /**
     * 当前读数
     */
    /*@ApiModelProperty(name = "currentNum", value = "当前读数")
    private BigDecimal currentNum;*/

    @ApiModelProperty(name = "isMeterReading", value = "是否抄表:0否,1是")
    private Integer isMeterReading;
    /**
     * 父表id
     */
    @ApiModelProperty(name = "parentId", value = "父表id")
    private Long parentId;
    /**
     * 备注说明
     */
    @ApiModelProperty(name = "remark", value = "备注说明")
    private String remark;
    /**
     * 是否被使用(被使用了不能修改):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;

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

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

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

}
