# ShiftInfoSheetDTO.java

    package cloud.wconnect.frontoffice.pojo.dto.endofshift;

    import cloud.wconnect.commonlib.annotation.validator.DigitsCustom;
    import jakarta.validation.constraints.NotNull;
    import jakarta.validation.constraints.Null;
    import lombok.Data;
    import org.hibernate.validator.constraints.Length;
    import org.hibernate.validator.constraints.Range;

    import java.math.BigDecimal;

    /**
     * info sheet 信息
     *
     * @author lichen
     * @date 2023/3/11
     */
    @Data
    public class ShiftInfoSheetDTO {

        /**
         * 主键id
         */
        @Null(message = "the id must be null")
        private Integer id;

        /**
         * 入住人数
         */
        @Range(min = 0, max = 9999, message = "arrivals must be 0-9999")
        private Integer arrivals;
        /**
         * 退房人数
         */
        @Range(min = 0, max = 9999, message = "departures must be 0-9999")
        private Integer departures;
        /**
         * 入住率
         */
        @DigitsCustom(integer = 3, message = "The expOcc format is incorrect")
        private BigDecimal expOcc;
        /**
         * comp rooms
         */
        @Range(min = 0, max = 9999, message = "compRooms must be 0-9999")
        private Integer compRooms;
        /**
         * ooo rooms
         */
        @Range(min = 0, max = 9999, message = "oooRooms must be 0-9999")
        private Integer oooRooms;
        /**
         * Out of Service Rooms
         */
        @Range(min = 0, max = 9999, message = "oosRooms must be 0-9999")
        private Integer oosRooms;
        /**
         * vd rooms
         */
        @Range(min = 0, max = 9999, message = "vdRooms must be 0-9999")
        private Integer vdRooms;

        @NotNull(message = "gsr1 can not be null")
        @Length(max = 50, message = "max length of gsr1 is 50")
        private String gsr1;

        @NotNull(message = "gsr2 can not be null")
        @Length(max = 50, message = "max length of gsr2 is 50")
        private String gsr2;

        @NotNull(message = "gsr3 can not be null")
        @Length(max = 50, message = "max length of gsr3 is 50")
        private String gsr3;

        @NotNull(message = "maintenance can not be null")
        @Length(max = 50, message = "max length of maintenance is 50")
        private String maintenance;

        @NotNull(message = "houseman can not be null")
        @Length(max = 50, message = "max length of houseman is 50")
        private String houseman;

        @NotNull(message = "security can not be null")
        @Length(max = 50, message = "max length of security is 50")
        private String security;

        @NotNull(message = "gatekeeper can not be null")
        @Length(max = 50, message = "max length of gatekeeper is 50")
        private String gatekeeper;

        @NotNull(message = "driver1 can not be null")
        @Length(max = 50, message = "max length of driver1 is 50")
        private String driver1;

        @NotNull(message = "driver2 can not be null")
        @Length(max = 50, message = "max length of driver2 is 50")
        private String driver2;

    }