package org.springblade.modules.police.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.common.param.CommonParamSet; import org.springblade.common.utils.SpringUtils; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.SpringUtil; import org.springblade.modules.community.entity.CommunityEntity; import org.springblade.modules.community.service.ICommunityService; import org.springblade.modules.police.entity.PoliceAffairsGridEntity; import org.springblade.modules.police.entity.PoliceStationEntity; import org.springblade.modules.police.excel.PoliceAffairsGridExcel; import org.springblade.modules.police.excel.PoliceStationExcel; import org.springblade.modules.police.service.IPoliceStationService; import org.springblade.modules.police.vo.PoliceAffairsGridVO; import org.springblade.modules.police.mapper.PoliceAffairsGridMapper; import org.springblade.modules.police.service.IPoliceAffairsGridService; import org.springblade.modules.system.entity.User; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.Date; import java.util.List; import java.util.Objects; /** * 警务网格(辖区)表 服务实现类 * * @author BladeX * @since 2024-02-01 */ @Service public class PoliceAffairsGridServiceImpl extends ServiceImpl implements IPoliceAffairsGridService { @Override public IPage selectPoliceAffairsGridPage(IPage page, PoliceAffairsGridVO policeAffairsGrid) { CommonParamSet commonParamSet = new CommonParamSet<>().invoke(PoliceAffairsGridVO.class, policeAffairsGrid); return page.setRecords(baseMapper.selectPoliceAffairsGridPage(page, policeAffairsGrid, commonParamSet.getIsAdministrator(), commonParamSet.getRegionChildCodesList(), commonParamSet.getGridCodeList() )); } /** * 导入警务辖区数据 * @param data * @param isCovered */ @Override public void importPoliceAffairsGrid(List data, Boolean isCovered) { for (PoliceAffairsGridExcel policeAffairsGridExcel : data) { PoliceAffairsGridEntity policeAffairsGridEntity = Objects.requireNonNull(BeanUtil.copy(policeAffairsGridExcel, PoliceAffairsGridEntity.class)); // 查询派出所对应的编号 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("is_deleted",0).eq("name",policeAffairsGridExcel.getPcsName()); PoliceStationEntity stationEntity = SpringUtil.getBean(IPoliceStationService.class).getOne(queryWrapper); if (null!=stationEntity){ policeAffairsGridEntity.setPcsCode(stationEntity.getCode()); } policeAffairsGridEntity.setCreateUser(AuthUtil.getUserId()); policeAffairsGridEntity.setCreateTime(new Date()); policeAffairsGridEntity.setUpdateUser(AuthUtil.getUserId()); policeAffairsGridEntity.setUpdateTime(new Date()); // 新增 save(policeAffairsGridEntity); } } /** * 空间分析 * @param point * @return */ @Override public List spatialAnalysis(String point) { return baseMapper.spatialAnalysis(point); } /** * 查询对应的社区编号 * @param userId * @return */ @Override public List getCommunityCodeListByUserId(Long userId) { return baseMapper.getCommunityCodeListByUserId(userId.toString()); } /** * 警务网格(辖区)表 自定义新增或修改 * @param policeAffairsGrid * @return */ @Override public boolean saveOrUpdatePoliceAffairsGrid(PoliceAffairsGridEntity policeAffairsGrid) { boolean flag = false; // 查询对应的派出所及社区名称 IPoliceStationService policeStationService = SpringUtils.getBean(IPoliceStationService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("code",policeAffairsGrid.getPcsCode()); List policeStationEntityList = policeStationService.list(queryWrapper); if (policeStationEntityList.size()>0){ policeAffairsGrid.setPcsName(policeStationEntityList.get(0).getName()); } ICommunityService communityService = SpringUtils.getBean(ICommunityService.class); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("code",policeAffairsGrid.getCommunityCode()); List communityEntityList = communityService.list(wrapper); if (communityEntityList.size()>0){ policeAffairsGrid.setCommunityName(communityEntityList.get(0).getName()); } if (null!=policeAffairsGrid.getId()){ policeAffairsGrid.setGeom(null); // 更新 flag = updateById(policeAffairsGrid); }else { policeAffairsGrid.setGeom(null); // 新增 flag = save(policeAffairsGrid); } return flag; } }