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

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;


/**
 * 抄表历史数据（有本系统自己管理的）
 *
 * @author xqf
 * @date Tue Dec 28 00:00:00 CST 2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_YWPN_READMETEREASHIS_W", resultMap = "readmetereashisMap")
@KeySequence("TF_YWPN_READMETEREASHIS_W")
@ApiModel
public class Readmetereashis extends Model<Readmetereashis> {
    private static final long serialVersionUID = 1L;

    /**
     * 用户编号
     */
    @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 = "用水性质")
    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;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String cbbzName;
    /**
     * 计费状态 1正常计费，2停用
     */
    @ApiModelProperty(value = "计费状态 1正常计费，2停用")
    private String jfzt;
    /**
     * 抄表人员
     */
    @ApiModelProperty(value = "抄表人员")
    private Long 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(value = "抄表方式")
    private Long cbfsCode;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String cbfsName;
    /**
     * 抄表数据审核标识；0：未审核；1：人工审核通过；2：转质检；3：转质检完成的
     */
    @ApiModelProperty(value = "抄表数据审核标识；0：未审核；1：人工审核通过；2：转质检；3：转质检完成的")
    private String shbz;
    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人")
    private Long auditUser;
    /**
     * 审核备注
     */
    @ApiModelProperty(value = "审核备注")
    private String auditCause;
    /**
     * 抄表月份
     */
    @ApiModelProperty(value = "抄表月份")
    private String cbyf;
    /**
     * 抄表水量
     */
    @ApiModelProperty(value = "抄表水量")
    private Long cbsl;
    /**
     * 应收金额
     */
    @ApiModelProperty(value = "应收金额")
    private Long ysje;
    /**
     * 审核结果；0：不合格；1：合格
     */
    @ApiModelProperty(value = "审核结果；0：不合格；1：合格")
    private String auditResult;
    /**
     * 异常原因
     */
    @ApiModelProperty(value = "异常原因")
    private String auditReason;
    /**
     * 是否同步；0：未同步、1：已同步
     */
    @ApiModelProperty(value = "是否同步；0：未同步、1：已同步")
    private String issyn;

    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String issynName;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String bz;
    /**
     * 流水编号
     */
    @ApiModelProperty(value = "流水编号")
    private String lsbh;
    /**
     * 森鑫炬同步接口返回的消息数据
     */
    @ApiModelProperty(value = "森鑫炬同步接口返回的消息数据")
    private String sxjmessage;
    /**
     * X坐标
     */
    @ApiModelProperty(value = "X坐标")
    private Double x;
    /**
     * Y坐标
     */
    @ApiModelProperty(value = "Y坐标")
    private Double y;
    /**
     * 地址说明
     */
    @ApiModelProperty(value = "地址说明")
    private String addressState;
    /**
     * 是否卡表；0：机械表；1：卡表
     */
    @ApiModelProperty(value = "是否卡表；0：机械表；1：卡表")
    private String isGeneral;
    /**
     * 前第1次水量
     */
    @ApiModelProperty(value = "前第1次水量")
    private Long month1;
    /**
     * 前第2次水量
     */
    @ApiModelProperty(value = "前第2次水量")
    private Long month2;
    /**
     * 前第3次水量
     */
    @ApiModelProperty(value = "前第3次水量")
    private Long month3;
    /**
     * 单/双月/每月；0：双月；1：单月；2：每月
     */
    @ApiModelProperty(value = "单/双月/每月；0：双月；1：单月；2：每月")
    private String sinDouMonth;
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    private String sinDouMonthName;
    /**
     * 抄表开始日
     */
    @ApiModelProperty(value = "抄表开始日")
    private Short startDay;
    /**
     * 抄表结束日
     */
    @ApiModelProperty(value = "抄表结束日")
    private Short endDay;
    /**
     * 抄表区域名称
     */
    @ApiModelProperty(value = "抄表区域名称")
    private String cbqyMc;
    /**
     * 抄表区域编码
     */
    @ApiModelProperty(value = "抄表区域编码")
    private String cbqyBm;
    /**
     * 抄表区段编码
     */
    @ApiModelProperty(value = "抄表区段编码")
    private String cbqydBm;
    /**
     * 月计划
     */
    @ApiModelProperty(value = "月计划")
    private String monthPlan;
    /**
     * 抄表人员名称
     */
    @ApiModelProperty(value = "抄表人员名称")
    private String cbryName;
    /**
     * 区域段名称
     */
    @ApiModelProperty(value = "区域段名称")
    private String qydmc;
    /**
     * 是否离线抄表；0：APP抄表；1：离线抄表；默认：0
     */
    @ApiModelProperty(value = "是否离线抄表；0：APP抄表；1：离线抄表；默认：0")
    private String isOffline;
    /**
     * 计划开始日期
     */
    @ApiModelProperty(value = "计划开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startRq;
    /**
     * 计划结束日期
     */
    @ApiModelProperty(value = "计划结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endRq;
    /**
     * 前第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;
    /**
     * 旧表止度
     */
    @ApiModelProperty(value = "旧表止度")
    private Integer jbzd;
    /**
     * 新表起度
     */
    @ApiModelProperty(value = "新表起度")
    private Integer xbqd;
    /**
     * 换表型选择（表黑/雾等）
     */
    @ApiModelProperty(value = "换表型选择（表黑/雾等）")
    private Long hblx;
    /**
     * 换表日期
     */
    @ApiModelProperty(value = "换表日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date hbrq;
    /**
     * 0水量次数，只要本次水量不为0则次数归零
     */
    @ApiModelProperty(value = "0水量次数，只要本次水量不为0则次数归零")
    private Integer zeroCount;
    /**
     * 水量连续上升次数，只要本次水量不上升就归零
     */
    @ApiModelProperty(value = "水量连续上升次数，只要本次水量不上升就归零")
    private Integer continuityUp;
    /**
     * 水量连续下降次数，只要本次水量不下降就归零
     */
    @ApiModelProperty(value = "水量连续下降次数，只要本次水量不下降就归零")
    private Integer continuityDown;
    /**
     * 水量连续相同次数，只要本次水量不相同就归零
     */
    @ApiModelProperty(value = "水量连续相同次数，只要本次水量不相同就归零")
    private Integer continuityEqual;
    /**
     * 抄表时间间隔
     */
    @ApiModelProperty(value = "抄表时间间隔")
    private Integer diffTime;
    /**
     * 前一次同比水量1
     */
    @ApiModelProperty(value = "前一次同比水量1")
    private Long yearonyear1;
    /**
     * 前二次同比水量2
     */
    @ApiModelProperty(value = "前二次同比水量2")
    private Long yearonyear2;
    /**
     * 前三次同比水量3
     */
    @ApiModelProperty(value = "前三次同比水量3")
    private Long yearonyear3;
    /**
     * 同比时间1
     */
    @ApiModelProperty(value = "同比时间1")
    private String yearonmonth1;
    /**
     * 同比时间2
     */
    @ApiModelProperty(value = "同比时间2")
    private String yearonmonth2;
    /**
     * 同比时间3
     */
    @ApiModelProperty(value = "同比时间3")
    private String yearonmonth3;
    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;
    /**
     * 异常类型ID
     */
    @ApiModelProperty(value = "异常类型ID")
    private Long auditType;
    /**
     * 质检记录次数
     */
    @ApiModelProperty(value = "质检记录次数")
    private Integer qualityCount;
    /**
     * 最新修改水量
     */
    @ApiModelProperty(value = "最新修改水量")
    private Long updateWater;
    /**
     * 上传时间(天)
     */
    @ApiModelProperty(value = "上传时间(天)")
    private String uploadDay;
    /**
     * 异常类型ID
     */
    @ApiModelProperty(value = "异常类型ID")
    private Long abnomalId;
    /**
     * 升降水量；与前一次水量只差
     */
    @ApiModelProperty(value = "升降水量；与前一次水量只差")
    private Long sjsl;
    /**
     * 最初的本次读数
     */
    @ApiModelProperty(value = "最初的本次读数")
    private Long updateBcds;
    /**
     * 最初的上次读数
     */
    @ApiModelProperty(value = "最初的上次读数")
    private Long updateScds;
    /**
     * 是否修改过水量；1：是
     */
    @ApiModelProperty(value = "是否修改过水量；1：是")
    private String isUpdatecbsl;
    /**
     * 修改后的水量历史表ID
     */
    @ApiModelProperty(value = "修改后的水量历史表ID")
    private Long isUpdateid;
    /**
     * 是否首次抄表，；0：否；1：是
     */
    @ApiModelProperty(value = "是否首次抄表，；0：否；1：是")
    private String isfirst;
    /**
     * 是否故障抄表；1：是(业务工单发起故障抄表的情况，故障抄表的是标识是工单类型中是故障抄表的)
     */
    @ApiModelProperty(value = "是否故障抄表；1：是(业务工单发起故障抄表的情况，故障抄表的是标识是工单类型中是故障抄表的)")
    private String isbreakRead;
    /**
     * 工单ID，多个逗号隔开
     */
    @ApiModelProperty(value = "工单ID，多个逗号隔开")
    private String orderIds;
    /**
     * 抄表数据上传时，森鑫炬返回系统的抄表起度
     */
    @ApiModelProperty(value = "抄表数据上传时，森鑫炬返回系统的抄表起度")
    private Long sxjSbqd;
    /**
     * 前第四次抄表日期
     */
    @ApiModelProperty(value = "前第四次抄表日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cbrq4;
    /**
     * 是否估报；1：是
     */
    @ApiModelProperty(value = "是否估报；1：是")
    private String isEstimate;
    /**
     * app端本地文件保存
     */
    @ApiModelProperty(value = "app端本地文件保存")
    private String imgUrl;
    /**
     * 是否进行了模型算法；1：是；默认：0
     */
    @ApiModelProperty(value = "是否进行了模型算法；1：是；默认：0")
    private String isModel;

    /**
     * 不是数据库字段
     */
    @ApiModelProperty(value = "同比升降幅度", hidden = true)
    @TableField(exist = false)
    private Float yearRange;
    @ApiModelProperty(value = "环比升降幅度", hidden = true)
    @TableField(exist = false)
    private Float monthRange;
    @ApiModelProperty(value = "算法类型名称", hidden = true)
    @TableField(exist = false)
    private String abnomalName;
    @ApiModelProperty(value = "审核时间", hidden = true)
    @TableField(exist = false)
    private String auditTimeStr;
    @ApiModelProperty(value = "抄表时间", hidden = true)
    @TableField(exist = false)
    private String cbrqStr;
    @ApiModelProperty(value = "水表口径名称", hidden = true)
    @TableField(exist = false)
    private String sbkjName;
    @ApiModelProperty(value = "用水性质名称", hidden = true)
    @TableField(exist = false)
    private String ysxzName;
    @ApiModelProperty(value = "抄表片区名称", hidden = true)
    @TableField(exist = false)
    private String cbpqName;
    @ApiModelProperty(value = "抄表本名称", hidden = true)
    @TableField(exist = false)
    private String cbbName;
    @ApiModelProperty(value = "时间间隔中文", hidden = true)
    @TableField(exist = false)
    private String diffTimeStr;

    @ApiModelProperty(value = "审核通过原因")
    private String auditPassReson;
    @ApiModelProperty(value = "工单id")
    private String gdId;
    @ApiModelProperty(value = "唯一id")
    private String soleSign;

//    @ApiModelProperty(value = "联系手机" , hidden = true)
//    @TableField(exist = false)
//    private String lxsj;

}
