/*
 * Author: wangjian
 * 生成entity
 */
package com.tofly.stocks.dto;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tofly.stocks.vo.InstockDetailVo;
import com.tofly.utils.NullHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;


/**
 * 库存入库信息表
 *
 * @author admin
 * @date Fri Nov 25 00:00:00 CST 2022
 */
@Data
@ApiModel
public class InstockInfoNewDto extends Model<InstockInfoNewDto> {



    /**
     * 入库详情
     */
    @ApiModelProperty(value = "入库详情数据")
    public List<InstockDetailVo> instockDetails;

    /**
     * 附件json
     */
    @ApiModelProperty(value = "附件json")

    private String annex;
    /**
     * 入库类型 1 物料，2 设备，3药品
     */
    @ApiModelProperty(value = "入库类型 1 物料，2 设备，3药品")
    @NotNull(message = "入库类型不能为空")
    private Integer instockCategory;
    /**
     * ID
     */
    @TableId(value = "ID", type = IdType.INPUT)
    @ApiModelProperty(value = "ID")
    private Long id;
    /**
     * 入库编号（自动生成，RK+年+月+0001（三位序号）
     */
    @ApiModelProperty(value = "入库编号（自动生成，RK+年+月+0001（三位序号）")
    private String instockNo;
    /**
     * 发票号
     */
    @ApiModelProperty(value = "发票号")
   private String invoiceNo;
    /**
     * 订单号
     */
    @ApiModelProperty(value = "订单号")
    private String orderNo;
    /**
     * 业务类型（1、普通采购 2、集中采购） 字典ID
     */
    @ApiModelProperty(value = "业务类型（1、普通采购 2、集中采购） 字典ID")
    private String buinessType;
    /**
     * 入库时间
     */
    @ApiModelProperty(value = "入库时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "入库时间不能为空")
    private Date instockTime;
    /**
     * 入库人ID
     */
    @ApiModelProperty(value = "入库人ID")
    private Long instockUserId;
    /**
     * 入库备注
     */
    @ApiModelProperty(value = "入库备注")
    private String instockRemark;
    /**
     * 仓库ID
     */
    @ApiModelProperty(value = "仓库ID")
    @NotNull(message = "仓库不能为空")
    private Long storeId;


    /**
     * 水厂Id
     */
    @ApiModelProperty(value = "水厂Id")
    @NotNull(message = "水厂Id不能为空")
    private Long waterworksId;


    /**
     * 供货单位
     */
    @ApiModelProperty(value = "供货单位")
    private String supplier;
    /**
     * 入库类别 1、普通入库   字典ID
     */
    @ApiModelProperty(value = "入库类别 1、普通入库,字典ID")
    private String instockType;
    /**
     * 入库状态，1入库中（待确认） 2、已确认
     */
    @ApiModelProperty(value = "入库状态，1入库中（待确认） 2、已确认")
    @NotNull(message = "入库状态不能为空")
    private Short instockStatus;
    /**
     * 采购类型（1、渠道采购）字典ID
     */
    @ApiModelProperty(value = "采购类型（1、渠道采购）字典ID")
    private String purchaseType;


}
