package com.ruoyi.pay.domain;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

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

public class PayDayWorkHoursQuery extends BaseEntity {
    private static final long serialVersionUID = 1L;

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

    /**
     * 租户id
     */
    private Long tenantId;
    /**
     * 员工部门id
     */
    @ExcelProperty(value = "员工部门id")
    private Long deptId;

    /**
     * 员工部门名称
     */
    @ExcelProperty(value = "员工部门名称")
    private String deptName;

    /**
     * 员工id
     */
    @ExcelProperty(value = "员工id")
    private Long employeeId;

    /**
     * 员工姓名
     */
    @ExcelProperty(value = "员工姓名")
    private String empName;

    /**
     * 日工日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "日工日期")
    private Date date;

    /**
     * 日工年月
     */
    @ExcelProperty(value = "日工年月")
    private String dwYearMonth;
    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String note;
    /**
     * 为前端传值方便添加，查询时候专用字段
     */
    private String salesman;


    /**
     * 日工工时时间段
     */
    private List<PayDwHoursContrast> dwHoursContrasts;

    public Long getId() {
        return id;
    }

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

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getEmpName() {
        return empName;
    }

    public void setEmpName(String empName) {
        this.empName = empName;
    }

    public Long getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Long employeeId) {
        this.employeeId = employeeId;
    }


    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public String getDwYearMonth() {
        return dwYearMonth;
    }

    public void setDwYearMonth(String dwYearMonth) {
        this.dwYearMonth = dwYearMonth;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getSalesman() {
        return salesman;
    }

    public void setSalesman(String salesman) {
        this.salesman = salesman;
    }

    public List<PayDwHoursContrast> getDwHoursContrasts() {
        return dwHoursContrasts;
    }

    public void setDwHoursContrasts(List<PayDwHoursContrast> dwHoursContrasts) {
        this.dwHoursContrasts = dwHoursContrasts;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("employeeId", getEmployeeId())
            .append("empName", getEmpName())
            .append("date", getDate())
            .append("dwYearMonth", getDwYearMonth())
            .append("note", getNote())
            .append("dwHoursContrasts", getDwHoursContrasts())
            .toString();
    }
}
