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/task/service/impl/TaskReportForRepairsServiceImpl.java | 108 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 80 insertions(+), 28 deletions(-)
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
index 2974ac2..d81651c 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java
@@ -17,13 +17,22 @@
package org.springblade.modules.task.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.springblade.common.param.CommonParamSet;
+import org.springblade.common.utils.RoleUtil;
+import org.springblade.common.utils.SpringUtils;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.modules.district.entity.DistrictEntity;
+import org.springblade.modules.district.service.IDistrictService;
import org.springblade.modules.grid.entity.GridmanEntity;
-import org.springblade.modules.grid.service.IGridService;
+import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity;
+import org.springblade.modules.property.entity.PropertyCompanyEntity;
+import org.springblade.modules.property.service.IPropertyCompanyDistrictService;
+import org.springblade.modules.property.service.IPropertyCompanyService;
+import org.springblade.modules.property.service.IPropertyDistrictUserService;
import org.springblade.modules.sse.server.SSEServer;
-import org.springblade.modules.system.entity.Dept;
-import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.task.entity.TaskEntity;
import org.springblade.modules.task.entity.TaskReportForRepairsEntity;
import org.springblade.modules.task.mapper.TaskReportForRepairsMapper;
@@ -37,6 +46,7 @@
import java.math.BigDecimal;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 报事报修任务表 服务实现类
@@ -50,11 +60,6 @@
@Autowired
private ITaskService taskService;
- @Autowired
- private IGridService gridService;
-
- @Autowired
- private IDeptService deptService;
/**
* 自定义分页
@@ -65,24 +70,53 @@
*/
@Override
public IPage<TaskReportForRepairsVO> selectTaskReportForRepairsPage(IPage<TaskReportForRepairsVO> page, TaskReportForRepairsVO taskReportForRepairs) {
- Dept dept = deptService.getById(AuthUtil.getDeptId());
- if (null != dept) {
- taskReportForRepairs.setRegionCode(dept.getRegionCode());
- }
- List<String> list = new ArrayList<>();
- if (null != taskReportForRepairs.getRoleName() && !taskReportForRepairs.getRoleName().equals("")) {
- if (taskReportForRepairs.getRoleName().equals("网格员")) {
- // 查询对应的房屋地址code
- list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
- } else if (taskReportForRepairs.getRoleName().equals("居民")) {
- taskReportForRepairs.setCreateUser(AuthUtil.getUserId());
- }
- }
- if (AuthUtil.getUserRole().equals("wygly")) {
- taskReportForRepairs.setRegionCode("");
+ // 公共参数设置
+ CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskReportForRepairsVO.class, taskReportForRepairs);
+ String userRole = AuthUtil.getUserRole();
+ if (RoleUtil.isProperty(userRole) || RoleUtil.isWgy(userRole)){
taskReportForRepairs.setConfirmUserId(AuthUtil.getUserId());
}
- return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs, list));
+ if (null != taskReportForRepairs.getRoleName() && !taskReportForRepairs.getRoleName().equals("")) {
+ if (taskReportForRepairs.getRoleName().equals("inhabitant")) {
+ taskReportForRepairs.setCreateUser(AuthUtil.getUserId());
+ taskReportForRepairs.setConfirmUserId(null);
+ //
+ taskReportForRepairs.setRoleType("inhabitant");
+ }
+ }
+ List<String> aoiCodeList = new ArrayList<>();
+ if (RoleUtil.isProperty(userRole)) {
+ taskReportForRepairs.setRoleType("wy");
+ // 查询小区id
+ IPropertyDistrictUserService propertyDistrictUserService = SpringUtils.getBean(IPropertyDistrictUserService.class);
+ List<String> districtIds = propertyDistrictUserService.selectPropertyDistrictByUserId(AuthUtil.getUserId());
+ // 通过用户机构查询用户的物业公司
+ IPropertyCompanyService bean = SpringUtil.getBean(IPropertyCompanyService.class);
+ PropertyCompanyEntity companyEntity = bean.getOne(Wrappers.<PropertyCompanyEntity>lambdaQuery()
+ .eq(PropertyCompanyEntity::getDeptId, AuthUtil.getDeptId())
+ .eq(PropertyCompanyEntity::getIsDeleted, 0)
+ .last("limit 1"));
+ if (companyEntity != null) {
+ IPropertyCompanyDistrictService bean2 = SpringUtils.getBean(IPropertyCompanyDistrictService.class);
+ // 通过物业公司,查询小区
+ List<PropertyCompanyDistrictEntity> companyDistrictEntities = bean2.list(Wrappers.<PropertyCompanyDistrictEntity>lambdaQuery()
+ .eq(PropertyCompanyDistrictEntity::getPropertyCompanyId, companyEntity.getId()));
+ if (companyDistrictEntities.size() > 0) {
+ List<String> collect = companyDistrictEntities.stream().map(i -> i.getDistrictId()).collect(Collectors.toList());
+ districtIds.addAll(collect);
+ }
+ }
+ if (districtIds.size() == 0) {
+ return page.setRecords(new ArrayList<>());
+ }
+ IDistrictService districtService = SpringUtil.getBean(IDistrictService.class);
+ List<DistrictEntity> districtEntityList = districtService.list(Wrappers.<DistrictEntity>lambdaQuery().in(DistrictEntity::getId, districtIds));
+ aoiCodeList = districtEntityList.stream().map(i -> i.getAoiCode()).collect(Collectors.toList());
+ }
+
+ List list = baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs, commonParamSet.getRegionChildCodesList(),
+ commonParamSet.getIsAdministrator(), aoiCodeList, commonParamSet.getGridCodeList(),commonParamSet.getCommunityCode());
+ return page.setRecords(list);
}
/**
@@ -91,8 +125,11 @@
* @return
*/
@Override
- public TaskReportStatistics getStatisticsCount() {
- return baseMapper.getStatisticsCount(AuthUtil.getUserId());
+ public TaskReportStatistics getStatisticsCount(String houseCode) {
+ TaskReportForRepairsVO reportForRepairsVO = new TaskReportForRepairsVO();
+ reportForRepairsVO.setHouseCode(houseCode);
+ CommonParamSet invoke = new CommonParamSet<>().invoke(TaskReportForRepairsVO.class, reportForRepairsVO);
+ return baseMapper.getStatisticsCount(AuthUtil.getUserId(), houseCode, invoke.getRegionChildCodesList(), invoke.getIsAdministrator());
}
/**
@@ -116,6 +153,18 @@
// 新增
boolean save = taskService.save(taskEntity);
if (save) {
+ // 设置网格编码
+// if (taskReportForRepairs.getHouseFlag().equals(CommonConstant.NUMBER_TWO)) {
+// IPlaceService bean = SpringUtils.getBean(IPlaceService.class);
+// PlaceEntity placeEntity = bean.getOne(Wrappers.<PlaceEntity>lambdaQuery()
+// .eq(PlaceEntity::getHouseCode, taskReportForRepairs.getAddressCode()).last("limit 1"));
+// taskReportForRepairs.setGridCode(placeEntity.getGridCode());
+// } else {
+// IHouseService bean = SpringUtils.getBean(IHouseService.class);
+// HouseEntity houseEntity = bean.getOne(Wrappers.<HouseEntity>lambdaQuery()
+// .eq(HouseEntity::getHouseCode, taskReportForRepairs.getAddressCode()));
+// taskReportForRepairs.setGridCode(houseEntity.getGridCode());
+// }
taskReportForRepairs.setTaskId(taskEntity.getId());
taskReportForRepairs.setConfirmFlag(1);
flag = save(taskReportForRepairs);
@@ -168,8 +217,11 @@
}
@Override
- public Integer getStatistics(Long userId, String neiCode) {
- return baseMapper.getStatistics(userId, neiCode);
+ public Integer getStatistics(Long userId, String neiCode, List<String> regionChildCodesList,
+ Integer isAdministrator,
+ List<String> gridCodeList) {
+ String roleName = SpringUtils.getRequestParam("roleName");
+ return baseMapper.getStatistics(userId, neiCode,roleName, regionChildCodesList,isAdministrator, gridCodeList);
}
/**
--
Gitblit v1.9.3