package com.ffii.lioner.modules.lioner.entity;

import java.time.LocalDate;
import java.time.LocalDateTime;

import com.ffii.core.entity.BaseEntity;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/** @author Jason Lam */
@Entity
@Table(name = "apr_appreciation")
public class Appreciation extends BaseEntity<Long>{

    @NotBlank
    @NotNull
    @Column(columnDefinition = "JSON") 
	private String sbuIds;

    @Column
    @NotNull
	private LocalDate receiptDate;

    @Column
    @NotNull
	private String description;

    @Column
	private String clientDepartment;

    @Column
	private String clientOrganization;

    @Column
	private String clientFullname;

    @Column
	private String clientPost;

    @Column
	private String venue;

    @Column
	private LocalDate clientReplyDate;

    @Column
	private LocalDate staffReplyDate;

    @Column
	private Long noOfStaff;

    @Column
    @NotNull
	private LocalDate lnReceiptDate;

    @Column
    @NotNull
	private Long aprCategoryId;

    @Column
	private String remarks;

    @Column
	private LocalDateTime importDate;

    public String getSbuIds() {
        return this.sbuIds;
    }

    public void setSbuIds(String sbuIds) {
        this.sbuIds = sbuIds;
    }

    public LocalDate getReceiptDate() {
        return this.receiptDate;
    }

    public void setReceiptDate(LocalDate receiptDate) {
        this.receiptDate = receiptDate;
    }

    public String getDescription() {
        return this.description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getClientDepartment() {
        return this.clientDepartment;
    }

    public void setClientDepartment(String clientDepartment) {
        this.clientDepartment = clientDepartment;
    }

    public String getClientOrganization() {
        return this.clientOrganization;
    }

    public void setClientOrganization(String clientOrganization) {
        this.clientOrganization = clientOrganization;
    }

    public String getClientFullname() {
        return this.clientFullname;
    }

    public void setClientFullname(String clientFullname) {
        this.clientFullname = clientFullname;
    }

    public String getClientPost() {
        return this.clientPost;
    }

    public void setClientPost(String clientPost) {
        this.clientPost = clientPost;
    }

    public String getVenue() {
        return this.venue;
    }

    public void setVenue(String venue) {
        this.venue = venue;
    }

    public LocalDate getClientReplyDate() {
        return this.clientReplyDate;
    }

    public void setClientReplyDate(LocalDate clientReplyDate) {
        this.clientReplyDate = clientReplyDate;
    }

    public LocalDate getStaffReplyDate() {
        return this.staffReplyDate;
    }

    public void setStaffReplyDate(LocalDate staffReplyDate) {
        this.staffReplyDate = staffReplyDate;
    }

    public Long getNoOfStaff() {
        return this.noOfStaff;
    }

    public void setNoOfStaff(Long noOfStaff) {
        this.noOfStaff = noOfStaff;
    }

    public LocalDate getLnReceiptDate() {
        return this.lnReceiptDate;
    }

    public void setLnReceiptDate(LocalDate lnReceiptDate) {
        this.lnReceiptDate = lnReceiptDate;
    }

    public Long getAprCategoryId() {
        return this.aprCategoryId;
    }

    public void setAprCategoryId(Long aprCategoryId) {
        this.aprCategoryId = aprCategoryId;
    }

    public String getRemarks() {
        return this.remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public LocalDateTime getImportDate() {
        return this.importDate;
    }

    public void setImportDate(LocalDateTime importDate) {
        this.importDate = importDate;
    }

}


