package com.bonus.sgzb.app.domain;

import com.bonus.sgzb.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 新购验收任务详细purchase_check_details对象 purchase_check_details
 * 
 * @author bonus
 * @date 2023-12-10
 */
public class PurchaseCheckDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 任务ID */
    @ApiModelProperty(value = "任务ID")
    private Long taskId;

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

    /** 采购单价 */
    @ApiModelProperty(value = "采购单价")
    private String purchasePrice;

    /** 采购数量 */
    @ApiModelProperty(value = "采购数量")
    private Long purchaseNum;

    /** 验收数量 */
    @ApiModelProperty(value = "验收数量")
    private BigDecimal checkNum;

    /** 绑定数量 */
    @ApiModelProperty(value = "绑定数量")
    private Integer bindNum;

    /** 验收结论 */
    @ApiModelProperty(value = "验收结论")
    private String checkResult;

    /** 供应商id */
    @ApiModelProperty(value = "供应商id")
    private Long supplierId;

    /** 供应商id */
    @ApiModelProperty(value = "供应商名称")
    private String supplier;

    /** 验收状态0,未验收 1,已验收 2,待通知 */
    @ApiModelProperty(value = "验收状态0,未验收 1,已验收 2,待通知")
    private Integer status;

    /** 出厂日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "出厂日期")
    private Date productionTime;

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

    /** 验收图片 */
    @ApiModelProperty(value = "验收图片")
    private String checkUrlName;

    /** 验收图片名称 */
    @ApiModelProperty(value = "验收图片名称")
    private String checkUrl;

    /** 验收附件名称 */
    @ApiModelProperty(value = "验收附件名称")
    private String fileName;

    /** 验收附件 */
    @ApiModelProperty(value = "验收附件")
    private String fileUrl;

    /** 数据所属组织 */
    @ApiModelProperty(value = "数据所属组织")
    private Long companyId;

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

    @ApiModelProperty(value = "规格型号")
    private String typeName;

    @ApiModelProperty(value = "单位")
    private String unitName;

    @ApiModelProperty(value = "机具类型名称")
    private String machineTypeName;

    @ApiModelProperty(value = "管理方式(0编号 1计数)")
    private String manageType;

    @ApiModelProperty(value = "采购单号")
    private String code;

    @ApiModelProperty(value = "关键字筛选")
    private String keyWord;

    public void setTaskId(Long taskId) 
    {
        this.taskId = taskId;
    }

    public Long getTaskId() 
    {
        return taskId;
    }
    public void setTypeId(Long typeId) 
    {
        this.typeId = typeId;
    }

    public Long getTypeId() 
    {
        return typeId;
    }
    public void setPurchasePrice(String purchasePrice) 
    {
        this.purchasePrice = purchasePrice;
    }

    public String getPurchasePrice() 
    {
        return purchasePrice;
    }
    public void setPurchaseNum(Long purchaseNum) 
    {
        this.purchaseNum = purchaseNum;
    }

    public Long getPurchaseNum() 
    {
        return purchaseNum;
    }
    public void setSupplierId(Long supplierId) 
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId() 
    {
        return supplierId;
    }
    public void setProductionTime(Date productionTime) 
    {
        this.productionTime = productionTime;
    }

    public Date getProductionTime() 
    {
        return productionTime;
    }
    public void setCompanyId(Long companyId) 
    {
        this.companyId = companyId;
    }

    public Long getCompanyId() 
    {
        return companyId;
    }

    public Long getId() {
        return id;
    }

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

    public String getSpecificationType() {
        return specificationType;
    }

    public void setSpecificationType(String specificationType) {
        this.specificationType = specificationType;
    }

    public String getSupplier() {
        return supplier;
    }

    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }

    public BigDecimal getCheckNum() {
        return checkNum;
    }

    public void setCheckNum(BigDecimal checkNum) {
        this.checkNum = checkNum;
    }

    public String getCheckResult() {
        return checkResult;
    }

    public void setCheckResult(String checkResult) {
        this.checkResult = checkResult;
    }

    public String getCheckUrlName() {
        return checkUrlName;
    }

    public void setCheckUrlName(String checkUrlName) {
        this.checkUrlName = checkUrlName;
    }

    public String getCheckUrl() {
        return checkUrl;
    }

    public void setCheckUrl(String checkUrl) {
        this.checkUrl = checkUrl;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileUrl() {
        return fileUrl;
    }

    public void setFileUrl(String fileUrl) {
        this.fileUrl = fileUrl;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getMachineTypeName() {
        return machineTypeName;
    }

    public void setMachineTypeName(String machineTypeName) {
        this.machineTypeName = machineTypeName;
    }

    public BigDecimal getInputNum() {
        return inputNum;
    }

    public void setInputNum(BigDecimal inputNum) {
        this.inputNum = inputNum;
    }

    public String getManageType() {
        return manageType;
    }

    public void setManageType(String manageType) {
        this.manageType = manageType;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getKeyWord() {
        return keyWord;
    }

    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }

    public Integer getBindNum() {
        return bindNum;
    }

    public void setBindNum(Integer bindNum) {
        this.bindNum = bindNum;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("taskId", getTaskId())
            .append("typeId", getTypeId())
            .append("purchasePrice", getPurchasePrice())
            .append("purchaseNum", getPurchaseNum())
            .append("supplierId", getSupplierId())
            .append("createBy", getCreateBy())
            .append("productionTime", getProductionTime())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("companyId", getCompanyId())
            .toString();
    }
}
