package com.zhyc.module.frozen.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zhyc.common.annotation.Excel;
import com.zhyc.common.core.domain.BaseEntity;

/**
 * 销售明细对象 dd_sl_item
 * 
 * @author HashMap
 * @date 2025-12-01
 */
public class DdSaleItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 销售主单ID */
    @Excel(name = "销售主单ID")
    private Long saleId;

    /** 明细类型（冻胚embryo冻精semen） */
    @Excel(name = "明细类型", readConverterExp = "冻=胚embryo冻精semen")
    private String itemType;

    /** 胚胎编号或冻精号 */
    @Excel(name = "胚胎编号或冻精号")
    private String itemCode;

    /** 数量 */
    @Excel(name = "数量")
    private Long qty;

    /** 单价（元） */
    @Excel(name = "单价", readConverterExp = "元=")
    private BigDecimal unitPrice;

    /** 所在液氮罐ID */
    @Excel(name = "所在液氮罐ID")
    private Long tankId;

    /** 所在提桶ID */
    @Excel(name = "所在提桶ID")
    private Long bucketId;

    /** 所在冷冻架ID */
    @Excel(name = "所在冷冻架ID")
    private Long rackId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSaleId(Long saleId) 
    {
        this.saleId = saleId;
    }

    public Long getSaleId() 
    {
        return saleId;
    }
    public void setItemType(String itemType) 
    {
        this.itemType = itemType;
    }

    public String getItemType() 
    {
        return itemType;
    }
    public void setItemCode(String itemCode) 
    {
        this.itemCode = itemCode;
    }

    public String getItemCode() 
    {
        return itemCode;
    }
    public void setQty(Long qty) 
    {
        this.qty = qty;
    }

    public Long getQty() 
    {
        return qty;
    }
    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }
    public void setTankId(Long tankId) 
    {
        this.tankId = tankId;
    }

    public Long getTankId() 
    {
        return tankId;
    }
    public void setBucketId(Long bucketId) 
    {
        this.bucketId = bucketId;
    }

    public Long getBucketId() 
    {
        return bucketId;
    }
    public void setRackId(Long rackId) 
    {
        this.rackId = rackId;
    }

    public Long getRackId() 
    {
        return rackId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("saleId", getSaleId())
            .append("itemType", getItemType())
            .append("itemCode", getItemCode())
            .append("qty", getQty())
            .append("unitPrice", getUnitPrice())
            .append("tankId", getTankId())
            .append("bucketId", getBucketId())
            .append("rackId", getRackId())
            .append("createTime", getCreateTime())
            .toString();
    }
}
