package com.bankaudit.model;

import java.util.ArrayList;
import java.util.Date;

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

@Entity
@Table(name="maint_role_entitlement_hst")
public class MaintRoleEntitlementHst {

/*	Table: maint_role_entitlement_hst
	-------------------------------------

	Column Information
	----------------------

	Field                   Type          Collation          Null    Key     Default  Extra           Privileges                       Comment  
	----------------------  ------------  -----------------  ------  ------  -------  --------------  -------------------------------  ---------
	legal_entity_code       int(2)        (NULL)             NO              0                        select,insert,update,references           
	id                      int(4)        (NULL)             NO      PRI     (NULL)   auto_increment  select,insert,update,references           
	ug_role_code            varchar(20)   latin1_swedish_ci  NO              (NULL)                   select,insert,update,references           
	function_id             varchar(100)  latin1_swedish_ci  YES             (NULL)                   select,insert,update,references           
	auth_rej_remarks        varchar(200)  latin1_swedish_ci  YES             (NULL)                   select,insert,update,references           
	entity_status           varchar(20)   latin1_swedish_ci  YES             (NULL)                   select,insert,update,references           
	maker                   varchar(20)   latin1_swedish_ci  NO              (NULL)                   select,insert,update,references           
	maker_timestamp         timestamp     (NULL)             YES             (NULL)                   select,insert,update,references           
	checker                 varchar(20)   latin1_swedish_ci  YES             (NULL)                   select,insert,update,references           
	checker_timestamp       timestamp     (NULL)             YES             (NULL)                   select,insert,update,references           
	businessdate_timestamp  timestamp     (NULL)             YES             (NULL)                   select,insert,update,references           
	sysdate_timestamp       timestamp*/
	
	@Id
	@GeneratedValue(strategy = javax.persistence.GenerationType.IDENTITY)
	@Column(name="id")
	private Integer id;
	
	@Column(name="legal_entity_code")
	private Integer legalEntityCode;
	
	@Column(name="ug_role_code")
	private String ugRoleCode;
	
	@Column(name="function_id")
	private String functionId;
	
	@Column(name="auth_rej_remarks")
	private String authRejRemarks;
	
	@Column(name="entity_status")
	private String entityStatus;
	
	@Column(name="maker",updatable=false)
	private String maker;
	
	@Column(name="maker_timestamp",updatable=false)
	private Date makerTimestamp;
	
	@Column(name="checker")
	private String checker;
	
	@Column(name="checker_timestamp")
	private Date checkerTimestamp;
	
	@Column(name="businessdate_timestamp")
	private Date businessdateTimestamp;
	
	@Column(name="sysdate_timestamp")
	private Date sysdateTimestamp;
	
	@Transient
	ArrayList<String> functionIds;

	/**
	 * @return the id
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * @return the legalEntityCode
	 */
	public Integer getLegalEntityCode() {
		return legalEntityCode;
	}

	/**
	 * @param legalEntityCode the legalEntityCode to set
	 */
	public void setLegalEntityCode(Integer legalEntityCode) {
		this.legalEntityCode = legalEntityCode;
	}

	/**
	 * @return the ugRoleCode
	 */
	public String getUgRoleCode() {
		return ugRoleCode;
	}

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

	/**
	 * @return the functionId
	 */
	public String getFunctionId() {
		return functionId;
	}

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

	/**
	 * @return the authRejRemarks
	 */
	public String getAuthRejRemarks() {
		return authRejRemarks;
	}

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

	/**
	 * @return the entityStatus
	 */
	public String getEntityStatus() {
		return entityStatus;
	}

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

	/**
	 * @return the maker
	 */
	public String getMaker() {
		return maker;
	}

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

	/**
	 * @return the makerTimestamp
	 */
	public Date getMakerTimestamp() {
		return makerTimestamp;
	}

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

	/**
	 * @return the checker
	 */
	public String getChecker() {
		return checker;
	}

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

	/**
	 * @return the checkerTimestamp
	 */
	public Date getCheckerTimestamp() {
		return checkerTimestamp;
	}

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

	/**
	 * @return the businessdateTimestamp
	 */
	public Date getBusinessdateTimestamp() {
		return businessdateTimestamp;
	}

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

	/**
	 * @return the sysdateTimestamp
	 */
	public Date getSysdateTimestamp() {
		return sysdateTimestamp;
	}

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

	/**
	 * @return the functionIds
	 */
	public ArrayList<String> getFunctionIds() {
		return functionIds;
	}

	/**
	 * @param functionIds the functionIds to set
	 */
	public void setFunctionIds(ArrayList<String> functionIds) {
		this.functionIds = functionIds;
	}
	
	

	
}
