package com.bankaudit.model;

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

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.ManyToAny;

@Entity
@Table(name="maint_entity_audit_subgroup_mapping")
public class MaintEntityAuditSubgroupMapping implements Serializable {

/*	Table: maint_entity_audit_subgroup_mapping
	----------------------------------------------

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

	Field                   Type         Collation          Null    Key     Default            Extra                        Privileges                       Comment  
	----------------------  -----------  -----------------  ------  ------  -----------------  ---------------------------  -------------------------------  ---------
	legal_entity_code       int(2)       (NULL)             NO      PRI     (NULL)                                          select,insert,update,references           
	mapping_type            varchar(10)  latin1_swedish_ci  NO      PRI     (NULL)                                          select,insert,update,references           
	id                      varchar(20)  latin1_swedish_ci  NO      PRI     (NULL)                                          select,insert,update,references           
	audit_group_code        varchar(20)  latin1_swedish_ci  NO      PRI     (NULL)                                          select,insert,update,references           
	audit_sub_group_code    varchar(20)  latin1_swedish_ci  NO      PRI     (NULL)                                          select,insert,update,references           
	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)             NO              CURRENT_TIMESTAMP  on update CURRENT_TIMESTAMP  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    (NULL)             YES             (NULL)                                          select,insert,update,references           
*/
	
	@Id
	@Column(name="legal_entity_code")
	private Integer legalEntityCode;

	@Id
	@Column(name="mapping_type")
	private String mappingType;
	
	@Id
	@Column(name="id")
	private String id;
	
	@Id
	@Column(name="audit_type_code")
	private String auditTypeCode;
	
	@Id
	@Column(name="audit_group_code")
	private String auditGroupCode;
	
	@Id
	@Column(name="audit_sub_group_code")
	private String auditSubGroupCode;
	
	
	@Column(name="status")
	private String status;
	
	@Column(name="maker")
	private String maker;
	
	@Column(name="maker_timestamp")
	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;
	
	@Column(name="auth_unique_id")
	private String authUniqueId;
	
	private transient String levelDesc;	

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

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

	/**
	 * @return the mappingType
	 */
	public String getMappingType() {
		return mappingType;
	}

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

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

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

	public String getAuditTypeCode() {
		return auditTypeCode;
	}

	public void setAuditTypeCode(String auditTypeCode) {
		this.auditTypeCode = auditTypeCode;
	}

	/**
	 * @return the auditGroupCode
	 */
	public String getAuditGroupCode() {
		return auditGroupCode;
	}

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

	/**
	 * @return the auditSubGroupCode
	 */
	public String getAuditSubGroupCode() {
		return auditSubGroupCode;
	}

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

	/**
	 * @return the status
	 */
	public String getStatus() {
		return status;
	}

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

	/**
	 * @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;
	}

	public String getAuthUniqueId() {
		return authUniqueId;
	}

	public void setAuthUniqueId(String authUniqueId) {
		this.authUniqueId = authUniqueId;
	}

	public String getLevelDesc() {
		return levelDesc;
	}

	public void setLevelDesc(String levelDesc) {
		this.levelDesc = levelDesc;
	}

	
	
}
