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

📄 rolemanagebean.java

📁 HR系统模拟企业对内部职员的管理
💻 JAVA
字号:
/*$Id: RoleManageBean.java,v 1.1 2008/07/15 03:38:23 liqi Exp $ *-------------------------------------- * Apusic (Kingdee Middleware) *--------------------------------------- * Copyright By Apusic ,All right Reserved * author   date   comment * chenhongxin  2008-4-14  Created*/package org.operamasks.example.ejb.hr.litebean.module;import java.util.ArrayList;import java.util.List;import java.util.UUID;import javax.faces.model.SelectItem;import org.operamasks.example.ejb.hr.entity.ModuleItem;import org.operamasks.example.ejb.hr.entity.Role;import org.operamasks.example.ejb.hr.service.ServiceBean;import org.operamasks.faces.annotation.Action;import org.operamasks.faces.annotation.BeforeRender;import org.operamasks.faces.annotation.Bind;import org.operamasks.faces.annotation.DataModel;import org.operamasks.faces.annotation.ManagedBean;import org.operamasks.faces.annotation.ManagedBeanScope;import org.operamasks.faces.annotation.ManagedProperty;import org.operamasks.faces.annotation.Required;import org.operamasks.faces.annotation.SelectItems;import org.operamasks.faces.component.grid.impl.UIDataGrid;import org.operamasks.faces.component.layout.impl.UIWindow;/** * 角色管理页面的托管Bean * @author chenhongxin */@ManagedBean(name="module.roleManageBean", scope=ManagedBeanScope.SESSION)public class RoleManageBean extends BaseBean {	/**	 * 操作记录标识	 */	private Operation curOperation = Operation.NOTHING;		/**	 * 注入服务提供Bean,该Bean提供各种的业务操作对象	 */	@ManagedProperty("#{serviceBean}")	private ServiceBean service;		/**	 * 绑定页面的DataGrid组件	 */	@Bind(id="roleDataGrid", attribute="binding")	private UIDataGrid roleDataGrid;		/**	 * 绑定操作模块CheckBox组	 */	@Bind(id="items", attribute="value")	@SelectItems	private SelectItem[] items = new SelectItem[0];		/**	 * 模块项id辅助记录数组	 */	private String[] itemIds = new String[0];	/**	 * 绑定明细编辑框里的角色名称输入域,并指定Required验证失败的提示信息	 */	@Bind(id="roleName", attribute="value")	@Required(message = "#{this.getMessages().get('required')}")	private String roleName;	/**	 * 绑定页面的Window组件	 */	@Bind(id="detailDialog", attribute="binding")	private UIWindow detailDialog;	@BeforeRender	protected void beforeRender(boolean isPostback) {	    initBaseResource();//初始化统一国际化资源		if(!isPostback) {						List<ModuleItem> allItems = service.getModuleItemService().listModuleItem();			if(allItems != null) {				items = new SelectItem[allItems.size()];				itemIds = new String[allItems.size()];				int i = 0;				for(ModuleItem item : allItems) {					items[i] = new SelectItem(false, item.getName());					itemIds[i] = item.getId(); //填充id辅助记录					i++;				}			}		}	}		/**	 * DataGrid绑定数据的获取	 * @return 绑定数据的List集合	 */	@DataModel(id="roleDataGrid")	private List<Role> getPersonDataGridValues(){		return service.getRoleService().listRole();	}		/**	 * 绑定全选按钮的点击事件,使用immediate=true跳过数据验证	 */	@Action(id="selectAll",immediate=true)	public void selectAll() {		for(SelectItem item : items) {			item.setValue(true);		}	}		/**	 * 绑定全不选按钮的点击事件,使用immediate=true跳过数据验证	 */	@Action(id="deselectAll",immediate=true)	public void deselectAll() {		for(SelectItem item : items) {			item.setValue(false);		}	}	/**	 * 绑定添加按钮的点击击事件	 */	@Action(id="add",immediate=true)	public void add(){		deselectAll();		curOperation = Operation.ADD;		detailDialog.show();	}		/**	 * 绑定修改按钮的点击事件	 */	@Action(id="modify")	public void modify(){		Role selectedRole = (Role)roleDataGrid.getSelectedRowData();		if(selectedRole != null) {			roleName = selectedRole.getName();			List<ModuleItem> roleItems = selectedRole.getModuleItems();			if(roleItems != null) {				deselectAll();				for(ModuleItem item : roleItems) {					for(SelectItem selItem : items) {						if(selItem.getLabel().equals(item.getName())) {							selItem.setValue(true);						}					}				}				curOperation = Operation.MODIFY;				detailDialog.show();			}		}		}	/**	 * 绑定删除按钮的点击事件	 */	@Action(id="del")	public void del() {		Role selectedRole = (Role)roleDataGrid.getSelectedRowData();		if(selectedRole != null) {			service.getRoleService().removeRole(selectedRole);			roleDataGrid.reload();		}		curOperation = Operation.NOTHING;	}	/**	 * 绑定取消按钮的点击事件,使用immediate=true跳过数据验证	 */	@Action(id="cancel", immediate=true)	public void cancel(){		roleName = "";		curOperation = Operation.NOTHING;		detailDialog.close();	}	/**	 * 绑定确定按钮的点击事件	 */	@Action(id="ok")	public void ok(){		if(curOperation == Operation.ADD) {			Role newRole = new Role();			newRole.setId(UUID.randomUUID().toString());			newRole.setName(roleName);			List<String> ids = new ArrayList<String>();			for(int i = 0, size = items.length; i < size; i++) {				if((Boolean)items[i].getValue()) {					ids.add(itemIds[i]);				}			}						List<ModuleItem> mItems = service.getModuleItemService().findByIds(ids);			newRole.setModuleItems(mItems);			for(ModuleItem item : mItems) {				item.getRoles().add(newRole);			}						service.getRoleService().modifyRole(newRole);			roleDataGrid.reload();		} else if(curOperation == Operation.MODIFY) {			Role selectedRole = (Role)roleDataGrid.getSelectedRowData();			if(selectedRole != null) {							List<String> ids = new ArrayList<String>();				for(int i = 0, size = items.length; i < size; i++) {					if((Boolean)items[i].getValue()) {						ids.add(itemIds[i]);					}				}								List<ModuleItem> mItems = service.getModuleItemService().findByIds(ids);				selectedRole.setName(roleName);				selectedRole.setModuleItems(mItems);				service.getRoleService().modifyRole(selectedRole);				roleDataGrid.reload();			}		}				cancel();	}}

⌨️ 快捷键说明

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