package com.staffing.custom.domain;

import java.util.Collection;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.staffing.common.annotation.Excel;
import com.staffing.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 任务对象 st_task
 * 
 * @author staffing
 * @date 2024-08-27
 */
public class StTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String taskName;

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

    /** 日结单价 */
    @Excel(name = "日结单价")
    private String dayPrice;

    /** 用工数量 */
    @Excel(name = "用工数量")
    private Integer useNum;

    /** 二维码 */
    @Excel(name = "二维码")
    private String codePic;

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

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Excel(name = "报名人数")
    private Integer baomingNum;

    @Excel(name = "签到数量")
    private Integer signNum;//已到人数

//组装参数
    private List<StTaskSign> listSign;
    private StTaskSign selfSign;
    private Integer yfNum;
    private Integer sfNum;
    private Integer dfNum;
    private String yfPrice;
    private String sfPrice;
    private String dfPrice;
    private Integer noSignNum;//未到人数

//查询参数
    /**0全部 1进行中 2已结束 根据时间查询的参数 */
    private Integer dateStatus;
    /** 任务时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "任务时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date taskDateCompare;

    private Collection<Long> taskIds;


    public Integer getNoSignNum() {
        return noSignNum;
    }

    public void setNoSignNum(Integer noSignNum) {
        this.noSignNum = noSignNum;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public List<StTaskSign> getListSign() {
        return listSign;
    }
    public String getYfPrice() {
        return yfPrice;
    }

    public void setYfPrice(String yfPrice) {
        this.yfPrice = yfPrice;
    }

    public String getSfPrice() {
        return sfPrice;
    }

    public void setSfPrice(String sfPrice) {
        this.sfPrice = sfPrice;
    }

    public String getDfPrice() {
        return dfPrice;
    }

    public void setDfPrice(String dfPrice) {
        this.dfPrice = dfPrice;
    }



    public void setListSign(List<StTaskSign> listSign) {
        this.listSign = listSign;
    }


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

    public Long getId() 
    {
        return id;
    }
    public void setTaskName(String taskName) 
    {
        this.taskName = taskName;
    }

    public String getTaskName() 
    {
        return taskName;
    }
    public void setTaskDate(Date taskDate) 
    {
        this.taskDate = taskDate;
    }

    public Date getTaskDate() 
    {
        return taskDate;
    }
    public void setDayPrice(String dayPrice) 
    {
        this.dayPrice = dayPrice;
    }

    public String getDayPrice() 
    {
        return dayPrice;
    }

    public void setCodePic(String codePic)
    {
        this.codePic = codePic;
    }

    public String getCodePic() 
    {
        return codePic;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("taskName", getTaskName())
            .append("taskDate", getTaskDate())
            .append("dayPrice", getDayPrice())
            .append("useNum", getUseNum())
            .append("codePic", getCodePic())
            .append("status", getStatus())
            .append("updateTime", getUpdateTime())
            .toString();
    }

    public Integer getUseNum() {
        return useNum;
    }

    public void setUseNum(Integer useNum) {
        this.useNum = useNum;
    }

    public Integer getStatus() {
        return status;
    }

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

    public Integer getBaomingNum() {
        return baomingNum;
    }

    public void setBaomingNum(Integer baomingNum) {
        this.baomingNum = baomingNum;
    }

    public Integer getSignNum() {
        return signNum;
    }

    public void setSignNum(Integer signNum) {
        this.signNum = signNum;
    }

    public Integer getYfNum() {
        return yfNum;
    }

    public void setYfNum(Integer yfNum) {
        this.yfNum = yfNum;
    }

    public Integer getSfNum() {
        return sfNum;
    }

    public void setSfNum(Integer sfNum) {
        this.sfNum = sfNum;
    }

    public Integer getDfNum() {
        return dfNum;
    }

    public void setDfNum(Integer dfNum) {
        this.dfNum = dfNum;
    }

    @Override
    public Date getUpdateTime() {
        return updateTime;
    }

    @Override
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getDateStatus() {
        return dateStatus;
    }

    public void setDateStatus(Integer dateStatus) {
        this.dateStatus = dateStatus;
    }


    public Date getTaskDateCompare() {
        return taskDateCompare;
    }

    public void setTaskDateCompare(Date taskDateCompare) {
        this.taskDateCompare = taskDateCompare;
    }

    public StTaskSign getSelfSign() {
        return selfSign;
    }

    public void setSelfSign(StTaskSign selfSign) {
        this.selfSign = selfSign;
    }

    public Collection<Long> getTaskIds() {
        return taskIds;
    }

    public void setTaskIds(Collection<Long> taskIds) {
        this.taskIds = taskIds;
    }
}
