# ShiftReportInfo.java

    package cloud.wconnect.frontoffice.entity.endofshift;

    import com.baomidou.mybatisplus.annotation.IdType;
    import com.baomidou.mybatisplus.annotation.TableId;
    import com.baomidou.mybatisplus.annotation.TableName;
    import lombok.*;
    import lombok.experimental.Accessors;

    import java.io.Serializable;
    import java.math.BigDecimal;

    /**
     * <p>
     * ShiftReportInfo 实体类
     * </p>
     *
     * @author zc
     * @since 2023-02-15
     */
    @Data
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    @TableName("shift_report_info")
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    public class ShiftReportInfo implements Serializable {

        private static final long serialVersionUID = 1L;

        @TableId(value = "id", type = IdType.AUTO)
        private Integer id;

        private Integer propertyId;

        private Integer targetDate;
        /**
         * 排班配置id
         */
        private Integer shiftConfigId;
        /**
         * 班次
         */
        private Integer shift;
        /**
         * 排班签名字段yyyyMMddHHmm，其中HHmm是班次的开始时间
         */
        private Long shiftSign;

        private Integer arrivals;

        private Integer departures;

        private BigDecimal expOcc;

        private Integer compRooms;

        private Integer oooRooms;

        private Integer oosRooms;

        private Integer vdRooms;

        private String gsr1;

        private String gsr2;

        private String gsr3;

        private String maintenance;

        private String houseman;

        private String driver1;

        private String driver2;

        private String security;

        private String gatekeeper;

        private String enrollmentJson;

        private String resumeJson;

        private String passOnJson;

        private String issuesJson;

        private Integer sendBy;

        private Long sendTime;

        private Boolean canSend;

        private Integer operateUid;

        private Long operateTime;

        /**
         * 发送次数
         */
        private Integer sendTimes;

        /**
         * 生成排班签名字段yyyyMMddHHmm
         *
         * @param targetDate 目标日期
         * @param startTime  排班开始时间
         * @return java.lang.String
         * @author lichen
         * @date 2025/6/25
         */
        public static Long generateShiftSign(Integer targetDate, String startTime) {
            return Long.valueOf(targetDate + startTime.replace(":", ""));
        }

    }