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

📄 userprofilemainaction.java

📁 j2ee源码
💻 JAVA
字号:
package com.leeman.wkexs.master.userprofile.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.common.WKConstants;
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.master.users.entity.UsersVO;
import com.leeman.wkexs.master.users.handler.UsersHandler;
import com.leeman.wkexs.master.users.handler.UsersHandlerHelper;
import com.leeman.wkexs.web.base.BaseConstants;
import com.leeman.wkexs.web.base.BaseMainAction;
import com.leeman.wkexs.web.base.ObjectTokenController;

public final class UserProfileMainAction extends BaseMainAction
{	
  	public void initMainForm(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
  	{
		MainForm mainForm = (MainForm) form;
		
		ArrayList deptIdList = this.getSysXlatItemListByFieldWithBlank(BaseConstants.XLAT_DEPT, getLangId(request));
		mainForm.setDeptIdList(deptIdList);
  	}
  	
	public boolean doQuery(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response) throws Exception
	{
		UserProfileCollectionCache cache = (UserProfileCollectionCache)getCollectionCache(request);
		UsersVO currentRecord = (UsersVO)cache.getCurrentRecordKey();
  		
		UsersHandler handler = UsersHandlerHelper.getUsersHandler();
		UsersVO vo = handler.get(currentRecord);
		handler.remove();
		
		if (vo != null){
			cache.setL0DataCache(vo);
			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
	{	
		UserProfileCollectionCache cache = (UserProfileCollectionCache)getCollectionCache(request);
		UsersVO currentRecord = (UsersVO)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].name");
			return true;
		}
		else
		{
			this.addTokenInUseError(request, vo);
			return false;	
		}
	}
				
  	protected void updateCollectionCache(HttpServletRequest request, ActionForm form) throws Exception
  	{
  		UserProfileCollectionCache cache = (UserProfileCollectionCache)getCollectionCache(request);
		
		MainForm mainForm = (MainForm)form;
		UsersVO vo = (UsersVO)cache.getL0DataCache();
		
		vo.setCompany_id(getCompanyId(request));
		vo.setUser_id(mainForm.getUser_id().trim());
		vo.setName(mainForm.getName().trim());
		if (!mainForm.getPassword().trim().equals("**********")){
			vo.setPassword(mainForm.getPassword().trim());
		}
		vo.setRole_id(mainForm.getRole_id().trim());
		vo.setDept_id(mainForm.getDept_id().trim());
		vo.setPosition(mainForm.getPosition().trim());
		//if (!mainForm.getApproval_password().trim().equals("**********")){
		//	vo.setApproval_password(mainForm.getApproval_password().trim());
		//}		
		if(mainForm.getActive() != null && mainForm.getActive().equalsIgnoreCase("ON"))
			vo.setActive(WKConstants.YES_FLAG);
		else
			vo.setActive(WKConstants.NO_FLAG);
		
		vo.setTelephone(mainForm.getTelephone().trim());
		vo.setFax(mainForm.getFax().trim());
		vo.setEmail(mainForm.getEmail().trim());
				
		cache.setL0DataCache(vo);		 
  	}
  	
  	public boolean validate(HttpServletRequest request)throws Exception {
  		boolean isValidate = true;
		
		UserProfileCollectionCache cache = (UserProfileCollectionCache)getCollectionCache(request);
		UsersVO vo = (UsersVO)cache.getL0DataCache();

		RoleHdrVO roleHdrVO = new RoleHdrVO();
		roleHdrVO.setCompany_id(vo.getCompany_id());		
		roleHdrVO.setRole_id(vo.getRole_id());
		
		RoleMgtHandler handler = RoleMgtHandlerHelper.getRoleMgtHandler();
		if (handler.isExist(roleHdrVO) == false)
		{
			addScreenMessage(request, ScreenMessage.WARNING, getResourceMessage(request,"message.recordNotExists", getResourceMessage(request,"SM_UserProf.roleId")), false, true);
			isValidate = false;	
		}		
		handler.remove();   
				
  		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
			UserProfileCollectionCache cache = (UserProfileCollectionCache)getCollectionCache(request);
		  	UsersVO vo = (UsersVO)cache.getL0DataCache();

		  	//Do the save procedure
			boolean saved = false;
		  	UsersHandler handler = UsersHandlerHelper.getUsersHandler();
		  	if (cache.getMode().equals(BaseConstants.MODE_ADD_NEW)){
				if (handler.isExist(vo)){
					addScreenMessage(request, ScreenMessage.WARNING, this.getResourceMessage(request, "message.recordAlreadyExists", this.getResourceMessage(request,"SM_UserProf.userId")), false, true);
		  			saved = false;
		  		}
		  		else
		  		{
					vo.setCreate_dttm(DateUtils.getCurrentDateTime());
					vo.setCreate_by(this.getClientInfo(request).getUser_id());
					handler.add(vo);
					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_dttm(DateUtils.getCurrentDateTime());
					vo.setLast_modify_by(this.getClientInfo(request).getUser_id());
					handler.update(vo);
					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 {
		UserProfileCollectionCache cache = (UserProfileCollectionCache)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 {
			
		UserProfileCollectionCache cache = (UserProfileCollectionCache)getCollectionCache(request);
		UsersVO currentRecord = (UsersVO)cache.getCurrentRecordKey();
		
		boolean deleted = false;
		UsersHandler handler = UsersHandlerHelper.getUsersHandler();
		UsersVO 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 if salesman id in customer 
				 long count = handler.getUserIdCount(updateRecord,"customer_hdr");
				 if (count == 0)
				 {
//					check if salesman id in quotation
					  count = handler.getUserIdCount(updateRecord,"quotation_hdr");
					  if (count == 0)
					  {
						 // check if salesman id in SC
						 count = handler.getUserIdCount(updateRecord,"sc_hdr");
						 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
					 {
						 addScreenMessage(request, ScreenMessage.WARNING, this.getResourceMessage(request, "message.recordCantDelete"), false,true);
						 otc.releaseToken();
						 deleted = false;
					 }
					  
				 }
				 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 {
			
		UserProfileCollectionCache cache = (UserProfileCollectionCache)getCollectionCache(request);
		UsersVO vo = (UsersVO)cache.getL0DataCache();
		
		MainForm mainForm = (MainForm)form;
		
		mainForm.setUser_id(vo.getUser_id());
		mainForm.setName(vo.getName());		
		mainForm.setPassword("**********");
		mainForm.setRole_id(vo.getRole_id());
		mainForm.setDept_id(vo.getDept_id());
		mainForm.setPosition(vo.getPosition());
		//if (!Formatter.replaceNullString(vo.getApproval_password()).equals("")){
		//	mainForm.setApproval_password("**********");	
		//}
		if(vo.getActive()!= null && vo.getActive().equalsIgnoreCase(WKConstants.YES_FLAG))
			mainForm.setActive("on");
		
		mainForm.setTelephone(vo.getTelephone());
		mainForm.setFax(vo.getFax());
		mainForm.setEmail(vo.getEmail());
	}
	
	/**
	 * Overrides
	 */
	public void doAddNew(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception {
		super.doAddNew(mapping, form, request, response);
		UsersVO vo = new UsersVO();
		UserProfileCollectionCache cache = (UserProfileCollectionCache)getCollectionCache(request);
		cache.setL0DataCache(vo);
		this.setInitFocus(request, "document.forms[0].user_id");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -