package com.tofly.watermeter.custom.entity.meterRead;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tofly.watermeter.custom.entity.file.FileInfo;
import com.tofly.watermeter.entity.Readupdate;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @author FlashWJL
 * @date 2021/4/20 15:57
 */
@Data
public class AppRead {

    @TableId(value = "YHBH", type = IdType.INPUT)
    @ApiModelProperty(value = "用户编号")
    private String yhbh;
    @ApiModelProperty(value = "上次读数")
    private Long scds;
    @ApiModelProperty(value = "本次读数")
    private Long bcds;
    @ApiModelProperty(value = "抄表水量")
    private Long cbsl;
    @ApiModelProperty(value = "用户姓名")
    private String yhxm;
    @ApiModelProperty(value = "用户地址")
    private String yhdz;
    @ApiModelProperty(value = "联系电话")
    private String lxdh;
    @ApiModelProperty(value = "联系手机")
    private String lxsj;
    @ApiModelProperty(value = "水表厂家")
    private String sbcj;
    @ApiModelProperty(value = "水表口径")
    private String sbkj;
    @ApiModelProperty(value = "水表类型")
    private String sblx;
    @ApiModelProperty(value = "是否欠费")
    private String isqf;
    @ApiModelProperty(value = "欠费金额")
    private Double qfje;
    @ApiModelProperty(value = "欠费周期")
    private String qfzq;

    @ApiModelProperty(value = "客户状态(存编码)；0：未启用；1：正常；2：报停；3：停水；4：锁定；5：关阀；9：销户")
    private String yhzt;
    @ApiModelProperty(value = "用水性质")
    private String ysxz;
    @ApiModelProperty(value = "用水性质名称")
    private String ysxzName;
    @ApiModelProperty(value = "性质细分")
    private String xzxf;
    @ApiModelProperty(value = "抄表方式编码")
    private Long cbfsCode;
    @ApiModelProperty(value = "抄表方式名称")
    private String cbfsName;//抄表方式名称
    @ApiModelProperty(value = "水表编号")
    private String sbbh;
    @ApiModelProperty(value = "抄表序号")
    private Long cbxh;
    @ApiModelProperty(value = "RFID")
    String rfid;
    @ApiModelProperty(value = "区域名称")
    String qybmName;
    @ApiModelProperty(value = "区域编码")
    String qybm;
    @ApiModelProperty(value = "区域段编码")
    String qydbm;
    @ApiModelProperty(value = "区域段名称")
    String qydmc;
    @ApiModelProperty(value = "抄表标志；0未抄表，1已抄表")
    String cbbz;
    String cbbzName;
    private int isupload;//0未上传，1已上传
    private int isSave;//0未保存，1已保存
    @ApiModelProperty(value = "前第1次水量")
    private Long month1;
    @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;
    @ApiModelProperty(value = "前第2次水量")
    private Long month2;
    @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;
    @ApiModelProperty(value = "前第3次水量")
    private Long month3;
    @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 = "前第4次水量的抄表时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cbrq4;
    @ApiModelProperty(value = "是否估报；1：是")
    private String isEstimate;
    @ApiModelProperty(value = "换表类型选择（表黑/雾等）")
    private Long hblx;
    @ApiModelProperty(value = "新表起度")
    private Long xbqd;
    @ApiModelProperty(value = "抄表数据上传时，森鑫炬返回系统的抄表起度")
    private Long sxjSbqd;
    @ApiModelProperty(value = "旧表止度")
    private Long jbzd;
    @ApiModelProperty(value = "换表日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date hbrq;
    @ApiModelProperty(value = "抄表备注")
    private String bz;
    @ApiModelProperty(value = "抄表人员ID")
    private Long cbry;
    private String cbryName;
    @ApiModelProperty(value = "计费状态")
    private String jfzt;
    @ApiModelProperty(value = "X坐标")
    private Double x;
    @ApiModelProperty(value = "Y坐标")
    private Double y;
    @ApiModelProperty(value = "地址说明")
    private String addressState;
    @ApiModelProperty(value = "抄表附件")
    private List<FileInfo> fileInfo;
    @ApiModelProperty(value = "客户附件信息")
    private List<FileInfo> clientFileInfo;
    @ApiModelProperty(value = "客户附件ids")
    private String clientFileIds;
    @ApiModelProperty(value = "客户永久备注")
    private String clientBz;
    @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 = "同步状态")
    private String synName;
    @ApiModelProperty(value = "同步状态;'0', '未同步', '1', '已同步'")
    private String issyn;
    @ApiModelProperty(value = "异常原因")
    private String auditReason;
    @ApiModelProperty(value = "计划月份")
    private String monthPlan;
    @ApiModelProperty(value = "账户余额")
    private Integer zhye;
    @ApiModelProperty(value = "app端本地文件保存地址")
    private String imgUrl;
    @ApiModelProperty(value = "，似乎没用了，用SHBZ来做的")
    private String auditResult;
    @ApiModelProperty(value = "'0','未审核','1','人工审核通过','2','转质检','3','转质检完成' ")
    private String auditResultName;
    @ApiModelProperty(value = "历史变更水量信息")
    private List<Readupdate> readupdateList;
    @ApiModelProperty(value = "开户日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date khrq;
    @ApiModelProperty(value = "总购量")
    private Long zgl;
    @ApiModelProperty(value = "差值，总购量与本次读数的差值")
    private Long diffValue;
    @ApiModelProperty(value = "抄表的唯一标识")
    private String soleSign;

    @ApiModelProperty(value = "0：机械表1：卡表")
    private String isGeneral;
    @ApiModelProperty("水表箱号")
    private String sbxh;

}
