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.fasterxml.jackson.annotation.JsonProperty;
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 wangjieliu
 * @date Fri Mar 19 00:00:00 CST 2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_YWPN_QFKHJBXX_W", resultMap = "qfkhjbxxMap")
@KeySequence("TF_YWPN_QFKHJBXX_W")
@ApiModel
public class Qfkhjbxx extends Model<Qfkhjbxx> {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "用户id")
    private String userId;

    private String accountId;

    private String sbwz;

    @ApiModelProperty(value = "抄表序号")
    private Integer cbxh;

    @ApiModelProperty(value = "推送电话")
    private String tsdh;

    @ApiModelProperty(value = "抄表人员姓名")
    private String cby;

    /**
     * 客户编号
     */
    @ApiModelProperty(value = "客户编号")
    private String yhbh;
    /**
     * 客户姓名
     */
    @ApiModelProperty(value = "客户姓名")
    private String yhxm;

    @ApiModelProperty(value = "水表卡号")
    private String sbkh;
    /**
     * 客户地址
     */
    @ApiModelProperty(value = "客户地址")
    private String yhdz;
    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    private String lxdh;
    /**
     * 联系人员
     */
    @ApiModelProperty(value = "联系人员")
    private String lxry;
    /**
     * 联系手机
     */
    @ApiModelProperty(value = "联系手机")
    private String lxsj;
    /**
     * 营业区域(存编码)
     */
    @ApiModelProperty(value = "营业区域(存编码)")
    private String yyqy;
    /**
     * 所属片区(存编码)
     */
    @ApiModelProperty(value = "所属片区(存编码)")
    private String cbpq;
    /**
     * 所属抄表本(存编码)
     */
    @ApiModelProperty(value = "所属抄表本(存编码)")
    private String cbb;
    /**
     * 客户状态(存编码)
     */
    @ApiModelProperty(value = "客户状态(存编码)；0：未启用；1：正常；2：报停；3：停水；4：锁定；5：关阀；9：销户")
    private Integer yhzt;
    /**
     * 缴费账户
     */
    @ApiModelProperty(value = "缴费账户")
    private String jfzh;
    /**
     * 账户状态(存编码)
     */
    @ApiModelProperty(value = "账户状态(存编码)")
    private String zhzt;
    /**
     * 账户余额
     */
    @ApiModelProperty(value = "账户余额")
    private Double zhye;
    /**
     * 供水合同
     */
    @ApiModelProperty(value = "供水合同")
    private String gsht;
    /**
     * 用水性质(存编码)
     */
    @ApiModelProperty(value = "用水性质(存编码)")
    private String ysxz;
    /**
     * 性质细分(存编码)
     */
    @ApiModelProperty(value = "性质细分(存编码)")
    private String xzxf;
    /**
     * 水表用途(存编码)
     */
    @ApiModelProperty(value = "水表用途(存编码)")
    private String sbyt;
    /**
     * 是否阶梯(0否，1是)
     */
    @ApiModelProperty(value = "是否阶梯(0否，1是)")
    private String sfjt;
    /**
     * 是否计量(0否, 1是)
     */
    @ApiModelProperty(value = "是否计量(0否, 1是)")
    private String sfjl;
    /**
     * 是否计费(0否 ，1是)
     */
    @ApiModelProperty(value = "是否计费(0否 ，1是)")
    private String sfjf;
    /**
     * 装表人员
     */
    @ApiModelProperty(value = "装表人员")
    private String zbry;
    /**
     * 水表表位（存编码)
     */
    @ApiModelProperty(value = "水表表位（存编码)")
    private String sbbw;
    /**
     * 是否用大户(0否，1是)
     */
    @ApiModelProperty(value = "是否用大户(0否，1是)")
    private String sfYsdh;
    /**
     * 抄表周期（存编码)
     */
    @ApiModelProperty(value = "抄表周期（存编码)单月（0）还是双月（1）")
    private String cbzq;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String cbzqName;
    /**
     * 应缴费日
     */
    @ApiModelProperty(value = "应缴费日")
    private String yjfr;
    /**
     * 性质类型(存编码)
     */
    @ApiModelProperty(value = "性质类型(存编码)")
    private String xzlx;
    /**
     * 是否单位客户(0否，1是)
     */
    @ApiModelProperty(value = "是否单位客户(0否，1是)")
    private String sfDwyh;
    /**
     * 是否开增值税(0否，1是)
     */
    @ApiModelProperty(value = "是否开增值税(0否，1是)")
    private String sfKzzs;
    /**
     * 开户日期
     */
    @ApiModelProperty(value = "开户日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date khrq;
    /**
     * 是否拖收客户(0否,1是)
     */
    @ApiModelProperty(value = "是否拖收客户(0否,1是)")
    private String sfTsyh;
    /**
     * 托收单位
     */
    @ApiModelProperty(value = "托收单位")
    private String tsdw;
    /**
     * 供水合同状态（0未签订，1已签订)
     */
    @ApiModelProperty(value = "供水合同状态（0未签订，1已签订)")
    private String gsHtzt;
    /**
     * 水表表号
     */
    @ApiModelProperty(value = "水表表号")
    private String sbbh;
    /**
     * 水表厂家（存编码）
     */
    @ApiModelProperty(value = "水表厂家（存编码）")
    private String sbcj;
    /**
     * 水表类型（存编码）机械表、远传表、IC卡表、物联网表
     */
    @ApiModelProperty(value = "水表类型（存编码）机械表、远传表、IC卡表、物联网表")
    private String sblx;
    /**
     * 水表底度
     */
    @ApiModelProperty(value = "水表底度")
    private Long sbdd;

    @ApiModelProperty(value = "上次读数")
    private Long scds;
    /**
     * 水表口径(存编码)
     */
    @ApiModelProperty(value = "水表口径(存编码)")
    private String sbkj;
    /**
     * 安装方式(存编码)
     */
    @ApiModelProperty(value = "安装方式(存编码)")
    private String azfs;
    /**
     * 安装日期
     */
    @ApiModelProperty(value = "安装日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date azrq;
    /**
     * 最后换表日期
     */
    @ApiModelProperty(value = "最后换表日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date zhHbrq;
    /**
     * 建档日期
     */
    @ApiModelProperty(value = "建档日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date jdrq;
    /**
     * 最后修改日期
     */
    @ApiModelProperty(value = "最后修改日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date zhXgrq;
    /**
     * 客户标识(0历史客户，1新增客户)
     */
    @ApiModelProperty(value = "客户标识(0历史客户，1新增客户)")
    private String yhbs;

    @ApiModelProperty(value = "本次周检日期；第一次为新装日期")
    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM")
    private Date bcZjrq;

    @ApiModelProperty(value = "下次周检日期")
    private String xcZjrq;

    @ApiModelProperty(value = "是否欠费")
    private String sfqf;
    @ApiModelProperty(value = "欠费金额")
    private Double qfje;
    @ApiModelProperty(value = "欠费周期")
    private String qfzq;
    @ApiModelProperty(value = "客户档案信息抄表时备注")
    private String clientBz;
    @ApiModelProperty(value = "加压站名称")
    private String jyz;
    @ApiModelProperty(value = "是否农村用水")
    private String sfncys;
    @ApiModelProperty(value = "身份证号")
    private String usersfz;





    /**
     * 以下字段与数据库没有关系
     */
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String sbcjName;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String sblxName;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String sbkjName;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String rfid;
    @ApiModelProperty(value = "抄表本" , hidden = true)
    @TableField(exist = false)
    private String cbbName;
    @ApiModelProperty(value = "抄表片区" ,hidden = true)
    @TableField(exist = false)
    private String cbpqName;
    @ApiModelProperty(value = "抄表区域" , hidden = true)
    @TableField(exist = false)
    private String qymc;
    @ApiModelProperty(value = "抄表区域段" ,hidden = true)
    @TableField(exist = false)
    private String qydmc;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private Long sbcjId;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private Long sbkjId;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private Long sblxId;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String ysxzName;
    @ApiModelProperty(hidden = true,value = "是否为总表，1是，0否（默认）")
    @TableField(exist = false)
    private Integer issum;
    @ApiModelProperty(hidden = true,value = "所在小区名称")
    @TableField(exist = false)
    private String village;

    @ApiModelProperty(hidden = true,value = "抄表水量")
    @TableField(exist = false)
    private Long cbsl;
    /**
     * 前一次同比水量1
     */
    @ApiModelProperty(hidden = true,value = "前一次同比水量1")
    @TableField(exist = false)
    private Long yearonyear1;
    /**
     * 前二次同比水量2
     */
    @ApiModelProperty(hidden = true,value = "前二次同比水量2")
    @TableField(exist = false)
    private Long yearonyear2;
    /**
     * 前三次同比水量3
     */
    @ApiModelProperty(hidden = true,value = "前三次同比水量3")
    @TableField(exist = false)
    private Long yearonyear3;
    /**
     * 前第1次水量
     */
    @ApiModelProperty(hidden = true,value = "前第1次水量")
    @TableField(exist = false)
    private Long month1;
    /**
     * 前第2次水量
     */
    @ApiModelProperty(hidden = true,value = "前第2次水量")
    @TableField(exist = false)
    private Long month2;
    /**
     * 前第3次水量
     */
    @ApiModelProperty(hidden = true,value = "前第3次水量")
    @TableField(exist = false)
    private Long month3;
    @ApiModelProperty(hidden = true,value = "月计划")
    @TableField(exist = false)
    private String monthPlan;
    @ApiModelProperty(hidden = true,value = "抄表人员")
    @TableField(exist = false)
    private String cbry;

    @ApiModelProperty(hidden = true,value = "是否分配")
    @TableField(exist = false)
    private String isfp;

    @ApiModelProperty(hidden = true,value = "用户状态名称")
    @TableField(exist = false)
    private String yhztName;

    /**
     * 水表箱号
     */
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String sbxh;
}
