package com.tofly.watermeter.custom.dto;

import com.alibaba.fastjson.annotation.JSONField;
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.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

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


    /**
     * 用户编号
     */
    @NotBlank
    @ApiModelProperty(value = "用户编号")
    private String yhbh;
    /**
     * 财务月份
     */
    @NotBlank
    @ApiModelProperty(value = "财务月份")
    @JsonProperty("cwyf")
    private String month;
    /**
     * 修改后起度
     */
    @NotNull
    @ApiModelProperty(value = "修改后起度")
    @JsonProperty("x_scds")
    private Long newScds;
    /**
     * 修改后止度
     */
    @NotNull
    @ApiModelProperty(value = "修改后止度")
    @JsonProperty("x_bcds")
    private Long newBcds;
    /**
     * 修改后水量（机械表、远传表、IC卡表）
     */
    @NotNull
    @ApiModelProperty(value = "修改后水量（机械表、远传表、IC卡表）")
    @JsonProperty("x_cbsl")
    private Long newCbsl;
    /**
     * 原上次起度
     */
    @NotNull
    @ApiModelProperty(value = "原上次起度")
    @JsonProperty( "y_scds")
    private Long oldScds;
    /**
     * 原本次止度
     */
    @NotNull
    @ApiModelProperty(value = "原本次止度")
    @JsonProperty( "y_bcds")
    private Long oldBcds;
    /**
     * 原本月份水量（机械表、远传表、IC卡表）
     */
    @NotNull
    @ApiModelProperty(value = "原本月份水量（机械表、远传表、IC卡表）")
    @JsonProperty("y_cbsl")
    private Long oldCbsl;

    /**
     * 水表厂家
     */
    @NotBlank
    @ApiModelProperty(value = "水表厂家")
    private String sbcj;

    /**
     * 水表类别(机械表传、IC卡表传、远传表传)
     */
    @NotBlank
    @ApiModelProperty(value = "水表类别(机械表传、IC卡表传、远传表传)")
    private String sblx;


    /**
     * 变更原因
     */
    @NotBlank
    @ApiModelProperty(value = "变更原因")
    private String bgyy;

    /**
     * 变更时间
     */
    @NotNull
    @ApiModelProperty(value = "变更时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date bgrq;



}
