DeptLevelUtil.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.sooka.sponest.data.utils;
  2. import com.ruoyi.common.core.domain.R;
  3. import com.ruoyi.common.core.utils.StringUtils;
  4. import com.ruoyi.common.security.utils.SecurityUtils;
  5. import com.ruoyi.system.api.RemoteDeptService;
  6. import com.ruoyi.system.api.domain.SysDept;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Component;
  9. import java.util.ArrayList;
  10. import java.util.HashMap;
  11. import java.util.List;
  12. import java.util.Map;
  13. @Component
  14. public class DeptLevelUtil {
  15. @Autowired
  16. private RemoteDeptService remoteDeptService;
  17. public R getDeptLevel(List<Map<String,Object>> list) {
  18. String deptId = SecurityUtils.getLoginUser().getSysUser().getDeptId().toString();
  19. List<SysDept> sysDeptList = remoteDeptService.selectChildrenCountyOrVillagesDeptListByDeptId(deptId).getData();
  20. if (StringUtils.isEmpty(list)&&list==null){
  21. return R.ok(sysDeptList);
  22. }
  23. if (!list.get(0).containsKey("ancestors")||!list.get(0).containsKey("deptId")){
  24. return R.fail("入参没有key:'ancestors'或没有key:'deptId'");
  25. }
  26. List<Map<String,Object>> mapList = new ArrayList<>();
  27. for (SysDept sysDept : sysDeptList){//部门
  28. Map<String,Object> map = new HashMap<>();
  29. //map中增加key
  30. for (String key : list.get(0).keySet()) {
  31. if (!key.equals("ancestors")&&!key.equals("deptId")){
  32. map.put(key,0);
  33. }
  34. }
  35. for (Map<String,Object> ancestors : list){//资源数据
  36. if (ancestors.get("ancestors").toString().concat(",").concat(ancestors.get("deptId").toString()).contains(sysDept.getAncestors().concat(",").concat(sysDept.getDeptId().toString()))){
  37. for (String key : ancestors.keySet()) {
  38. if (!key.equals("ancestors")&&!key.equals("deptId")){
  39. map.put(key,Long.parseLong(map.get(key).toString())+Long.parseLong(ancestors.get(key).toString()));
  40. }
  41. }
  42. }
  43. }
  44. map.put("deptId",sysDept.getDeptId());
  45. map.put("deptName",sysDept.getDeptName());
  46. mapList.add(map);
  47. }
  48. return R.ok(mapList);
  49. }
  50. }