# OvertimeDailyQuery.java

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

    import jakarta.validation.constraints.NotBlank;
    import jakarta.validation.constraints.NotNull;
    import jakarta.validation.constraints.Pattern;
    import lombok.Data;
    import org.hibernate.validator.constraints.Range;

    import java.util.List;

    /**
     * Query: overtime
     *
     * @author zc
     * @date 2023/4/1
     */
    @Data
    public class OvertimeDailyQuery {

        /**
         * 开始日期，yyyyMMdd
         */
        @NotBlank(message = "The startDate can not be null.")
        @Pattern(regexp = "^\\d{4}\\d{2}\\d{2}$", message = "The startDate is not valid.")
        private String startDate;

        /**
         * 结束日期，yyyyMMdd
         */
        @NotBlank(message = "The endDate can not be null.")
        @Pattern(regexp = "^\\d{4}\\d{2}\\d{2}$", message = "The endDate is not valid.")
        private String endDate;

        /**
         * 工作部门 code
         */
        private List<String> workDepartmentCode;

        /**
         * 员工编号
         */
        private String positionId;

        /**
         * 员工名称
         */
        private String name;

        /**
         * 页码
         */
        @NotNull(message = "The page can not be null.")
        private Integer page;

        /**
         * 页大小
         */
        @NotNull(message = "The size can not be null.")
        private Integer size;

        /**
         * 排序字段
         */
        @Range(min = 1, max = 5, message = "The sortField must between in [1:position id 2:work department 3:pay rate 4:hour 5:amount]")
        private Integer sortField;

        /**
         * 排序方式
         */
        @Range(min = 1, max = 2, message = "The sortOrder must between in [1:asc 2:desc]")
        private Integer sortOrder;

        /**
         * Date字段排序方式
         */
        @Range(min = 1, max = 2, message = "The dateSortOrder must between in [1:asc 2:desc]")
        private Integer dateSortOrder;

        /**
         * 开始日期，int
         */
        private int startDateInt;

        /**
         * 结束日期，int
         */
        private int endDateInt;

        /**
         * 默认排序方式
         */
        public static final int DEFAULT_SORT_ORDER = 1;

    }