package wenrgise.hrms.ejb.facade;

import java.rmi.RemoteException;
import java.sql.Timestamp;
import java.util.ArrayList;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import wenrgise.common.bean.BaseHeaderBean;
import wenrgise.common.exception.EnrgiseApplicationException;
import wenrgise.common.exception.EnrgiseSystemException;
import wenrgise.common.utility.RecordMetaInfo;
import wenrgise.common.utility.UserInfo;
import wenrgise.common.vo.LovQueryVO;
import wenrgise.common.vo.LovVO;
import wenrgise.hrms.bean.HrmLvApplnHdrBean;
import wenrgise.hrms.bean.HrmLvCancHdrBean;
import wenrgise.hrms.bean.HrmLvCreditHdrBean;
import wenrgise.hrms.bean.HrmLvEncashHdrBean;
import wenrgise.hrms.bean.HrmLvLedgerHdrBean;
import wenrgise.hrms.bean.HrmLvMstHdrBean;
import wenrgise.hrms.ejb.business.HrmLvApplnBO;
import wenrgise.hrms.ejb.business.HrmLvCancQueryBO;
import wenrgise.hrms.ejb.business.HrmLvCreditBO;
import wenrgise.hrms.ejb.business.HrmLvEncashBO;
import wenrgise.hrms.ejb.business.HrmLvLedgerBO;
import wenrgise.hrms.ejb.business.HrmLvMstBO;
import wenrgise.hrms.vo.HrmLvApplnQVO;
import wenrgise.hrms.vo.HrmLvApplnQueryQVO;
import wenrgise.hrms.vo.HrmLvCancQVO;
import wenrgise.hrms.vo.HrmLvCancQueryQVO;
import wenrgise.hrms.vo.HrmLvEncashQVO;
import wenrgise.hrms.vo.HrmLvLedgerQVO;
import wenrgise.hrms.vo.HrmLvMstQVO;

public class HrmLeaveFacadeBean implements SessionBean {
  SessionContext ctx;
  
  public void ejbCreate() {}
  
  public void ejbActivate() {}
  
  public void ejbPassivate() {}
  
  public void ejbRemove() {}
  
  public void setSessionContext(SessionContext ctx) {
    this.ctx = ctx;
  }
  
  public RecordMetaInfo getHrmLeaveMasterHdrMetaInfo(HrmLvMstQVO oHrmLvMstQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvMstBO oHrmLvMstBO = new HrmLvMstBO();
    return oHrmLvMstBO.getHrmLeaveMasterHdrMetaInfo(oHrmLvMstQVO);
  }
  
  public ArrayList getHrmLeaveMasterHeaderInfo(HrmLvMstQVO oHrmLvMstQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvMstBO oHrmLvMstBO = new HrmLvMstBO();
    return oHrmLvMstBO.getHrmLeaveMasterHeaderInfo(oHrmLvMstQVO, lStartPosition, lLastPosition);
  }
  
