From b42bdf8eb9baa28c6d2e363ffaebadfc62d2025a Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 03 Apr 2024 11:09:39 +0800
Subject: [PATCH] 区域查询修改,e呼即办,网格员,网格巡查等过滤修改
---
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java | 110 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 82 insertions(+), 28 deletions(-)
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index 23e49e2..8942f88 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -46,7 +46,9 @@
import org.springblade.modules.house.entity.HouseholdEntity;
import org.springblade.modules.house.entity.UserHouseLabelEntity;
import org.springblade.modules.house.service.IHouseholdService;
+import org.springblade.modules.house.vo.HouseholdVO;
import org.springblade.modules.label.entity.LabelEntity;
+import org.springblade.modules.partyOrganization.vo.PartyOrganizationVO;
import org.springblade.modules.place.entity.*;
import org.springblade.modules.place.excel.NinePlaceExcel;
import org.springblade.modules.place.excel.PlaceAndRelExcel;
@@ -212,8 +214,65 @@
gridBind(placeVO);
// 警务网格绑定
jwGridCodeBind(placeVO);
+ // 保存从业人员
+ savePlacePractitioner(placeVO);
// 返回结果
return flag;
+ }
+
+
+ /**
+ * 保存从业人员
+ *
+ * @param placeVO
+ */
+ private void savePlacePractitioner(PlaceVO placeVO) {
+ if (placeVO.getPlacePractitioner() != null) {
+ IPlacePractitionerService practitionerService = SpringUtil.getBean(IPlacePractitionerService.class);
+ // 查询对应已存在的租户
+ QueryWrapper<PlacePractitionerEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("place_id", placeVO.getId()).eq("is_deleted",0);
+ List<PlacePractitionerEntity> oldList = practitionerService.list(wrapper);
+ // 取出从业人员信息
+ List<PlacePractitionerEntity> placePractitionerList = placeVO.getPlacePractitioner();
+ for (PlacePractitionerEntity placePractitionerEntity : placePractitionerList) {
+ placePractitionerEntity.setPlaceId(placeVO.getId());
+ }
+ // 申明新增,修改,删除集合
+ List<PlacePractitionerEntity> newList = new ArrayList<>();
+ List<PlacePractitionerEntity> addList = new ArrayList<>();
+ List<PlacePractitionerEntity> updateList = new ArrayList<>();
+ List<PlacePractitionerEntity> removeList = new ArrayList<>();
+ // 遍历设置数据
+ for (PlacePractitionerEntity placePractitionerEntity : placePractitionerList) {
+ if (null == placePractitionerEntity.getId()) {
+ // 新增
+ addList.add(placePractitionerEntity);
+ } else {
+ newList.add(placePractitionerEntity);
+ }
+ }
+ // 遍历去差集,判断是新增还是删除还是更新
+ // 取旧数据和新提交数据差集--删除
+ removeList = oldList.stream().filter(vo -> !newList.stream().map(e ->
+ e.getId()).collect(Collectors.toList()).contains(vo.getId())).collect(Collectors.toList());
+ // 取旧数据和新提交数据交集--更新
+ updateList = newList.stream().filter(vo -> oldList.stream().map(e ->
+ e.getId()).collect(Collectors.toList()).contains(vo.getId())).collect(Collectors.toList());
+
+ // 批量新增
+ if (addList.size() > 0) {
+ practitionerService.saveBatch(addList);
+ }
+ // 批量修改
+ if (updateList.size() > 0) {
+ practitionerService.updateBatchById(updateList);
+ }
+ // 批量删除
+ if (removeList.size() > 0) {
+ practitionerService.removeBatchByIds(removeList);
+ }
+ }
}
/**
@@ -242,6 +301,7 @@
*
* @param placeVO
*/
+ @Override
public void jwGridCodeBind(PlaceVO placeVO) {
if (!Strings.isBlank(placeVO.getLng())) {
String point = "'POINT(" + placeVO.getLng() + " " + placeVO.getLat() + ")'";
@@ -475,7 +535,8 @@
*
* @param placeVO
*/
- private void policePositionHandle(PlaceVO placeVO) {
+ @Override
+ public void policePositionHandle(PlaceVO placeVO) {
// 是民警且位置信息存在
if (!Strings.isBlank(placeVO.getLng())) {
//点坐标解析
@@ -715,13 +776,16 @@
@Transactional(rollbackFor = Exception.class)
public void savePlaceExtAndTaskInfo(PlaceVO placeVO) {
PlaceExtEntity placeExtEntity = new PlaceExtEntity();
- placeExtEntity.setPlaceId(placeVO.getId());
// 判断是否已存在,已存在则不新增
QueryWrapper<PlaceExtEntity> wrapper = new QueryWrapper<>();
wrapper.eq("is_deleted", 0)
.eq("place_id", placeVO.getId());
- PlaceExtEntity one = placeExtService.getOne(wrapper);
- if (null == one) {
+ PlaceExtEntity extServiceOne = placeExtService.getOne(wrapper);
+ if (null == extServiceOne) {
+ // 判断是否有传
+ if (placeVO.getPlaceExtEntity() != null) {
+ placeExtEntity = placeVO.getPlaceExtEntity();
+ }
placeExtEntity.setPlaceId(placeVO.getId());
// 默认给待完善状态
placeExtEntity.setConfirmFlag(4);
@@ -732,7 +796,9 @@
// 新增场所详情
placeExtService.save(placeExtEntity);
} else {
- placeExtService.updateById(placeVO.getPlaceExtEntity());
+ if (placeVO.getPlaceExtEntity() != null) {
+ placeExtService.updateById(placeVO.getPlaceExtEntity());
+ }
}
}
@@ -851,6 +917,11 @@
QueryWrapper<PlaceExtEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_deleted", 0).eq("place_id", placeVO.getId());
placeVO.setPlaceExtEntity(placeExtService.getOne(queryWrapper));
+ // 查询从业人员
+ IPlacePractitionerService placePractitionerService = SpringUtils.getBean(IPlacePractitionerService.class);
+ List<PlacePractitionerEntity> entityList = placePractitionerService.list(Wrappers.<PlacePractitionerEntity>lambdaQuery()
+ .eq(PlacePractitionerEntity::getPlaceId, placeVO.getId()));
+ placeVO.setPlacePractitioner(entityList);
// 查询绑定的房屋
placeVO.setHouseBindList(baseMapper.getHouseBindMap(placeVO.getHouseCodeBinds()));
}
@@ -1368,28 +1439,7 @@
@Override
public List<NinePlaceExcel> export(PlaceVO place) {
- String roleName = SpringUtils.getRequestParam("roleName");
- String communityCode = SpringUtils.getRequestParam("communityCode");
- if (!Strings.isBlank(communityCode)) {
- // 校验社区编号是否合规
- if (null != SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
- place.setCommunityCode(communityCode);
- }
- }
- List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
- Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
- // 网格编号集合
- List<String> gridCodeList = new ArrayList<>();
- // 民警角色
- if (!Strings.isBlank(roleName)) {
- place.setRoleName(roleName);
- if (roleName.equals("mj")) {
- regionChildCodesList = SpringUtil.getBean(IPoliceAffairsGridService.class).getCommunityCodeListByUserId(AuthUtil.getUserId());
- }
- if (roleName.equals("wgy")) {
- gridCodeList = SpringUtil.getBean(IGridService.class).getGridListByUserId(AuthUtil.getUserId());
- }
- }
+ CommonParamSet commonParamSet = new CommonParamSet<>().invoke(PlaceVO.class, place);
List<String> strings = new ArrayList<>();
if (null != place.getNineType()) {
QueryWrapper<DictBiz> queryWrapper = new QueryWrapper<>();
@@ -1404,7 +1454,11 @@
strings = list.stream().map(DictBiz::getDictKey).collect(Collectors.toList());
}
}
- List<NinePlaceExcel> aa = baseMapper.export(place, gridCodeList, regionChildCodesList, isAdministrator, strings);
+ List<NinePlaceExcel> aa = baseMapper.export(place,
+ commonParamSet.getGridCodeList(),
+ commonParamSet.getRegionChildCodesList(),
+ commonParamSet.getIsAdministrator(),
+ strings);
IDictBizService bean = SpringUtils.getBean(IDictBizService.class);
List<DictBiz> nineType = bean.list(Wrappers.<DictBiz>lambdaQuery().eq(DictBiz::getCode, "nineType").eq(DictBiz::getIsDeleted, 0));
for (NinePlaceExcel ninePlaceExcel : aa) {
--
Gitblit v1.9.3