/*
 * 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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 入库水表明细表
 *
 * @author admin
 * @date Wed Mar 10 00:00:00 CST 2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(value = "TF_YWPN_BWRKSBDATAIL_W", resultMap = "bwrksbdatailMap")
@KeySequence("TF_YWPN_BWRKSBDATAIL_W")
@ApiModel
public class Bwrksbdatail extends Model<Bwrksbdatail> {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "ID", type = IdType.INPUT)
    @ApiModelProperty(value = "主键ID")
    private Long id;
    /**
     * 流水编号
     */
    @ApiModelProperty(value = "流水编号")
    private String bwLsbh;
    /**
     * 水表编号
     */
    @ApiModelProperty(value = "水表编号")
    private String bwSbbh;
    /**
     * 水表厂家
     */
    @ApiModelProperty(value = "水表厂家")
    private Long bwSbcj;
    /**
     * 水表类型
     */
    @ApiModelProperty(value = "水表类型")
    private Long bwSblx;
    /**
     * 水表口径
     */
    @ApiModelProperty(value = "水表口径")
    private Long bwSbkj;
    /**
     * 水表状态
     */
    @ApiModelProperty(value = "水表状态；入库；出库；安装；报废")
    private String bwSbzt;
    @TableField(exist = false)
    private String state;
    /**
     * 客户编号
     */
    @ApiModelProperty(value = "客户编号")
    private String bwKhbh;
    /**
     * 客户姓名
     */
    @ApiModelProperty(value = "客户姓名")
    private String bwKhxm;
    /**
     * 客户地址
     */
    @ApiModelProperty(value = "客户地址")
    private String bwKhdz;
    /**
     * 客户电话
     */
    @ApiModelProperty(value = "客户电话")
    private String bwKhdh;
    /**
     * 供水片区
     */
    @ApiModelProperty(value = "供水片区")
    private String bwGspq;

    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String bwGspqName;


    /**
     * 安装日期
     */
    @ApiModelProperty(value = "安装日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date bwAzrq;
    /**
     * 安装人员
     */
    @ApiModelProperty(value = "安装人员")
    private Long bwAzry;
    @TableField(exist = false)
    private String azryName;
    /**
     * 水表起度
     */
    @ApiModelProperty(value = "水表起度")
    private Integer bwSbqd;
    /**
     * 操作人员
     */
    @ApiModelProperty(value = "操作人员")
    private Long createUser;
    @TableField(exist = false)
    private String createUserName;
    /**
     * 操作时间
     */
    @ApiModelProperty(value = "操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String bwBz;
    /**
     * 表号前缀（以字母）
     */
    @ApiModelProperty(value = "表号前缀（以字母）")
    private String bwBhqz;
    /**
     * 水表入库时起号到止号号码
     */
    @ApiModelProperty(value = "水表入库时起号到止号号码")
    private Long rkid;

    /**
     * 水表入库批次记录表Id
     */
    @ApiModelProperty(value = "水表入库批次记录表Id")
    private Long rkpcid;
    /**
     * 周检判断时间；第一次为安装时间，之后时间为生成周检数据后的时间
     */
    @ApiModelProperty(value = "周检判断时间；第一次为安装时间，之后时间为生成周检数据后的时间")
    private Date zjpdTime;

    @ApiModelProperty(value = "出库详情ID")
    private Long ckId;

    @ApiModelProperty(value = "水表安装/修改标识；1：安装；2：修改")
    @TableField(exist = false)
    private byte flag;

    @ApiModelProperty(value = "水表安装方式（1:立式 2:卧式）")
    private String azfs;
    @ApiModelProperty(value = "安装部门")
    private Long azbm;
    @ApiModelProperty(value = "固定电话")
    private String gddh;
    @ApiModelProperty(value = "是否农村用水")
    private String sfncys;
    @ApiModelProperty(value = "加压站")
    private String jyz;
    @ApiModelProperty(value = "加压站编码")
    private String jyzBm;
    @ApiModelProperty(value = "报装编号")
    private String bzbh;
    @ApiModelProperty(value = "水表地址")
    private String sbazdz;
    @ApiModelProperty(value = "0 暂存  1 同步成功  2 同步失败")
    private String issyc;
    @ApiModelProperty(value = "同步时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date synTime;
    @ApiModelProperty(value = "同步人")
    private Long synUser;
    @ApiModelProperty(value = "水表用途")
    private String sbyt;
    @ApiModelProperty(value = "水表用途名称")
    private String sbytName;
    @ApiModelProperty(value = "用水性质")
    private String ysxz;
    @ApiModelProperty(value = "用水性质名称")
    private String ysxzName;

    @ApiModelProperty(value = "森鑫炬返回消息")
    private String msg;


    /**
     * 以下属性是逻辑过程中所需要的，不是数据库字段
     */
    @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, value = "是否需要检查 0：需要 ，1：已检查 ， 2：不需要")
    @TableField(exist = false)
    private String checkFlag;

    @TableField(exist = false)
    private String x;

    @TableField(exist = false)
    private String y;
    @TableField(exist = false)
    private String contract;
    @TableField(exist = false)
    private String contractCode;
    @TableField(exist = false)
    private String synUserName;

}
