package com.shkj.wms.bo;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 批次对象
 *
 * @author lch
 * @date 2022-04-09
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class SysBatchEditBo implements Serializable {

private static final long serialVersionUID=1L;


    /**
     * $column.columnComment
     */
    @NotNull(message = "${column.columnComment}不得为空")
    private Long id;


    /**
     * 商品ID
     */
    @NotNull(message = "商品ID不得为空")
    private Long goodId;


    /**
     * 货主ID
     */
    @NotNull(message = "货主ID不得为空")
    private Long consignorId;


    /**
     * 包装ID
     */
    @NotNull(message = "包装ID不得为空")
    private Long packageId;


    /**
     * 批号
     */
    @NotBlank(message = "批号不得为空")
    private String batchNo;


    /**
     * 生产日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date productionDate;


    /**
     * 有效期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date expiredDate;


    /**
     * 厂家
     */
    @NotBlank(message = "厂家不得为空")
    private String factory;


    /**
     * 生产地
     */
    @NotBlank(message = "生产地不得为空")
    private String waster;


    /**
     * 仓ID
     */
    @NotNull(message = "仓ID不得为空")
    private Long branchId;


    /**
     * 备注
     */
    @NotBlank(message = "备注不得为空")
    private String remark;


    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;


    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    @NotBlank(message = "创建人不得为空")
    private String createBy;


    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;


    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @NotBlank(message = "修改人不得为空")
    private String updateBy;


}
