⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rolemgtmainaction.java

📁 j2ee源码
💻 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 + -