package com.fjhx.entity.logistics;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fjhx.base.BaseEntity;
import com.fjhx.entity.FileInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * <p>
 * 物流信息
 * </p>
 *
 * @author ${author}
 * @since 2022-11-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class LogisticsInfo extends BaseEntity {

    /**
     * 业务id
     */
    private Long businessId;

    /**
     * 业务类型（1采购出货 2京东订单出货）
     */
    private Integer businessType;

    /**
     * 仓库id
     */
    private Long warehouseId;

    /**
     * 物流单号
     */
    private String code;

    /**
     * 状态：0、未完成 / 未到货；1、已完成 / 已到货
     */
    private Integer status;

    /**
     * 入库状态：10、未入库；20、部分入库；30、已入库
     */
    private Integer inStockStatus;

    /**
     * 物流公司编码
     */
    private String logisticsCompanyCode;

    /**
     * 物流状态（快递100的状态）
     */
    private Integer logisticsStatus;

    /**
     * 逻辑删除 0未删除 1已删除
     */
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer delFlag;

    /**
     * 物流明细
     */
    @TableField(exist = false)
    private List<LogisticsDetails> details;

    /**
     * 附件集合
     */
    @TableField(exist = false)
    private List<FileInfo> fileInfos;

    /**
     * 采购单号
     */
    @TableField(exist = false)
    private String purchaseCode;

    /**
     * 供应商ID
     */
    @TableField(exist = false)
    private Long supplierId;

    /**
     * 供应商名称
     */
    @TableField(exist = false)
    private String supplierName;

    /**
     * 物流公司名称
     */
    @TableField(exist = false)
    private String logisticsCompanyName;

    /**
     * 采购员名称
     */
    @TableField(exist = false)
    private String purchaseName;
}
