package com.zfire.mall.manager.bean.reserved;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.zfire.mall.manager.annotation.ZfireField;
import com.zfire.mall.manager.constant.FrontCodeConstant;
import com.zfire.mall.manager.enums.IsEnum;
import com.zfire.mall.manager.enums.OrderTypeEnum;
import com.zfire.mall.manager.enums.ReservedOrderTypeEnum;
import com.zfire.mall.manager.plus.entity.ReservedOrder;
import com.zfire.mall.manager.plus.entity.ReservedOrderItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * @author change
 */
@ApiModel
@Data
public class ReservedBeanVO   {

    @ZfireField(hide = true,tbName = "ro")
    @ApiModelProperty(value = "预留单单号")
    private String id;

    @ZfireField(type = "select",tbName = "roi")
    @ApiModelProperty(value = "启用或关闭")
    private ReservedOrderTypeEnum status;

    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "预留单号")
    private String reservedId;

    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "销售订单号")
    private String mainOrderId;

    @ZfireField(tbName = "ro")
    @ApiModelProperty(value = "创建人")
    private String createBy;
    @ZfireField(tbName = "ro")
    @ApiModelProperty(value = "预留时间")
    private Date createTime;
    @ZfireField(tbName = "ro")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    @ZfireField(tbName = "ro")
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    @ZfireField(tbName = "ro")
    @ApiModelProperty(value = "备注")
    private String remark;
    @ZfireField(tbName = "roi",colName = "id",hide = true)
    @ApiModelProperty(value = "预留详细单号（关闭传得id）")
    private String itemId;

    @ZfireField(tbName = "roi",colName = "id",hide = true)
    @ApiModelProperty(value = "关联订单产品id")
    private String orderId;

    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "预留数量")
    private Integer reservedNum;
    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "预留备注")
    private String reservedRemark;
    @ZfireField(type = "select",tbName = "roi",hide = true)
    @ApiModelProperty(value = "订单类型")
    private OrderTypeEnum orderType;
    @ZfireField(isQuery = false)
    @ApiModelProperty(value = "序号")
    private String frequency;
    @ZfireField(tbName = "roi",hide = true)
    @ApiModelProperty(value = "金蝶物料id")
    private String materialId;

    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "物料编号")
    private String materialCode;
    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "厂产品代码")
    private String materialOldNumber;
    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "产品名称")
    private String materialName;
    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "规格型号")
    private String specification;
    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "单位")
    private String unit;

    @ZfireField(tbName = "roi",hide = true)
    @ApiModelProperty(value = "经销商id")
    private String customerId;
    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "经销商编码")
    private String customerNumber;
    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "经销商名称")
    private String customerName;

    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "订单数量")
    private Integer qty;

    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "关闭人")
    private String closureBy;
    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "关闭时间")
    private Date closureTime;



    @ZfireField(tbName = "roi")
    @ApiModelProperty(value = "原始预留数量")
    private Integer oldNum;

    @ZfireField(tbName = "roi",hide = true)
    @ApiModelProperty(value = "仓库ID")
    private String correspondId;
    @ZfireField(tbName = "roi",colName = "correspond_id",frontCode = FrontCodeConstant.STOCK,type = "select")
    @ApiModelProperty(value = "仓库名称")
    private String correspondName;

    @ZfireField(hide = false,frontCode = FrontCodeConstant.CATEGORY,tbName = "roi",colName = "k3_category_id",type ="select",multiple = true)
    @ApiModelProperty(value = "存货分类")
    private String k3CategoryName;



}
