package com.bonus.common.biz.domain;

import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;

import java.math.BigDecimal;

/**
 * 库存日志对象 bm_storage_log
 * 
 * @author xsheng
 * @date 2024-09-26
 */


@Data
@ToString
public class BmStorageLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 模块 */
    @Excel(name = "模块")
    @ApiModelProperty(value = "模块")
    private String modelTitle;

    /** 方法 */
    @Excel(name = "方法")
    @ApiModelProperty(value = "方法")
    private String method;

    /** 规格id */
    @Excel(name = "规格id")
    @ApiModelProperty(value = "规格id")
    private Long typeId;

    @ApiModelProperty(value = "机具code")
    private String maCode;

    /** 操作前库存数量 */
    @Excel(name = "操作前库存数量")
    @ApiModelProperty(value = "操作前库存数量")
    private BigDecimal preStoreNum;

    /** 入库数量 */
    @Excel(name = "入库数量")
    @ApiModelProperty(value = "入库数量")
    private BigDecimal inNum;

    @ApiModelProperty(value = "入库方式 0数量，1编码，2二维码，3标准箱")
    private Integer inputType;

    /** 出库数量 */
    @Excel(name = "出库数量")
    @ApiModelProperty(value = "出库数量")
    private BigDecimal outNum;

    @ApiModelProperty(value = "出库方式 0数量，1编码，2二维码，3标准箱")
    private Integer outType;

    /** 退库接收-总数量 */
    @Excel(name = "退库接收-总数量")
    @ApiModelProperty(value = "退库接收-总数量")
    private BigDecimal backNum;

    /** 退库接收-合格数量 */
    @Excel(name = "退库接收-合格数量")
    @ApiModelProperty(value = "退库接收-合格数量")
    private BigDecimal passNum;

    /** 退库接收-维修数量 */
    @Excel(name = "退库接收-维修数量")
    @ApiModelProperty(value = "退库接收-维修数量")
    private BigDecimal repairNum;

    /** 退库接收-报废数量 */
    @Excel(name = "退库接收-报废数量")
    @ApiModelProperty(value = "退库接收-报废数量")
    private BigDecimal scrapNum;

    /** 操作后库存 */
    @Excel(name = "操作后库存")
    @ApiModelProperty(value = "操作后库存")
    private BigDecimal postStoreNum;

    /** 任务id */
    @Excel(name = "任务id")
    @ApiModelProperty(value = "任务id")
    private String taskId;

    /** 协议id */
    @Excel(name = "协议id")
    @ApiModelProperty(value = "协议id")
    private Long agreementId;

    /** 出库类型 0编码出库  1数量出库 2成套出库 */
    @Excel(name = "出库类型 0编码出库  1数量出库 2成套出库")
    @ApiModelProperty(value = "出库类型 0编码出库  1数量出库 2成套出库")
    private String manageType;

    /** 类型名称 */
    @Excel(name = "类型名称")
    @ApiModelProperty(value = "类型名称")
    private String typeName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    @ApiModelProperty(value = "规格型号")
    private String typeModelName;

    /** http code */
    @Excel(name = "http code")
    @ApiModelProperty(value = "http code")
    private Long resultCode;

    /** http msg */
    @Excel(name = "http msg")
    @ApiModelProperty(value = "http msg")
    private String resultMsg;

    /** 状态：默认0，其他为异常状态 */
    @Excel(name = "状态：默认0，其他为异常状态")
    @ApiModelProperty(value = "状态：默认0，其他为异常状态")
    private Long status;

    /** json_result */
    @Excel(name = "json_result")
    @ApiModelProperty(value = "json_result")
    private String jsonResult;

    /** 创建人 */
    @Excel(name = "操作人")
    @ApiModelProperty(value = "操作人")
    private String creator;

    // Getters and Setters
    public BigDecimal getPreStoreNum() {
        return preStoreNum == null ? BigDecimal.ZERO : preStoreNum;
    }

    public void setPreStoreNum(BigDecimal preStoreNum) {
        this.preStoreNum = preStoreNum;
    }

    public BigDecimal getInNum() {
        return inNum == null ? BigDecimal.ZERO : inNum;
    }

    public void setInNum(BigDecimal inNum) {
        this.inNum = inNum;
    }

    public BigDecimal getOutNum() {
        return outNum == null ? BigDecimal.ZERO : outNum;
    }

    public void setOutNum(BigDecimal outNum) {
        this.outNum = outNum;
    }

    public BigDecimal getBackNum() {
        return backNum == null ? BigDecimal.ZERO : backNum;
    }

    public void setBackNum(BigDecimal backNum) {
        this.backNum = backNum;
    }

    public BigDecimal getPassNum() {
        return passNum == null ? BigDecimal.ZERO : passNum;
    }

    public void setPassNum(BigDecimal passNum) {
        this.passNum = passNum;
    }

    public BigDecimal getRepairNum() {
        return repairNum == null ? BigDecimal.ZERO : repairNum;
    }

    public void setRepairNum(BigDecimal repairNum) {
        this.repairNum = repairNum;
    }

    public BigDecimal getScrapNum() {
        return scrapNum == null ? BigDecimal.ZERO : scrapNum;
    }

    public void setScrapNum(BigDecimal scrapNum) {
        this.scrapNum = scrapNum;
    }

    public BigDecimal getPostStoreNum() {
        return postStoreNum == null ? BigDecimal.ZERO : postStoreNum;
    }

    public void setPostStoreNum(BigDecimal postStoreNum) {
        this.postStoreNum = postStoreNum;
    }

}
