package com.ruoyi.asset.domain;

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

/**
 * 借用单明细对象 ams_borrow_order_item
 *
 * @author Yangk
 * @date 2026-06-16
 */
public class AmsBorrowOrderItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 明细ID */
    private Long itemId;

    /** 借用单ID */
    @Excel(name = "借用单ID")
    private Long orderId;

    /** 借用单号快照 */
    @Excel(name = "借用单号快照")
    private String borrowNo;

    /** 资产ID */
    @Excel(name = "资产ID")
    private Long assetId;

    /** 资产编码快照 */
    @Excel(name = "资产编码快照")
    private String assetCode;

    /** 资产名称快照 */
    @Excel(name = "资产名称快照")
    private String assetName;

    /** 资产类别ID快照 */
    @Excel(name = "资产类别ID快照")
    private Long categoryId;

    /** 类别编码快照 */
    @Excel(name = "类别编码快照")
    private String categoryCode;

    /** 类别名称快照 */
    @Excel(name = "类别名称快照")
    private String categoryName;

    /** 规格型号快照 */
    @Excel(name = "规格型号快照")
    private String specModel;

    /** 品牌快照 */
    @Excel(name = "品牌快照")
    private String brand;

    /** 借用前仓库ID */
    @Excel(name = "借用前仓库ID")
    private Long beforeWarehouseId;

    /** 借用前仓库编码快照 */
    @Excel(name = "借用前仓库编码快照")
    private String beforeWarehouseCode;

    /** 借用前仓库名称快照 */
    @Excel(name = "借用前仓库名称快照")
    private String beforeWarehouseName;

    /** 借用前位置ID */
    @Excel(name = "借用前位置ID")
    private Long beforeLocationId;

    /** 借用前位置编码快照 */
    @Excel(name = "借用前位置编码快照")
    private String beforeLocationCode;

    /** 借用前位置名称快照 */
    @Excel(name = "借用前位置名称快照")
    private String beforeLocationName;

    /** 归还仓库ID */
    @Excel(name = "归还仓库ID")
    private Long returnWarehouseId;

    /** 归还仓库编码快照 */
    @Excel(name = "归还仓库编码快照")
    private String returnWarehouseCode;

    /** 归还仓库名称快照 */
    @Excel(name = "归还仓库名称快照")
    private String returnWarehouseName;

    /** 归还位置ID */
    @Excel(name = "归还位置ID")
    private Long returnLocationId;

    /** 归还位置编码快照 */
    @Excel(name = "归还位置编码快照")
    private String returnLocationCode;

    /** 归还位置名称快照 */
    @Excel(name = "归还位置名称快照")
    private String returnLocationName;

    /** 实际归还日期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "实际归还日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualReturnDate;

    /** 归还状态 */
    @Excel(name = "归还状态")
    private String returnStatus;

    /** 删除标志：0存在，1删除 */
    private String delFlag;

    public void setItemId(Long itemId)
    {
        this.itemId = itemId;
    }

    public Long getItemId()
    {
        return itemId;
    }
    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setBorrowNo(String borrowNo)
    {
        this.borrowNo = borrowNo;
    }

    public String getBorrowNo()
    {
        return borrowNo;
    }
    public void setAssetId(Long assetId)
    {
        this.assetId = assetId;
    }

    public Long getAssetId()
    {
        return assetId;
    }
    public void setAssetCode(String assetCode)
    {
        this.assetCode = assetCode;
    }

    public String getAssetCode()
    {
        return assetCode;
    }
    public void setAssetName(String assetName)
    {
        this.assetName = assetName;
    }

    public String getAssetName()
    {
        return assetName;
    }
    public void setCategoryId(Long categoryId)
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId()
    {
        return categoryId;
    }
    public void setCategoryCode(String categoryCode)
    {
        this.categoryCode = categoryCode;
    }

    public String getCategoryCode()
    {
        return categoryCode;
    }
    public void setCategoryName(String categoryName)
    {
        this.categoryName = categoryName;
    }

    public String getCategoryName()
    {
        return categoryName;
    }
    public void setSpecModel(String specModel)
    {
        this.specModel = specModel;
    }

    public String getSpecModel()
    {
        return specModel;
    }
    public void setBrand(String brand)
    {
        this.brand = brand;
    }

    public String getBrand()
    {
        return brand;
    }
    public void setBeforeWarehouseId(Long beforeWarehouseId)
    {
        this.beforeWarehouseId = beforeWarehouseId;
    }

    public Long getBeforeWarehouseId()
    {
        return beforeWarehouseId;
    }
    public void setBeforeWarehouseCode(String beforeWarehouseCode)
    {
        this.beforeWarehouseCode = beforeWarehouseCode;
    }

    public String getBeforeWarehouseCode()
    {
        return beforeWarehouseCode;
    }
    public void setBeforeWarehouseName(String beforeWarehouseName)
    {
        this.beforeWarehouseName = beforeWarehouseName;
    }

    public String getBeforeWarehouseName()
    {
        return beforeWarehouseName;
    }
    public void setBeforeLocationId(Long beforeLocationId)
    {
        this.beforeLocationId = beforeLocationId;
    }

    public Long getBeforeLocationId()
    {
        return beforeLocationId;
    }
    public void setBeforeLocationCode(String beforeLocationCode)
    {
        this.beforeLocationCode = beforeLocationCode;
    }

    public String getBeforeLocationCode()
    {
        return beforeLocationCode;
    }
    public void setBeforeLocationName(String beforeLocationName)
    {
        this.beforeLocationName = beforeLocationName;
    }

    public String getBeforeLocationName()
    {
        return beforeLocationName;
    }
    public void setReturnWarehouseId(Long returnWarehouseId)
    {
        this.returnWarehouseId = returnWarehouseId;
    }

    public Long getReturnWarehouseId()
    {
        return returnWarehouseId;
    }
    public void setReturnWarehouseCode(String returnWarehouseCode)
    {
        this.returnWarehouseCode = returnWarehouseCode;
    }

    public String getReturnWarehouseCode()
    {
        return returnWarehouseCode;
    }
    public void setReturnWarehouseName(String returnWarehouseName)
    {
        this.returnWarehouseName = returnWarehouseName;
    }

    public String getReturnWarehouseName()
    {
        return returnWarehouseName;
    }
    public void setReturnLocationId(Long returnLocationId)
    {
        this.returnLocationId = returnLocationId;
    }

    public Long getReturnLocationId()
    {
        return returnLocationId;
    }
    public void setReturnLocationCode(String returnLocationCode)
    {
        this.returnLocationCode = returnLocationCode;
    }

    public String getReturnLocationCode()
    {
        return returnLocationCode;
    }
    public void setReturnLocationName(String returnLocationName)
    {
        this.returnLocationName = returnLocationName;
    }

    public String getReturnLocationName()
    {
        return returnLocationName;
    }
    public void setActualReturnDate(Date actualReturnDate)
    {
        this.actualReturnDate = actualReturnDate;
    }

    public Date getActualReturnDate()
    {
        return actualReturnDate;
    }
    public void setReturnStatus(String returnStatus)
    {
        this.returnStatus = returnStatus;
    }

    public String getReturnStatus()
    {
        return returnStatus;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("itemId", getItemId())
            .append("orderId", getOrderId())
            .append("borrowNo", getBorrowNo())
            .append("assetId", getAssetId())
            .append("assetCode", getAssetCode())
            .append("assetName", getAssetName())
            .append("categoryId", getCategoryId())
            .append("categoryCode", getCategoryCode())
            .append("categoryName", getCategoryName())
            .append("specModel", getSpecModel())
            .append("brand", getBrand())
            .append("beforeWarehouseId", getBeforeWarehouseId())
            .append("beforeWarehouseCode", getBeforeWarehouseCode())
            .append("beforeWarehouseName", getBeforeWarehouseName())
            .append("beforeLocationId", getBeforeLocationId())
            .append("beforeLocationCode", getBeforeLocationCode())
            .append("beforeLocationName", getBeforeLocationName())
            .append("returnWarehouseId", getReturnWarehouseId())
            .append("returnWarehouseCode", getReturnWarehouseCode())
            .append("returnWarehouseName", getReturnWarehouseName())
            .append("returnLocationId", getReturnLocationId())
            .append("returnLocationCode", getReturnLocationCode())
            .append("returnLocationName", getReturnLocationName())
            .append("actualReturnDate", getActualReturnDate())
            .append("returnStatus", getReturnStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
