# HkEfficiencyImportReportDTO.java

    package cloud.wconnect.workperformance.pojo.dto.hkefficiency;

    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 HkEfficiencyImportReportDTO {

        /**
         * 数据开始日期(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/M3，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/M3, 2:Other]", groups = {Addition.class, Edition.class})
        private Integer type;

        /**
         * 1:HK report，2:Operating report
         */
        @NotNull(message = "The reportType cannot be null", groups = {Addition.class})
        @Range(min = 1, max = 2, message = "The reportType must between in [1:HK report，2:Operating report]", 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_M3 = 1;
        public static final int TYPE_OTHER = 2;

        public static final int HK_REPORT = 1;
        public static final int OPERATING_REPORT = 2;
    }