140 lines
6.5 KiB
Java
140 lines
6.5 KiB
Java
package WEB-INF.classes.wenrgise.hrms.webtier.action;
|
|
|
|
import java.io.IOException;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
import java.rmi.RemoteException;
|
|
import java.util.HashMap;
|
|
import javax.ejb.CreateException;
|
|
import javax.servlet.ServletException;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpSession;
|
|
import org.apache.struts.action.Action;
|
|
import org.apache.struts.action.ActionForm;
|
|
import org.apache.struts.action.ActionForward;
|
|
import org.apache.struts.action.ActionMapping;
|
|
import wenrgise.common.exception.EnrgiseApplicationException;
|
|
import wenrgise.common.exception.EnrgiseSystemException;
|
|
import wenrgise.common.utility.ServiceLocator;
|
|
import wenrgise.common.utility.UserInfo;
|
|
import wenrgise.common.webtier.form.BaseForm;
|
|
import wenrgise.ejb.common.session.UserSession;
|
|
import wenrgise.ejb.common.session.UserSessionHome;
|
|
import wenrgise.ejb.common.utility.ParamUtil;
|
|
import wenrgise.hrms.ejb.facade.HrmFacade;
|
|
import wenrgise.hrms.ejb.facade.HrmFacadeHome;
|
|
import wenrgise.hrms.ejb.facade.HrmSecondFacade;
|
|
import wenrgise.hrms.ejb.facade.HrmSecondFacadeHome;
|
|
import wenrgise.hrms.ejb.facade.HrmThirdFacade;
|
|
import wenrgise.hrms.ejb.facade.HrmThirdFacadeHome;
|
|
import wenrgise.workflow.bean.WflWorkListInfoBean;
|
|
import wenrgise.workflow.utility.WflDocParamUtil;
|
|
|
|
public class HrmGenWflAction extends Action {
|
|
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws EnrgiseApplicationException, EnrgiseSystemException, IllegalAccessException, InvocationTargetException, InstantiationException, ClassNotFoundException, ServletException, IOException {
|
|
String sWorkListId = request.getParameter("workListId");
|
|
System.out.println(sWorkListId);
|
|
WflWorkListInfoBean wflWorkListInfoBean = getWorkListInfo(sWorkListId);
|
|
if (WflDocParamUtil.getFormName(wflWorkListInfoBean.getDocTypeCode()) != null && WflDocParamUtil.getFormBeanName(wflWorkListInfoBean.getDocTypeCode()) != null) {
|
|
BaseForm oForm = (BaseForm)Class.forName(WflDocParamUtil.getFormName(wflWorkListInfoBean.getDocTypeCode())).newInstance();
|
|
oForm.setScreenMode("Q");
|
|
oForm.setHeaderPrimaryKey(wflWorkListInfoBean.getDocId());
|
|
oForm.setHidWorkListId(sWorkListId);
|
|
oForm.setFirstLoad("false");
|
|
oForm.setScreenName(WflDocParamUtil.getScreenName(wflWorkListInfoBean.getDocTypeCode()));
|
|
HttpSession oSes = request.getSession();
|
|
oSes.setAttribute(WflDocParamUtil.getFormBeanName(wflWorkListInfoBean.getDocTypeCode()), oForm);
|
|
System.out.println("Populating User Info:-");
|
|
populateUserInfo(wflWorkListInfoBean.getRequestorEmpId(), null, oSes);
|
|
System.out.println("User Info Populated:-");
|
|
System.out.println(String.valueOf("The type is ").concat(String.valueOf(wflWorkListInfoBean.getDocTypeCode())));
|
|
return mapping.findForward(WflDocParamUtil.getForwardName(wflWorkListInfoBean.getDocTypeCode()));
|
|
}
|
|
return mapping.findForward("success");
|
|
}
|
|
|
|
private UserInfo populateUserInfo(String sEmpId, String sSiteId, HttpSession session) throws EnrgiseSystemException {
|
|
UserInfo oUserInfo = new UserInfo();
|
|
try {
|
|
UserSession oUser = (UserSession)session.getAttribute(ParamUtil.getSessionBeanName());
|
|
UserSessionHome oUserHome = (UserSessionHome)ServiceLocator.getLocator().getService("HrmUserSession");
|
|
oUser = oUserHome.create();
|
|
HrmFacadeHome oHome = (HrmFacadeHome)ServiceLocator.getLocator().getService("HrmFacade");
|
|
HrmFacade oHrmFacade = oHome.create();
|
|
oUserInfo = oHrmFacade.getLoginUserInfo(sEmpId, sSiteId);
|
|
oUser.setUserInfo(oUserInfo);
|
|
HrmSecondFacadeHome oSecHome = (HrmSecondFacadeHome)ServiceLocator.getLocator().getService("HrmSecondFacade");
|
|
HrmSecondFacade oSecHrmFacade = oSecHome.create();
|
|
HrmThirdFacadeHome oThirdHome = (HrmThirdFacadeHome)ServiceLocator.getLocator().getService("HrmThirdFacade");
|
|
HrmThirdFacade oThirdFacade = oThirdHome.create();
|
|
HashMap oMap = new HashMap();
|
|
oMap.put(ParamUtil.getModuleName(), oHrmFacade);
|
|
oMap.put("SecHRMS", oSecHrmFacade);
|
|
oMap.put("ThirdHRMS", oThirdFacade);
|
|
oUser.setModuleFacade(oMap);
|
|
session.setAttribute(ParamUtil.getSessionBeanName(), oUser);
|
|
session.setAttribute("userId", sEmpId);
|
|
} catch (RemoteException oRmt) {
|
|
oRmt.printStackTrace();
|
|
throw new EnrgiseSystemException();
|
|
} catch (CreateException oCrt) {
|
|
oCrt.printStackTrace();
|
|
throw new EnrgiseSystemException();
|
|
} catch (Exception oExCc) {
|
|
oExCc.printStackTrace();
|
|
throw new EnrgiseSystemException();
|
|
}
|
|
return oUserInfo;
|
|
}
|
|
|
|
private void populate(String sEmpId, HttpSession session) throws EnrgiseSystemException {
|
|
try {
|
|
UserSession oUser = (UserSession)session.getAttribute(ParamUtil.getSessionBeanName());
|
|
if (oUser == null) {
|
|
UserSessionHome oUserHome = (UserSessionHome)ServiceLocator.getLocator().getService("HrmUserSession");
|
|
oUser = oUserHome.create();
|
|
String sUserId = getUserId(sEmpId);
|
|
UserInfo oUserInfo = populateUserInfo(sUserId);
|
|
oUser.setUserInfo(oUserInfo);
|
|
HrmFacadeHome oHome = (HrmFacadeHome)ServiceLocator.getLocator().getService("HrmFacade");
|
|
HrmFacade oHrmFacade = oHome.create();
|
|
HashMap oMap = new HashMap();
|
|
oMap.put(ParamUtil.getModuleName(), oHrmFacade);
|
|
oUser.setModuleFacade(oMap);
|
|
session.setAttribute(ParamUtil.getSessionBeanName(), oUser);
|
|
}
|
|
} catch (RemoteException oRmt) {
|
|
oRmt.printStackTrace();
|
|
throw new EnrgiseSystemException();
|
|
} catch (CreateException oCrt) {
|
|
oCrt.printStackTrace();
|
|
throw new EnrgiseSystemException();
|
|
} catch (Exception oExCc) {
|
|
oExCc.printStackTrace();
|
|
throw new EnrgiseSystemException();
|
|
}
|
|
}
|
|
|
|
private UserInfo populateUserInfo(String sUserId) {
|
|
return null;
|
|
}
|
|
|
|
private String getUserId(String sEmpId) {
|
|
return null;
|
|
}
|
|
|
|
private WflWorkListInfoBean getWorkListInfo(String sWorkListId) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
try {
|
|
HrmFacadeHome oHome = (HrmFacadeHome)ServiceLocator.getLocator().getService("HrmFacade");
|
|
HrmFacade oHrmFacade = oHome.create();
|
|
return oHrmFacade.getWorkListInfo(sWorkListId);
|
|
} catch (CreateException oCrtExcep) {
|
|
oCrtExcep.printStackTrace();
|
|
throw new EnrgiseSystemException(oCrtExcep);
|
|
} catch (RemoteException oRt) {
|
|
oRt.printStackTrace();
|
|
throw new EnrgiseSystemException(oRt);
|
|
}
|
|
}
|
|
}
|