lin
2024-03-20 70a29ae28b85643e00a4b7fbf111a95646a24dc2
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -36,6 +36,8 @@
import org.springblade.modules.community.service.ICommunityService;
import org.springblade.modules.grid.entity.GridEntity;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.property.entity.PropertyCompanyEntity;
import org.springblade.modules.property.service.IPropertyCompanyService;
import org.springblade.modules.system.entity.Dept;
@@ -52,6 +54,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -252,7 +255,7 @@
            dept.setId(one.getId());
            flag = updateById(dept);
         } else {
            if (dept.getId() > 0) {
            if (dept.getId() != null && dept.getId() > 0) {
               flag = updateById(dept);
            } else {
               flag = save(dept);
@@ -321,7 +324,7 @@
   public Object dataHandle() {
      // 查询所有的社区
      QueryWrapper<Region> queryWrapper = new QueryWrapper<>();
      queryWrapper.eq("district_code","361102").eq("region_level",5);
      queryWrapper.eq("district_code", "361102").eq("region_level", 5);
      List<Region> list = regionService.list(queryWrapper);
      // 遍历
      for (Region region : list) {
@@ -340,7 +343,7 @@
            QueryWrapper<Dept> deptQueryWrapper = new QueryWrapper<>();
            deptQueryWrapper.eq("is_deleted", 0).eq("dept_name", region.getTownName());
            Dept parentDept = getOne(deptQueryWrapper);
            if (null!=parentDept){
            if (null != parentDept) {
               dept.setParentId(parentDept.getId());
               dept.setAncestors(parentDept.getAncestors() + "," + parentDept.getId());
            }
@@ -362,7 +365,7 @@
   public Object dataHandleCommunity() {
      // 查询所有的社区
      QueryWrapper<Region> queryWrapper = new QueryWrapper<>();
      queryWrapper.eq("district_code","361102").eq("region_level",5);
      queryWrapper.eq("district_code", "361102").eq("region_level", 5);
      List<Region> list = regionService.list(queryWrapper);
      // 遍历
      for (Region region : list) {
@@ -406,11 +409,81 @@
   @Override
   public List<DeptUserTreeNode> getDeptAndUserTree(DeptUserTreeNode treeNode) {
      // 查询数据
      Map<String, DeptUserTreeNode> deptMap = baseMapper.getDeptMap(treeNode);
//      Map<String, DeptUserTreeNode> deptMap = baseMapper.getDeptMap(treeNode);
      Map<String, DeptUserTreeNode> deptMap = baseMapper.getDeptMapAndChildren(treeNode);
      Map<String, DeptUserTreeNode> userMap = baseMapper.getUserMap(treeNode);
      deptMap.putAll(userMap);
      List<DeptUserTreeNode> deptAndUserNodeTree = NodeTreeUtil.getDeptAndUserNodeTree(deptMap);
      // 处理并返回
      return deptAndUserNodeTree;
   }
   @Override
   public Object getDeptAndUserTreeLazyTree(DeptUserTreeNode treeNode) {
      //传一个部门id,查询出该部门的下一级部门
      Map<String, DeptUserTreeNode> deptMap = baseMapper.getDeptMapAndChild(treeNode);
      String deptIds = "";
      int count = 0;
      for (String key : deptMap.keySet()) {
         count++;
         deptIds += key;
         if (count < deptMap.size()) {
            deptIds += ",";
         }
      }
      Map<String, DeptUserTreeNode> userMap = baseMapper.getUserMapByDeptIds(deptIds);
      deptMap.putAll(userMap);
      List<DeptUserTreeNode> deptAndUserNodeTree = NodeTreeUtil.getDeptAndUserNodeTree(deptMap);
      return deptAndUserNodeTree;
   }
   /**
    * 数据处理(社区绑定)-- 处理社区(派出所下)
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public Object dataHandleCommunityByPolice() {
      // 查询所有的派出所
      QueryWrapper<Dept> wrapper = new QueryWrapper<>();
      wrapper.eq("is_deleted", 0).like("dept_name", "派出所");
      List<Dept> list = list(wrapper);
      // 遍历
      for (Dept dept : list) {
         // 通过派出所名称查询对应的警务网格信息
         QueryWrapper<PoliceAffairsGridEntity> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("is_deleted", 0).eq("pcs_name", dept.getDeptName());
         List<PoliceAffairsGridEntity> policeAffairsGridEntityList
            = SpringUtil.getBean(IPoliceAffairsGridService.class).list(queryWrapper);
         // 遍历
         for (PoliceAffairsGridEntity policeAffairsGridEntity : policeAffairsGridEntityList) {
            Dept deptInfo = new Dept();
            deptInfo.setTenantId("000000");
            deptInfo.setDeptName(policeAffairsGridEntity.getCommunityName());
            deptInfo.setFullName(policeAffairsGridEntity.getCommunityName());
            deptInfo.setDeptCategory(1);
            deptInfo.setDeptNature(1);
            deptInfo.setParentId(dept.getId());
            deptInfo.setAncestors(dept.getAncestors() + "," + dept.getId());
            deptInfo.setRegionCode(policeAffairsGridEntity.getJwGridCode());
            // 保存
            save(deptInfo);
         }
      }
      return null;
   }
   /**
    * 查询对应的派出所
    *
    * @param deptId
    * @return
    */
   @Override
   public Dept getDeptByDeptIds(String deptId) {
      return baseMapper.getDeptByDeptIds(deptId);
   }
}