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

📄 useraction.java

📁 OBPM是一个开源
💻 JAVA
字号:
package cn.myapps.core.user.action;

import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;

import cn.myapps.base.action.BaseAction;
import cn.myapps.base.dao.ValueObject;
import cn.myapps.core.department.action.DepartmentAction;
import cn.myapps.core.department.ejb.DepartmentProcess;
import cn.myapps.core.department.ejb.DepartmentVO;
import cn.myapps.core.permission.ejb.PermissionProcess;
import cn.myapps.core.permission.ejb.PermissionVO;
import cn.myapps.core.resource.ejb.ResourceProcess;
import cn.myapps.core.resource.ejb.ResourceVO;
import cn.myapps.core.role.ejb.RoleProcess;
import cn.myapps.core.role.ejb.RoleVO;
import cn.myapps.core.user.dao.UserDAO;
import cn.myapps.core.user.ejb.ExistNameException;
import cn.myapps.core.user.ejb.UserProcess;
import cn.myapps.core.user.ejb.UserProcessBean;
import cn.myapps.core.user.ejb.UserVO;
import cn.myapps.util.ProcessFactory;
import cn.myapps.util.sequence.Sequence;

public class UserAction extends BaseAction {

	private Collection _departmentlist;

	private Collection _resourcelist;

	public Collection get_resourcelist() {
		UserVO user = (UserVO) getContent();
		_resourcelist = new HashSet();
		if (user.getId() != null && user.getId().trim().length() > 0) {
			Collection col = user.getPermission();
			Iterator it = col.iterator();
			while (it.hasNext()) {
				PermissionVO per = (PermissionVO) it.next();
				_resourcelist.add(per.getResource().getId());
			}
			return _resourcelist;
		} else
			return null;

	}

	public void set_resourcelist(Collection _resourcelist) throws Exception {

		UserVO content = (UserVO) getContent();
		ResourceProcess rp = (ResourceProcess) ProcessFactory
				.createProcess(ResourceProcess.class);
		for (Iterator iter = _resourcelist.iterator(); iter.hasNext();) {
			String rid = (String) iter.next();
			ResourceVO rv = (ResourceVO) rp.doView(rid);
			PermissionVO pv = new PermissionVO();
			pv.setId(Sequence.getSequence());
			pv.setResource(rv);
			content.getPermission().add(pv);

			while (rv.getSuperior() != null) {
				rv = rv.getSuperior();
				if (rv != null && !_resourcelist.contains(rv.getId())) {
					PermissionVO superior = new PermissionVO();
					superior.setId(Sequence.getSequence());
					superior.setResource(rv);
					content.getPermission().add(superior);
				}
			}
		}

	}

	public Collection get_departmentlist() throws Exception {
		DepartmentProcess dp = (DepartmentProcess) ProcessFactory
				.createProcess(DepartmentProcess.class);
		_departmentlist = dp.doSimpleQuery(null, getApplication());
		return _departmentlist;
	}

	public void set__departmentlist(Collection _departmentlist) {
		this._departmentlist = _departmentlist;
	}

	public UserAction() throws Exception {
		super(ProcessFactory.createProcess(UserProcess.class), new UserVO());
	}

	public Map get_departmentTree() throws Exception {
		Map dpts;
		DepartmentAction da = new DepartmentAction();
		dpts = da.get_departments();

		return dpts;
	}

	/*
	 * public Collection get_roleList() throws Exception { RoleProcess rp =
	 * (RoleProcess) ProcessFactory .createProcess(RoleProcess.class);
	 * Collection rc = rp.doSimpleQuery(null); return rc; }
	 */

	public Collection get_departmentids() {
		HashSet ids = new HashSet();

		UserVO user = (UserVO) getContent();
		Collection dptlist = user.getDepartments();
		if (dptlist != null) {
			Iterator iter = dptlist.iterator();
			while (iter.hasNext()) {
				DepartmentVO dept = (DepartmentVO) iter.next();
				ids.add(dept.getId());
			}
		}
		return ids;
	}

	/**
	 * @param _departmentid
	 *            The _departmentid to set.
	 * @throws Exception
	 */

	public void set_departmentids(Collection _departmentids) throws Exception {
		Map m = getContext().getParameters();
		Object obj = m.get("_selectitem");// 选中的部门
		String tmp[] = null;
		if (obj instanceof String[] && ((String[]) obj).length > 0) {
			tmp = (String[]) obj;
		}
		UserVO user = (UserVO) getContent();
		if (tmp != null) {
			for (int i = 0; i < tmp.length; i++) {
				DepartmentProcess da = (DepartmentProcess) ProcessFactory
						.createProcess(DepartmentProcess.class);
				DepartmentVO dpt = (DepartmentVO) da.doView(tmp[i]);
				dpt.getUsers().add(user);
				user.getDepartments().add(dpt);
			}
		}

	}

