zhongrj
2024-01-18 77fea47f1fa683f9a0356df3d2328e2bb68b28cf
src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
@@ -19,6 +19,9 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
import org.flowable.idm.engine.impl.persistence.entity.UserEntity;
import org.springblade.common.cache.SysCache;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.grid.entity.GridEntity;
@@ -28,8 +31,10 @@
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.grid.service.IGridmanService;
import org.springblade.modules.grid.vo.GridmanVO;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.Region;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IRegionService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -56,12 +61,11 @@
   @Autowired
   private IGridService gridService;
   @Autowired
   private IRegionService regionService;
   @Override
   public IPage<GridmanVO> selectGridmanPage(IPage<GridmanVO> page, GridmanVO gridman) {
      return page.setRecords(baseMapper.selectGridmanPage(page, gridman));
      List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
      Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
      return page.setRecords(baseMapper.selectGridmanPage(page, gridman,regionChildCodesList,isAdministrator));
   }
   /**
@@ -95,11 +99,26 @@
            }
            //插入网格员信息
            gridman.setUserId(user.getId());
            flag = save(gridman);
            //匹配
            QueryWrapper<GridmanEntity> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("is_deleted",0)
               .eq("grid_id",gridman.getGridId())
               .eq("user_id",gridman.getUserId());
            GridmanEntity one = getOne(queryWrapper);
            if (null==one){
               flag = save(gridman);
            }
         } else {
            saveUser(gridman);
            // 插入网格员信息
            flag = save(gridman);
            //匹配
            QueryWrapper<GridmanEntity> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("is_deleted",0)
               .eq("grid_id",gridman.getGridId())
               .eq("user_id",gridman.getUserId());
            GridmanEntity one = getOne(queryWrapper);
            if (null==one){
               flag = save(gridman);
            }
         }
      }
      // 返回
@@ -139,31 +158,22 @@
    * @param isCovered
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public void importGridman(List<GridmanExcel> data, Boolean isCovered) {
      // 遍历
      for (GridmanExcel gridmanExcel : data) {
         GridmanEntity gridmanEntity = Objects.requireNonNull(BeanUtil.copy(gridmanExcel, GridmanEntity.class));
         // 先查询当前网格社区对应的机构id
         QueryWrapper<Region> regionWrapper = new QueryWrapper<>();
         regionWrapper.eq("name",gridmanExcel.getCommunityName());
         Region region = regionService.getOne(regionWrapper);
         // 通过社区名称和网格名称获取网格id
         QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("is_deleted",0)
            .eq("community_code",region.getCode())
            .eq("grid_name",gridmanExcel.getGridName());
            .eq("grid_code",gridmanExcel.getGridCode());
         GridEntity gridEntity = gridService.getOne(queryWrapper);
         // 设置网格id
         gridmanEntity.setGridId(gridEntity.getId());
         // 通过手机号查询网格员id
         QueryWrapper<GridmanEntity> wrapper = new QueryWrapper<>();
         wrapper.eq("is_deleted",0).eq("mobile",gridmanEntity.getMobile());
         GridmanEntity one = getOne(wrapper);
         if (one!=null){
            gridmanEntity.setId(one.getId());
         }
         // 插入网格员
         saveOrUpdateGridman(gridmanEntity);
         if (!Strings.isBlank(gridmanExcel.getMobile())) {
            saveOrUpdateGridman(gridmanEntity);
         }
      }
   }
@@ -207,4 +217,19 @@
   public GridmanVO getDetail(GridmanEntity gridman) {
      return baseMapper.getDetail(gridman);
   }
   /**
    * 查询网格id
    * @param userId
    * @return
    */
   @Override
   public Integer getGridIdByUserId(Long userId) {
      return baseMapper.getGridIdByUserId(userId);
   }
   @Override
   public List<UserEntity> getGridManByCode(String houseCode) {
      return baseMapper.getGridManByCode(houseCode);
   }
}