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_stock_change
 *
 * @author bs
 * @date 2023-07-10
 */
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("ck_stock_change")
@Data
public class CkStockChange extends BaseEntity{
    private static final long serialVersionUID = 1L;

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

    /** 客户代码 */

    @Excel(name = "客户代码")
    @ApiModelProperty(value = "客户代码")
    private Long custId;

    /** 变动类型 */

    @Excel(name = "变动类型")
    @ApiModelProperty(value = "变动类型")
    private String changeType;

    /** 货品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 Long stockId;

    /** 仓库名称 */

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



    /** 批号 */

    @Excel(name = "批号")
    @ApiModelProperty(value = "批号")
    private String billNo;

    /** 变动单号 */

    @Excel(name = "变动单号")
    @ApiModelProperty(value = "变动单号")
    private Long billId;

    /** 变动数量 */

    @Excel(name = "变动数量")
    @ApiModelProperty(value = "变动数量")
    private BigDecimal changeNum;

    /** 变动前 */

    @Excel(name = "变动前")
    @ApiModelProperty(value = "变动前")
    private BigDecimal beforeNum;

    /** 变动后 */

    @Excel(name = "变动后")
    @ApiModelProperty(value = "变动后")
    private BigDecimal afterNum;
    /** 变动重量 */

    @Excel(name = "变动重量")
    @ApiModelProperty(value = "变动重量")
    private BigDecimal changeWt;

    /** 变动前 */

    @Excel(name = "变动前")
    @ApiModelProperty(value = "变动前")
    private BigDecimal beforeWt;

    /** 变动后 */

    @Excel(name = "变动后")
    @ApiModelProperty(value = "变动后")
    private BigDecimal afterWt;
    /** 变动体积 */

    @Excel(name = "变动体积")
    @ApiModelProperty(value = "变动体积")
    private BigDecimal changeVol;

    /** 变动前 */

    @Excel(name = "变动前")
    @ApiModelProperty(value = "变动前")
    private BigDecimal beforeVol;

    /** 变动后 */

    @Excel(name = "变动后")
    @ApiModelProperty(value = "变动后")
    private BigDecimal afterVol;
    /** 变动价值 */

    @Excel(name = "变动价值")
    @ApiModelProperty(value = "变动价值")
    private BigDecimal changeValue;

    /** 变动前 */

    @Excel(name = "变动前")
    @ApiModelProperty(value = "变动前")
    private BigDecimal beforeValue;

    /** 变动后 */

    @Excel(name = "变动后")
    @ApiModelProperty(value = "变动后")
    private BigDecimal afterValue;

    /** 变动日期 */

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



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

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

    @Excel(name = "库场代码")
    @TableField(exist = false)
    private String stockCode;

    private String remark;


}
