package com.hys.app.raycoswebapi.model.dto.product;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hys.app.framework.database.BaseQueryParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.lang.Long;

@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class StockInfoDto extends BaseQueryParam {

    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(hidden = true)
    private Long id;

    @ApiModelProperty(name = "company_id", value = "Company ID")
    private Long companyId;

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

    @ApiModelProperty(name = "origin_import_task_seq", value = "原始批量导入序列号")
    private String originImportTaskSeq;

    @ApiModelProperty(name = "sales_sku_id", value = "主SKU（销售SKU） ID，可用于关联商品")
    private Long salesSkuId;

    @ApiModelProperty(name = "sales_sku_new_id", value = "主sku新表Id")
    private Long salesSkuNewId;

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

    @ApiModelProperty(name = "name_cn", value = "中文名")
    private String nameCn;

    @ApiModelProperty(name = "name_en", value = "英文名")
    @JsonProperty("name_en")
    private String nameEn;

    @ApiModelProperty(name = "parent_category_id", value = "父分类ID")
    private Long parentCategoryId;

    @ApiModelProperty(name = "category_id", value = "分类ID")
    private Long categoryId;

    @ApiModelProperty(name = "sale_price", value = "售价，默认1")
    private Double salePrice;

    @ApiModelProperty(name = "status", value = "状态：1.自动创建 2.待开发 3.正常 4.清仓 5.停止销售")
    private Long status;

    @ApiModelProperty(name = "has_battery", value = "是否含电池")
    private Long hasBattery;

    @ApiModelProperty(name = "is_tort", value = "是否侵权：1是 2否")
    private Long isTort;

    @ApiModelProperty(name = "has_virtual_sku", value = "是否有虚拟sku")
    private Long hasVirtualSku;

    @ApiModelProperty(name = "buyer_id", value = "采购员ID（员工ID）")
    private Long buyerId;

    @ApiModelProperty(name = "sales_id", value = "销售员ID（员工ID）")
    private Long salesId;

    @ApiModelProperty(name = "deliver_id", value = "配货员（员工ID），多个之间用,分隔，1个时：,id,")
    private String deliverId;

    @ApiModelProperty(name = "art_designer_id", value = "美工")
    private Long artDesignerId;

    @ApiModelProperty(name = "default_cost", value = "默认成本价")
    private Double defaultCost;

    @ApiModelProperty(name = "stock_quantity", value = "库存数量")
    private Long stockQuantity;

    @ApiModelProperty(name = "forecast_day_sale", value = "forecastDaySale")
    private Double forecastDaySale;

    @ApiModelProperty(name = "shipping_quantity", value = "在途数量")
    private Long shippingQuantity;

    @ApiModelProperty(name = "waiting_quantity", value = "未发货数量")
    private Long waitingQuantity;

    @ApiModelProperty(name = "quantity_interval1", value = "本周")
    private Long quantityInterval1;

    @ApiModelProperty(name = "quantity_interval2", value = "上周")
    private Long quantityInterval2;

    @ApiModelProperty(name = "quantity_interval3", value = "quantity_interval3")
    private Long quantityInterval3;

    @ApiModelProperty(name = "quantity_interval4", value = "quantity_interval4")
    private Long quantityInterval4;

    @ApiModelProperty(name = "quantity_interval5", value = "quantity_interval5")
    private Long quantityInterval5;

    @ApiModelProperty(name = "quantity_interval6", value = "quantity_interval6")
    private Long quantityInterval6;

    @ApiModelProperty(name = "is_single_warehouse", value = "是否单仓库 ： 1 是  2  否")
    private Long isSingleWarehouse;

    @ApiModelProperty(name = "default_warehouse_id", value = "默认仓库ID（冗余字段，便于订单查找）")
    private Long defaultWarehouseId;

    @ApiModelProperty(name = "default_stock_warehouse_detail_id", value = "默认库存SKU对应仓位ID（冗余字段，便于订单查找）")
    private Long defaultStockWarehouseDetailId;

    @ApiModelProperty(name = "default_grid_code", value = "默认仓位号")
    private String defaultGridCode;

    @ApiModelProperty(name = "time_created", value = "创建时间")
    private Long timeCreated;

    @ApiModelProperty(name = "time_modify", value = "修改时间")
    private Long timeModify;

    @ApiModelProperty(name = "purchase_type", value = "1.分仓采购 2.智能联合统一采购")
    private Long purchaseType;

    @ApiModelProperty(name = "is_cloud", value = "是否云分销商品1:是；2:否")
    private Long isCloud;

    @ApiModelProperty(name = "retail_sku", value = "供货商子sku")
    private String retailSku;

    @ApiModelProperty(name = "platform_id", value = "平台类型id")
    private Long platformId;

    @ApiModelProperty(name = "platform_url", value = "平台链接")
    private String platformUrl;

    @ApiModelProperty(name = "retail_id", value = "供应商id")
    private Long retailId;

    @ApiModelProperty(name = "liveness_type", value = "活跃度:1:爆款;2:旺款;3:平款;4:滞销款;")
    private Long livenessType;

    @ApiModelProperty(name = "is_new_type", value = "是否新款:1:是")
    private Long isNewType;

    @ApiModelProperty(name = "is_machining", value = "是否有加工产品:1有,2无")
    private Long isMachining;

    @ApiModelProperty(name = "update_date1", value = "最新出库时间")
    private Long updateDate1;

    @ApiModelProperty(name = "update_date2", value = "最新入库时间")
    private Long updateDate2;

    @ApiModelProperty(name = "stop_selltime", value = "停止销售时间")
    private Long stopSelltime;

    @ApiModelProperty(name = "default_retail_id", value = "默认供应商编号")
    private Long defaultRetailId;

    @ApiModelProperty(name = "creator_id", value = "创建者id")
    private Long creatorId;

    @ApiModelProperty(name = "creator", value = "创建者")
    private String creator;
    @ApiModelProperty(name = "updater", value = "更新者")
    private String updater;

    @ApiModelProperty(name = "purchase_price", value = "采购价")
    private Double purchasePrice;

    @ApiModelProperty(name = "process_cost", value = "加工费用")
    private Double processCost;

    @ApiModelProperty(name = "shipping_cost", value = "采购运费")
    private Double shippingCost;

    @ApiModelProperty(name = "parent_brand_id", value = "父级品牌ID")
    private Long parentBrandId;

    @ApiModelProperty(name = "brand_id", value = "品牌ID")
    private Long brandId;

    @ApiModelProperty(name = "is_list", value = "是否开启序列号管理 1.开启 2.不开启")
    private Long isList;

    @ApiModelProperty(name = "last_time", value = "修改时间")
    private Long lastTime;

    @ApiModelProperty(name = "min_paidtime", value = "未发货量订单最早时间")
    private Long minPaidtime;

    @ApiModelProperty(name = "is_synchro", value = "自动同步平台库存 1启用 2停用")
    private Long isSynchro;

    @ApiModelProperty(name = "third_category_id", value = "三级目录Id")
    private Long thirdCategoryId;

    @ApiModelProperty(name = "update_time", value = "最后更新时间")
    private Long updateTime;

    @ApiModelProperty(name = "status_updatetime", value = "sku状态更新时间")
    private Long statusUpdatetime;

    @ApiModelProperty(name = "all_quantity", value = "后台计算使用")
    private Long allQuantity;

    @ApiModelProperty(name = "unshipped", value = "新未发货量")
    private Long unshipped;

    @ApiModelProperty(name = "is_active", value = "是否活跃:1=是；2=否")
    private Long isActive;

    @ApiModelProperty(name = "last_paid_time", value = "最近付款时间")
    private Long lastPaidTime;

    @ApiModelProperty(name = "last_provider_id", value = "最新入库供应商ID")
    private Long lastProviderId;

    @ApiModelProperty(name = "is_open_invoice_manage", value = "是否开启发票管理 0否 1是")
    private Long isOpenInvoiceManage;

    @ApiModelProperty(name = "forecast_daily_material_usage", value = "预测日原材料销量")
    private Double forecastDailyMaterialUsage;

}
