package com.bs.jxc.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
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 io.swagger.annotations.ApiModelProperty;

/**
 * 仓库库存对象 ck_cargo_stock
 *
 * @author bs
 * @date 2023-07-10
 */
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("ck_cargo_stock")
@Data
public class CkCargoStock extends BaseEntity{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(value = "id",type = IdType.AUTO)
    @ApiModelProperty(value = "主键")
    private Long id;

    /** 入库日期 */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "入库日期")
    private Date stockDate;


    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date beginDate;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date beginDateTwo;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDateTwo;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date beginDateOut;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDateOut;


    /** 货物自然序号 */

    @Excel(name = "货物自然序号")
    @ApiModelProperty(value = "货物自然序号")
    private String cargoNumber;

    /** 商品料号 */

    @Excel(name = "商品料号")
    @ApiModelProperty(value = "商品料号")
    private String itemNumber;

    /** 电子账册项号 */

    @Excel(name = "电子账册项号")
    @ApiModelProperty(value = "电子账册项号")
    private String bookNumber;

    /** 有效期至 */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效期至", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "有效期至")
    private Date expiryDate;


    /** 单据编号 */

    @Excel(name = "单据编号")
    @ApiModelProperty(value = "单据编号")
    private String billNumber;

    /** 船舶航次ID */

//    @Excel(name = "船舶航次ID")
    @ApiModelProperty(value = "船舶航次ID")
    private Long voyageId;

    /** 航次号 */

    @Excel(name = "航次号")
    @ApiModelProperty(value = "航次号")
    private String voyageNo;

    /** 船舶ID */

    @Excel(name = "船舶ID")
    @ApiModelProperty(value = "船舶ID")
    private Long vesselId;

    /** 船舶名称 */

    @Excel(name = "船舶名称")
    @ApiModelProperty(value = "船舶名称")
    private String vesselName;

    /** 货物ID */

//    @Excel(name = "货物ID")
    @ApiModelProperty(value = "货物ID")
    private Long cargoId;

    /** HS编号 */

    @Excel(name = "HS编号")
    @ApiModelProperty(value = "HS编号")
    private String hsCode;

    /** 货物名称 */

    @Excel(name = "货物名称")
    @ApiModelProperty(value = "货物名称")
    private String cargoName;

    /** 提运单号 */

    @Excel(name = "提运单号")
    @ApiModelProperty(value = "提运单号")
    private String billNo;

    /** 规格类型品质 */

    @Excel(name = "规格类型品质")
    @ApiModelProperty(value = "规格类型品质")
    private String cargoSpec;

    /** 原产国 */

    @Excel(name = "原产国")
    @ApiModelProperty(value = "原产国")
    private String originCountry;

    @Excel(name = "第一单位")
    @ApiModelProperty(value = "第一单位")
    private String firstUnit;

    @Excel(name = "单价")
    @ApiModelProperty(value = "单价")
    private BigDecimal unitPrice;

    @Excel(name = "币种")
    @ApiModelProperty(value = "币种")
    private String currType;

    /** 货主ID */

    @Excel(name = "货主ID")
    @ApiModelProperty(value = "货主ID")
    private Long custId;

    /** 货主名称 */

    @Excel(name = "货主名称")
    @ApiModelProperty(value = "货主名称")
    private String custName;

    /** 业务性质 */

    @Excel(name = "业务性质")
    @ApiModelProperty(value = "业务性质")
    private String opType;

    /** 贸易性质 */

    @Excel(name = "贸易性质")
    @ApiModelProperty(value = "贸易性质")
    private String tradType;

    /** 货物件数 */

    @Excel(name = "货物件数")
    @ApiModelProperty(value = "货物件数")
    private BigDecimal cargoNum;

    /** 货物重量 */

    @Excel(name = "货物重量")
    @ApiModelProperty(value = "货物重量")
    private BigDecimal cargoWt;


    /** 货物体积 */

    @Excel(name = "货物体积")
    @ApiModelProperty(value = "货物体积")
    private BigDecimal cargoVol;

    /** 库场ID */

//    @Excel(name = "库场ID")
    @ApiModelProperty(value = "库场ID")
    private Long stockId;

    /** 库场代码 */

    @Excel(name = "库场代码")
    @ApiModelProperty(value = "库场代码")
    private String stockCode;

    /** 库场名称 */

    @Excel(name = "库场名称")
    @ApiModelProperty(value = "库场名称")
    private String stockName;

    @Excel(name = "货物价值")
    @ApiModelProperty(value = "货物价值")
    private BigDecimal cargoValue;

    @Excel(name = "报关单号")
    @ApiModelProperty(value = "报关单号")
    private String customsNo;

    @Excel(name = "核注清单号")
    @ApiModelProperty(value = "核注清单号")
    private String listNumber;

    private String remark;

    @TableField(exist = false)
    private String isExpire;

    @TableField(exist = false)
    private String gdsSeqno;

    /** 是否显示为0的库存 */
    @TableField(exist = false)
    private Boolean isShow;



}
