package com.abm.mainet.brms.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * @author Lalit.Prusti
 * @since 05 Mar 2016
 * @comment CFC Service Checklist Details
 */

@Entity
@Table(name = "TB_CFC_CHECKLIST_MST")
public class ChecklistEntity implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = -7590843341615484184L;

	@Id
	@Column(name = "CLM_ID", precision = 12, scale = 0, nullable = false)
	// comments : Identification Id
	private long clmId;

	@Column(name = "SM_SERVICE_ID", precision = 12, scale = 0, nullable = false)
	// comments : Service id
	private Long smServiceId;

	@Column(name = "CLM_SR_NO", precision = 3, scale = 0, nullable = false)
	// comments : Serial No.
	private Long clmSrNo;

	@Column(name = "CLM_DESC", length = 2000, nullable = false)
	// comments : Checklist Description
	private String clmDesc;

	@Column(name = "CLM_STATUS", length = 1, nullable = true)
	// comments : Checklist Status (Active/Inactive)
	private String clmStatus;

	@Column(name = "ORGID", precision = 4, scale = 0, nullable = false)
	// comments : Organisation ID
	private Long orgid;

	@Column(name = "USER_ID", precision = 7, scale = 0, nullable = false)
	// comments : User Id
	private Long userId;

	@Column(name = "LANG_ID", precision = 7, scale = 0, nullable = false)
	// comments : Language Id
	private Long langId;

	@Column(name = "LMODDATE", nullable = false)
	// comments : Last Modification Date
	private Date lmoddate;

	@Column(name = "CLM_DESC_ENGL", length = 2000, nullable = true)
	// comments : Description in English
	private String clmDescEngl;

	@Column(name = "CCM_CHECKLIST_FLAG", precision = 12, scale = 0, nullable = true)
	// comments : Set of values
	private Long ccmValueset;

	@Column(name = "UPDATED_BY", precision = 7, scale = 0, nullable = true)
	private Long updatedBy;

	@Column(name = "UPDATED_DATE", nullable = true)
	private Date updatedDate;

	@Column(name = "DOC_GROUP", length = 200, nullable = true)
	// comments : DOCUMENT GROUP UNIQUE ID
	private String docGroup;

	@Column(name = "CHECKLIST_FLAG", nullable = true)
	// comments : DOCUMENT GROUP UNIQUE ID
	private String checkListFlag;

	/**
	 * @return the clmId
	 */
	public long getClmId() {
		return clmId;
	}

	/**
	 * @param clmId
	 *            the clmId to set
	 */
	public void setClmId(long clmId) {
		this.clmId = clmId;
	}

	/**
	 * @return the smServiceId
	 */
	public Long getSmServiceId() {
		return smServiceId;
	}

	/**
	 * @param smServiceId
	 *            the smServiceId to set
	 */
	public void setSmServiceId(Long smServiceId) {
		this.smServiceId = smServiceId;
	}

	/**
	 * @return the clmSrNo
	 */
	public Long getClmSrNo() {
		return clmSrNo;
	}

	/**
	 * @param clmSrNo
	 *            the clmSrNo to set
	 */
	public void setClmSrNo(Long clmSrNo) {
		this.clmSrNo = clmSrNo;
	}

	/**
	 * @return the clmDesc
	 */
	public String getClmDesc() {
		return clmDesc;
	}

	/**
	 * @param clmDesc
	 *            the clmDesc to set
	 */
	public void setClmDesc(String clmDesc) {
		this.clmDesc = clmDesc;
	}

	/**
	 * @return the clmStatus
	 */
	public String getClmStatus() {
		return clmStatus;
	}

	/**
	 * @param clmStatus
	 *            the clmStatus to set
	 */
	public void setClmStatus(String clmStatus) {
		this.clmStatus = clmStatus;
	}

	/**
	 * @return the orgid
	 */
	public Long getOrgid() {
		return orgid;
	}

	/**
	 * @param orgid
	 *            the orgid to set
	 */
	public void setOrgid(Long orgid) {
		this.orgid = orgid;
	}

	/**
	 * @return the userId
	 */
	public Long getUserId() {
		return userId;
	}

	/**
	 * @param userId
	 *            the userId to set
	 */
	public void setUserId(Long userId) {
		this.userId = userId;
	}

	/**
	 * @return the langId
	 */
	public Long getLangId() {
		return langId;
	}

	/**
	 * @param langId
	 *            the langId to set
	 */
	public void setLangId(Long langId) {
		this.langId = langId;
	}

	/**
	 * @return the lmoddate
	 */
	public Date getLmoddate() {
		return lmoddate;
	}

	/**
	 * @param lmoddate
	 *            the lmoddate to set
	 */
	public void setLmoddate(Date lmoddate) {
		this.lmoddate = lmoddate;
	}

	/**
	 * @return the clmDescEngl
	 */
	public String getClmDescEngl() {
		return clmDescEngl;
	}

	/**
	 * @param clmDescEngl
	 *            the clmDescEngl to set
	 */
	public void setClmDescEngl(String clmDescEngl) {
		this.clmDescEngl = clmDescEngl;
	}

	/**
	 * @return the ccmValueset
	 */
	public Long getCcmValueset() {
		return ccmValueset;
	}

	/**
	 * @param ccmValueset
	 *            the ccmValueset to set
	 */
	public void setCcmValueset(Long ccmValueset) {
		this.ccmValueset = ccmValueset;
	}

	/**
	 * @return the updatedBy
	 */
	public Long getUpdatedBy() {
		return updatedBy;
	}

	/**
	 * @param updatedBy
	 *            the updatedBy to set
	 */
	public void setUpdatedBy(Long updatedBy) {
		this.updatedBy = updatedBy;
	}

	/**
	 * @return the updatedDate
	 */
	public Date getUpdatedDate() {
		return updatedDate;
	}

	/**
	 * @param updatedDate
	 *            the updatedDate to set
	 */
	public void setUpdatedDate(Date updatedDate) {
		this.updatedDate = updatedDate;
	}

	/**
	 * @return the docGroup
	 */
	public String getDocGroup() {
		return docGroup;
	}

	/**
	 * @param docGroup
	 *            the docGroup to set
	 */
	public void setDocGroup(String docGroup) {
		this.docGroup = docGroup;
	}

	/**
	 * @return the checkListFlag
	 */
	public String getCheckListFlag() {
		return checkListFlag;
	}

	/**
	 * @param checkListFlag the checkListFlag to set
	 */
	public void setCheckListFlag(String checkListFlag) {
		this.checkListFlag = checkListFlag;
	}
	
	public  String[] getPkValues() {
        
        return new String[] { "CFC", "TB_CFC_CHECKLIST_MST", "CLM_ID" };
  }

}