	public String doSave() throws Exception {
		((UserVO) getContent()).setRoles(get_Roles());
		// UserVO tempUser = (UserVO)(getContent());
		// String loginno = tempUser.getLoginno();
		set_departmentids(null);
		try{
		super.doSave();
		}catch(ExistNameException e){
			this.addFieldError("1",e.getMessage());
		}
		return SUCCESS;
	}

	public Collection get_Roles() throws Exception {
		Map m = getContext().getParameters();
		Object obj = m.get("roleids");
		String[] rolesid = null;
		Collection col = new HashSet();
		RoleProcess rp = (RoleProcess) ProcessFactory
				.createProcess(RoleProcess.class);
		if (obj != null && obj instanceof String[]
				&& ((String[]) obj).length > 0) {
			rolesid = (String[]) obj;

			for (int i = 0; i < rolesid.length; i++) {
				RoleVO rv = (RoleVO) rp.doView(rolesid[i]);
				col.add(rv);
			}
		}
		return col;
	}

	/*
	 * public Collection get_roleids() throws Exception { Collection ids = new
	 * HashSet(); UserVO content = (UserVO) getContent();
	 * 
	 * Collection roles = content.getRoles(); if (roles != null) { Iterator iter =
	 * roles.iterator(); while (iter.hasNext()) { RoleVO role = (RoleVO)
	 * iter.next(); ids.add(role.getId()); } } return ids; }
	 * 
	 * public void set_roleids(Collection rolids) throws Exception {
	 * 
	 * if (rolids != null) { UserVO user = (UserVO) getContent(); RoleProcess rp =
	 * (RoleProcess) ProcessFactory .createProcess(RoleProcess.class);
	 * 
	 * Collection ids = new HashSet(); Iterator iter = rolids.iterator(); while
	 * (iter.hasNext()) { String id = (String) iter.next(); ValueObject role =
	 * rp.doView(id); ids.add(role); }
	 * 
	 * user.setRoles(ids); } }
	 */

	public String get_password() {
		return null;
	}

	public void set_password(String _password) {
		UserVO user = (UserVO) getContent();
		user.setLoginpwd(_password);
	}

	public String get_strstatus() throws Exception {
		UserVO user = (UserVO) getContent();
		if (user.getStatus() == 1) {
			return "true";
		} else {
			return "false";
		}
	}

	public void set_strstatus(String strname) throws Exception {
		UserVO user = (UserVO) getContent();
		if (strname != null) {
			if (strname.equalsIgnoreCase("true")) {
				user.setStatus(1);
			} else {
				user.setStatus(0);
			}
		}
	}

	public String removeDepartment() throws Exception {
		String departmentid = getParams().getParameterAsString(
				"sm_departments.id");
		if (_selects != null && departmentid != null
				&& departmentid.trim().length() > 0) {
			DepartmentProcess da = (DepartmentProcess) ProcessFactory
					.createProcess(DepartmentProcess.class);
			DepartmentVO dep = (DepartmentVO) da.doView(departmentid);
			for (int i = 0; i < _selects.length; i++) {
				String id = _selects[i];
				UserVO user = (UserVO) proxy.doView(id);
				user.getDepartments().remove(dep);
				proxy.doUpdate(user);
			}
		}
		return SUCCESS;
	}

	public String removeRole() throws Exception {
		String roleid = getParams().getParameterAsString("sm_roles.id");
		if (_selects != null && roleid != null && roleid.trim().length() > 0) {
			RoleProcess rp = (RoleProcess) ProcessFactory
					.createProcess(RoleProcess.class);
			RoleVO rv = (RoleVO) rp.doView(roleid);
			for (int i = 0; i < _selects.length; i++) {
				String id = _selects[i];
				UserVO user = (UserVO) proxy.doView(id);
				user.getRoles().remove(rv);
				proxy.doUpdate(user);
			}
		}
		return SUCCESS;
	}

	public String doEdit() throws Exception{
		Map params = getContext().getParameters();
		String id = getParams().getParameterAsString("editPersonalId");
		if(id!=null&&!id.equals("")){
			UserVO user = (UserVO)proxy.doView(id);
			setContent(user);
		}
		else{
			super.doEdit();
		}
        return SUCCESS;
	}
	
  public String doSavePersonal()throws Exception{
	  	((UserProcess)proxy).doPersonalUpdate(this.getContent());
	
	
	  return SUCCESS;
  }
}

⌨️ 快捷键说明

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