package com.hotent.portal.model;

import java.io.Serializable;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hotent.base.entity.AutoFillModel;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 会议室申请
 *
 * @company 广州宏天软件股份有限公司
 * @author zhangxw
 * @email zhangxw@jee-soft.cn
 * @since 2021-06-25
 */
@ApiModel(value="会议室申请对象", description="会议室申请")
@TableName("portal_meeting_apply")
public class PortalMeetingApply extends AutoFillModel<PortalMeetingApply> {

    private static final long serialVersionUID = 1L;
    
    public final static String STATUS_APPROVED = "approved";//审批通过
    public final static String STATUS_APPLYING = "applying";//审批中
    public final static String STATUS_REJECTED = "rejected";//审批拒绝

    @ApiModelProperty(value = "主键")
    @TableId(value = "ID_", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "会议主题")
    @TableField("SUBJECT_")
    private String subject;
	
    @ApiModelProperty(value = "会议室名称")
    @TableField("MEETING_NAME_")
    private String meetingName;

    @ApiModelProperty(value = "会议室id")
    @TableField("MEETING_ID_")
    private String meetingId;

    @ApiModelProperty(value = "会议申请人")
    @TableField("MEETING_OWNER_")
    private String meetingOwner;

    @ApiModelProperty(value = "会议申请人id")
    @TableField("OWNER_OWNER_ID_")
    private String ownerOwnerId;

    @ApiModelProperty(value = "所属部门")
    @TableField("MEETING_DEP_")
    private String meetingDep;

    @ApiModelProperty(value = "所属部门id")
    @TableField("MEETING_DEP_ID_")
    private String meetingDepId;

    @ApiModelProperty(value = "参会人员")
    @TableField("PARTICIPANTS_")
    private String participants;

    @ApiModelProperty(value = "参会人员id")
    @TableField("PARTICIPANTS_ID_")
    private String participantsId;

    @ApiModelProperty(value = "参会部门")
    @TableField("DEPARTMENT_")
    private String department;

    @ApiModelProperty(value = "参会部门id")
    @TableField("DEPARTMENT_ID_")
    private String departmentId;

    @ApiModelProperty(value = "外部人员")
    @TableField("OUTSIDERS_")
    private String outsiders;

    @ApiModelProperty(value = "参会人数")
    @TableField("ATTENDANCE_")
    private Integer attendance;

    @ApiModelProperty(value = "会议说明")
    @TableField("MEETING_NOTES_")
    private String meetingNotes;

    @ApiModelProperty(value = "相关附件")
    @TableField("FILES_")
    private String files;

    @ApiModelProperty(value = "申请说明")
    @TableField("APPLY_DESC_")
    private String applyDesc;

    @ApiModelProperty(value = "开始时间")
    @TableField("START_TIME_")
    private LocalDateTime startTime;

    @ApiModelProperty(value = "结束时间")
    @TableField("END_TIME_")
    private LocalDateTime endTime;

    @ApiModelProperty(value = "流程实例ID")
    @TableField("PRO_INST_ID_")
    private String proInstId;
   
    @ApiModelProperty(value = "申请状态")
    @TableField("STATUS_")
    private String status;
    
    @ApiModelProperty(value = "所需服务")
    @TableField("SERVICE_")
    private String service;
    
    @ApiModelProperty(value = "租户id")
    @TableField("TENANT_ID_")
    private String tenantId;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }
    public String getMeetingName() {
        return meetingName;
    }

    public void setMeetingName(String meetingName) {
        this.meetingName = meetingName;
    }
    public String getMeetingId() {
        return meetingId;
    }

    public void setMeetingId(String meetingId) {
        this.meetingId = meetingId;
    }
    public String getMeetingOwner() {
        return meetingOwner;
    }

    public void setMeetingOwner(String meetingOwner) {
        this.meetingOwner = meetingOwner;
    }
    public String getOwnerOwnerId() {
        return ownerOwnerId;
    }

    public void setOwnerOwnerId(String ownerOwnerId) {
        this.ownerOwnerId = ownerOwnerId;
    }
    public String getMeetingDep() {
        return meetingDep;
    }

    public void setMeetingDep(String meetingDep) {
        this.meetingDep = meetingDep;
    }
    public String getMeetingDepId() {
        return meetingDepId;
    }

    public void setMeetingDepId(String meetingDepId) {
        this.meetingDepId = meetingDepId;
    }
    public String getParticipants() {
        return participants;
    }

    public void setParticipants(String participants) {
        this.participants = participants;
    }
    public String getParticipantsId() {
        return participantsId;
    }

    public void setParticipantsId(String participantsId) {
        this.participantsId = participantsId;
    }
    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }
    public String getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(String departmentId) {
        this.departmentId = departmentId;
    }
    public String getOutsiders() {
        return outsiders;
    }

    public void setOutsiders(String outsiders) {
        this.outsiders = outsiders;
    }
    public Integer getAttendance() {
        return attendance;
    }

    public void setAttendance(Integer attendance) {
        this.attendance = attendance;
    }
    public String getMeetingNotes() {
        return meetingNotes;
    }

    public void setMeetingNotes(String meetingNotes) {
        this.meetingNotes = meetingNotes;
    }
    public String getFiles() {
        return files;
    }

    public void setFiles(String files) {
        this.files = files;
    }
    public String getApplyDesc() {
        return applyDesc;
    }

    public void setApplyDesc(String applyDesc) {
        this.applyDesc = applyDesc;
    }
    public LocalDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalDateTime startTime) {
        this.startTime = startTime;
    }
    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }
  
    public String getProInstId() {
		return proInstId;
	}

	public void setProInstId(String proInstId) {
		this.proInstId = proInstId;
	}

	public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    public String getService() {
		return service;
	}

	public void setService(String service) {
		this.service = service;
	}

	public String getTenantId() {
		return tenantId;
	}

	public void setTenantId(String tenantId) {
		this.tenantId = tenantId;
	}

	@Override
    public String toString() {
        return "PortalMeetingApply{" +
            "id=" + id +
            ", subject=" + subject +
            ", meetingName=" + meetingName +
            ", meetingId=" + meetingId +
            ", meetingOwner=" + meetingOwner +
            ", ownerOwnerId=" + ownerOwnerId +
            ", meetingDep=" + meetingDep +
            ", meetingDepId=" + meetingDepId +
            ", participants=" + participants +
            ", participantsId=" + participantsId +
            ", department=" + department +
            ", departmentId=" + departmentId +
            ", outsiders=" + outsiders +
            ", attendance=" + attendance +
            ", meetingNotes=" + meetingNotes +
            ", files=" + files +
            ", applyDesc=" + applyDesc +
            ", startTime=" + startTime +
            ", endTime=" + endTime +
            ", proInstId=" + proInstId +
            ", status=" + status +
            ", service=" + service +
            ", tenantId=" + tenantId +
        "}";
    }
}
