package cn.estsh.i3plus.pojo.sweb.bean;

import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * @Description :
 * @Reference :
 * @Author : jason.niu
 * @CreateDate : 2020-05-27
 * @Modify:
 **/
@Data
@Table(name = "SWEB_DOC_MOVEMENT_MASTER")
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Api("移库单-主表")
public class SwebDocMovementMaster extends BaseBean {

    private static final long serialVersionUID = -4539662053206835169L;
    @Column(name = "ORDER_NO")
    @ApiParam(value = "移库单单号")
    private String orderNo;

    @Column(name = "BUSI_TYPE")
    @ApiParam("业务类型")
    public String busiType;

    @Column(name = "CAR_NO")
    @ApiParam(value = "车牌号")
    private String carNo;

    @Column(name = "CUST_NO")
    @ApiParam(value = "客户编号")
    private String custNo;

    @Column(name = "CUST_ORDER_NO")
    @ApiParam(value = "客户单号")
    private String custOrderNo;

    @Column(name = "ERP_SRC_NO")
    @ApiParam(value = "ERP单号")
    private String erpSrcNo;

    @Column(name = "IS_TASK")
    @ApiParam(value = "是否生产任务", example = "1")
    public Integer isTask;

    @Column(name = "IS_PART")
    @ApiParam(value = "是否散件", example = "1")
    private Integer isPart;

    /**
     * 移动类型:IN=入库,OUT=出库,MOVE=移库
     */
    @Column(name = "MOVE_TYPE")
    @ApiParam("移动类型")
    public Integer moveType;

    /**
     * 状态:0=新建,10=处理中
     * ,20=已完成,90=已关闭,91=已取消
     */
    @Column(name = "ORDER_STATUS")
    @ApiParam(value = "状态", example = "1")
    public Integer orderStatus;

    @Column(name = "PRIORITY")
    @ApiParam(value = "优先级", example = "1")
    public Integer priority;

    /**
     * 关联单据类型:1=ASN,10=PO,20=SO
     */
    @Column(name = "REF_TYPE")
    @ApiParam(value = "关联单据类型")
    private String refType;

    @Column(name = "REF_NO")
    @ApiParam(value = "关联单据")
    private String refNo;

    @ApiParam("供应商编号")
    @Column(name = "VENDOR_NO")
    private String vendorNo;

    @ApiParam("供应商名称")
    @Column(name = "VENDOR_NAME")
    private String vendorName;

    @Column(name = "VERSION")
    @ApiParam(value = "版本", example = "1")
    private Integer version;

    @Column(name = "TAG")
    @ApiParam(value = "标签")
    private String tag;

    @Column(name = "FLAG_NO")
    @ApiParam(value = "客户发往地编号")
    private String flagNo;

    @Column(name = "PRINT_STATUS")
    @ApiParam("打印状态")
    private Integer printStatus;

    @Column(name = "IS_SN")
    @ApiParam("打印状态")
    private Integer isSn;

    @Column(name = "DEST_WH_NO")
    @ApiParam("目的仓库代码")
    private String destWhNo;

    @Column(name = "DEST_ZONE_NO")
    @ApiParam("目的存储区代码")
    private String destZoneNo;

    @Column(name = "PLAN_DATE")
    @ApiParam("计划日期")
    private String planDate;

    @Column(name = "PLAN_TIME")
    @ApiParam("计划时间")
    private String planTime;

    @Column(name = "SRC_WH_NO")
    @ApiParam("源仓库代码")
    private String srcWhNo;

    @Column(name = "SRC_ZONE_NO")
    @ApiParam("源存储区代码")
    private String srcZoneNo;

    @Column(name = "SHIP_TIME")
    @ApiParam(value = "发运时间")
    private String shipTime;
}
