linwe
2023-12-26 eb55b4133ae6b3df80d8d14fbc5b32928f296fd7
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -29,6 +29,7 @@
import org.springblade.modules.grid.entity.GridRangeEntity;
import org.springblade.modules.grid.service.IGridRangeService;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.grid.service.IGridmanService;
import org.springblade.modules.grid.vo.GridVO;
import org.springblade.modules.place.entity.*;
import org.springblade.modules.place.excel.PlaceAndRelExcel;
@@ -39,7 +40,9 @@
import org.springblade.modules.place.vo.PlaceVO;
import org.springblade.modules.place.mapper.PlaceMapper;
import org.springblade.modules.place.service.IPlaceService;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -77,6 +80,12 @@
   @Autowired
   private IGridRangeService gridRangeService;
   @Autowired
   private IGridmanService gridmanService;
   @Autowired
   private IDeptService deptService;
   /**
    * 自定义列表查询
    * @param page
@@ -85,6 +94,10 @@
    */
   @Override
   public IPage<PlaceVO> selectPlacePage(IPage<PlaceVO> page, PlaceVO place) {
      Dept dept = deptService.getById(AuthUtil.getDeptId());
      if (null!=dept){
         place.setRegionCode(dept.getRegionCode());
      }
      List<String> list = new ArrayList<>();
      if (null!=place.getRoleName() && !place.getRoleName().equals("")){
         if (place.getRoleName().equals("网格员")){
@@ -103,6 +116,8 @@
         GridVO gridVO = gridService.getGridDetailByHouseCode(placeVO.getHouseCode());
         if (null!= gridVO){
            placeVO.setGridName(gridVO.getGridName());
//            placeVO.setNeiName(gridVO.getCommunityName());
//            placeVO.setTownStreetName(gridVO.getTownStreetName());
         }
      }
      // 返回
@@ -183,15 +198,32 @@
      if (null!=placeVO.getGridId()){
         // 判断关联关系表是否存在
         QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>();
         wrapper.eq("grid_id",placeVO.getGrid()).eq("house_code",placeVO.getHouseCode());
         wrapper.eq("grid_id",placeVO.getGridId()).eq("house_code",placeVO.getHouseCode());
         GridRangeEntity one = gridRangeService.getOne(wrapper);
         if (null!=one){
         if (null==one){
            // 新增
            GridRangeEntity gridRangeEntity = new GridRangeEntity();
            gridRangeEntity.setHouseCode(placeVO.getHouseCode());
            gridRangeEntity.setGridId(placeVO.getGridId());
            // 插入
            gridRangeService.save(gridRangeEntity);
         }
      }else {
         // 判断网格员,查询对应网格人对应的网格id
         Integer gridId = gridmanService.getGridIdByUserId(AuthUtil.getUserId());
         if (null!=gridId){
            // 判断关联关系表是否存在
            QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>();
            wrapper.eq("grid_id",gridId).eq("house_code",placeVO.getHouseCode());
            GridRangeEntity one = gridRangeService.getOne(wrapper);
            if (null==one){
               // 新增
               GridRangeEntity gridRangeEntity = new GridRangeEntity();
               gridRangeEntity.setHouseCode(placeVO.getHouseCode());
               gridRangeEntity.setGridId(gridId);
               // 插入
               gridRangeService.save(gridRangeEntity);
            }
         }
      }
   }
@@ -351,6 +383,7 @@
      PlaceExtEntity one = placeExtService.getOne(wrapper);
      if (null == one) {
         placeExtEntity.setPlaceId(placeVO.getId());
         placeExtEntity.setLocaltion(placeVO.getLocaltion());
         //新增
         placeExtService.savePlaceExt(placeExtEntity);
      }
@@ -636,4 +669,47 @@
      // 返回
      return flag;
   }
   /**
    * 场所标签数据处理
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public Object placeLabelHandle() {
      // 查询所有的标签绑定
      List<PlacePoiLabel> list = placePoiLabelService.getPlacePoiLabelList();
      // 遍历
      for (PlacePoiLabel placePoiLabel : list) {
         // 处理单个
         String labelCode = placePoiLabel.getPoiCode().toString();
         // 切割成三个,分别是大类,中类,小类
         String bigString = labelCode.substring(0,2);
         String midString = labelCode.substring(0,4);
         // 大类
         PlacePoiLabel big = new PlacePoiLabel();
         big.setPlaceId(placePoiLabel.getPlaceId());
         big.setPoiCode(Integer.parseInt(bigString));
         big.setType(1);
         // 保存前先判断
         QueryWrapper<PlacePoiLabel> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("place_id",placePoiLabel.getPlaceId()).eq("poi_code",Integer.parseInt(bigString));
         PlacePoiLabel one = placePoiLabelService.getOne(queryWrapper);
         if (null==one) {
            placePoiLabelService.save(big);
         }
         // 中类
         PlacePoiLabel mid = new PlacePoiLabel();
         mid.setPlaceId(placePoiLabel.getPlaceId());
         mid.setPoiCode(Integer.parseInt(midString));
         mid.setType(2);
         // 保存前先判断
         QueryWrapper<PlacePoiLabel> wrapper = new QueryWrapper<>();
         wrapper.eq("place_id",placePoiLabel.getPlaceId()).eq("poi_code",Integer.parseInt(midString));
         PlacePoiLabel two = placePoiLabelService.getOne(wrapper);
         if (null==two) {
            placePoiLabelService.save(mid);
         }
      }
      return null;
   }
}