package com.tofly.feesapi.bjgl.entity;


import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.tofly.feesapi.common.constant.JfztEnum;
import com.tofly.feesapi.common.constant.YhztEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;
import org.springframework.format.annotation.DateTimeFormat;

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

@Data
@TableName("YH_CBKXX")
@ApiModel(value = "YhCbkxx对象", description = "用户表计信息")
public class YhCbkxx2 implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("用户编号")
    @TableId(type = IdType.INPUT)
    private String yhbh;

    @ApiModelProperty("抄表卡号")
    private String cbkh;

    @ApiModelProperty("ID号，唯一")
    private String cbkid;

    @ApiModelProperty("水表类别(bm_sblb)")
    private String sblb;

    @ApiModelProperty("水表生产厂家(bm_sbsccj)")
    private String sbsccj;

    @ApiModelProperty("水表出厂日期")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonIgnore
    private Date sbccrq;

    @ApiModelProperty("水表型号(bm_sbxh)")
    private String sbxh;

    @ApiModelProperty("水表口径(sys_child_code,pcid='12')")
    private String sbkj;

    @ApiModelProperty("水表编号")
    private String sbbh;

    @ApiModelProperty("水表量程(sys_child_code,pcid='13')")
    private String sblc;

    @ApiModelProperty("表计位置(sys_child_code,pcid='15')")
    private String bjwz;

    @ApiModelProperty("精度等级(sys_child_code,pcid='14')")
    private String jddj;

    @ApiModelProperty("抄表频率")
    private String cbpl;

    @ApiModelProperty("水表起数（底数）")
    private int sbqs = 0;

    @ApiModelProperty("抄表序号")
    private int cbxh;

    @ApiModelProperty("一表多价标志")
    private String ybdjbz;

    @ApiModelProperty("水价编码")
    @TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
    private String sjbm;

    @ApiModelProperty("水量比例")
    @TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.NUMERIC)
    private BigDecimal slbl;

    @ApiModelProperty("水价编码1")
    @TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
    private String sjbm1;

    @ApiModelProperty("水量比例1")
    @TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.NUMERIC)
    private BigDecimal slbl1;

    @ApiModelProperty("水价编码2")
    @TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
    private String sjbm2;

    @ApiModelProperty("水量比例2")
    @TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.NUMERIC)
    private BigDecimal slbl2;

    @ApiModelProperty("水价编码3")
    @TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
    private String sjbm3;

    @ApiModelProperty("水量比例3")
    @TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.NUMERIC)
    private BigDecimal slbl3;

    @ApiModelProperty("污水费标志")
    private String wsfbz;

    @ApiModelProperty("总分表ID（yh_cbkxx.cbkid）")
    private Long fbid;

    @ApiModelProperty("备注")
    private String bz;

    @ApiModelProperty("计费状态（1正常，2停用）")
    private JfztEnum jfzt;

    @ApiModelProperty("开卡标志（bm_kkzt）")
    private String kkbz;

    @ApiModelProperty("开卡日期")
    private Date kkrq;

    @ApiModelProperty("IC卡ID")
    private String ickid;

    @ApiModelProperty("写卡次数")
    private Short xkcs;

    @ApiModelProperty("补卡次数")
    private Short bkcs;

    @ApiModelProperty("总购水量")
    private Long zgsl;

    @ApiModelProperty("总购水金额（金额表）")
    private BigDecimal zgsje;

    @ApiModelProperty("本年累计水量")
    private BigDecimal bnljsl;

    @ApiModelProperty("本年累计金额")
    private BigDecimal bnljje;

    @ApiModelProperty("操作人员编码")
    private String czrybm;

    @ApiModelProperty("操作人员姓名")
    private String czryxm;

    @ApiModelProperty("操作时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime czsj;

    @ApiModelProperty("最新抄表日期")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date zxcbrq;

    @ApiModelProperty("所属阀门(sys_child_code,pcid='23')")
    private String ssfm;

    private Short ickqyh;

    @ApiModelProperty("定检日期")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date djrq;

    @ApiModelProperty("水表止读")
    private Long sbzd;

    @ApiModelProperty("修改人员编码")
    private String xgrybm;

    @ApiModelProperty("修改日期")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date xgrq;

    @ApiModelProperty("超定量")
    private Long cdl;

    @ApiModelProperty("两高一剩标志:0 否，1 是")
    private String lgysbz;

    @ApiModelProperty("安装人员")
    private String azry;

    @ApiModelProperty("安装时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date azrq;

    @ApiModelProperty("铅封号(管线号)")
    private String gxh;

    @ApiModelProperty("垃圾费收取方式:0按户收取，1 按用量收取")
    private String ljffs;

    @ApiModelProperty("垃圾费金额")
    private BigDecimal ljfje;

    @ApiModelProperty("垃圾费标志")
    private String ljfbz;

    @ApiModelProperty("IC 卡no")
    private String ickno;

    @ApiModelProperty("水表用途(1户表，2临时表，3总表,4考核表，5子表，6母表，7总母表)")
    private String sbyt;

    @ApiModelProperty("水表安装方式：0为立式，1为卧式")
    private String sbazfs;

    @ApiModelProperty("水资源费标志")
    private String szyfbz;

    @ApiModelProperty("水表状态")
    private String sbzt;

    @ApiModelProperty("附加费")
    private BigDecimal fjf;

    @ApiModelProperty("附加费")
    private BigDecimal xfsf;

    @ApiModelProperty("二次加压费标志")
    private String ecjybz;
}
