zhongrj
2024-02-20 32f523123a41d6ba1d9cfdfa2bc24df768204653
src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
@@ -210,52 +210,61 @@
   @Transactional(rollbackFor = Exception.class)
   public boolean saveOrUpdateGrid(GridEntity grid) {
      boolean flag = false;
      // 先查询当前网格社区对应的机构id
      QueryWrapper<Region> regionWrapper = new QueryWrapper<>();
      regionWrapper.eq("code",grid.getCommunityCode());
      Region region = regionService.getOne(regionWrapper);
      // 查询父机构(社区机构)
      System.out.println("社区名称 = " + region.getName());
      QueryWrapper<Dept> wrapper = new QueryWrapper<>();
      wrapper.eq("dept_name",region.getName())
         .eq("is_deleted",0);
      Dept dept = deptService.getOne(wrapper);
      // 查询当前网格在机构中是否存在,存在不做操作,否则则新增
      QueryWrapper<Dept> wrapperChild = new QueryWrapper<>();
      wrapperChild.eq("dept_name",grid.getGridName())
         .eq("is_deleted",0)
         .eq("parent_id",dept.getId());
      List<Dept> deptChild = deptService.list(wrapperChild);
      if (deptChild.size()==0){
         Dept deptInfo = new Dept();
         deptInfo.setParentId(dept.getId());
         deptInfo.setFullName(grid.getGridName());
         deptInfo.setDeptName(grid.getGridName());
         deptInfo.setDeptCategory(1);
         deptInfo.setTenantId("000000");
         deptInfo.setRegionCode(grid.getGridCode());
         deptInfo.setAncestors(dept.getAncestors() + "," +dept.getId());
         // 新增
         deptService.save(deptInfo);
         // 查询网格是否已存在(社区编号-网格名称),已存在更新,不存在插入新的
         QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("grid_code",grid.getGridCode())
            .eq("is_deleted",0);
         System.out.println("网格编号 = " + grid.getGridCode());
         GridEntity one = getOne(queryWrapper);
         if (null!=one){
            grid.setId(one.getId());
            grid.setDeptId(deptInfo.getId());
            if (null!= grid.getGeom() && grid.getGeom().equals("")){
      if (null!=grid.getId()) {
         // 更新
         flag = updateById(grid);
      }else {
         // 先查询当前网格社区对应的机构id
         QueryWrapper<Region> regionWrapper = new QueryWrapper<>();
         regionWrapper.eq("code", grid.getCommunityCode());
         Region region = regionService.getOne(regionWrapper);
         // 查询父机构(社区机构)
         System.out.println("社区名称 = " + region.getName());
         QueryWrapper<Dept> wrapper = new QueryWrapper<>();
         wrapper.eq("dept_name", region.getName())
            .eq("dept_nature", 2)
            .eq("is_deleted", 0);
         Dept dept = deptService.getOne(wrapper);
         // 查询当前网格在机构中是否存在,存在不做操作,否则则新增
         QueryWrapper<Dept> wrapperChild = new QueryWrapper<>();
         wrapperChild.eq("dept_name", grid.getGridName())
            .eq("is_deleted", 0)
            .eq("dept_nature", 2)
            .eq("parent_id", dept.getId());
         List<Dept> deptChild = deptService.list(wrapperChild);
         if (deptChild.size() == 0) {
            Dept deptInfo = new Dept();
            deptInfo.setParentId(dept.getId());
            deptInfo.setFullName(grid.getGridName());
            deptInfo.setDeptName(grid.getGridName());
            deptInfo.setDeptCategory(1);
            // 综治
            deptInfo.setDeptNature(2);
            deptInfo.setTenantId("000000");
            deptInfo.setRegionCode(grid.getGridCode());
            deptInfo.setAncestors(dept.getAncestors() + "," + dept.getId());
            // 新增
            deptService.save(deptInfo);
            // 查询网格是否已存在(社区编号-网格名称),已存在更新,不存在插入新的
            QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("grid_code", grid.getGridCode())
               .eq("is_deleted", 0);
            System.out.println("网格编号 = " + grid.getGridCode());
            GridEntity one = getOne(queryWrapper);
            if (null != one) {
               grid.setId(one.getId());
               grid.setDeptId(deptInfo.getId());
               if (null != grid.getGeom() && grid.getGeom().equals("")) {
                  grid.setGeom(null);
               }
               // 更新
               flag = updateById(grid);
            } else {
               grid.setDeptId(deptInfo.getId());
               grid.setGeom(null);
               // 插入
               flag = save(grid);
            }
            // 更新
            flag = updateById(grid);
         }else {
            grid.setDeptId(deptInfo.getId());
            grid.setGeom(null);
            // 插入
            flag = save(grid);
         }
      }
      return flag;