package com.yida.data.attendance.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.common.core.converter.LocalDateConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;

@ApiModel("按日统计教职工考勤数据")
@Data
public class StasticStaffResultByDayVO {

    @ApiModelProperty("部门")
    @ExcelProperty("部门")
    private String deptName;

    @ApiModelProperty("教职工id")
    @ExcelIgnore
    private Long staffId;

    @ApiModelProperty("姓名")
    @ExcelProperty("姓名")
    private String staffName;

    @ApiModelProperty("手机号")
    @ExcelProperty("手机号")
    private String mobile;

    @ApiModelProperty("规则")
    @ExcelProperty("当前所属打卡规则")
    private String ruleName;

    @ApiModelProperty("日期")
    @ExcelProperty(value = "日期", converter = LocalDateConverter.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private LocalDate date;

    @ApiModelProperty("星期")
    @ExcelProperty("星期")
    private String week;

    @ApiModelProperty("正常次数")
    @ExcelProperty("正常次数")
    private Integer normalNum;

    @ApiModelProperty("迟到次数")
    @ExcelProperty({"考勤统计,迟到次数"})
    private Integer lateNum;

    @ApiModelProperty("早退次数")
    @ExcelProperty({"考勤统计,早退次数"})
    private Integer leaveNum;

    @ApiModelProperty("旷工次数")
    @ExcelProperty({"考勤统计,旷工次数"})
    private Integer notArriveNum;
}
