📄 roleusermanageaction.java
字号:
package cn.com.iaspec.workflow.client.web.action.sysmanage;
import cn.com.iaspec.workflow.client.web.action.base.*;
import org.apache.struts.action.ActionForward;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import cn.com.iaspec.workflow.vo.db.WfUser;
import cn.com.iaspec.workflow.vo.db.WfOrganization;
import cn.com.iaspec.workflow.helper.SysManageHelper;
import java.util.List;
import cn.com.iaspec.workflow.vo.db.WfRole;
import java.util.ArrayList;
import java.util.Hashtable;
import cn.com.iaspec.workflow.vo.db.WfExtField;
import java.util.Map;
import java.util.HashMap;
import cn.com.iaspec.workflow.vo.workflow.UserInfo;
import cn.com.iaspec.workflow.util.FlowWebKeys;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: IASPEC Technologies</p>
*
* @author xiesonglin
* @version 1.0
*/
public class RoleUserManageAction
extends BaseAction{
public RoleUserManageAction(){
}
public ActionForward queryMain(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)
throws Exception{
return mapping.findForward("query_main");
}
/**
* 查询详细信息
*/
public ActionForward queryDetail(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)
throws Exception{
Map valueMap = new HashMap();
String pathName="";
String infoType=request.getParameter("info_type");
String id=request.getParameter("id");
String userId=request.getParameter("userId");
Map extValueMap = new HashMap();
SysManageHelper helper=new SysManageHelper();
if(infoType!=null&&infoType.equals("role")){
WfRole roleInfo = this.queryRole(id,extValueMap);
if(roleInfo != null){
if (roleInfo.getRoleType().equals("1")){
roleInfo.setRoleType("功能角色");
}else if (roleInfo.getRoleType().equals("2")){
roleInfo.setRoleType("业务活动角色");
}else if (roleInfo.getRoleType().equals("3")){
roleInfo.setRoleType("流程角色");
}else if (roleInfo.getRoleType().equals("4")){
roleInfo.setRoleType("记录查看角色");
}
request.setAttribute("role_info",roleInfo);
request.setAttribute("ext_field_value_map",extValueMap);
}
//操作权限信息
Hashtable operationAuthorizationHashtable=helper.getManagedRoleOperationAuthorization(id,userId);
request.setAttribute("operationAuthorizationHashtable",operationAuthorizationHashtable);
boolean isLoginUserCreateRole =helper.isLoginUserCreateRole(userId,id);
request.setAttribute("isLoginUserCreateRole",Boolean.valueOf(isLoginUserCreateRole).toString());
pathName="role_info";
}
else if(infoType!=null&&infoType.equals("user")){
WfUser userInfo = this.queryUser(id,extValueMap);
if(userInfo != null){
request.setAttribute("user_info",userInfo);
request.setAttribute("ext_field_value_map",extValueMap);
}
//操作授权信息
Hashtable managedUserOperationAuthorizationHashtable=helper.getManagedUserOperationAuthorization(id,userId);
request.setAttribute("managedUserOperationAuthorizationHashtable",managedUserOperationAuthorizationHashtable);
boolean isLoginUserCreateUser =helper.isLoginUserCreateUser(userId,id);
request.setAttribute("isLoginUserCreateUser",Boolean.valueOf(isLoginUserCreateUser).toString());
pathName="user_info";
}
return mapping.findForward(pathName);
}
/**
* 增加角色
*/
public ActionForward addRole(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)
throws Exception{
return mapping.findForward("role_manage");
}
/**
* 修改角色
*/
public ActionForward modifyRole(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)
throws Exception{
Map valueMap = new HashMap();
String roleId=request.getParameter("roleId")==null?"0":request.getParameter("roleId");
WfRole roleInfo = this.queryRole(roleId,valueMap);
request.setAttribute("role_info",roleInfo);
request.setAttribute("ext_field_value_map",valueMap);
return mapping.findForward("role_manage");
}
/*/**
* 保存角色
*/
public ActionForward saveRole(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)
throws Exception{
SysManageHelper helper=new SysManageHelper();
WfRole role=new WfRole();
String roleId=request.getParameter("roleId");
String role_name=request.getParameter("role_name");
String role_code=request.getParameter("role_code");
String role_type=request.getParameter("role_type");
String role_order=request.getParameter("role_order");
String role_desc=request.getParameter("role_desc");
UserInfo userInfo = (UserInfo)request.getSession(false).getAttribute(FlowWebKeys.USER_SESSION);
String creator = userInfo.getUserId();
role.setRoleId(roleId);
role.setRoleName(role_name);
role.setRoleCode(role_code);
role.setRoleType(role_type);
role.setRoleOrder(Long.parseLong(role_order));
role.setRoleDesc(role_desc);
role.setCreator(creator);
//================扩充组织字段====================
List orgExtFieldList=helper.getExtFieldList("role");
fillInputValue(orgExtFieldList,request);
role.setExtFieldList(orgExtFieldList);
//================================================
//保存数据
helper.saveRole(role);
return mapping.findForward("role_save_message");
}
/**
* 删除角色
*/
public ActionForward deleteRole(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)
throws Exception{
String roleId=request.getParameter("roleId");
WfRole role=new WfRole();
role.setRoleId(roleId);
//设置无效标志
role.setRoleState("0");
SysManageHelper helper=new SysManageHelper();
helper.saveRole(role);
return mapping.findForward("role_delete_message");
}
/**
* 取得选择用户主页面
*/
public ActionForward selectUserToRole(ActionMapping mapping,
ActionForm form,HttpServletRequest request,HttpServletResponse response)
throws Exception{
return mapping.findForward("select_user_to_role");
}
public ActionForward addUserToRole(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)
throws Exception{
String roleId=request.getParameter("roleId");
String selectedUserIds=request.getParameter("selected_user_ids")==null?"":
request.getParameter("selected_user_ids");
String[] ids=selectedUserIds.split(";");
if(ids!=null&&ids.length>0){
List userList=new ArrayList();
for(int i=0;i<ids.length;i++){
WfUser user=new WfUser();
user.setUserId(ids[i]);
userList.add(user);
}
SysManageHelper helper=new SysManageHelper();
//保存数据
helper.addUserToRole(userList,roleId);
}
return mapping.findForward("add_user_to_role_message");
}
/**
* 将用户从当前角色中移出,只是将用户与角色的关联删除
*/
public ActionForward deleteUserFromRole(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)
throws Exception{
String userId=request.getParameter("user_id")==null?"0":
request.getParameter("user_id");
String roleId=request.getParameter("roleId");
SysManageHelper helper=new SysManageHelper();
helper.deleteUserFromRole(userId,roleId);
return mapping.findForward("user_delete_from_role_message");
}
private void fillInputValue(List extFieldList,HttpServletRequest request){
WfExtField field=null;
String inputName="",inputValue="";
if(extFieldList!=null&&extFieldList.size()>0){
for(int i=0;i<extFieldList.size();i++){
field=(WfExtField)extFieldList.get(i);
inputName=field.getInputObjName();
if(field.isMultiValue()){ //如果是多值,则各值间以‘,’分隔
String[] multiValArray=request.getParameterValues(inputName);
if(multiValArray!=null&&multiValArray.length>0){
inputValue+=multiValArray[i]+",";
}
if(inputValue.length()>0){
inputValue=inputValue.substring(0,inputValue.length()-1);
}
}
else{
inputValue=request.getParameter(inputName);
}
field.setFieldValue(inputValue);
}
}
}
private WfRole queryRole(String roleId,Map valueMap)throws Exception{
SysManageHelper helper=new SysManageHelper();
WfRole roleInfo = helper.queryRoleById(roleId);
if(roleInfo != null){
//传递扩展字段内容至业务系统自定义的扩展角色页
List extFieldList = roleInfo.getExtFieldList();
WfExtField extField = null;
if(extFieldList != null && extFieldList.size()>0){
for(int i=0;i<extFieldList.size();i++){
extField = (WfExtField)extFieldList.get(i);
valueMap.put(extField.getInputObjName(),extField.getFieldValue());
}
}
}
return roleInfo;
}
private WfUser queryUser(String userId,Map extValueMap)throws Exception{
SysManageHelper helper = new SysManageHelper();
WfUser userInfo = helper.queryUserById(userId);
if(userInfo != null){
//保存扩展字段内容
List extFieldList = userInfo.getExtFieldList();
WfExtField extField = null;
if(extFieldList != null && extFieldList.size() > 0){
for(int i=0;i<extFieldList.size();i++){
extField = (WfExtField)extFieldList.get(i);
extValueMap.put(extField.getInputObjName(),extField.getFieldValue());
}
}
}
return userInfo;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -