package jnpf.model.attendance.vo.attendance;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import jnpf.model.attendance.vo.SchedulesItemVo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @Author huanglinpan
 * @Date 2025/3/4 11:20
 * @Version 1.0 （版本号）
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ExcelIgnoreUnannotated  //过滤未注解字段
@HeadFontStyle(fontName = "黑体", fontHeightInPoints = 12)
public class ClockInExportVo {

    /**
     * 用户ID
     */
    private String userId;
    /**
     * 用户名称
     */
    @ColumnWidth(15)
    @ExcelProperty({"姓名"})
    private String userName;

    /**
     * 考勤组名称
     */
    @ColumnWidth(20)
    @ExcelProperty("考勤组")
    private String groupName;

    /**
     * 部门名称
     */
    @ColumnWidth(20)
    @ExcelProperty("部门")
    private String deptName;

    /**
     * 岗位名称
     */
    @ColumnWidth(15)
    @ExcelProperty("岗位")
    private String postName;

    /** 出勤Ids  xxx,xxx */
    private String ruleIds;

    /**
     * 工作状态(302-试用, 303-正式, 304-待离职, 305-离职)
     */
    private String workStatus;
    /**
     * 状态(302-试用, 303-正式, 304-待离职, 305-离职)
     */
//    @ColumnWidth(10)
//    @ExcelProperty("状态")
    private String workStatusStr;
    /**
     * 考勤组id
     */
    private String groupId;

    /**
     * 日期
     */
    @ColumnWidth(10)
    @ExcelProperty("日期")
    private String date;
    /**
     * 班次
     */
    private List<SchedulesItemVo> shiftList;
    /**
     * 班次
     */
//    @ColumnWidth(25)
//    @ExcelProperty("班次")
    private String shiftStr;
    /**
     * 班次时间
     */
    private List<String> shiftTimeList;

    /**
     * 班次时间
     */
    @ColumnWidth(22)
    @ExcelProperty("班次时间")
    private String shiftTimeStr;
    /**
     * 打卡时间
     */
    private List<String> clockTimeList;

    /**
     * 打卡时间
     */
    @ColumnWidth(22)
    @ExcelProperty("打卡时间")
    private String clockTime;

    /**
     * 其余打卡时间
     */
    @ColumnWidth(22)
    @ExcelProperty("其余打卡时间")
    private String otherClockTime;

    /** 去重使用 用户-日期-考勤组 */
    private String keyString;
}
