package com.zksy.info.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 用水信息表（在用）
 * @TableName a_water_customer
 */
@TableName(value ="e_water_customer")
@Data
public class EWaterCustomer implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "主键")
    @ExcelIgnore
    private String id;

    /**
     * 企业名称
     */
    @ApiModelProperty(value = "企业名称")
    @ExcelProperty(value = "企业名称")
    private String enterpriseName;

    /**
     * 统一社会信用代码
     */
    @ApiModelProperty(value = "统一社会信用代码")
    @ExcelProperty(value = "统一社会信用代码")
    private String unifiedSocialCreditCode;

    /**
     * 用水信息（户名户号）
     */
    @ApiModelProperty(value = "用水信息（户名户号）")
    @ExcelProperty(value = "用水信息（户名户号）")
    private String waterUserInfo;

    /**
     * 开户日期
     */
    @ApiModelProperty(value = "开户日期")
    @ExcelProperty(value = "开户日期")
    private LocalDate openingDate;

    /**
     * 用户地址
     */
    @ApiModelProperty(value = "用户地址")
    @ExcelProperty(value = "用户地址")
    private String userAddress;

    /**
     * 预交金额
     */
    @ApiModelProperty(value = "预交金额")
    @ExcelProperty(value = "预交金额")
    private BigDecimal prepaidAmount;

    /**
     * 欠费金额
     */
    @ApiModelProperty(value = "欠费金额")
    @ExcelProperty(value = "欠费金额")
    private BigDecimal arrearsAmount;

    /**
     * 是否一户一表
     */
    @ApiModelProperty(value = "是否一户一表")
    @ExcelProperty(value = "是否一户一表")
    private String isOneHouseholdTable;

    /**
     * 缴纳水费明细
     */
    @ApiModelProperty(value = "缴纳水费明细")
    @ExcelProperty(value = "缴纳水费明细")
    private String waterFeeDetails;

    /**
     * 近3个月月均用水量
     */
    @ApiModelProperty(value = "近3个月月均用水量")
    @ExcelProperty(value = "近3个月月均用水量")
    private BigDecimal avgWaterUsageLast3Months;

    /**
     * 近6个月月均用水量
     */
    @ApiModelProperty(value = "近6个月月均用水量")
    @ExcelProperty(value = "近6个月月均用水量")
    private BigDecimal avgWaterUsageLast6Months;

    /**
     * 当前是否欠费
     */
    @ApiModelProperty(value = "当前是否欠费")
    @ExcelProperty(value = "当前是否欠费")
    private String isArrearsNow;

    /**
     * 缴费所属期
     */
    @ApiModelProperty(value = "缴费所属期")
    @ExcelProperty(value = "缴费所属期")
    private String paymentPeriod;

    /**
     * 统计日期
     */
    @ApiModelProperty(value = "统计日期")
    @ExcelProperty(value = "统计日期")
    private LocalDate statisticsDate;

    /**
     * 统计基准日期
     */
    @ApiModelProperty(value = "统计基准日期")
    @ExcelProperty(value = "统计基准日期")
    private LocalDate statisticsBaselineDate;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "备注")
    private String remarks;

    /**
     * 行政区域代码
     */
    @ApiModelProperty(value = "行政区域代码")
    @ExcelProperty(value = "行政区域代码")
    private String administrativeRegionCode;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @ExcelIgnore
    private LocalDateTime createTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}