# OvertimeImportReportDTO.java

    package cloud.wconnect.workperformance.pojo.dto.mor.overtime;

    import cloud.wconnect.commonlib.pojo.dto.group.Addition;
    import cloud.wconnect.commonlib.pojo.dto.group.Edition;
    import jakarta.validation.constraints.NotEmpty;
    import jakarta.validation.constraints.NotNull;
    import lombok.Data;
    import org.hibernate.validator.constraints.Range;
    import org.springframework.web.multipart.MultipartFile;

    import java.util.List;

    /**
     * DTO：Mor Overtime details 导入报告
     *
     * @author zc
     * @date 2023/10/11
     */
    @Data
    public class OvertimeImportReportDTO {

        /**
         * 数据开始日期时间戳
         */
        private Long startDate;

        /**
         * 数据结束日期时间戳
         */
        private Long endDate;

        /**
         * 资产 id 集合
         */
        @NotEmpty(message = "The propertyIds cannot be empty", groups = {Addition.class})
        private List<Integer> propertyIds;

        /**
         * 类型（1：ADP，2：other）
         */
        @NotNull(message = "The type cannot be null", groups = {Addition.class, Edition.class})
        @Range(min = 1, max = 2, message = "The type must be in [1: ADP, 2: Other]", groups = {Addition.class, Edition.class})
        private Integer type;

        /**
         * 1：Overtime
         */
        @NotNull(message = "The reportType cannot be null", groups = {Addition.class})
        @Range(min = 1, max = 1, message = "The reportType must between in [1:Overtime]", groups = {Addition.class})
        private Integer reportType;

        /**
         * 报告文件
         */
        @NotNull(message = "The file cannot be null", groups = {Addition.class, Edition.class})
        private MultipartFile file;

        public static final int TYPE_ADP = 1;
        public static final int TYPE_OTHER = 2;

        public static final int ATTENDANCE_WORK_HOUR_REPORT = 1;

    }