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<PoliceAffairsGridMapper, PoliceAffairsGridEntity> implements IPoliceAffairsGridService {
|
|
@Override
|
public IPage<PoliceAffairsGridVO> selectPoliceAffairsGridPage(IPage<PoliceAffairsGridVO> 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<PoliceAffairsGridExcel> data, Boolean isCovered) {
|
for (PoliceAffairsGridExcel policeAffairsGridExcel : data) {
|
PoliceAffairsGridEntity policeAffairsGridEntity
|
= Objects.requireNonNull(BeanUtil.copy(policeAffairsGridExcel, PoliceAffairsGridEntity.class));
|
// 查询派出所对应的编号
|
QueryWrapper<PoliceStationEntity> 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<PoliceAffairsGridEntity> spatialAnalysis(String point) {
|
return baseMapper.spatialAnalysis(point);
|
}
|
|
/**
|
* 查询对应的社区编号
|
* @param userId
|
* @return
|
*/
|
@Override
|
public List<String> 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<PoliceStationEntity> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("code",policeAffairsGrid.getPcsCode());
|
List<PoliceStationEntity> policeStationEntityList = policeStationService.list(queryWrapper);
|
if (policeStationEntityList.size()>0){
|
policeAffairsGrid.setPcsName(policeStationEntityList.get(0).getName());
|
}
|
ICommunityService communityService = SpringUtils.getBean(ICommunityService.class);
|
QueryWrapper<CommunityEntity> wrapper = new QueryWrapper<>();
|
wrapper.eq("code",policeAffairsGrid.getCommunityCode());
|
List<CommunityEntity> 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;
|
}
|
}
|