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

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 仪表抄表-生成账单参数
 */
@Data
public class PropertyMeterCreateBillDto {

    /**
     *账单仪表费用类型; 1-房源仪表抄表，2-公摊仪表分摊
     */
    @NotNull(message = "账单仪表费用类型不能为空")
    private Integer meterReadingType;
    /**
     *抄表计费追溯id
     */
    @NotNull(message = "抄表计费追溯id不能为空")
    private Long meterReadingId;
//    /**
//     * 园区id
//     */
//    @NotNull(message = "园区id不能为空")
//    private Long parkId;
    /**
     * 楼栋id
     */
    @NotNull(message = "楼栋id不能为空")
    private Long buildingId;
    /**
     * 房源id
     */
    @NotNull(message = "房源id不能为空")
    private Long houseId;
    /**
     * 费用项目id
     */
    @NotNull(message = "费用项目id不能为空")
    private Long feeItemId;
    /**
     * 收费标准id
     */
    @NotNull(message = "收费标准id不能为空")
    private Long feeId;
    /**
     * 仪表用量
     */
    @NotNull(message = "仪表用量不能为空")
    private BigDecimal billableQuantity;
    /**
     * 上次抄表时间
     */
    @NotNull(message = "上次抄表时间不能为空")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date startDate;
    /**
     * 本次抄表时间
     */
    @NotNull(message = "本次抄表时间不能为空")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date endDate;
    /**
     * 仪表名称
     */
    @NotNull(message = "仪表名称不能为空")
    private String meterFullName;
    /**
     * 上次抄表读数
     */
    @NotNull(message = "上次抄表读数不能为空")
    private BigDecimal lastMeterReadingNum;
    /**
     * 本次抄表读数
     */
    @NotNull(message = "本次抄表读数不能为空")
    private BigDecimal meterReadingNum;
    /**
     * 仪表单位
     */
    @NotNull(message = "仪表单位不能为空")
    private String meterUnit;


}
