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

📄 orgusermanageservice.java

📁 公司自己开发的工作流引擎
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
              b=false;
            }
            else{
              b=true;
            }
          }
          else{
            //返回结果大于1,则说明id已经存在
            b=true;
          }
        }
      }
    }
    return b;
  }

  private OrgUserTree orgToOrgUserTree(WfOrganization org){
    OrgUserTree tree=null;
    if(org!=null){
      tree=new OrgUserTree();
      tree.setId(org.getOrgId());
      tree.setName(org.getOrgName());
      tree.setParentId(org.getUpOrg());
      tree.setType("org");
      if(org.isHasUser()||org.isHasChildren()){
        tree.setHasChildren(true);
      }
      tree.setOrder(org.getOrgOrder());
    }
    return tree;
  }

  private RoleOrgUserTree OrgToRoleOrgUserTree(WfOrganization org,
      String manageRoleId){
    RoleOrgUserTree tree=null;
    if(org!=null){
      tree=new RoleOrgUserTree();
      tree.setId(org.getOrgId());
      tree.setName(org.getOrgName());
      tree.setParentId(org.getUpOrg());
      tree.setType("org");
      if(org.isHasUser()||org.isHasChildren()){
        tree.setHasChildren(true);
      }
      tree.setOrder(org.getOrgOrder());
      tree.setManageRoleId(manageRoleId);
    }
    return tree;
  }

  private OrgUserTree userToOrgUserTree(WfUser user,String orgId){
    OrgUserTree tree=null;
    if(user!=null){
      tree=new OrgUserTree();
      tree.setId(user.getUserId());
      tree.setName(user.getUserName());
      tree.setParentId(orgId);
      tree.setType("user");
      tree.setOrder(user.getUserOrder());
      tree.setHasChildren(false);
    }
    return tree;
  }

  private RoleOrgUserTree userToRoleOrgUserTree(WfUser user,String orgId,
      String roleId){
    RoleOrgUserTree tree=null;
    if(user!=null){
      tree=new RoleOrgUserTree();
      tree.setId(user.getUserId());
      tree.setName(user.getUserName());
      tree.setParentId(orgId);
      tree.setType("user");
      tree.setOrder(user.getUserOrder());
      tree.setHasChildren(false);
      tree.setManageRoleId(roleId);
    }
    return tree;
  }

  /**
   * 将人员加入组织
   * @param userList List 人员列表
   * @param orgId String 组织id
   * @throws Exception
   */
  public void addUserToOrg(List userList,String orgId)
      throws Exception{
    if(userList!=null&&userList.size()>0&&orgId!=null&&!orgId.equals("")){
      List relList=new ArrayList();
      for(int i=0;i<userList.size();i++){
        WfUser user=(WfUser)userList.get(i);
        WfOrgUserRole rel=new WfOrgUserRole();
        rel.setOrgId(orgId);
        rel.setUserId(user.getUserId());
        rel.setRoleId("0");
        relList.add(rel);
      }
      if(relList.size()>0){
        WfOrgUserRoleDAO dao=new WfOrgUserRoleDAO();
        dao.insert(relList);
      }
    }
  }

  /**
   * 将组织人员加入到管理角色
   * @param userList List 人员列表
   * @param orgId String 组织id
   * @throws Exception
   */
  public void addOrgUserToRole(List orgList,List userList,String roleId,
      List orgOperationList,List userOperationList)
      throws Exception{
    List roleUserList=new ArrayList();
    List roleOrgList=new ArrayList();

    if(orgList!=null&&orgList.size()>0&&roleId!=null&&!roleId.equals("")){
      for(int i=0;i<orgList.size();i++){
        WfOrganization org=(WfOrganization)orgList.get(i);
        WfManageRoleAuthorization authorization=new WfManageRoleAuthorization();
        authorization.setManageRoleId(roleId);
        authorization.setManagedId(org.getOrgId());
        authorization.setHavaOperationAuthorization(true);
        roleOrgList.add(authorization);

        //获取该部门的所有的上级部门信息
        WfOrganizationDAO orgDao=new WfOrganizationDAO();
        List orgAllParentOrgList=orgDao.getAllParentOrgInfoByOrgId(org.getOrgId());
        for(int j=0;j<orgAllParentOrgList.size();j++){
          org=(WfOrganization)orgAllParentOrgList.get(j);
          authorization=new WfManageRoleAuthorization();
          authorization.setManageRoleId(roleId);
          authorization.setManagedId(org.getOrgId());
          roleOrgList.add(authorization);
        }
      }
    }

    if(userList!=null&&userList.size()>0&&roleId!=null&&!roleId.equals("")){
      for(int i=0;i<userList.size();i++){
        WfUser user=(WfUser)userList.get(i);
        WfManageRoleAuthorization authorization=new
            WfManageRoleAuthorization();
        authorization.setManageRoleId(roleId);
        authorization.setManagedId(user.getUserId());
        authorization.setHavaOperationAuthorization(true);
        roleUserList.add(authorization);
        //获取该用户所属的部门和所有的上级部门信息
        WfOrganizationDAO orgDao=new WfOrganizationDAO();
        List userAllParentOrgList=orgDao.getAllParentOrgInfoByUserId(user.
            getUserId());
        for(int j=0;j<userAllParentOrgList.size();j++){
          WfOrganization org=(WfOrganization)userAllParentOrgList.get(j);
          authorization=new WfManageRoleAuthorization();
          authorization.setManageRoleId(roleId);
          authorization.setManagedId(org.getOrgId());
          roleOrgList.add(authorization);
        }
      }
      if(roleUserList.size()>0){
        WfManageRoleAuthorizationDAO dao=new WfManageRoleAuthorizationDAO();
        dao.insert(roleUserList,"user",userOperationList);
      }
    }

    if(roleOrgList.size()>0){
      WfManageRoleAuthorizationDAO dao=new WfManageRoleAuthorizationDAO();
      dao.insert(roleOrgList,"org",orgOperationList);
    }
  }

  /**
   * 删除用户,并未真正删除用户,只是置无效标志,将用户与部门、角色的关联删除
   * @param userId 用户id
   */
  public void deleteUser(String userId)
      throws Exception{
    if(userId!=null&&!userId.equals("")){
      WfUserDAO userDAO=new WfUserDAO();
      WfUser userTemp=new WfUser();
      //置无效标志
      userTemp.setUserState("0");
      userDAO.update(userTemp,userId);

      //将用户与部门、角色的关联删除
      WfOrgUserRoleDAO relDAO=new WfOrgUserRoleDAO();
      relDAO.deleteUserRel(userId);
    }
  }

  /**
   * 将用户从当前部门中移出,只是将用户与部门的关联删除
   * @param user WfUser
   */
  public void deleteUserFromOrg(String userId,String orgId)
      throws Exception{
    if(userId!=null&&!userId.equals("")&&orgId!=null&&!orgId.equals("")){
      //将用户与部门的关联删除
      WfOrgUserRoleDAO relDAO=new WfOrgUserRoleDAO();
      relDAO.deleteUserFromOrg(userId,orgId);
    }
  }

  //取得指定用户的所属的组织部门和所有父组织
  public List getAllParentOrgByUser(String userId)
      throws Exception{
    List orgList=new ArrayList();
    return orgList;
  }

  /**
   * 查询业务系统在wf_user之外扩充的字段
   *
   * @return List
   * @throws Exception
   */
  public List getUserExtFieldList()throws Exception{
   WfUserDAO userDao = new WfUserDAO();
   List extFieldList = userDao.getUserExtFieldList();

    return extFieldList;
  }

  /**
   * 查询业务系统在wf_organization之外扩充的字段
   *
   * @return List
   * @throws Exception
   */
  public List getOrgExtFieldList()throws Exception{
   WfOrganizationDAO orgDao = new WfOrganizationDAO();
   List extFieldList = orgDao.getOrgExtFieldList();

    return extFieldList;
  }

  /**
   * 根据组织ID查询组织信息
   *
   * @param orgId String
   * @return WfOrganization
   * @throws Exception
   */
  public WfOrganization queryOrgById(String orgId)throws Exception{
    WfOrganizationDAO orgDao = new WfOrganizationDAO();
    WfOrganization orgInfo = orgDao.getOrgInfo(orgId);
    if(orgInfo != null){
    orgInfo.setExtFieldList(orgDao.getExtFieldValueList(orgId));
  }

    return orgInfo;
  }

  /**
   * 根据用户ID查询用户信息
   *
   * @param userId String
   * @return WfUser
   * @throws Exception
   */
  public WfUser queryUserById(String userId)throws Exception{
    WfUserDAO userDao = new WfUserDAO();

    WfUser userInfo = userDao.getUserInfo(userId);
    if(userInfo != null)
      userInfo.setExtFieldList(userDao.getExtFieldValueList(userId));

    return userInfo;
  }

  public List queryOrgTreeList(String orgId,String areaId,String userId)throws Exception{
    List treeList=new ArrayList();
    WfOrganizationDAO orgDAO=new WfOrganizationDAO();
    List orgList=orgDAO.query(orgId,areaId,userId,true,true);
    //将WfOrganization转化为OrgUserTree
    if(orgList!=null&&orgList.size()>0){
      for(int i=0;i<orgList.size();i++){
        WfOrganization org=(WfOrganization)orgList.get(i);
          treeList.add(org);
      }
    }

    return treeList;
  }

  public List queryOrgTreeList(String orgId,String areaId)throws Exception{
    List treeList=new ArrayList();
    WfOrganizationDAO orgDAO=new WfOrganizationDAO();
    List orgList=orgDAO.query(orgId,areaId,true,true);
    //将WfOrganization转化为OrgUserTree
    if(orgList!=null&&orgList.size()>0){
      for(int i=0;i<orgList.size();i++){
        WfOrganization org=(WfOrganization)orgList.get(i);
          treeList.add(org);
      }
    }

    return treeList;
  }

  /**
   * 把用户从一个部门转移到另一个部门
   *
   * @param originalOrgId String      //原部门ID
   * @param destinationOrgId String   //目的部门ID
   * @param userId String             //用户ID
   * @throws Exception
   */
  public void transferUser(String originalOrgId,String destinationOrgId,String userId)throws Exception{
    //先解除用户与原来组织的关系
    this.deleteUserFromOrg(userId,originalOrgId);

    //建立用户与新部门的关系
    WfOrgUserRoleDAO dao=new WfOrgUserRoleDAO();
    WfOrgUserRole relVo = new WfOrgUserRole();
    relVo.setRoleId("0");
    relVo.setOrgId(destinationOrgId);
    relVo.setUserId(userId);

    dao.insert(relVo);
  }
}

⌨️ 快捷键说明

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