package wenrgise.hrms.ejb.facade;

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.HrmAdhocReportHdrBean;
import wenrgise.hrms.bean.HrmAttEmpAttInHdrBean;
import wenrgise.hrms.bean.HrmAttEmpAttOutHdrBean;
import wenrgise.hrms.bean.HrmAttShiftMstHdrBean;
import wenrgise.hrms.bean.HrmAttShiftRosterGenHdrBean;
import wenrgise.hrms.ejb.business.HrmAdhocReportBO;
import wenrgise.hrms.ejb.business.HrmAttEmpAttInBO;
import wenrgise.hrms.ejb.business.HrmAttEmpAttOutBO;
import wenrgise.hrms.ejb.business.HrmAttEmpAttQueryBO;
import wenrgise.hrms.ejb.business.HrmAttEmpDayOffBO;
import wenrgise.hrms.ejb.business.HrmAttEmpShiftBO;
import wenrgise.hrms.ejb.business.HrmAttEmployeeShiftRosterBO;
import wenrgise.hrms.ejb.business.HrmAttShiftMstBO;
import wenrgise.hrms.ejb.business.HrmAttShiftRosterGenBO;
import wenrgise.hrms.ejb.business.HrmAttWorkGroupDayOffBO;
import wenrgise.hrms.ejb.business.HrmAttWorkGroupShiftBO;
import wenrgise.hrms.vo.HrmAdhocReportQVO;
import wenrgise.hrms.vo.HrmAttEmpAttInQVO;
import wenrgise.hrms.vo.HrmAttEmpAttOutQVO;
import wenrgise.hrms.vo.HrmAttEmpAttQueryQVO;
import wenrgise.hrms.vo.HrmAttEmpDayOffQVO;
import wenrgise.hrms.vo.HrmAttEmpShiftQVO;
import wenrgise.hrms.vo.HrmAttEmpShiftRosterQVO;
import wenrgise.hrms.vo.HrmAttShiftMstQVO;
import wenrgise.hrms.vo.HrmAttWorkGroupDayOffQVO;
import wenrgise.hrms.vo.HrmAttWorkGroupShiftQVO;

