package com.ruoyi.app.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 【请填写功能名称】对象 app_vehicle
 *
 * @author ruoyi
 * @date 2025-01-15
 */
public class AppVehicle extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 容器id */
    private Long vehicleId;

    /** 容器编码 */
    @Excel(name = "容器编码")
    private String vehicleCode;

    /** 容器类型 */
    @Excel(name = "容器类型")
    private String vehicleType;

    /** 容器状态 0 空闲 1 占用 */
    @Excel(name = "容器状态")
    private Long vehicleStatus;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 库位号 */
    private String locationId;

    /** 是否空容器 */
    private Long isEmpty;

    /** 是否锁定 */
    private Long isLock;

    /** 上次入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date lastInTime;

    /** 上次入库用户 */
    private String lastInUser;

    public void setVehicleId(Long vehicleId)
    {
        this.vehicleId = vehicleId;
    }

    public Long getVehicleId()
    {
        return vehicleId;
    }

    public String getVehicleCode() {
        return vehicleCode;
    }

    public void setVehicleCode(String vehicleCode) {
        this.vehicleCode = vehicleCode;
    }

    public void setVehicleType(String vehicleType)
    {
        this.vehicleType = vehicleType;
    }

    public String getVehicleType()
    {
        return vehicleType;
    }
    public void setVehicleStatus(Long vehicleStatus)
    {
        this.vehicleStatus = vehicleStatus;
    }

    /**
     *   0: 入库中
     *   1: 在库中
     *   2: 出库中
     * @return vehicleStatus
     */
    public Long getVehicleStatus()
    {
        return vehicleStatus;
    }
    public void setLocationId(String locationId)
    {
        this.locationId = locationId;
    }

    public String getLocationId()
    {
        return locationId;
    }
    public void setIsEmpty(Long isEmpty)
    {
        this.isEmpty = isEmpty;
    }

    public Long getIsEmpty()
    {
        return isEmpty;
    }
    public void setIsLock(Long isLock)
    {
        this.isLock = isLock;
    }

    public Long getIsLock()
    {
        return isLock;
    }
    public void setLastInTime(Date lastInTime)
    {
        this.lastInTime = lastInTime;
    }

    public Date getLastInTime()
    {
        return lastInTime;
    }
    public void setLastInUser(String lastInUser)
    {
        this.lastInUser = lastInUser;
    }

    public String getLastInUser()
    {
        return lastInUser;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("vehicleId", getVehicleId())
                .append("vehicleType", getVehicleType())
                .append("vehicleStatus", getVehicleStatus())
                .append("locationId", getLocationId())
                .append("isEmpty", getIsEmpty())
                .append("isLock", getIsLock())
                .append("lastInTime", getLastInTime())
                .append("lastInUser", getLastInUser())
                .append("remark", getRemark())
                .toString();
    }
}
