# AvImportReportDTO.java

    package cloud.wconnect.workperformance.pojo.dto.sva.avhours;

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

    import jakarta.validation.constraints.NotEmpty;
    import jakarta.validation.constraints.NotNull;
    import java.util.List;

    /**
     * DTO：Actual Schedule Hour 导入报告
     *
     * @author zc
     * @date 2023/10/11
     */
    @Data
    public class AvImportReportDTO {

        /**
         * 数据开始日期(yyyyMMdd)
         */
        @NotNull(message = "The startDate cannot be null", groups = {Addition.class})
        private Long startDate;

        /**
         * 数据结束日期(yyyyMMdd)
         */
        @NotNull(message = "The endDate cannot be null", groups = {Addition.class})
        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;

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

        /**
         * 报告类型（1.实际工时报告，2.预计工时报告）
         */
        @NotNull(message = "The reportType cannot be null", groups = {Addition.class})
        @Range(min = 1, max = 2, message = "The reportType must be in [1: actual hour report, 2: schedule hour report]", groups = {Addition.class})
        private Integer reportType;

        public static final int TYPE_ADP = 1;

        public static final int TYPE_OTHER = 2;
    }