package com.hys.app.model.erp.dos;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hys.app.framework.database.mybatisplus.base.BaseDO;
import com.hys.app.model.erp.dto.ProductDTO;
import com.hys.app.model.erp.enums.SnCodeStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;


/**
 * 商品实体类
 *
 * @author 张崧
 * 2023-12-26 15:56:58
 */
@TableName("erp_goods_sn")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class GoodsSnDO extends BaseDO {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(name = "id", value = "序列号id")
    private Long id;

    @ApiModelProperty(name = "goods_id", value = "商品id")
    private Long goodsId;

    @ApiModelProperty(name = "product_id", value = "商品id")
    private Long productId;

    @ApiModelProperty(name = "sku", value = "sku")
    private String sku;

    @ApiModelProperty(name = "sn_code", value = "序列号")
    private String snCode;

    @ApiModelProperty(name = "status", value = "状态")
    private SnCodeStatusEnum status = SnCodeStatusEnum.NOT_USED;

    @ApiModelProperty(name = "warehouse_id", value = "仓库id")
    private Long warehouseId;

    @ApiModelProperty(name = "entry_house_id", value = "入库单id")
    private Long entryHouseId;

    @ApiModelProperty(name = "inventory_id", value = "盘点单id")
    private Long inventoryId;

    @ApiModelProperty(name = "out_house_id", value = "出库单id")
    private Long outHouseId;

    @ApiModelProperty(name = "item_id", value = "子项ID")
    @TableField(exist = false)
    private Long itemId;
}
