package com.dbnt.faisp.main.faRpt.model;

import com.dbnt.faisp.config.BaseModel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;

import javax.persistence.*;
import java.time.LocalDateTime;
import java.util.List;

@Getter
@Setter
@Entity
@NoArgsConstructor
@DynamicInsert
@DynamicUpdate
@Table(name = "fa_rpt_board")
public class FaRptBoard extends BaseModel {
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "fa_rpt_key")
  private Integer faRptKey;
  @Column(name = "fa_rpt_type")
  private String faRptType;
  @Column(name = "title")
  private String title;
  @Column(name = "content")
  private String content;
  @Column(name = "status")
  private String status;
  @Column(name = "wrt_organ")
  private String wrtOrgan;
  @Column(name = "wrt_part")
  private String wrtPart;
  @Column(name = "wrt_user_seq")
  private Integer wrtUserSeq;
  @Column(name = "wrt_user_grd")
  private String wrtUserGrd;
  @Column(name = "wrt_user_nm")
  private String wrtUserNm;
  @Column(name = "wrt_dt")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
  private LocalDateTime wrtDt;
  @Column(name = "ref_key")
  private Integer refKey;

  @Transient
  private String hashTags;
  @Transient
  private Integer receiveUserSeq;
  @Transient
  private String activeTab;
  @Transient
  private Integer fileCnt;
  @Transient
  private Integer readCnt;
  @Transient
  private Integer userCnt;
  @Transient
  private List<FaRptFile> fileList;
  @Transient
  private List<FaRptReadUser> readUserList;
  @Transient
  private List<MultipartFile> multipartFileList;
}
