From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送

---
 src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java |  104 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 103 insertions(+), 1 deletions(-)

diff --git a/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java b/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java
index 0aa5264..60e64da 100644
--- a/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java
+++ b/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java
@@ -1,12 +1,29 @@
 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;
 
 /**
  * 警务网格(辖区)表 服务实现类
@@ -19,8 +36,93 @@
 
 	@Override
 	public IPage<PoliceAffairsGridVO> selectPoliceAffairsGridPage(IPage<PoliceAffairsGridVO> page, PoliceAffairsGridVO policeAffairsGrid) {
-		return page.setRecords(baseMapper.selectPoliceAffairsGridPage(page, 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;
+	}
 }

--
Gitblit v1.9.3