📄 rolemgtmainaction.java
字号:
package com.leeman.wkexs.master.rolemgt.web;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import com.leeman.common.entity.ObjectTokenVO;
import com.leeman.common.util.DateUtils;
import com.leeman.common.util.Formatter;
import com.leeman.common.web.ui.ScreenMessage;
import com.leeman.wkexs.master.rolemgt.entity.RoleDtlVO;
import com.leeman.wkexs.master.rolemgt.entity.RoleHdrVO;
import com.leeman.wkexs.master.rolemgt.handler.RoleMgtHandler;
import com.leeman.wkexs.master.rolemgt.handler.RoleMgtHandlerHelper;
import com.leeman.wkexs.web.base.BaseConstants;
import com.leeman.wkexs.web.base.BaseMainAction;
import com.leeman.wkexs.web.base.ObjectTokenController;
public final class RoleMgtMainAction extends BaseMainAction
{
public void initMainForm(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
MainForm mainForm = (MainForm) form;
}
public boolean doQuery(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
RoleMgtCollectionCache cache = (RoleMgtCollectionCache)getCollectionCache(request);
RoleHdrVO currentRecord = (RoleHdrVO)cache.getCurrentRecordKey();
RoleMgtHandler handler = RoleMgtHandlerHelper.getRoleMgtHandler();
RoleHdrVO voHdr = handler.get(currentRecord);
ArrayList voDtl = handler.getRolePrivList(currentRecord, this.getLangId(request));
handler.remove();
if (voHdr != null)
{
cache.setL0DataCache(voHdr);
cache.setL1DataCache(voDtl);
return true;
}
else
{
addScreenMessage(request, ScreenMessage.WARNING, this.getResourceMessage(request, "message.recordAlreadyDeleted"), false, true);
return false;
}
}
public boolean doEditQuery(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
RoleMgtCollectionCache cache = (RoleMgtCollectionCache)getCollectionCache(request);
RoleHdrVO currentRecord = (RoleHdrVO)cache.getCurrentRecordKey();
ObjectTokenController otc = new ObjectTokenController(this.getClientInfo(request), cache);
ObjectTokenVO vo = otc.getToken(currentRecord);
otc = null;
if (vo == null)
{
this.setInitFocus(request, "document.forms[0].role_name");
return true;
}
else
{
this.addTokenInUseError(request, vo);
return false;
}
}
protected void updateCollectionCache(HttpServletRequest request, ActionForm form) throws Exception
{
RoleMgtCollectionCache cache = (RoleMgtCollectionCache)getCollectionCache(request);
MainForm mainForm = (MainForm)form;
RoleHdrVO hdrVO = new RoleHdrVO();
hdrVO.setCompany_id(getCompanyId(request));
hdrVO.setRole_id(mainForm.getRole_id().toUpperCase().trim());
hdrVO.setRole_name(mainForm.getRole_name().trim());
int rows = Integer.parseInt(mainForm.getTbl_rolePriv_size());
ArrayList dtlList = new ArrayList();
for (int i=0; i<rows; i++){
RoleDtlVO dtlVO = new RoleDtlVO();
dtlVO.setCompany_id(this.getCompanyId(request));
dtlVO.setRole_id(hdrVO.getRole_id());
dtlVO.setModule((String)mainForm.getFld_rolePriv_module(String.valueOf(i)));
dtlVO.setProgram_id((String)mainForm.getFld_rolePriv_programId(String.valueOf(i)));
dtlVO.setProgram_name((String)mainForm.getFld_rolePriv_programName(String.valueOf(i)));
dtlVO.setPriv_id((String)mainForm.getFld_rolePriv_privId(String.valueOf(i)));
dtlVO.setPriv_desc((String)mainForm.getFld_rolePriv_privDesc(String.valueOf(i)));
dtlVO.setActive(Formatter.checkBoxToChar((String)mainForm.getFld_rolePriv_active(String.valueOf(i))));
dtlList.add(dtlVO);
}
cache.setL0DataCache(hdrVO);
cache.setL1DataCache(dtlList);
}
public boolean validate(HttpServletRequest request){
boolean isValidate = true;
return isValidate;
}
public boolean doSave(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
{
//do Validaion
if (validate(request))
{
//Get Data from Form bean
RoleMgtCollectionCache cache = (RoleMgtCollectionCache)getCollectionCache(request);
RoleHdrVO vo = (RoleHdrVO)cache.getL0DataCache();
ArrayList voDtl = (ArrayList)cache.getL1DataCache();
//Do the save procedure
boolean saved = false;
RoleMgtHandler handler = RoleMgtHandlerHelper.getRoleMgtHandler();
if (cache.getMode().equals(BaseConstants.MODE_ADD_NEW)){
if (handler.isExist(vo)){
addScreenMessage(request, ScreenMessage.WARNING, this.getResourceMessage(request, "message.recordAlreadyExists", getResourceMessage(request,"SM_RoleMgt.roleId")), false, true);
saved = false;
}
else
{
vo.setCreate_by(this.getClientInfo(request).getUser_id());
vo.setCreate_dttm(DateUtils.getCurrentDateTime());
handler.add(vo, voDtl);
cache.setCurrentRecordKey(vo);
addScreenMessage(request, ScreenMessage.SUCCESS, this.getResourceMessage(request, "message.saved"), false, true);
saved = true;
}
}
else
{
ObjectTokenController otc = new ObjectTokenController(this.getClientInfo(request), cache);
ObjectTokenVO[] inValidToken = otc.validateToken();
if (inValidToken == null)
{
vo.setLast_modify_by(this.getClientInfo(request).getUser_id());
vo.setLast_modify_dttm(DateUtils.getCurrentDateTime());
handler.update(vo, voDtl);
addScreenMessage(request, ScreenMessage.SUCCESS, this.getResourceMessage(request, "message.saved"), false, true);
otc.releaseToken();
saved = true;
}
else
{
addScreenMessage(request, ScreenMessage.ERROR, this.getResourceMessage(request, "message.recordOutOfDate"), false, true);
}
otc = null;
}
handler.remove();
return saved;
}
else
{
return false;
}
}
public void doCancel(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
RoleMgtCollectionCache cache = (RoleMgtCollectionCache)getCollectionCache(request);
ObjectTokenController otc = new ObjectTokenController(this.getClientInfo(request), cache);
otc.releaseToken();
otc = null;
}
/**
* Overrides
*/
public boolean doDelete(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
RoleMgtCollectionCache cache = (RoleMgtCollectionCache)getCollectionCache(request);
RoleHdrVO currentRecord = (RoleHdrVO)cache.getCurrentRecordKey();
boolean deleted = false;
RoleMgtHandler handler = RoleMgtHandlerHelper.getRoleMgtHandler();
RoleHdrVO updateRecord = handler.get(currentRecord);
if (handler.isExist(currentRecord))
{
ObjectTokenController otc = new ObjectTokenController(this.getClientInfo(request), cache);
ObjectTokenVO inUseToken = otc.getToken(currentRecord);
if (inUseToken == null){
// check user master
long count = handler.getRoleIdCount(currentRecord,"users");
if (count == 0)
{
handler.delete(currentRecord);
addScreenMessage(request, ScreenMessage.SUCCESS, this.getResourceMessage(request,"message.deleted"), false, true);
otc.releaseToken();
deleted = true;
}
else
{
addScreenMessage(request, ScreenMessage.WARNING, this.getResourceMessage(request,"message.recordCantDelete"),false,true);
otc.releaseToken();
deleted = false;
}
}
else
{
this.addTokenInUseError(request, inUseToken);
deleted = false;
}
otc = null;
}
else
{
deleted = true;
addScreenMessage(request, ScreenMessage.WARNING, this.getResourceMessage(request, "message.recordAlreadyDeleted"), false, true);
}
handler.remove();
return deleted;
}
public void doReturnToSearch(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
doCancel(mapping, form, request, response);
}
/**
* Overrides
*/
public void loadFormFormCache(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
RoleMgtCollectionCache cache = (RoleMgtCollectionCache)getCollectionCache(request);
RoleHdrVO hdrVO = (RoleHdrVO)cache.getL0DataCache();
ArrayList dtlList = (ArrayList)cache.getL1DataCache();
MainForm mainForm = (MainForm)form;
mainForm.setRole_id(hdrVO.getRole_id());
mainForm.setRole_name(hdrVO.getRole_name());
mainForm.getCol_rolePriv_module().clear();
mainForm.getCol_rolePriv_programId().clear();
mainForm.getCol_rolePriv_programName().clear();
mainForm.getCol_rolePriv_privId().clear();
mainForm.getCol_rolePriv_privDesc().clear();
mainForm.getCol_rolePriv_active().clear();
mainForm.setTbl_rolePriv_size(String.valueOf(dtlList.size()));
boolean isChkAll = true;
for (int i=0; i<dtlList.size(); i++){
RoleDtlVO dtlVO = (RoleDtlVO)dtlList.get(i);
mainForm.setFld_rolePriv_module(String.valueOf(i), dtlVO.getModule());
mainForm.setFld_rolePriv_programId(String.valueOf(i), dtlVO.getProgram_id());
mainForm.setFld_rolePriv_programName(String.valueOf(i), dtlVO.getProgram_name());
mainForm.setFld_rolePriv_privId(String.valueOf(i), dtlVO.getPriv_id());
mainForm.setFld_rolePriv_privDesc(String.valueOf(i), dtlVO.getPriv_desc());
mainForm.setFld_rolePriv_active(String.valueOf(i), Formatter.charToCheckBox(dtlVO.getActive()));
if(!"Y".equals(dtlVO.getActive()))
{
isChkAll = false;
}
}
mainForm.setChkAll(Formatter.charToCheckBox(Formatter.boolToChar(isChkAll)));
}
/**
* Overrides
*/
public void doAddNew(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
super.doAddNew(mapping, form, request, response);
RoleMgtCollectionCache cache = (RoleMgtCollectionCache)getCollectionCache(request);
RoleMgtHandler handler = RoleMgtHandlerHelper.getRoleMgtHandler();
RoleHdrVO newRecord = new RoleHdrVO();
newRecord.setCompany_id(this.getCompanyId(request));
ArrayList voDtl = handler.getRolePrivList(newRecord, this.getLangId(request));
handler.remove();
cache.setL0DataCache(newRecord);
cache.setL1DataCache(voDtl);
loadFormFormCache(mapping, form, request, response);
this.setInitFocus(request, "document.forms[0].role_id");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -