package wenrgise.workflow.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.workflow.ejb.business.WflDocMstBO;
import wenrgise.workflow.vo.WflDocMstQVO;

public class WflDocMstFacadeBean implements SessionBean {
  SessionContext ctx;
  
  public void ejbCreate() {}
  
  public void ejbActivate() {}
  
  public void ejbPassivate() {}
  
  public void ejbRemove() {}
  
  public void setSessionContext(SessionContext ctx) {}
  
  public RecordMetaInfo getWflDocTypeHdrMetaInfo(WflDocMstQVO oWflDocMstQVO, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO(oUserInfo);
    return oWflDocMstBO.getWflDocTypeHdrMetaInfo(oWflDocMstQVO);
  }
  
  public ArrayList getWflDocTypeHdrInfo(WflDocMstQVO oWflDocMstQVO, long lStartPosition, long lLastPosition, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO(oUserInfo);
    return oWflDocMstBO.getWflDocTypeHdrInfo(oWflDocMstQVO, lStartPosition, lLastPosition);
  }
  
  public RecordMetaInfo getWflDocTypeAttrDtlMetaInfo(String lPrimaryKey, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO(oUserInfo);
    return oWflDocMstBO.getWflDocTypeAttrDtlMetaInfo(lPrimaryKey);
  }
  
  public ArrayList getWflDocTypeAttrDtlInfo(String lPrimaryKey, long lStartPosition, long lLastPosition, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO(oUserInfo);
    return oWflDocMstBO.getWflDocTypeAttrDtlInfo(lPrimaryKey, lStartPosition, lLastPosition);
  }
  
  public RecordMetaInfo getWflDocTypeConditionsDtlMetaInfo(String lPrimaryKey, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO(oUserInfo);
    return oWflDocMstBO.getWflDocTypeConditionsDtlMetaInfo(lPrimaryKey);
  }
  
  public ArrayList getWflDocTypeConditionsDtlInfo(String lPrimaryKey, long lStartPosition, long lLastPosition, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO(oUserInfo);
    return oWflDocMstBO.getWflDocTypeConditionsDtlInfo(lPrimaryKey, lStartPosition, lLastPosition);
  }
  
  public String saveWflDocTypeMst(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList oDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO(oUserInfo);
    return oWflDocMstBO.saveData(oBaseHeaderBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, oDetailBeanArray, bDetailDataChanged, oDetailPicked);
  }
  
  public LovVO getWflDocCodeLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO();
    LovVO oLovVO = oWflDocMstBO.getWflDocCodeLOVdata(oLovQueryVO);
    return oLovVO;
  }
  
  public RecordMetaInfo getDtlDocTypeMetaInfo(String lPrimaryKey, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO(oUserInfo);
    return oWflDocMstBO.getDtlDocTypeMetaInfo(lPrimaryKey);
  }
  
  public ArrayList getDtlDocTypeInfo(String lPrimaryKey, long lStartPosition, long lLastPosition, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO(oUserInfo);
    return oWflDocMstBO.getDtlDocTypeInfo(lPrimaryKey, lStartPosition, lLastPosition);
  }
  
  public LovVO getWflDtlDocCodeLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
    WflDocMstBO oWflDocMstBO = new WflDocMstBO();
    LovVO oLovVO = oWflDocMstBO.getWflDtlDocCodeLOVdata(oLovQueryVO);
    return oLovVO;
  }
}
