/**
  * 设置树节点的图片
  *
  * @param basePath
  * @param position
  */
 private void setIcon(String basePath, Position position) {
   if (position.getId().matches("[1-9][0-9]{1}[0]{4}")) {
     // 省
     position.setIcon(basePath + "source" + "/" + "images" + "/" + "province.png");
     position.setIsParent(true);
   } else if (position.getId().matches("[1-9][0-9][1-9][0-9][0]{2}|[1-9][0-9][0-9][1-9][0]{2}")) {
     // 市
     position.setIcon(basePath + "source" + "/" + "images" + "/" + "city.png");
     position.setIsParent(true);
   } else if (position.getId().matches("[0-9]{4}[1-9][0-9]|[0-9]{4}[0-9][1-9]")) {
     // 区
     position.setIcon(basePath + "source" + "/" + "images" + "/" + "district.png");
     position.setIsParent(false);
   }
 }
 /**
  * 获取树的节点数据
  *
  * @param req 请求参数
  * @return
  */
 @RequestMapping(value = "/euTreeData!getTreeData", method = RequestMethod.GET)
 @ResponseBody
 public JSONArray getEasyUiTreeData(HttpServletRequest req) {
   DbContextHolder.clearDbType();
   HashMap<String, String> map = new HashMap<String, String>();
   List<Position> treeDataByCode = new ArrayList<Position>();
   Account user = (Account) req.getSession().getAttribute("user");
   List<AccountDistrictRel> adRel = new ArrayList<AccountDistrictRel>();
   if (user.getParent_userid() == 0) {
     // 管理员查询所有
     map.put("parent_code", "0");
     treeDataByCode = positionService.getAddrTree(map);
     for (Position position : treeDataByCode) {
       if (position != null) {
         if (position.getLeaf() != 2) {
           position.setIsParent(true);
         }
       }
     }
     user.setLevel(-1);
   } else {
     treeDataByCode = positionService.getPositionByUserid(user.getId().toString());
     adRel = accountService.queryAccountDistrictRel(user);
   }
   Map<String, EasyUiTreeData> treeDatas =
       new HashMap<String, PositionController.EasyUiTreeData>();
   List<PositionController.EasyUiTreeData> mp = new ArrayList<PositionController.EasyUiTreeData>();
   for (AccountDistrictRel ad : adRel) {
     EasyUiTreeData data = new EasyUiTreeData();
     data.setText(ad.getName());
     data.setId(ad.getCode());
     Map<String, String> attributes = new HashMap<String, String>();
     attributes.put("level", user.getLevel().toString());
     attributes.put("pid", ad.getParent_code());
     data.setAttributes(attributes);
     treeDatas.put(ad.getCode(), data);
   }
   for (Position position : treeDataByCode) {
     EasyUiTreeData data = new EasyUiTreeData();
     if (position != null) {
       data.setId(position.getId());
       data.setText(position.getName());
       Map<String, String> attributes = new HashMap<String, String>();
       attributes.put("level", String.valueOf((user.getLevel() + 1)));
       attributes.put("pid", position.getpId());
       data.setAttributes(attributes);
       EasyUiTreeData easyUiTreeData = treeDatas.get(position.getpId());
       if (easyUiTreeData != null) {
         easyUiTreeData.getChildren().add(data);
       } else {
         mp.add(data);
       }
       //				mp.add(data);
     }
   }
   mp.addAll(treeDatas.values());
   JSONArray treeNodes = new JSONArray();
   treeNodes.addAll(mp);
   return treeNodes;
 }