package com.zhyc.module.frozen.domain;

import java.math.BigDecimal;
import java.util.List;
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.zhyc.common.annotation.Excel;
import com.zhyc.common.core.domain.BaseEntity;

/**
 * 销售主单对象 dd_sl
 * 
 * @author HashMap
 * @date 2025-12-01
 */
public class DdSale extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 销售日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "销售日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date saleDate;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String custName;

    /** 客户电话 */
    @Excel(name = "客户电话")
    private String custPhone;

    /** 客户地址 */
    @Excel(name = "客户地址")
    private String custAddr;

    /** 销售人员 */
    @Excel(name = "销售人员")
    private String salesper;

    /** 检疫证号（可选） */
    @Excel(name = "检疫证号", readConverterExp = "可=选")
    private String quaranNo;

    /** 审批编号（可选） */
    @Excel(name = "审批编号", readConverterExp = "可=选")
    private String apprNo;

    /** 总价 */
    @Excel(name = "总价")
    private BigDecimal price;

    /** 技术员 */
    @Excel(name = "技术员")
    private String tech;

    /** 销售明细信息 */
    private List<DdSaleItem> ddSaleItemList;

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

    public Long getId() 
    {
        return id;
    }

    public void setSaleDate(Date saleDate) 
    {
        this.saleDate = saleDate;
    }

    public Date getSaleDate() 
    {
        return saleDate;
    }

    public void setCustName(String custName) 
    {
        this.custName = custName;
    }

    public String getCustName() 
    {
        return custName;
    }

    public void setCustPhone(String custPhone) 
    {
        this.custPhone = custPhone;
    }

    public String getCustPhone() 
    {
        return custPhone;
    }

    public void setCustAddr(String custAddr) 
    {
        this.custAddr = custAddr;
    }

    public String getCustAddr() 
    {
        return custAddr;
    }

    public void setSalesper(String salesper) 
    {
        this.salesper = salesper;
    }

    public String getSalesper() 
    {
        return salesper;
    }

    public void setQuaranNo(String quaranNo) 
    {
        this.quaranNo = quaranNo;
    }

    public String getQuaranNo() 
    {
        return quaranNo;
    }

    public void setApprNo(String apprNo) 
    {
        this.apprNo = apprNo;
    }

    public String getApprNo() 
    {
        return apprNo;
    }

    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }

    public void setTech(String tech) 
    {
        this.tech = tech;
    }

    public String getTech() 
    {
        return tech;
    }

    public List<DdSaleItem> getDdSaleItemList()
    {
        return ddSaleItemList;
    }

    public void setDdSaleItemList(List<DdSaleItem> ddSaleItemList)
    {
        this.ddSaleItemList = ddSaleItemList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("saleDate", getSaleDate())
            .append("custName", getCustName())
            .append("custPhone", getCustPhone())
            .append("custAddr", getCustAddr())
            .append("salesper", getSalesper())
            .append("quaranNo", getQuaranNo())
            .append("apprNo", getApprNo())
            .append("price", getPrice())
            .append("tech", getTech())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("ddSaleItemList", getDdSaleItemList())
            .toString();
    }
}
