package com.tofly.watermeter.custom.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

@Data
@EqualsAndHashCode
public class ChangeTableDto implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 客户编号
     */
    @NotBlank
    @ApiModelProperty(value = "客户编号",required = true)
    @JsonProperty("yhbh")
    private String bwKhbh;
    /**
     * 新表编号
     */
    @NotBlank
    @ApiModelProperty(value = "新表编号",required = true)
    @JsonProperty("xbbh")
    private String bwXbbh;
    /**
     * 新表厂家
     */
    @NotBlank
    @ApiModelProperty(value = "新表厂家",required = true)
    @JsonProperty("xbcj")
    private String bwXbcj;
    /**
     * 新表类型
     */
    @NotBlank
    @ApiModelProperty(value = "新表类型",required = true)
    @JsonProperty("xblx")
    private String  bwXblx;
    /**
     * 新表口径
     */
    @NotBlank
    @ApiModelProperty(value = "新表口径",required = true)
    @JsonProperty("xbkj")
    private String bwXbkj;
    /**
     * 新表起度
     */
    @NotNull
    @ApiModelProperty(value = "新表起度",required = true)
    @JsonProperty("xbqd")
    private Long  bwXbqd;
    /**
     * 旧表编号
     */
    @NotBlank
    @ApiModelProperty(value = "旧表编号",required = true)
    @JsonProperty("jbbh")
    private String bwJbbh;
    /**
     * 旧表厂家
     */
    @NotBlank
    @ApiModelProperty(value = "旧表厂家",required = true)
    @JsonProperty("jbcj")
    private String  bwJbcj;
    /**
     * 旧表类型
     */
    @NotBlank
    @ApiModelProperty(value = "旧表类型",required = true)
    @JsonProperty("jblx")
    private String bwJblx;
    /**
     * 旧表口径
     */
    @NotBlank
    @ApiModelProperty(value = "旧表口径",required = true)
    @JsonProperty("jbkj")
    private String bwJbkj;
    /**
     * 旧表止度
     */
    @NotNull
    @ApiModelProperty(value = "旧表止度",required = true)
    @JsonProperty("jbzd")
    private Long bwJbzd;
    /**
     * 换表原因
     */
    @NotBlank
    @ApiModelProperty(value = "换表原因",required = true)
    @JsonProperty("hbyy")
    private String  bwHbyy;
    /**
     *换表人员
     */
    @NotBlank
    @ApiModelProperty(value = "换表人员",required = true)
    @JsonProperty("hbry")
    private String bwHbry;
    /**
     * 换表日期
     */
    @NotNull
    @ApiModelProperty(value = "换表日期",required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("hbrq")
    private Date  bwHbrq;
    /**
     * 旧表安装日期
     */
    @NotNull
    @ApiModelProperty(value = "旧表安装日期",required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("jbazrq")
    private Date jbAzrq;

}
