예제 #1
0
  @RequestMapping("/viewMenu.do")
  public String viewMenuAction() {
    List<Menu> topMenu = new ArrayList<Menu>();
    Map<Menu, List<Menu>> childMenus = new HashMap<Menu, List<Menu>>();

    String isBoss = (String) this.getSession().getAttribute(Constants.SESSION_CURRENT_USER_IS_BOS);
    if ("1".equals(isBoss)) {
      List<Menu> menuList =
          ServiceLocator.getMenuService().getMenusByScope(ADEConstants.SUBSYSTEM_DEFINITION_ADE);
      for (Menu menu : menuList) {
        if (menu.getParentMenu() == null) {
          topMenu.add(menu);
        } else {
          if (childMenus.get(menu.getParentMenu()) != null) {
            childMenus.get(menu.getParentMenu()).add(menu);
          } else {
            List<Menu> childs = new ArrayList<Menu>();
            childs.add(menu);
            childMenus.put(menu.getParentMenu(), childs);
          }
        }
      }

    } else {

      List<Role> roleList =
          (List<Role>) this.getSession().getAttribute(ADEConstants.ADE_SESSION_CURRENT_ROLE);

      for (Role role : roleList) {
        if (role != null) {
          List<Menu> menuList = role.getMenus();

          for (Menu menu : menuList) {
            if (menu.getParentMenu() == null) {
              topMenu.add(menu);
            } else {
              if (childMenus.get(menu.getParentMenu()) != null) {
                childMenus.get(menu.getParentMenu()).add(menu);
              } else {
                List<Menu> childs = new ArrayList<Menu>();
                childs.add(menu);
                childMenus.put(menu.getParentMenu(), childs);
              }
            }
          }
        }
      }
    }

    this.getRequest().setAttribute("topMenu", topMenu);
    this.getRequest().setAttribute("childMenus", childMenus);
    return ADEConstants.ADE_JSP_ROOT + "common/menu";
  }
