package com.srs.staff.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.srs.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import liquibase.pro.packaged.Y;
import lombok.*;
import com.srs.common.core.domain.BaseEntity;



/**
 * 一站式社区-功能房-预约记录对象 staff_one_stop_room_reservation
 *
 * @author chc
 * @date 2024-08-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "StaffOneStopRoomReservation对象" , description = "一站式社区-功能房-预约记录")
@TableName("staff_one_stop_room_reservation")
public class StaffOneStopRoomReservation extends BaseEntity{
private static final long serialVersionUID=1L;

    /**
     * 预约记录id
     */
    @ApiModelProperty("预约记录id")
    @TableField("rt_id")
    private Long rtId;

    /**
     * 功能房预约编码
     */
    @ApiModelProperty("功能房开放时间编码")
    @TableField("rt_no")
    //@Excel(name = "功能房开放时间编码")
    private String rtNo;

    /**
     * 功能房编码
     */
    @ApiModelProperty("功能房编码")
    @TableField("room_no")
    //@Excel(name = "功能房编码")
    private String roomNo;

    /**
     * 功能房名
     */
    @ApiModelProperty("功能房名")
    @TableField("room_name")
    @Excel(name = "功能房名")
    private String roomName;

    /**
     * 主题
     */
    @ApiModelProperty("主题")
    @TableField("rt_theme")
    @Excel(name = "主题")
    private String rtTheme;

    /**
     * 参与人员类型
     */
    @ApiModelProperty("参与人员类型")
    @TableField("rt_role")
    @Excel(name = "参与人员类型")
    private String rtRole;

    /**
     * 参与人数
     */
    @ApiModelProperty("参与人数")
    @TableField("rt_people")
    @Excel(name = "参与人数")
    private String rtPeople;

    /**
     * 预约用途
     */
    @ApiModelProperty("预约用途")
    @TableField("rt_purpose")
    @Excel(name = "预约用途")
    private String rtPurpose;

    /**
     * 借用学期
     */
    @ApiModelProperty("借用学期")
    @Excel(name = "借用学年")
    private String yearName;

    /**
     * 预约时间
     */
    @ApiModelProperty("预约时间")
    @TableField("rt_time")
    @Excel(name = "预约时间")
    private String rtTime;

    /**
     * 预约时间段
     */
    @ApiModelProperty("预约时间段")
    @TableField("rt_time_period")
    @Excel(name = "预约时间段")
    private String rtTimePeriod;

    /**
     * 使用状态0未使用
     */
    @ApiModelProperty("使用状态0未使用  1使用中  2使用结束")
    @TableField("rt_state")
    //@Excel(name = "使用状态")
    private Integer rtState;

    /**
     * 试用期间图片
     */
    @ApiModelProperty("使用期间图片")
    @TableField("rt_imgs")
    //@Excel(name = "使用期间图片")
    private String rtImgs;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField("rt_creat_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date rtCreatTime;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    @TableField("rt_up_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "修改时间" , width = 30, dateFormat = "yyyy-MM-dd")
    private Date rtUpTime;

    /**
     * 申请人
     */
    @ApiModelProperty("申请人")
    @TableField("rt_creat_role")
    @Excel(name = "申请人")
    private String rtCreatRole;

    /**
     * 借用部门、学院
     */
    @ApiModelProperty("借用部门、学院")
    @TableField("rt_depar")
    @Excel(name = "借用部门、学院")
    private String rtDepar;

    /**
     * 审核状态
     */
    @ApiModelProperty("审核状态 0待审核 1同意 2不同意")
    @TableField("audit_status")
    @Excel(name = "审核状态",dictType = "rt_fu_audit_au_status")
    private Long auditStatus;


    /**
     * 修改意见
     */
    @ApiModelProperty("修改意见")
    @TableField("edit_opinion")
    @Excel(name = "修改意见")
    private String editOpinion;


    /**
     * 活动结束反馈
     */
    @ApiModelProperty("活动结束反馈")
    @TableField("feedback")
    @Excel(name = "活动结束反馈")
    private String feedback;


    /**
     * 手机号码
     */
    @ApiModelProperty("手机号码")
    @TableField("mobile_phone")
    @Excel(name = "手机号码")
    private String mobilePhone;

    /**
     * 功能房-开放时间
     */
    @ApiModelProperty(value = "功能房-开放时间", hidden = true)
    //@Excel(name = "功能房-开放时间")
    private List<StaffOneStopRoomOpeningHours> staffOneStopRoomOpeningHoursList;

    /**
     * 功能房-开放时间
     */
    @ApiModelProperty(value = "功能房", hidden = true)
    private List<StaffOneStopRoom> staffOneStopRoom;

    // 添加StaffOneStopRoom相关字段用于导出
    /**
     * 功能房可承载人数
     */
    @ApiModelProperty("功能房可承载人数")
    @TableField(exist = false)
    @Excel(name = "功能房可承载人数")
    private String roomCapacity;

    /**
     * 使用事项
     */
    @ApiModelProperty("使用事项")
    @TableField("room_matter")
    @Excel(name = "使用事项")
    private String roomMatter;

    /**
     * 功能房预约规则
     */
    @ApiModelProperty("功能房预约规则")
    @TableField(exist = false)
    @Excel(name = "功能房预约规则")
    private String roomRule;

    /**
     * 功能房介绍
     */
    @ApiModelProperty("功能房介绍")
    @TableField(exist = false)
    @Excel(name = "功能房介绍")
    private String roomInfo;

    /**
     * 功能房用途
     */
    @ApiModelProperty("功能房用途")
    @TableField(exist = false)
    @Excel(name = "功能房用途")
    private String roomPurp;

    /**
     * 功能房图片
     */
    @ApiModelProperty("功能房图片")
    @TableField(exist = false)
    private String roomImgs;

    // 时间范围查询
    @TableField(exist = false)
    private String rtTimeStart; // 预约时间段起始

    @TableField(exist = false)
    private String rtTimeEnd;   // 预约时间段结束


}
