package com.bs.jxc.domain;

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;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 出入库单据明细的出库明细对象 ck_bill_stock
 *
 * @author bs
 * @date 2023-07-16
 */
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("ck_bill_stock")
@Data
public class CkBillStock extends BaseEntity{
    private static final long serialVersionUID = 1L;

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

    /** 出入库类型 1入库2出库*/

    @Excel(name = "出入库类型")
    @ApiModelProperty(value = "出入库类型")
    private String inoutType;
    /** 出库明细单子的主键 */

    @Excel(name = "ck_bill_cargo表主键")
    @ApiModelProperty(value = "ck_bill_cargo表主键")
    private Long billCargoId;
    /** 入库库场ID */

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

    /** 入库库场代码 */

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

    /** 入库库场名称 */

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

    /** 船舶航次ID */

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


    /** 货物件数 */

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

    /** 货物重量 */

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

    /** 货物体积 */

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

    /** 货物价值 */

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

    @TableField(exist = false)
    private Long cargoId;
    @TableField(exist = false)
    private String cargoName;

    /** 货物件数 */
    @TableField(exist = false)
    private BigDecimal nowStockNum;

    /** 货物重量 */
    @TableField(exist = false)
    private BigDecimal nowStockWt;

    /** 货物体积 */
    @TableField(exist = false)
    private BigDecimal nowStockVol;

    /** 货物价值 */
    @TableField(exist = false)
    private BigDecimal nowCargoValue;
    /** 货物有效期 */
    @TableField(exist = false)
    private Date expiryDate;
    /** 货物自然序号 */
    @TableField(exist = false)
    private String cargoNumber;
    /** 商品料号 */
    @TableField(exist = false)
    private String itemNumber;
    /** 电子账册项号 */
    @TableField(exist = false)
    private String bookNumber;
    /** 报关单号 */
    @TableField(exist = false)
    private String customsNo;
    /** 核注清单号 */
    @TableField(exist = false)
    private String listNumber;

    @TableField(exist = false)
    private String billType;
    @TableField(exist = false)
    private Integer proportion;
    @TableField(exist = false)
    private String custName;
    /** 货主ID */
    @TableField(exist = false)
    private Long custId;
    @TableField(exist = false)
    private Date billDate;
    @TableField(exist = false)
    private List<CkBillStock> children;
    @TableField(exist = false)
    private Boolean isChildren;
    @TableField(exist = false)
    private String billStatus;
    @TableField(exist = false)
    private List<CkCargoStock> stockList;
    @TableField(exist = false)
    private Map<Long, List<CkCargoStock>> listMap;
    /** HS编号 */
    @TableField(exist = false)
    private String hsCode;
    /** 规格类型品质 */
    @TableField(exist = false)
    private String cargoSpec;
    /** 原产国 */
    @TableField(exist = false)
    private String originCountry;
    /** 货物流向 */
    @TableField(exist = false)
    private String cargoFlow;



    @TableField(exist = false)
    private BigDecimal  unitPrice;

}
