From 876ce063e5026dc934667dedfb0b658a22b9c43d Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 21 Feb 2024 16:52:35 +0800
Subject: [PATCH] 报事报修物业人员查询优化

---
 src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java |   41 ++++++++++++++++++++++-------------------
 1 files changed, 22 insertions(+), 19 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 fa0593d..ad46aff 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
@@ -19,6 +19,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.springblade.common.cache.SysCache;
+import org.springblade.common.param.CommonParamSet;
 import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
@@ -41,6 +42,7 @@
 import org.springblade.modules.task.service.ITaskService;
 import org.springblade.modules.task.vo.TaskReportForRepairsVO;
 import org.springblade.modules.task.vo.TaskReportStatistics;
+import org.springblade.modules.taskPlaceSelfCheck.vo.TaskPlaceSelfCheckVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -76,47 +78,48 @@
 	 */
 	@Override
 	public IPage<TaskReportForRepairsVO> selectTaskReportForRepairsPage(IPage<TaskReportForRepairsVO> page, TaskReportForRepairsVO taskReportForRepairs) {
-		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
-		Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
+		// 公共参数设置
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskReportForRepairsVO.class,taskReportForRepairs);
 		taskReportForRepairs.setConfirmUserId(AuthUtil.getUserId());
-		List<String> list = new ArrayList<>();
+		List<String> addressCodeList = new ArrayList<>();
 		if (null != taskReportForRepairs.getRoleName() && !taskReportForRepairs.getRoleName().equals("")) {
-			if (taskReportForRepairs.getRoleName().equals("网格员")) {
-				// 查询对应的房屋地址code
-				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
-			} else if (taskReportForRepairs.getRoleName().equals("居民")) {
+			 if (taskReportForRepairs.getRoleName().equals("居民")) {
 				taskReportForRepairs.setCreateUser(AuthUtil.getUserId());
 				taskReportForRepairs.setConfirmUserId(null);
+				//
+				taskReportForRepairs.setRoleType("inhabitant");
 			}
 		}
-
 		String userRole = AuthUtil.getUserRole();
 		List<String> aoiCodeList = new ArrayList<>();
-		if (userRole.contains("wygly") || userRole.contains("wyxmjl")) {
+		if (userRole.contains("wygly") || userRole.contains("wyxmjl")|| userRole.contains("wyfwry")) {
+			taskReportForRepairs.setRoleType("wy");
 			// 查询小区id
 			IPropertyDistrictUserService propertyDistrictUserService = SpringUtils.getBean(IPropertyDistrictUserService.class);
 			List<String> districtIds = propertyDistrictUserService.selectPropertyDistrictByUserId(AuthUtil.getUserId());
 			// 通过用户机构查询用户的物业公司
 			IPropertyCompanyService bean = SpringUtil.getBean(IPropertyCompanyService.class);
-			PropertyCompanyEntity one = bean.getOne(Wrappers.<PropertyCompanyEntity>lambdaQuery().eq(PropertyCompanyEntity::getDeptId, AuthUtil.getDeptId()));
-			if (one != null) {
+			PropertyCompanyEntity companyEntity = bean.getOne(Wrappers.<PropertyCompanyEntity>lambdaQuery().eq(PropertyCompanyEntity::getDeptId, AuthUtil.getDeptId()));
+			if (companyEntity != null) {
 				IPropertyCompanyDistrictService bean2 = SpringUtils.getBean(IPropertyCompanyDistrictService.class);
 				// 通过物业公司,查询小区
-				List<PropertyCompanyDistrictEntity> list2 = bean2.list(Wrappers.<PropertyCompanyDistrictEntity>lambdaQuery()
-					.eq(PropertyCompanyDistrictEntity::getPropertyCompanyId, one.getId()));
-				if (list2.size() > 0) {
-					List<String> collect = list2.stream().map(i -> i.getDistrictId()).collect(Collectors.toList());
+				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 bean1 = SpringUtil.getBean(IDistrictService.class);
-			List<DistrictEntity> list1 = bean1.list(Wrappers.<DistrictEntity>lambdaQuery().in(DistrictEntity::getId, districtIds));
-			aoiCodeList = list1.stream().map(i -> i.getAoiCode()).collect(Collectors.toList());
+			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());
 		}
-		return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs, list, regionChildCodesList, isAdministrator, aoiCodeList));
+
+		return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs, addressCodeList,
+			commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator(), aoiCodeList,commonParamSet.getGridCodeList()));
 	}
 
 	/**

--
Gitblit v1.9.3