예제 #2
0
파일: InitData.java 프로젝트: kingoin/kgecp
  private void initCRMRole() {
    List<ResourceType> rts = session.createQuery("from ResourceType rt").list();

    Map<String, ResourceType> rtMap = new HashMap<String, ResourceType>();
    for (ResourceType rt : rts) {
      rtMap.put(rt.getName(), rt);
    }

    List<Menu> menus = session.createQuery("from Menu m where m.scope = 'crm'").list();
    Map<String, Menu> menuMap = new HashMap<String, Menu>();
    for (Menu menu : menus) {
      menuMap.put(menu.getPath(), menu);
    }

    //		Role admin = new Role();
    //		admin.setName("系统管理员");
    //		admin.setSysAdmin(true);
    //		admin.setCode(Role.ROLE_ADMIN);
    //		admin.setDescription("拥有系统管理的权限");
    //		admin.addMenu(menuMap.get("系统管理"));
    //		admin.addMenu(menuMap.get("系统管理/企业管理"));
    //		admin.addMenu(menuMap.get("系统管理/用户管理"));
    //		session.save(admin);

    SubSystemDefinition ssd =
        (SubSystemDefinition)
            session
                .createQuery("from SubSystemDefinition ssd where ssd.code = 'crm'")
                .uniqueResult();
    Role account = new Role();
    account.setName("账户管理");
    account.setCode(Role.ROLE_CODE_CRM_ACCOUNT);
    account.setDescription("拥有账户管理的权限");
    account.setSubSystem(ssd);
    account.addPermission(new Permission(rtMap.get(ResourceType.RES_TYPE_CRMACCOUNT), "*"));
    account.addMenu(menuMap.get("账户管理"));
    account.addMenu(menuMap.get("账户管理/用户管理"));
    account.addMenu(menuMap.get("账户管理/部门管理"));
    account.addMenu(menuMap.get("账户管理/数据字典管理"));
    account.addMenu(menuMap.get("账户管理/客户完整度管理"));
    account.setType("company|agency|provider");
    account.setResourceType(rtMap.get(ResourceType.RES_TYPE_ACCOUNT));
    session.save(account);

    Role sell = new Role();
    sell.setName("销售人员");
    sell.setCode(Role.ROLE_CODE_CRM_SELL);
    sell.setDescription("拥有销售机会管理的权限");
    sell.addPermission(new Permission(rtMap.get(ResourceType.RES_TYPE_CUSTOMER), "*"));
    sell.addPermission(new Permission(rtMap.get(ResourceType.RES_TYPE_SELL), "*"));
    //		sell.addMenu(menuMap.get("客户管理"));
    //		sell.addMenu(menuMap.get("客户管理/客户管理"));
    //		sell.addMenu(menuMap.get("客户管理/联系人管理"));
    //		sell.addMenu(menuMap.get("客户管理/客户关怀"));
    //		sell.addMenu(menuMap.get("客户管理/客户所有人查询"));
    //		sell.addMenu(menuMap.get("销售管理"));
    //		sell.addMenu(menuMap.get("销售管理/销售机会管理"));
    //		sell.addMenu(menuMap.get("销售管理/合同管理"));
    sell.setSubSystem(ssd);
    sell.setType("company|agency|provider");
    sell.setResourceType(rtMap.get(ResourceType.RES_TYPE_ACCOUNT));
    session.save(sell);

    Role customService = new Role();
    customService.setName("客户服务");
    customService.setCode(Role.ROLE_CODE_CRM_SERVICE);
    customService.setDescription("拥有客户服务管理的权限");
    customService.addPermission(new Permission(rtMap.get(ResourceType.RES_TYPE_CUSTOMER), "*"));
    //		customService.addMenu(menuMap.get("客户管理"));
    //		customService.addMenu(menuMap.get("客户管理/客户管理"));
    //		customService.addMenu(menuMap.get("客户管理/联系人管理"));
    //		customService.addMenu(menuMap.get("客户管理/客户关怀"));
    //		customService.addMenu(menuMap.get("客户管理/客户所有人查询"));
    //		customService.addMenu(menuMap.get("客服管理"));
    //		customService.addMenu(menuMap.get("客服管理/通话记录管理"));
    customService.setSubSystem(ssd);
    customService.setType("company|agency|provider");
    customService.setResourceType(rtMap.get(ResourceType.RES_TYPE_ACCOUNT));
    session.save(customService);

    //		Role resourceManager = new Role();
    //		resourceManager.setName("资源管理");
    //		resourceManager.setCode(Role.RESOURCE_MANAGER);
    //		resourceManager.setDescription("拥有资源审批的权限");
    //		resourceManager.addPermission(new Permission(rtMap.get(ResourceType.RES_TYPE_CUSTOMER),
    // "*"));
    //		resourceManager.addPermission(new Permission(rtMap.get(ResourceType.RES_TYPE_SELL), "*"));
    //		resourceManager.addMenu(menuMap.get("客户管理"));
    //		resourceManager.addMenu(menuMap.get("客户管理/客户管理"));
    //		resourceManager.addMenu(menuMap.get("客户管理/联系人管理"));
    //		resourceManager.addMenu(menuMap.get("客户管理/客户关怀"));
    //		resourceManager.addMenu(menuMap.get("客户管理/客户关怀"));
    //		resourceManager.addMenu(menuMap.get("客户管理/客户所有人查询"));
    //		resourceManager.addMenu(menuMap.get("客户管理/统计分析/客户类型分布"));
    //		resourceManager.addMenu(menuMap.get("客户管理/统计分析/客户来源分布"));
    //		resourceManager.addMenu(menuMap.get("客户管理/统计分析/客户行业分布"));
    //		resourceManager.addMenu(menuMap.get("客户管理/统计分析/客户规模分布"));
    //		resourceManager.addMenu(menuMap.get("客户管理/统计分析/销售进程分布"));
    //		resourceManager.addMenu(menuMap.get("客户管理/统计分析/销售机会所有人分布"));
    //		resourceManager.addMenu(menuMap.get("客户管理/统计分析/预计金额分布"));
    //		resourceManager.addMenu(menuMap.get("销售管理"));
    //		resourceManager.addMenu(menuMap.get("销售管理/销售机会管理"));
    //		resourceManager.addMenu(menuMap.get("销售管理/合同管理"));
    //		session.save(resourceManager);

    Role sellManager = new Role();
    sellManager.setName("销售管理");
    sellManager.setCode(Role.ROLE_CODE_CRM_MANAGER);
    sellManager.setDescription("拥有销售管理的权限");
    sellManager.addPermission(new Permission(rtMap.get(ResourceType.RES_TYPE_CUSTOMER), "*"));
    sellManager.addPermission(new Permission(rtMap.get(ResourceType.RES_TYPE_SELL), "*"));
    sellManager.addMenu(menuMap.get("客户管理"));
    sellManager.addMenu(menuMap.get("客户管理/客户管理"));
    sellManager.addMenu(menuMap.get("客户管理/联系人管理"));
    sellManager.addMenu(menuMap.get("客户管理/客户关怀"));
    sellManager.addMenu(menuMap.get("销售管理"));
    sellManager.addMenu(menuMap.get("销售管理/销售机会管理"));
    sellManager.addMenu(menuMap.get("销售管理/合同管理"));
    //		sellManager.addMenu(menuMap.get("销售管理/统计报表"));
    //		sellManager.addMenu(menuMap.get("销售管理/统计报表/呼叫统计"));
    //		sellManager.addMenu(menuMap.get("销售管理/统计报表/广告分析统计"));
    //		sellManager.addMenu(menuMap.get("销售管理/统计报表/销售分析统计"));
    //		sellManager.addMenu(menuMap.get("销售管理/统计报表/客户分析统计"));
    sellManager.addMenu(menuMap.get("客服管理"));
    sellManager.addMenu(menuMap.get("客服管理/通话记录管理"));
    sellManager.setSubSystem(ssd);
    sellManager.setType("company|agency|provider");
    sellManager.setResourceType(rtMap.get(ResourceType.RES_TYPE_ACCOUNT));
    session.save(sellManager);
  }