  public RecordMetaInfo getHrmLeaveMasterDtlMetaInfo(String lPrimaryKey) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvMstBO oHrmLvMstBO = new HrmLvMstBO();
    return oHrmLvMstBO.getHrmLeaveMasterDtlMetaInfo(lPrimaryKey);
  }
  
  public ArrayList getHrmLeaveMasterDetailInfo(String lPrimaryKey, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvMstBO oHrmLvMstBO = new HrmLvMstBO();
    return oHrmLvMstBO.getHrmLeaveMasterDetailInfo(lPrimaryKey, lDetailFirstPosition, lDetailLastPosition);
  }
  
  public ArrayList getHrmCurLeaveMasterDetailInfo() throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvMstBO oHrmLvMstBO = new HrmLvMstBO();
    return oHrmLvMstBO.getHrmCurLeaveMasterDetailInfo();
  }
  
  public LovVO getHrmLeaveDetailLOVInfo(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvMstBO oHrmLvMstBO = new HrmLvMstBO();
    return oHrmLvMstBO.getHrmLeaveDetailLOVInfo(oLovQueryVO);
  }
  
  public LovVO getHrmLeaveMasterLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvMstBO oLeaveMst = new HrmLvMstBO();
    LovVO oLovVO = oLeaveMst.getHrmLeaveMasterLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmLvMstStateLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvMstBO oLeaveMst = new HrmLvMstBO();
    LovVO oLovVO = oLeaveMst.getHrmLvMstStateLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmLeaveCodeInsertLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvMstBO oLeaveMst = new HrmLvMstBO();
    LovVO oLovVO = oLeaveMst.getHrmLeaveCodeInsertLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmLeaveMasterCalLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvMstBO oLeaveMst = new HrmLvMstBO();
    LovVO oLovVO = oLeaveMst.getHrmLeaveMasterCalLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public String saveData(HrmLvMstHdrBean oHrmLvMstHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvMstBO oHrmLvMstBO = new HrmLvMstBO(oUserInfo);
      return oHrmLvMstBO.saveData((BaseHeaderBean)oHrmLvMstHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public void updateLeaveMst(String sSql, String sId, String sUserId, String sUserSiteId) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvMstBO oHrmLvMstBO = new HrmLvMstBO();
      oHrmLvMstBO.updateLeaveMst(sSql, sId, sUserId, sUserSiteId);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public RecordMetaInfo getHrmLeaveLedgerDtlMetaInfo(HrmLvLedgerQVO oHrmLvLedgerQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvLedgerBO oHrmLvLedgerBO = new HrmLvLedgerBO();
    return oHrmLvLedgerBO.getEmpLeaveLedgerDetailMetaInfo(oHrmLvLedgerQVO);
  }
  
  public ArrayList getHrmLeaveLedgerDetailInfo(HrmLvLedgerQVO oHrmLvLedgerQVO, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvLedgerBO oHrmLvLedgerBO = new HrmLvLedgerBO();
    return oHrmLvLedgerBO.getHrEmpLeaveLedgerDetail(oHrmLvLedgerQVO, lDetailFirstPosition, lDetailLastPosition);
  }
  
  public RecordMetaInfo getHrmLeaveLedgerTxnDtlMetaInfo(HrmLvLedgerQVO oHrmLvLedgerQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvLedgerBO oHrmLvLedgerBO = new HrmLvLedgerBO();
    return oHrmLvLedgerBO.getHrEmpLeaveLedgerTxnDetail(oHrmLvLedgerQVO);
  }
  
  public ArrayList getHrmLeaveLedgerTxnDetailInfo(HrmLvLedgerQVO oHrmLvLedgerQVO, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvLedgerBO oHrmLvLedgerBO = new HrmLvLedgerBO();
    return oHrmLvLedgerBO.getHrEmpLeaveLedgerTxnDetail(oHrmLvLedgerQVO, lDetailFirstPosition, lDetailLastPosition);
  }
  
  public LovVO getHrmEmployeeNumberLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvLedgerBO oLeaveLdgr = new HrmLvLedgerBO();
    LovVO oLovVO = oLeaveLdgr.getHrmEmployeeNumberLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmLeaveCodesLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvLedgerBO oLeaveLdgr = new HrmLvLedgerBO();
    LovVO oLovVO = oLeaveLdgr.getHrmLeaveCodesLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getEmpCodeLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvLedgerBO oLeaveLdgr = new HrmLvLedgerBO();
    LovVO oLovVO = oLeaveLdgr.getEmpCodeLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public String getGroupInfo(String oUserTypeId) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvLedgerBO oLeaveLdgr = new HrmLvLedgerBO();
    String groupId = oLeaveLdgr.getGroupInfo(oUserTypeId);
    return groupId;
  }
  
  public String saveData(HrmLvLedgerHdrBean oHrmLvLedgerHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvLedgerBO oHrmLvLedgerBO = new HrmLvLedgerBO(oUserInfo);
      return oHrmLvLedgerBO.saveData((BaseHeaderBean)oHrmLvLedgerHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public RecordMetaInfo getHrmEmpLeaveEncashHdrMetaInfo(HrmLvEncashQVO oHrmLvEncashQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvEncashBO oHrmLvEncashBO = new HrmLvEncashBO();
    return oHrmLvEncashBO.getEmpLeaveEncashHdrMetaInfo(oHrmLvEncashQVO);
  }
  
  public ArrayList getHrmEmpLeaveEncashHdrInfo(HrmLvEncashQVO oHrmLvEncashQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvEncashBO oHrmLvEncashBO = new HrmLvEncashBO();
      return oHrmLvEncashBO.getEmpLeaveEncashHeader(oHrmLvEncashQVO, lStartPosition, lLastPosition);
    } catch (RemoteException oRe) {
      throw new EnrgiseSystemException();
    } 
  }
  
  public LovVO getHrmLeaveTypesLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvEncashBO oLeaveEncsh = new HrmLvEncashBO();
    LovVO oLovVO = oLeaveEncsh.getHrmLeaveTypesLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmLvEncashEmpNoQLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvEncashBO oLeaveEncsh = new HrmLvEncashBO();
    LovVO oLovVO = oLeaveEncsh.getHrmLvEncashEmpNoQLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmLvEncashEmpNoNLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvEncashBO oLeaveEncsh = new HrmLvEncashBO();
    LovVO oLovVO = oLeaveEncsh.getHrmLvEncashEmpNoNLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmEncshLvCodeLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvEncashBO oLeaveEncsh = new HrmLvEncashBO();
    LovVO oLovVO = oLeaveEncsh.getHrmEncshLvCodeLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public String saveData(HrmLvEncashHdrBean oHrmLvEncashHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvEncashBO oHrmLvEncashBO = new HrmLvEncashBO(oUserInfo);
      return oHrmLvEncashBO.saveData((BaseHeaderBean)oHrmLvEncashHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public String approveLeaveEncash(HrmLvEncashHdrBean oHrmLvEncashHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvEncashBO oHrmLvEncashBO = new HrmLvEncashBO(oUserInfo);
      return oHrmLvEncashBO.approveLeaveEncash((BaseHeaderBean)oHrmLvEncashHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public String rejectLvEncash(HrmLvEncashHdrBean oHrmLvEncashHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvEncashBO oHrmLvEncashBO = new HrmLvEncashBO(oUserInfo);
      return oHrmLvEncashBO.rejectLvEncash((BaseHeaderBean)oHrmLvEncashHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public String submitLvEncash(HrmLvEncashHdrBean oHrmLvEncashHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvEncashBO oHrmLvEncashBO = new HrmLvEncashBO(oUserInfo);
      return oHrmLvEncashBO.submitLvEncash((BaseHeaderBean)oHrmLvEncashHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public LovVO getHrmLvApplnEmpNoQLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oBO = new HrmLvApplnBO();
    LovVO oLovVO = oBO.getHrmLvApplnEmpNoQLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmLvApplnEmpNoNLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oBO = new HrmLvApplnBO();
    LovVO oLovVO = oBO.getHrmLvApplnEmpNoNLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public RecordMetaInfo getHrmEmpLeaveAppQueryDtlMetaInfo(HrmLvApplnQueryQVO oHrmLvApplnQueryQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oHrmLvApplnBO = new HrmLvApplnBO();
    return oHrmLvApplnBO.getEmpLeaveApplicationQueryDetailMetaInfo(oHrmLvApplnQueryQVO);
  }
  
  public ArrayList getHrmEmpLeaveAppQueryDtlInfo(HrmLvApplnQueryQVO oHrmLvApplnQueryQVO, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oHrmLvApplnBO = new HrmLvApplnBO();
    return oHrmLvApplnBO.getHrEmpLeaveApplicationQueryDetail(oHrmLvApplnQueryQVO, lDetailFirstPosition, lDetailLastPosition);
  }
  
  public String saveData(HrmLvApplnHdrBean oHrmLvApplnHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvApplnBO oHrmLvApplnBO = new HrmLvApplnBO(oUserInfo);
      return oHrmLvApplnBO.saveData((BaseHeaderBean)oHrmLvApplnHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public ArrayList getLeaveDates(HrmLvApplnHdrBean oLvApplHdrBean) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oHrmLvApplnBO = new HrmLvApplnBO();
    return oHrmLvApplnBO.getLeaveDates(oLvApplHdrBean);
  }
  
  public String approveLeaveAppln(HrmLvApplnHdrBean oHrmLvApplnHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvApplnBO oHrmLvApplnBO = new HrmLvApplnBO(oUserInfo);
      return oHrmLvApplnBO.approveLeaveAppln((BaseHeaderBean)oHrmLvApplnHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public String CancelLeaveAppln(HrmLvApplnHdrBean oHrmLvApplnHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvApplnBO oHrmLvApplnBO = new HrmLvApplnBO(oUserInfo);
      return oHrmLvApplnBO.cancelLeaveAppln((BaseHeaderBean)oHrmLvApplnHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public LovVO getHrmEmpLvAppLvCdLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oLeaveApp = new HrmLvApplnBO();
    LovVO oLovVO = oLeaveApp.getHrmEmpLvAppLvCdLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmEmpLvAppLvCdInsLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oLeaveApp = new HrmLvApplnBO();
    LovVO oLovVO = oLeaveApp.getHrmEmpLvAppLvCdInsLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public RecordMetaInfo getHrmEmpLeaveAppQueryScreenDtlMetaInfo(HrmLvApplnQVO oHrmLvApplnQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oHrmLvApplnBO = new HrmLvApplnBO();
    return oHrmLvApplnBO.getEmpLeaveApplicationQueryScreenDetailMetaInfo(oHrmLvApplnQVO);
  }
  
  public ArrayList getHrmEmpLeaveAppQueryScreenDtlInfo(HrmLvApplnQVO oHrmLvApplnQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oHrmLvApplnBO = new HrmLvApplnBO();
    return oHrmLvApplnBO.getHrEmpLeaveApplicationQueryScreenDetail(oHrmLvApplnQVO, lStartPosition, lLastPosition);
  }
  
  public LovVO getHrmLvAppQryLvCdLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oLeaveApp = new HrmLvApplnBO();
    LovVO oLovVO = oLeaveApp.getHrmLvAppQryLvCdLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmLvAppQryEmpNoLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvApplnBO oLeaveApp = new HrmLvApplnBO();
    LovVO oLovVO = oLeaveApp.getHrmLvAppQryEmpNoLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public RecordMetaInfo getHrmLeaveCanQueryDtlMetaInfo(HrmLvCancQueryQVO oHrmLvCancQueryQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvCancQueryBO oHrmLvCancQueryBO = new HrmLvCancQueryBO();
    return oHrmLvCancQueryBO.getLeaveCanQueryDetailMetaInfo(oHrmLvCancQueryQVO);
  }
  
  public ArrayList getHrmLeaveCanQueryDetailInfo(HrmLvCancQueryQVO oHrmLvCancQueryQVO, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvCancQueryBO oHrmLvCancQueryBO = new HrmLvCancQueryBO();
    return oHrmLvCancQueryBO.getHrLeaveCanQueryDetail(oHrmLvCancQueryQVO, lDetailFirstPosition, lDetailLastPosition);
  }
  
  public RecordMetaInfo getHrmEmpLeaveCanQueryScreenDtlMetaInfo(HrmLvCancQVO oHrmLvCancQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvCancQueryBO oHrmLvCancQueryBO = new HrmLvCancQueryBO();
    return oHrmLvCancQueryBO.getEmpLeaveCancellationQueryScreenDetailMetaInfo(oHrmLvCancQVO);
  }
  
  public ArrayList getHrmEmpLeaveCanQueryScreenDtlInfo(HrmLvCancQVO oHrmLvCancQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvCancQueryBO oHrmLvCancQueryBO = new HrmLvCancQueryBO();
    return oHrmLvCancQueryBO.getHrEmpLeaveCancellationQueryScreenDetail(oHrmLvCancQVO, lStartPosition, lLastPosition);
  }
  
  public LovVO getHrmEmpLvCanLvCdLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvCancQueryBO oLeaveCan = new HrmLvCancQueryBO();
    LovVO oLovVO = oLeaveCan.getHrmEmpLvCanLvCdLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmEmpLvCanLvCdInsertLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvCancQueryBO oLeaveCan = new HrmLvCancQueryBO();
    LovVO oLovVO = oLeaveCan.getHrmEmpLvCanLvCdInsertLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmCnclLeaveEmpLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvCancQueryBO oLeaveCan = new HrmLvCancQueryBO();
    LovVO oLovVO = oLeaveCan.getHrmCnclLeaveEmpLOV(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmCnclLeaveTypeLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvCancQueryBO oLeaveCan = new HrmLvCancQueryBO();
    LovVO oLovVO = oLeaveCan.getHrmCnclLeaveTypeLOV(oLovQueryVO);
    return oLovVO;
  }
  
  public String saveData(HrmLvCancHdrBean oHrmLvCancHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvCancQueryBO oHrmLvCancQueryBO = new HrmLvCancQueryBO(oUserInfo);
      return oHrmLvCancQueryBO.saveData((BaseHeaderBean)oHrmLvCancHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public String approveLeaveCanc(HrmLvCancHdrBean oHrmLvCancHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmLvCancQueryBO oHrmLvCancQueryBO = new HrmLvCancQueryBO(oUserInfo);
      return oHrmLvCancQueryBO.approveLeaveCanc((BaseHeaderBean)oHrmLvCancHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public LovVO getHrmLvCreditRegionLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvCreditBO oHrmLvCreditBO = new HrmLvCreditBO();
    LovVO oLovVO = oHrmLvCreditBO.getHrmLvCreditRegionLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public String creditLeaves(HrmLvCreditHdrBean oHrmLvCreditHdrBean, Timestamp oWhenPicked, ArrayList oDetailBeanArray, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmLvCreditBO oHrmLvCreditBO = new HrmLvCreditBO();
    return oHrmLvCreditBO.creditLv(oHrmLvCreditHdrBean, oWhenPicked, oDetailBeanArray, oDetailPicked);
  }
}
