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

📄 roleusermanageaction.java

📁 公司自己开发的工作流引擎
💻 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 + -