package com.sy.coinage.workshop.vo;

import com.sy.coinage.core.annotation.FastJsonFieldProfile;
import com.baomidou.mybatisplus.annotation.TableField;
import com.sy.coinage.workshop.model.WorkshopOutboundDetail;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

/**
 * WorkshopOutbound查询响应bean
 */
@Data
public class WorkshopOutboundVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * -主键ID
     */
    @ApiModelProperty(value = "主键ID")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "id")
    private Integer id;
    /**
     * -租户ID
     */
    @ApiModelProperty(value = "部门ID")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "dept_id")
    private Integer deptId;
    /**
     * -租户名称
     */
    @ApiModelProperty(value = "部门名称")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "dept")
    private String dept;
    /**
     * -单据类型： 1: 解缴单 2: 返检单
     */
    @ApiModelProperty(value = "单据类型： 1: 解缴单  2: 返检单")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "order_type")
    private Integer orderType;
    /**
     * -车间出库单单号
     */
    @ApiModelProperty(value = "车间出库单单号")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "order_no")
    private String orderNo;
    /**
     * -品名id
     */
    @ApiModelProperty(value = "品名id")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "securities_id")
    private Integer securitiesId;
    /**
     * -品名
     */
    @ApiModelProperty(value = "品名")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "securities")
    private String securities;
    /**
     * -实际拍数（由于仓位不同，实际手持端可多次修改，与计划拍数相等后，该条目不再显示）
     */
    @ApiModelProperty(value = "实际拍数（由于仓位不同，实际手持端可多次修改，与计划拍数相等后，该条目不再显示）")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "real_num")
    private Integer realNum;
    /**
     * -计划拍数（车间出库单初始值）
     */
    @ApiModelProperty(value = "计划拍数（车间出库单初始值）")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "plan_num")
    private Integer planNum;
    /**
     * -创建日期
     */
    @ApiModelProperty(value = "创建日期")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "create_time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * -合计箱数
     */
    @ApiModelProperty(value = "合计箱数")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "total_box_amount")
    private Integer totalBoxAmount;
    /**
     * -合计枚数
     */
    @ApiModelProperty(value = "合计枚数")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "total_amount")
    private Integer totalAmount;
    /**
     * -拍最大净重
     */
    @ApiModelProperty(value = "拍最大净重")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "max_net_weight")
    private Double maxNetWeight;
    /**
     * -拍最小净重
     */
    @ApiModelProperty(value = "拍最小净重")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "min_net_weight")
    private Double minNetWeight;
    /**
     * -创建人ID（付出人）
     */
    @ApiModelProperty(value = "创建人ID（付出人）")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "create_id")
    private Integer createId;
    /**
     * -创建人名称
     */
    @ApiModelProperty(value = "创建人名称")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "create_by")
    private String createBy;
    /**
     * -审核人ID（付出人2）
     */
    @ApiModelProperty(value = "审核人ID（付出人2）")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "check_id")
    private Integer checkId;
    /**
     * -付出人名称（审核人）
     */
    @ApiModelProperty(value = "付出人名称（审核人）")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "checker")
    private String checker;
    /**
     * -收入人ID（收入人1）
     */
    @ApiModelProperty(value = "收入人ID（收入人1）")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "receiver_id")
    private Integer receiverId;
    /**
     * -收入人姓名
     */
    @ApiModelProperty(value = "收入人姓名")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "receiver")
    private String receiver;
    /**
     * -收入复核人ID
     */
    @ApiModelProperty(value = "收入复核人ID")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "receiver_check_id")
    private Integer receiverCheckId;
    /**
     * -收入复核人（收入人2）
     */
    @ApiModelProperty(value = "收入复核人（收入人2）")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "receiver_check")
    private String receiverCheck;
    /**
     * -车间入库确认的拍子数量
     */
    @ApiModelProperty(value = "车间入库确认的拍子数量")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "shop_real_num")
    private Integer shopRealNum;
    /**
     * -状态:1.新建 2.已出库 3.已入库
     */
    @ApiModelProperty(value = "状态:1.新建 2.已出库 3.已入库")
    @FastJsonFieldProfile(groups = {"list", "get"})
    @TableField(value = "status")
    private Integer status;

    @ApiModelProperty(value = "明细集合")
    @TableField(select = false, exist = false)
    List<WorkshopOutboundDetail> detailList;

}
