package jnpf.model.attendance.dto;

import jnpf.base.Pagination;
import jnpf.entity.AttendanceGroup;
import jnpf.enums.attendance.StatisticsEnumUtil;
import jnpf.permission.vo.v2.user.UserBoundVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
import java.util.Map;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MonthStatisticsPageListDto extends Pagination {
    /**
     * 考勤组/班组信息
     */
    @NotEmpty(message = "请选择考勤组/班组信息")
    private List<GroupFilterDto> filterList;
    /**
     * 月份(yyyy-mm)
     */
    @NotBlank(message = "月份不能为空")
    private String month;
    /**
     * 用户ID
     */
    private List<String> userIds;
    /**
     * 工作状态(0-全部(默认),302-试用, 303-正式, 304-待离职, 305-离职)
     */
    private String workStatus;
    /**
     * 统计类型
     */
    private Integer typeId;
    /**
     * 租户ID
     */
    private String tenantId;
    /**
     * 考勤组信息查询防重复查询
     */
    Map<String, AttendanceGroup> groupMap;
    /**
     * 用户信息查询防重复查询
     */
    private Map<String, UserBoundVO> userBoundMap;
    /**
     * 工作状态
     */
    private StatisticsEnumUtil.WorkStatusEnum workStatusEnum;
}
