# AvHoursListBO.java

    package cloud.wconnect.workperformance.pojo.bo.sva.actualschedulehour;

    import cloud.wconnect.commonlib.annotation.validator.DigitsInteger;
    import lombok.Data;
    import org.hibernate.validator.constraints.Length;

    import jakarta.validation.constraints.NotBlank;
    import java.math.BigDecimal;

    /**
     * BO：Actual vs schedule hours List
     *
     * @author zc
     * @date 2023/10/23
     */
    @Data
    public class AvHoursListBO {

        /**
         * 资产标识
         */
        @NotBlank(message = "The property cannot be blank")
        @Length(max = 10, message = "The property is limited 10 characters")
        private String property;

        /**
         * 员工编号
         */
        @NotBlank(message = "The positionId cannot be blank")
        @Length(max = 20, message = "The positionId is limited 20 characters")
        private String positionId;

        /**
         * 部门编号
         */
        @Length(max = 20, message = "The departmentCode is limited 20 characters")
        private String departmentCode;

        /**
         * 部门描述
         */
        @Length(max = 60, message = "The departmentDesc is limited 60 characters")
        private String departmentDesc;

        /**
         * 日期
         */
        @NotBlank(message = "The payDay cannot be blank")
        private String payDay;

        /**
         * 实际打卡时数
         */
        @DigitsInteger(integer = 4, message = "The actualHours is wrong format")
        private BigDecimal actualHours;

        /**
         * Pay Code for Actual Hours
         */
        @Length(max = 20, message = "The actualPayCode is limited 20 characters")
        private String actualPayCode;

        /**
         * 排班时数
         */
        @DigitsInteger(integer = 4, message = "The actualHours is wrong format")
        private BigDecimal scheduledHours;

        /**
         * Pay Code for Schedule Hours
         */
        @Length(max = 20, message = "The scheduledPayCode is limited 20 characters")
        private String scheduledPayCode;

        /**
         * 打卡时数与排班时数的差值
         */
        @DigitsInteger(integer = 4, message = "The variance is wrong format")
        private BigDecimal variance;

        /**
         * Notes
         */
        @Length(max = 200, message = "The notes is limited 200 characters")
        private String notes;

        /**
         * Work Type
         */
        @Length(max = 60, message = "The workType is limited 60 characters")
        private String workType;

    }