/*
 * Author: wangjian
 * 生成entity
 */
package com.tofly.watermeter.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tofly.watermeter.custom.entity.file.FileInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 业务抄表欠费明细历史表
 *
 * @author wangjieliu
 * @date Wed Apr 14 00:00:00 CST 2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_YWPN_QFCBQFMXLS_W", resultMap = "qfcbqfmxlsMap")
@KeySequence("TF_YWPN_QFCBQFMXLS_W")
@ApiModel
public class Qfcbqfmxls extends Model<Qfcbqfmxls> {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "流水编号")
    private String lsbh;

    /**
     * 用户编号
     */
//    @TableId(value = "CBYF",type= IdType.INPUT)
    @ApiModelProperty(value = "用户编号")
    private String yhbh;
    /**
     * 抄表卡号
     */
    @ApiModelProperty(value = "抄表卡号")
    private String cbkh;
    /**
     * 抄表序号
     */
    @ApiModelProperty(value = "抄表序号")
    private Long cbxh;
    /**
     * 用户姓名
     */
    @ApiModelProperty(value = "用户姓名")
    private String yhxm;
    /**
     * 用户地址
     */
    @ApiModelProperty(value = "用户地址")
    private String yhdz;
    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    private String lxdh;
    /**
     * 水表编号
     */
    @ApiModelProperty(value = "水表编号")
    private String sbbh;
    /**
     * 水表厂家
     */
    @ApiModelProperty(value = "水表厂家")
    private String sbcj;
    /**
     * 水表类型
     */
    @ApiModelProperty(value = "水表类型")
    private String sblx;
    /**
     * 水表口径
     */
    @ApiModelProperty(value = "水表口径")
    private String sbkj;
    @ApiModelProperty(value = "水表口径名称", hidden = true)
    @TableField(exist = false)
    private String sbkjName;
    /**
     * 用水性质
     */
    @ApiModelProperty(value = "用水性质")
    private String ysxz;
    /**
     * 性质细分
     */
    @ApiModelProperty(value = "性质细分")
    private String xzxf;
    /**
     * 抄表片区（编码)
     */
    @ApiModelProperty(value = "抄表片区（编码)")
    private String cbpq;
    /**
     * 抄表本 （编码）
     */
    @ApiModelProperty(value = "抄表本 （编码）")
    private String cbb;
    /**
     * 财务日期如：（202105）
     */
    @ApiModelProperty(value = "财务日期如：（202105）")
    private String cwrq;
    /**
     * 上次读数
     */
    @ApiModelProperty(value = "上次读数")
    private Long scds;
    /**
     * 本次读数
     */
    @ApiModelProperty(value = "本次读数")
    private Long bcds;
    /**
     * 本次加减量
     */
    @ApiModelProperty(value = "本次加减量")
    private Long bcjjl;
    /**
     * 抄表标志 0未抄表，1已抄表
     */
    @ApiModelProperty(value = "抄表标志 0未抄表，1已抄表")
    private String cbbz;
    /**
     * 计费状态 1正常计费，2停用
     */
    @ApiModelProperty(value = "计费状态 1正常计费，2停用")
    private String jfzt;
    /**
     * 抄表人员
     */
    @ApiModelProperty(value = "抄表人员")
    private String cbry;

    /**
     * 抄表日期
     */
    @ApiModelProperty(value = "抄表日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cbrq;
    /**
     * 计划抄表日期
     */
    @ApiModelProperty(value = "计划抄表日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date jhrq;
    /**
     * 数据下载标识,1已下载 0未下载
     */
    @ApiModelProperty(value = "数据下载标识,1已下载 0未下载")
    private String xzbs;
    /**
     * 文件ID
     */
    @ApiModelProperty(value = "文件ID")
    private String fileid;
    /**
     * 文件信息
     */
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private List<FileInfo> fileInfo;
    @ApiModelProperty(value = "抄表方式编码")
    private Long cbfsCode;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String cbfsName;//抄表方式名称
    @ApiModelProperty(value = "抄表数据审核标识；0：未审核；1：已审核")
    private String shbz;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String auditName;
    /**
     * 抄表水量
     */
    @ApiModelProperty(value = "抄表水量")
    private Long cbsl;
    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人")
    private String auditUser;
    /**
     * 审核备注
     */
    @ApiModelProperty(value = "审核备注")
    private String auditCause;

    @ApiModelProperty(value = "审核结果；0：不合格；1：合格")
    private String auditResult;

    @ApiModelProperty(value = "异常原因")
    private String auditReason;

    /**
     * 抄表月份
     */
    @ApiModelProperty(value = "抄表月份")
    private String cbyf;
    /**
     * 应收金额
     */
    @ApiModelProperty(value = "应收金额")
    private Long ysje;

    @ApiModelProperty(value = "是否同步；0：未同步、1：已同步")
    private String issyn;
    @ApiModelProperty(value = "备注")
    private String bz;
    @ApiModelProperty(value = "森鑫炬同步接口返回的消息数据")
    private String sxjmessage;

    @ApiModelProperty(value = "X坐标")
    private Double x;

    @ApiModelProperty(value = "Y坐标")
    private Double y;

    @ApiModelProperty(value = "地址说明")
    private String addressState;
    /**
     * 累计用水总量
     */
    @ApiModelProperty(value = "累计用水总量")
    private BigDecimal ljsl;
    /**
     * 前第1次水量
     */
    @ApiModelProperty(value = "前第1次水量")
    private Long month1;
    /**
     * 前第2次水量
     */
    @ApiModelProperty(value = "前第2次水量")
    private Long month2;
    /**
     * 前第3次水量
     */
    @ApiModelProperty(value = "前第3次水量")
    private Long month3;
    /**
     * 前第1次份抄表水量时间
     */
    @ApiModelProperty(value = "前第1次份抄表水量时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date cbrq1;
    /**
     * 前第2次份抄表水量时间
     */
    @ApiModelProperty(value = "前第2次份抄表水量时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date cbrq2;
    /**
     * 前第3次份抄表水量时间
     */
    @ApiModelProperty(value = "前第3次份抄表水量时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date cbrq3;
    /**
     * 0水量次数，只要本次水量不为0则次数归零
     */
    @ApiModelProperty(value = "0水量次数，只要本次水量不为0则次数归零")
    private Integer zeroCount;
    /**
     * 水量连续上升次数，只要本次水量不上升就归零
     */
    @ApiModelProperty(value = "水量连续上升次数，只要本次水量不上升就归零")
    private Integer continuityUp;
    /**
     * 水量连续下降次数，只要本次水量不下降就归零
     */
    @ApiModelProperty(value = "水量连续下降次数，只要本次水量不下降就归零")
    private Integer continuityDown;
    /**
     * 水量连续相同次数，只要本次水量不相同就归零
     */
    @ApiModelProperty(value = "水量连续相同次数，只要本次水量不相同就归零")
    private Integer continuityEqual;
    /**
     * 前一次同比水量1
     */
    @ApiModelProperty(value = "前一次同比水量1")
    private Long yearonyear1;
    /**
     * 前2次同比水量1
     */
    @ApiModelProperty(value = "前2次同比水量1")
    private Long yearonyear2;
    /**
     * 前3次同比水量1
     */
    @ApiModelProperty(value = "前3次同比水量1")
    private Long yearonyear3;
    /**
     * 同比时间1
     */
    @ApiModelProperty(value = "同比时间1")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date yearonmonth1;
    /**
     * 同比时间2
     */
    @ApiModelProperty(value = "同比时间2")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date yearonmonth2;
    /**
     * 同比时间3
     */
    @ApiModelProperty(value = "同比时间3")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date yearonmonth3;
    /**
     * 抄表周期
     */
    @ApiModelProperty(value = "抄表周期")
    private String cbzq;
    @ApiModelProperty(value = "是否欠费")
    private String sfqf;
    @ApiModelProperty(value = "欠费金额")
    private Double qfje;
    @ApiModelProperty(value = "欠费周期")
    private String qfzq;
    /**
     * 年月
     */
    @ApiModelProperty(value = "年月")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date monthTime;

}
