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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;

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

@Data
@TableName("property_bill_sub")
@ApiModel(value = "物业账单子表", description = "物业账单子表")
public class PropertyBillSub implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 账单id
     */
    private Long billId;
    /**
     * 收票标准id
     */
    private Long feeId;
    /**
     * 费用标识;费用标识：1-周期性收费，2-用量收费，3-数量收费，4-固定金额收费，5-指定金额收费
     */
    private Integer feeMark;
    /**
     * 计费周期;1-按月，2-按天
     */
    private Integer cycleType;
    /**
     * 不整月时计费方式;1-按月，2-按天
     */
    private Integer cycleMonthType;
    /**
     * 计量方式;1-建筑面积，2-使用面积，3-定额计算，4-电表，5-水表，6-气表
     */
    private Integer calcType;
    /**
     * 折合天单价
     */
    private Long priceDayFen;
//    /**
//     * 计算单位：1-m2/月，2-月，3-m2/天，4-天，5-度，6-m3，7-m2，8-个，9-时
//     */
//    @ApiModelProperty(name = "计算单位：1-m2/月，2-月，3-m2/天，4-天，5-度，6-m3，7-m2，8-个，9-时", notes = "")
//    private Integer priceUnitType;
    /**
     * 违约金计算方式;1-单利，2-利滚利
     */
    private Integer breachCalcType;
    /**
     * 违约金每天收取比例
     */
    private BigDecimal breachRate;
    /**
     * 计费整月数
     */
    private Long calcCycleMonths;
    /**
     * 计费天数
     */
    private Long calcCycleDays;
    /**
     * 账单仪表费用类型; 1-房源仪表抄表，2-公摊仪表分摊
     */
    private Integer meterReadingType;
//    /**
//     * 抄表计费追溯id
//     */
//    private Long meterReadingId;
//    /**
//     * 账单生成追溯id
//     */
//    private Long retraceId;

    /**
     * 欠费原因
     */
    private String arrearsReason;
    /**
     * 最后催缴时间
     */
    private Date lastCallTime;
    /**
     * 费用调整原因
     */
    private String readjustReason;
    /**
     * 账单拆分前的原始账单id
     */
    private Long slipOriginalBillId;
    /**
     * 计算违约金截止日期
     */
    private Date calcBreachDate;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;


}
