package com.fs.company.domain;

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

/**
 * 销售计划对象 company_sales_plan
 *
 * @author fs
 * @date 2025-07-01
 */
public class CompanySalesPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private Long companyId;

    /** 计划名称 */
    @Excel(name = "计划名称")
    private String planName;

    /** 计划编号 */
    @Excel(name = "计划编号")
    private String planCode;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long planUserId;

    /** 部门ID */
    @Excel(name = "部门ID")
    private Long planDeptId;

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

    /** 计划描述 */
    @Excel(name = "计划描述")
    private String planDesc;

    /** 产品ID */
    @Excel(name = "产品ID")
    private Long productId;

    /** 库存ID */
    @Excel(name = "库存ID")
    private Long stockId;

    /** 销售数量 */
    @Excel(name = "销售数量")
    private Long saleNum;

    /** 销售价格 */
    @Excel(name = "销售价格")
    private BigDecimal salePrice;

    /** 销售对象名称 */
    @Excel(name = "销售对象名称")
    private String saleTargetName;

    /** 销售对象电话 */
    @Excel(name = "销售对象电话")
    private String saleTargetMobile;

    /** 销售对象地址 */
    @Excel(name = "销售对象地址")
    private String saleTargetAddress;

    /** 销售对象描述 */
    @Excel(name = "销售对象描述")
    private String saleTargetRemark;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 创建者 */
    @Excel(name = "创建者")
    private Long createUserId;

    /** 更新者 */
    @Excel(name = "更新者")
    private Long updateUserId;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private Integer isDel;

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

    public Long getId()
    {
        return id;
    }
    public void setCompanyId(Long companyId)
    {
        this.companyId = companyId;
    }

    public Long getCompanyId()
    {
        return companyId;
    }
    public void setPlanName(String planName)
    {
        this.planName = planName;
    }

    public String getPlanName()
    {
        return planName;
    }
    public void setPlanCode(String planCode)
    {
        this.planCode = planCode;
    }

    public String getPlanCode()
    {
        return planCode;
    }
    public void setPlanUserId(Long planUserId)
    {
        this.planUserId = planUserId;
    }

    public Long getPlanUserId()
    {
        return planUserId;
    }
    public void setPlanDeptId(Long planDeptId)
    {
        this.planDeptId = planDeptId;
    }

    public Long getPlanDeptId()
    {
        return planDeptId;
    }
    public void setPlanTime(Date planTime)
    {
        this.planTime = planTime;
    }

    public Date getPlanTime()
    {
        return planTime;
    }
    public void setPlanDesc(String planDesc)
    {
        this.planDesc = planDesc;
    }

    public String getPlanDesc()
    {
        return planDesc;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setStockId(Long stockId)
    {
        this.stockId = stockId;
    }

    public Long getStockId()
    {
        return stockId;
    }
    public void setSaleNum(Long saleNum)
    {
        this.saleNum = saleNum;
    }

    public Long getSaleNum()
    {
        return saleNum;
    }
    public void setSalePrice(BigDecimal salePrice)
    {
        this.salePrice = salePrice;
    }

    public BigDecimal getSalePrice()
    {
        return salePrice;
    }
    public void setSaleTargetName(String saleTargetName)
    {
        this.saleTargetName = saleTargetName;
    }

    public String getSaleTargetName()
    {
        return saleTargetName;
    }
    public void setSaleTargetMobile(String saleTargetMobile)
    {
        this.saleTargetMobile = saleTargetMobile;
    }

    public String getSaleTargetMobile()
    {
        return saleTargetMobile;
    }
    public void setSaleTargetAddress(String saleTargetAddress)
    {
        this.saleTargetAddress = saleTargetAddress;
    }

    public String getSaleTargetAddress()
    {
        return saleTargetAddress;
    }
    public void setSaleTargetRemark(String saleTargetRemark)
    {
        this.saleTargetRemark = saleTargetRemark;
    }

    public String getSaleTargetRemark()
    {
        return saleTargetRemark;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setCreateUserId(Long createUserId)
    {
        this.createUserId = createUserId;
    }

    public Long getCreateUserId()
    {
        return createUserId;
    }
    public void setUpdateUserId(Long updateUserId)
    {
        this.updateUserId = updateUserId;
    }

    public Long getUpdateUserId()
    {
        return updateUserId;
    }
    public void setIsDel(Integer isDel)
    {
        this.isDel = isDel;
    }

    public Integer getIsDel()
    {
        return isDel;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("companyId", getCompanyId())
            .append("planName", getPlanName())
            .append("planCode", getPlanCode())
            .append("planUserId", getPlanUserId())
            .append("planDeptId", getPlanDeptId())
            .append("planTime", getPlanTime())
            .append("planDesc", getPlanDesc())
            .append("remark", getRemark())
            .append("productId", getProductId())
            .append("stockId", getStockId())
            .append("saleNum", getSaleNum())
            .append("salePrice", getSalePrice())
            .append("saleTargetName", getSaleTargetName())
            .append("saleTargetMobile", getSaleTargetMobile())
            .append("saleTargetAddress", getSaleTargetAddress())
            .append("saleTargetRemark", getSaleTargetRemark())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createUserId", getCreateUserId())
            .append("updateUserId", getUpdateUserId())
            .append("isDel", getIsDel())
            .toString();
    }
}
