package com.ruoyi.inventory.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
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;

/**
 * 药品入库记录对象 healthcare_inventory_drugentry
 *
 * @author 蒋松霖
 * @date 2024-09-27
 */
@Data
public class HealthcareInventoryDrugentry extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一标识符，自动增长的主键 */
    private Long id;

    /** 药品入库单号 */
    @Excel(name = "药品入库单号")
    private String orderNumber;

    /** 入库状态 */
    @Excel(name = "入库状态" , readConverterExp = "0=已完成,1=未完成")
    private Integer status;

    /** 入库类型 */
    @Excel(name = "入库类型" ,readConverterExp = "0=采购入库,1=退货入库" )
    private String type;

    /** 药品品种 */
    @Excel(name = "药品品种合计")
    private int variety;

    /** 入库数量 */
    @Excel(name = "入库数量合计")
    private Long tatolquantity;

    /** 入库金额 */
    @Excel(name = "入库金额合计")
    private double amount;

    /** 入库点 */
    private String entryPoint;

    /** 入库操作员 */
    @Excel(name = "入库操作员")
    private String entryPerson;

    private Date entryTime;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;

    /** 入库详情，用于记录药品入库的详细信息信息 */
    private List<HealthcareInventoryDrugentryDetails> healthcareInventoryDrugentryDetailsList;

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

    public Long getId()
    {
        return id;
    }
    public void setOrderNumber(String orderNumber)
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber()
    {
        return orderNumber;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setVariety(int variety)
    {
        this.variety = variety;
    }

    public int getVariety()
    {
        return variety;
    }
    public void settatolquantity(Long tatolquantity)
    {
        this.tatolquantity = tatolquantity;
    }

    public Long gettatolquantity()
    {
        return tatolquantity;
    }

    public void setEntryPerson(String entryPerson)
    {
        this.entryPerson = entryPerson;
    }

    public String getEntryPerson()
    {
        return entryPerson;
    }


    public List<HealthcareInventoryDrugentryDetails> getHealthcareInventoryDrugentryDetailsList()
    {
        return healthcareInventoryDrugentryDetailsList;
    }

    public void setHealthcareInventoryDrugentryDetailsList(List<HealthcareInventoryDrugentryDetails> healthcareInventoryDrugentryDetailsList)
    {
        this.healthcareInventoryDrugentryDetailsList = healthcareInventoryDrugentryDetailsList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderNumber", getOrderNumber())
            .append("status", getStatus())
            .append("type", getType())
            .append("variety", getVariety())
            .append("tatolquantity", gettatolquantity())
            .append("entryPoint", getEntryPoint())
            .append("entryPerson", getEntryPerson())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("healthcareInventoryDrugentryDetailsList", getHealthcareInventoryDrugentryDetailsList())
            .toString();
    }
}