public class HrmAttendanceFacadeBean 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 getHrmAttEmpDayoffDtlMetaInfo(HrmAttEmpDayOffQVO oHrmAttEmpDayOffQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpDayOffBO oHrmAttEmpDayOffBO = new HrmAttEmpDayOffBO();
    return oHrmAttEmpDayOffBO.getHrAttEmployeeDayoffDetailMetaInfo(oHrmAttEmpDayOffQVO);
  }
  
  public ArrayList getHrmAttEmpDayoffDetailInfo(HrmAttEmpDayOffQVO oHrmAttEmpDayOffQVO, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpDayOffBO oHrmAttEmpDayOffBO = new HrmAttEmpDayOffBO();
    return oHrmAttEmpDayOffBO.getHrAttEmployeeDayoffDetail(oHrmAttEmpDayOffQVO, lDetailFirstPosition, lDetailLastPosition);
  }
  
  public String saveHrmAttEmpDayoff(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpDayOffBO oHrmAttEmpDayOffBO = new HrmAttEmpDayOffBO(oUserInfo);
    return oHrmAttEmpDayOffBO.saveData(oBaseHeaderBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
  }
  
  public LovVO getHrmAttEmpNoDayOffQueryLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpDayOffBO oHrmAttEmpDayOffBO = new HrmAttEmpDayOffBO();
    return oHrmAttEmpDayOffBO.getHrmAttEmpNoQueryLOVdata(oLovQueryVO);
  }
  
  public LovVO getHrmAttEmpNoDayOffInsertLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpDayOffBO oHrmAttEmpDayOffBO = new HrmAttEmpDayOffBO();
    return oHrmAttEmpDayOffBO.getHrmAttEmpNoInsertLOVdata(oLovQueryVO);
  }
  
  public RecordMetaInfo getHrmAttWorkGroupDayOffDtlMetaInfo(HrmAttWorkGroupDayOffQVO oHrmAttWorkGroupDayOffQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupDayOffBO oHrmAttWorkGroupDayOffBO = new HrmAttWorkGroupDayOffBO();
    return oHrmAttWorkGroupDayOffBO.getHrAttWorkGroupDayOffDetailMetaInfo(oHrmAttWorkGroupDayOffQVO);
  }
  
  public ArrayList getHrmAttWorkGroupDayOffDetailInfo(HrmAttWorkGroupDayOffQVO oHrmAttWorkGroupDayOffQVO, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupDayOffBO oHrmAttWorkGroupDayOffBO = new HrmAttWorkGroupDayOffBO();
    return oHrmAttWorkGroupDayOffBO.getHrAttWorkGroupDayOffDetail(oHrmAttWorkGroupDayOffQVO, lDetailFirstPosition, lDetailLastPosition);
  }
  
  public String saveHrmAttWorkGroupDayOff(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupDayOffBO oHrmAttWorkGroupDayOffBO = new HrmAttWorkGroupDayOffBO(oUserInfo);
    return oHrmAttWorkGroupDayOffBO.saveData(oBaseHeaderBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
  }
  
  public LovVO getHrmAttWorkGroupInsertLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupDayOffBO oHrmAttWorkGroupDayOffBO = new HrmAttWorkGroupDayOffBO();
    return oHrmAttWorkGroupDayOffBO.getHrmAttWorkGroupInsertLOVdata(oLovQueryVO);
  }
  
  public LovVO getHrmAttWorkGroupQueryLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupDayOffBO oHrmAttWorkGroupDayOffBO = new HrmAttWorkGroupDayOffBO();
    return oHrmAttWorkGroupDayOffBO.getHrmAttWorkGroupQueryLOVdata(oLovQueryVO);
  }
  
  public LovVO getHrmAttWorkGroupSiteQueryLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupDayOffBO oHrmAttWorkGroupDayOffBO = new HrmAttWorkGroupDayOffBO();
    return oHrmAttWorkGroupDayOffBO.getHrmAttSiteQueryLOVdata(oLovQueryVO);
  }
  
  public RecordMetaInfo getEmpAttQueryHdrMetaInfo(HrmAttEmpAttQueryQVO oHrmAttEmpAttQueryQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttQueryBO oHrmAttEmpAttQueryBO = new HrmAttEmpAttQueryBO();
    return oHrmAttEmpAttQueryBO.getEmpAttQueryHdrMetaInfo(oHrmAttEmpAttQueryQVO);
  }
  
  public ArrayList getEmpAttQueryHeader(HrmAttEmpAttQueryQVO oHrmAttEmpAttQueryQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttQueryBO oHrmAttEmpAttQueryBO = new HrmAttEmpAttQueryBO();
    return oHrmAttEmpAttQueryBO.getEmpAttQueryHeader(oHrmAttEmpAttQueryQVO, lStartPosition, lLastPosition);
  }
  
  public RecordMetaInfo getEmpAttQueryDtlMetaInfo(String lPrimaryKey) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttQueryBO oHrmAttEmpAttQueryBO = new HrmAttEmpAttQueryBO();
    return oHrmAttEmpAttQueryBO.getEmpAttQueryDtlMetaInfo(lPrimaryKey);
  }
  
  public ArrayList getEmpAttQueryDtlInfo(String lPrimaryKey, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttQueryBO oHrmAttEmpAttQueryBO = new HrmAttEmpAttQueryBO();
    return oHrmAttEmpAttQueryBO.getEmpAttQueryDtlInfo(lPrimaryKey, lStartPosition, lLastPosition);
  }
  
  public String saveData(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmAttEmpAttQueryBO oHrmAttEmpAttQueryBO = new HrmAttEmpAttQueryBO(oUserInfo);
      return oHrmAttEmpAttQueryBO.saveData(oBaseHeaderBean, 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 getHrmAttEmployeeLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttQueryBO oHrmAttEmpAttQueryBO = new HrmAttEmpAttQueryBO();
    return oHrmAttEmpAttQueryBO.getHrmAttEmployeeLOV(oLovQueryVO);
  }
  
  public LovVO getHrmAttQueryLocationLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttQueryBO oHrmAttEmpAttQueryBO = new HrmAttEmpAttQueryBO();
    return oHrmAttEmpAttQueryBO.getHrmAttQueryLocationLOV(oLovQueryVO);
  }
  
  public RecordMetaInfo getHrmAttWGShiftDtlMetaInfo(HrmAttWorkGroupShiftQVO oHrmAttWorkGroupShiftQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupShiftBO oHrmAttWorkGroupShiftBO = new HrmAttWorkGroupShiftBO();
    return oHrmAttWorkGroupShiftBO.getHrmAttWGShiftDtlMetaInfo(oHrmAttWorkGroupShiftQVO);
  }
  
  public ArrayList getHrmAttWGShiftDtlInfo(HrmAttWorkGroupShiftQVO oHrmAttWorkGroupShiftQVO, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupShiftBO oHrmAttWorkGroupShiftBO = new HrmAttWorkGroupShiftBO();
    return oHrmAttWorkGroupShiftBO.getHrmAttWGShiftDtlInfo(oHrmAttWorkGroupShiftQVO, lDetailFirstPosition, lDetailLastPosition);
  }
  
  public String saveWGSData(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupShiftBO oHrmAttWorkGroupShiftBO = new HrmAttWorkGroupShiftBO(oUserInfo);
    return oHrmAttWorkGroupShiftBO.saveData(oBaseHeaderBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
  }
  
  public LovVO getHrmAttWorkGrpCodeLOVdataQmode(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupShiftBO oHrmAttWorkGroupShiftBO = new HrmAttWorkGroupShiftBO();
    LovVO oLovVO = oHrmAttWorkGroupShiftBO.getHrmAttWorkGrpCodeLOVdataQmode(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmAttWorkGrpCodeLOVdataNmode(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupShiftBO oHrmAttWorkGroupShiftBO = new HrmAttWorkGroupShiftBO();
    LovVO oLovVO = oHrmAttWorkGroupShiftBO.getHrmAttWorkGrpCodeLOVdataNmode(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmAttWorkGrpSiteCodeLOVdataQmode(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupShiftBO oHrmAttWorkGroupShiftBO = new HrmAttWorkGroupShiftBO();
    LovVO oLovVO = oHrmAttWorkGroupShiftBO.getHrmAttWorkGrpSiteCodeLOVdataQmode(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmAttWorkGrpSiteCodeLOVdataNmode(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupShiftBO oHrmAttWorkGroupShiftBO = new HrmAttWorkGroupShiftBO();
    LovVO oLovVO = oHrmAttWorkGroupShiftBO.getHrmAttWorkGrpSiteCodeLOVdataNmode(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmAttWorkGrpShiftCodeLOVdataQmode(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttWorkGroupShiftBO oHrmAttWorkGroupShiftBO = new HrmAttWorkGroupShiftBO();
    LovVO oLovVO = oHrmAttWorkGroupShiftBO.getHrmAttWorkGrpShiftCodeLOVdataQmode(oLovQueryVO);
    return oLovVO;
  }
  
  public RecordMetaInfo getHrmAttEmpShiftDtlMetaInfo(HrmAttEmpShiftQVO oHrmAttEmpShiftQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpShiftBO oHrmAttEmpShiftBO = new HrmAttEmpShiftBO();
    return oHrmAttEmpShiftBO.getHrAttEmpShiftDetailMetaInfo(oHrmAttEmpShiftQVO);
  }
  
  public ArrayList getHrmAttEmpShiftDtlInfo(HrmAttEmpShiftQVO oHrmAttEmpShiftQVO, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpShiftBO oHrmAttEmpShiftBO = new HrmAttEmpShiftBO();
    return oHrmAttEmpShiftBO.getHrAttEmpShiftDetail(oHrmAttEmpShiftQVO, lDetailFirstPosition, lDetailLastPosition);
  }
  
  public String saveEmpShiftData(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpShiftBO oHrmAttEmpShiftBO = new HrmAttEmpShiftBO(oUserInfo);
    return oHrmAttEmpShiftBO.saveData(oBaseHeaderBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
  }
  
  public LovVO getHrmAttESEmpNoLOVdataQmode(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpShiftBO oHrmAttEmpShiftBO = new HrmAttEmpShiftBO();
    LovVO oLovVO = oHrmAttEmpShiftBO.getHrmAttESEmpNoLOVdataQmode(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmAttESEmpNoLOVdataNmode(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpShiftBO oHrmAttEmpShiftBO = new HrmAttEmpShiftBO();
    LovVO oLovVO = oHrmAttEmpShiftBO.getHrmAttESEmpNoLOVdataNmode(oLovQueryVO);
    return oLovVO;
  }
  
  public LovVO getHrmAttESShiftCodeLOVdataNmode(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpShiftBO oHrmAttEmpShiftBO = new HrmAttEmpShiftBO();
    LovVO oLovVO = oHrmAttEmpShiftBO.getHrmAttESShiftCodeLOVdataNmode(oLovQueryVO);
    return oLovVO;
  }
  
  public RecordMetaInfo getHrmAttHdrMetaInfo(HrmAttEmpAttInQVO oHrmAttEmpAttInQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttInBO oHrmAttEmpAttInBO = new HrmAttEmpAttInBO();
    return oHrmAttEmpAttInBO.getHrmAttHdrMetaInfo(oHrmAttEmpAttInQVO);
  }
  
  public ArrayList getHrmAttHeaderInfo(HrmAttEmpAttInQVO oHrmAttEmpAttInQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttInBO oHrmAttEmpAttInBO = new HrmAttEmpAttInBO();
    return oHrmAttEmpAttInBO.getHrmAttHeaderInfo(oHrmAttEmpAttInQVO, lStartPosition, lLastPosition);
  }
  
  public String saveData(HrmAttEmpAttInHdrBean oHrmAttEmpAttInHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmAttEmpAttInBO oHrmAttEmpAttInBO = new HrmAttEmpAttInBO(oUserInfo);
      return oHrmAttEmpAttInBO.saveData((BaseHeaderBean)oHrmAttEmpAttInHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
    } catch (EnrgiseSystemException oSysEx) {
      this.ctx.setRollbackOnly();
      throw oSysEx;
    } catch (EnrgiseApplicationException oAppEx) {
      this.ctx.setRollbackOnly();
      throw oAppEx;
    } 
  }
  
  public HrmAttEmpAttInHdrBean getOnLoadSysDtTime(HrmAttEmpAttInHdrBean oHrmAttEmpAttInHdrBean) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttInBO oHrmAttEmpAttInBO = new HrmAttEmpAttInBO();
    return oHrmAttEmpAttInBO.getOnLoadSysDtTime(oHrmAttEmpAttInHdrBean);
  }
  
  public LovVO getHrmAttEmpShftCodeLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttInBO oHrmAttEmpAttInBO = new HrmAttEmpAttInBO();
    return oHrmAttEmpAttInBO.getHrmAttEmpShftCodeLOV(oLovQueryVO);
  }
  
  public LovVO getHrmAttQueryEmpShftCodeLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttQueryBO oHrmAttEmpAttQueryBO = new HrmAttEmpAttQueryBO();
    return oHrmAttEmpAttQueryBO.getHrmAttEmpShftCodeLOV(oLovQueryVO);
  }
  
  public LovVO getHrmAttQueryDtlEmpLOV(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttQueryBO oHrmAttEmpAttQueryBO = new HrmAttEmpAttQueryBO();
    return oHrmAttEmpAttQueryBO.getHrmAttQueryDtlEmpLOV(oLovQueryVO);
  }
  
  public RecordMetaInfo getHrmAttOutHdrMetaInfo(HrmAttEmpAttOutQVO oHrmAttEmpAttOutQVO, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttOutBO oHrmAttEmpAttOutBO = new HrmAttEmpAttOutBO(oUserInfo);
    return oHrmAttEmpAttOutBO.getHrmAttOutHdrMetaInfo(oHrmAttEmpAttOutQVO);
  }
  
  public ArrayList getHrmAttOutHeaderInfo(HrmAttEmpAttOutQVO oHrmAttEmpAttOutQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmpAttOutBO oHrmAttEmpAttOutBO = new HrmAttEmpAttOutBO();
    return oHrmAttEmpAttOutBO.getHrmAttOutHeaderInfo(oHrmAttEmpAttOutQVO, lStartPosition, lLastPosition);
  }
  
  public String saveData(HrmAttEmpAttOutHdrBean oHrmAttEmpAttOutHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    try {
      HrmAttEmpAttOutBO oHrmAttEmpAttOutBO = new HrmAttEmpAttOutBO(oUserInfo);
      return oHrmAttEmpAttOutBO.saveData((BaseHeaderBean)oHrmAttEmpAttOutHdrBean, 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 getAttShiftMstHeaderMetaInfo(HrmAttShiftMstQVO oHrmAttShiftMstQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttShiftMstBO oHrmAttShiftMstBO = new HrmAttShiftMstBO();
    return oHrmAttShiftMstBO.getAttShiftMstHeaderMetaInfo(oHrmAttShiftMstQVO);
  }
  
  public ArrayList getAttShiftMstHeader(HrmAttShiftMstQVO oHrmAttShiftMstQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttShiftMstBO oHrmAttShiftMstBO = new HrmAttShiftMstBO();
    return oHrmAttShiftMstBO.getAttShiftMstHeader(oHrmAttShiftMstQVO, lStartPosition, lLastPosition);
  }
  
  public String saveAttShiftMstData(HrmAttShiftMstHdrBean oHrmAttShiftMstHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttShiftMstBO oHrmAttShiftMstBO = new HrmAttShiftMstBO(oUserInfo);
    return oHrmAttShiftMstBO.saveData((BaseHeaderBean)oHrmAttShiftMstHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
  }
  
  public LovVO getShiftCodeLOVData(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttShiftMstBO oHrmAttShiftMstBO = new HrmAttShiftMstBO();
    return oHrmAttShiftMstBO.getShiftCodeLOVData(oLovQueryVO);
  }
  
  public RecordMetaInfo getAttEmpshiftRosterDetailMetaInfo(HrmAttEmpShiftRosterQVO oHrmAttEmpShiftRosterQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmployeeShiftRosterBO oHrmAttEmployeeShiftRosterBO = new HrmAttEmployeeShiftRosterBO();
    return oHrmAttEmployeeShiftRosterBO.getAttEmpshiftRosterDetailMetaInfo(oHrmAttEmpShiftRosterQVO);
  }
  
  public ArrayList getAttEmpshiftRosterDetail(HrmAttEmpShiftRosterQVO oHrmAttEmpShiftRosterQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttEmployeeShiftRosterBO oHrmAttEmployeeShiftRosterBO = new HrmAttEmployeeShiftRosterBO();
    return oHrmAttEmployeeShiftRosterBO.getAttEmpshiftRosterDetail(oHrmAttEmpShiftRosterQVO, lStartPosition, lLastPosition);
  }
  
  public String saveShiftRosterGenData(HrmAttShiftRosterGenHdrBean oHrmAttShiftRosterGenHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttShiftRosterGenBO oHrmAttShiftRosterGenBO = new HrmAttShiftRosterGenBO(oUserInfo);
    return oHrmAttShiftRosterGenBO.saveRosterGeneartor((BaseHeaderBean)oHrmAttShiftRosterGenHdrBean);
  }
  
  public LovVO getShiftRosterGenWorkGrpLOVData(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAttShiftRosterGenBO oHrmAttShiftRosterGenBO = new HrmAttShiftRosterGenBO();
    return oHrmAttShiftRosterGenBO.getShiftRosterGenWorkGrpLOVData(oLovQueryVO);
  }
  
  public RecordMetaInfo getHrmAdhocReportHdrMetaInfo(HrmAdhocReportQVO oHrmAdhocReportQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAdhocReportBO oHrmAdhocReportBO = new HrmAdhocReportBO();
    return oHrmAdhocReportBO.getHrmAdhocReportHdrMetaInfo(oHrmAdhocReportQVO);
  }
  
  public ArrayList getHrmAdhocReportHeaderInfo(HrmAdhocReportQVO oHrmAdhocReportQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAdhocReportBO oHrmAdhocReportBO = new HrmAdhocReportBO();
    return oHrmAdhocReportBO.getHrmAdhocReportHeaderInfo(oHrmAdhocReportQVO, lStartPosition, lLastPosition);
  }
  
  public String saveHrmAdhocReport(HrmAdhocReportHdrBean oHrmAdhocReportHdrBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAdhocReportBO oHrmAdhocReportBO = new HrmAdhocReportBO(oUserInfo);
    return oHrmAdhocReportBO.saveData((BaseHeaderBean)oHrmAdhocReportHdrBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
  }
  
  public LovVO getQueryLOVData(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    HrmAdhocReportBO oHrmAdhocReportBO = new HrmAdhocReportBO();
    return oHrmAdhocReportBO.getQueryLOVData(oLovQueryVO);
  }
}
