first commit
This commit is contained in:
138
hrmsEjb/wenrgise/common/webtier/action/LOVAction.java
Normal file
138
hrmsEjb/wenrgise/common/webtier/action/LOVAction.java
Normal file
@@ -0,0 +1,138 @@
|
||||
package wenrgise.common.webtier.action;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.StringTokenizer;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
import org.apache.struts.action.ActionForm;
|
||||
import org.apache.struts.action.ActionForward;
|
||||
import org.apache.struts.action.ActionMapping;
|
||||
import wenrgise.common.businessdelegate.LOVBD;
|
||||
import wenrgise.common.exception.EnrgiseApplicationException;
|
||||
import wenrgise.common.exception.EnrgiseSystemException;
|
||||
import wenrgise.common.utility.EnrgiseUtil;
|
||||
import wenrgise.common.utility.UserInfo;
|
||||
import wenrgise.common.vo.LovQueryVO;
|
||||
import wenrgise.common.vo.LovVO;
|
||||
import wenrgise.common.webtier.form.BaseLOVForm;
|
||||
import wenrgise.common.xml.vo.LOVInfo;
|
||||
import wenrgise.ejb.common.session.UserSession;
|
||||
import wenrgise.ejb.common.utility.LOVManager;
|
||||
|
||||
public class LOVAction extends BaseAction {
|
||||
public ActionForward executeImpl(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws EnrgiseApplicationException, EnrgiseSystemException, IllegalAccessException, InvocationTargetException, InstantiationException, ClassNotFoundException, ServletException, IOException {
|
||||
BaseLOVForm oBaseLOVForm = (BaseLOVForm)form;
|
||||
System.out.println(oBaseLOVForm.getLovKey());
|
||||
UserSession oUser = getUserSessionBean(request);
|
||||
LOVInfo oLOVInfo = LOVManager.getInstance().getCachedObject(oBaseLOVForm.getLovKey());
|
||||
if (oLOVInfo != null)
|
||||
if (EnrgiseUtil.checkString(oLOVInfo.getRecursiveFlag())) {
|
||||
if (oLOVInfo.getRecursiveFlag().equalsIgnoreCase("Y")) {
|
||||
processRecursiveLov(oBaseLOVForm, oLOVInfo, mapping);
|
||||
oBaseLOVForm.setRecursiveFlag("Y");
|
||||
} else {
|
||||
processSimpleLov(oBaseLOVForm, oLOVInfo, mapping, oUser.getUserInfo());
|
||||
oBaseLOVForm.setRecursiveFlag("N");
|
||||
}
|
||||
} else {
|
||||
processSimpleLov(oBaseLOVForm, oLOVInfo, mapping, oUser.getUserInfo());
|
||||
oBaseLOVForm.setRecursiveFlag("N");
|
||||
}
|
||||
return mapping.findForward("success");
|
||||
}
|
||||
|
||||
private ActionForward processSimpleLov(BaseLOVForm oBaseLOVForm, LOVInfo oLOVInfo, ActionMapping mapping, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException, IllegalAccessException, InvocationTargetException, InstantiationException, ClassNotFoundException, ServletException, IOException {
|
||||
if (oBaseLOVForm.getTxtHidAction().equals("FirstTime")) {
|
||||
oBaseLOVForm.setTxtHidTotCols(-1);
|
||||
oBaseLOVForm.setTxtHidSubmitFirst("true");
|
||||
oBaseLOVForm.setLevel(0);
|
||||
oBaseLOVForm.setFinalLevel(0);
|
||||
return mapping.findForward("success");
|
||||
}
|
||||
if (oBaseLOVForm.getTxtHidAction().equals("SearchRecords")) {
|
||||
LOVBD oLOVBD = new LOVBD();
|
||||
LovVO oLovVO = new LovVO();
|
||||
LovQueryVO oLOVQueryVO = new LovQueryVO();
|
||||
StringTokenizer stParameters = new StringTokenizer(oBaseLOVForm.getQueryParam(), ",");
|
||||
while (stParameters.hasMoreTokens()) {
|
||||
String[] sKeyValuePair = stParameters.nextToken().split("=");
|
||||
oLOVQueryVO.setProperty(sKeyValuePair[0], sKeyValuePair[1]);
|
||||
}
|
||||
oLOVQueryVO.setProperty("LoginSiteId", oUserInfo.getSiteId());
|
||||
oLOVQueryVO.setProperty("ListSiteId", String.valueOf(String.valueOf("(").concat(String.valueOf(oUserInfo.getSiteId()))).concat(String.valueOf(")")));
|
||||
oLOVQueryVO.setSearchField1(oBaseLOVForm.getSearchField1());
|
||||
oLOVQueryVO.setSearchField2(oBaseLOVForm.getSearchField2());
|
||||
oLOVQueryVO.setSearchField2(oBaseLOVForm.getSearchField2());
|
||||
oLOVQueryVO.setSearchField3(oBaseLOVForm.getSearchField3());
|
||||
oLOVQueryVO.setSearchField4(oBaseLOVForm.getSearchField4());
|
||||
oLOVQueryVO.setSearchField5(oBaseLOVForm.getSearchField5());
|
||||
oLOVQueryVO.setSearchField6(oBaseLOVForm.getSearchField6());
|
||||
oLOVQueryVO.setLevel(0);
|
||||
oBaseLOVForm.setFinalLevel(-1);
|
||||
oLovVO = oLOVBD.getLOVData(oLOVInfo, oLOVQueryVO);
|
||||
if (oBaseLOVForm.getLevel() == 0)
|
||||
oBaseLOVForm.setLevel(oLovVO.getFinalLevel());
|
||||
if (oLovVO.getDetailList().size() > 0) {
|
||||
BeanUtils.copyProperties(oBaseLOVForm, oLovVO);
|
||||
oBaseLOVForm.setTxtHidTotRows(oLovVO.getDetailList().size());
|
||||
oBaseLOVForm.setTxtHidTotCols(oLovVO.getHeaderList().size());
|
||||
} else {
|
||||
oBaseLOVForm.setTxtHidTotRows(0);
|
||||
oBaseLOVForm.setTxtHidTotCols(-1);
|
||||
}
|
||||
oBaseLOVForm.setTxtHidSubmitFirst("false");
|
||||
oBaseLOVForm.setInsertFlag(oLOVInfo.getInsertFlag());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private ActionForward processRecursiveLov(BaseLOVForm oBaseLOVForm, LOVInfo oLOVInfo, ActionMapping mapping) throws EnrgiseApplicationException, EnrgiseSystemException, IllegalAccessException, InvocationTargetException, InstantiationException, ClassNotFoundException, ServletException, IOException {
|
||||
if (oBaseLOVForm.getTxtHidAction().equals("FirstTime")) {
|
||||
oBaseLOVForm.setTxtHidTotCols(-1);
|
||||
oBaseLOVForm.setTxtHidSubmitFirst("true");
|
||||
oBaseLOVForm.setLevel(-999);
|
||||
return mapping.findForward("success");
|
||||
}
|
||||
if (oBaseLOVForm.getTxtHidAction().equals("SearchRecords")) {
|
||||
LOVBD oLOVBD = new LOVBD();
|
||||
LovVO oLovVO = new LovVO();
|
||||
LovQueryVO oLOVQueryVO = new LovQueryVO();
|
||||
StringTokenizer stParameters = new StringTokenizer(oBaseLOVForm.getQueryParam(), ",");
|
||||
while (stParameters.hasMoreTokens()) {
|
||||
String[] sKeyValuePair = stParameters.nextToken().split("=");
|
||||
oLOVQueryVO.setProperty(sKeyValuePair[0], sKeyValuePair[1]);
|
||||
}
|
||||
oLOVQueryVO.setSearchField1(oBaseLOVForm.getSearchField1());
|
||||
oLOVQueryVO.setSearchField2(oBaseLOVForm.getSearchField2());
|
||||
oLOVQueryVO.setLevel(oBaseLOVForm.getLevel());
|
||||
int iLevel = oBaseLOVForm.getLevel();
|
||||
int iFinalLevel = oBaseLOVForm.getFinalLevel();
|
||||
int iInitialLevel = oBaseLOVForm.getInitialLevel();
|
||||
oLOVQueryVO.setFinalLevel(iFinalLevel);
|
||||
oLovVO = oLOVBD.getLOVData(oLOVInfo, oLOVQueryVO);
|
||||
if (oLovVO.getDetailList().size() > 0) {
|
||||
BeanUtils.copyProperties(oBaseLOVForm, oLovVO);
|
||||
oBaseLOVForm.setTxtHidTotRows(oLovVO.getDetailList().size());
|
||||
oBaseLOVForm.setTxtHidTotCols(oLovVO.getHeaderList().size());
|
||||
} else {
|
||||
oBaseLOVForm.setTxtHidTotRows(0);
|
||||
oBaseLOVForm.setTxtHidTotCols(-1);
|
||||
}
|
||||
oBaseLOVForm.setTxtHidSubmitFirst("false");
|
||||
if (oLOVQueryVO.getLevel() == -999) {
|
||||
oBaseLOVForm.setLevel(oLovVO.getInitialLevel());
|
||||
oBaseLOVForm.setFinalLevel(oLovVO.getFinalLevel());
|
||||
oBaseLOVForm.setInitialLevel(oLovVO.getInitialLevel());
|
||||
} else {
|
||||
oBaseLOVForm.setLevel(iLevel);
|
||||
oBaseLOVForm.setFinalLevel(iFinalLevel);
|
||||
oBaseLOVForm.setInitialLevel(iInitialLevel);
|
||||
}
|
||||
oBaseLOVForm.setInsertFlag(oLOVInfo.getInsertFlag());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user