From a1d8ea1a72cddf7651742b87f042602ab006c879 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Sat, 11 Nov 2023 17:17:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml                        |   19 +++
 src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java            |   16 ++
 src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java                       |    4 
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java               |   54 +++++++---
 src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java            |    4 
 src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java                    |    7 +
 src/main/java/org/springblade/modules/grid/mapper/GridMapper.java                            |    7 +
 src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml                     |   29 +++++
 src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java         |   22 ++++
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml                           |   19 +++
 src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java                               |    5 +
 src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java                      |    5 +
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java                          |    5 
 src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java                 |   10 ++
 src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java |   15 ++
 src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java                    |    5 +
 src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml                             |    8 +
 src/main/java/org/springblade/modules/place/vo/PlaceVO.java                                  |    5 +
 src/main/java/org/springblade/modules/grid/service/IGridService.java                         |    7 +
 src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml             |   17 +++
 20 files changed, 236 insertions(+), 27 deletions(-)

diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
index 7f25fd6..e9d04d3 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
@@ -46,4 +46,11 @@
 	 * @return
 	 */
     GridVO getGridDetailByHouseCode(@Param("houseCode") String houseCode);
+
+	/**
+	 * 根据用户id(网格员)查询对应的房屋地址code
+	 * @param userId
+	 * @return
+	 */
+    List<String> getAddressCodeListByUserId(@Param("userId") Long userId);
 }
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
index 905d111..cdcce93 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
@@ -15,5 +15,13 @@
         and jgr.house_code = #{houseCode}
     </select>
 
+    <!--根据用户id(网格员)查询对应的房屋地址code-->
+    <select id="getAddressCodeListByUserId" resultType="java.lang.String">
+        select jgr.house_code from jczz_grid_range jgr
+        left join jczz_grid jg on jg.id = jgr.grid_id
+        where jg.is_deleted = 0
+        and jg.user_id = #{userId}
+    </select>
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/grid/service/IGridService.java b/src/main/java/org/springblade/modules/grid/service/IGridService.java
index be16052..b8b6f59 100644
--- a/src/main/java/org/springblade/modules/grid/service/IGridService.java
+++ b/src/main/java/org/springblade/modules/grid/service/IGridService.java
@@ -55,4 +55,11 @@
 	 * @return
 	 */
 	GridVO getGridDetailByHouseCode(String houseCode);
+
+	/**
+	 * 根据用户id(网格员)查询对应的房屋地址code
+	 * @param userId
+	 * @return
+	 */
+    List<String> getAddressCodeListByUserId(Long userId);
 }
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
index 77eaeff..a5255c8 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
@@ -78,4 +78,14 @@
 	public GridVO getGridDetailByHouseCode(String houseCode) {
 		return baseMapper.getGridDetailByHouseCode(houseCode);
 	}
+
+	/**
+	 * 根据用户id(网格员)查询对应的房屋地址code
+	 * @param userId
+	 * @return
+	 */
+	@Override
+	public List<String> getAddressCodeListByUserId(Long userId) {
+		return baseMapper.getAddressCodeListByUserId(userId);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
index a85e0c9..319ad62 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
@@ -41,7 +41,9 @@
 	 * @param houseRental
 	 * @return
 	 */
-	List<HouseRentalTenantVO> selectHouseRentalPage(IPage page, @Param("vo") HouseRentalTenantVO houseRental);
+	List<HouseRentalTenantVO> selectHouseRentalPage(IPage page,
+													@Param("vo") HouseRentalTenantVO houseRental,
+													@Param("list") List<String> list);
 
 	/**
 	 * 查询房屋出租情况
@@ -54,5 +56,6 @@
 	 * 获取统计数据
 	 * @return
 	 */
-	List<HouseRentalStatistics> getStatistics(@Param("vo") HouseRentalTenantVO houseRental);
+	List<HouseRentalStatistics> getStatistics(@Param("vo") HouseRentalTenantVO houseRental,
+											  @Param("list") List<String> list);
 }
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
index c70c3f1..0b432d0 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -81,6 +81,7 @@
                 AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )&lt;4
             </if>
         </if>
+        <include refid="filterHouseGrid"/>
     </select>
 
     <!--查询房屋出租情况-->
@@ -96,20 +97,42 @@
         and house_code = #{code}
     </select>
 
+    <sql id="filterHouseGrid">
+        <if test="vo.roleName!=null and vo.roleName!=''">
+            <if test="vo.roleName=='网格员'">
+                <choose>
+                    <when test="list != null and list.size()>0">
+                        and jda.address_code in
+                        <foreach collection="list" item="houseCode" separator ="," open="("  close=")">
+                            #{houseCode}
+                        </foreach>
+                    </when>
+                    <otherwise>
+                        and jda.address_code in ('')
+                    </otherwise>
+                </choose>
+            </if>
+        </if>
+    </sql>
+
     <select id="getStatistics" resultType="org.springblade.modules.house.vo.HouseRentalStatistics">
             SELECT
             'longTerm' as term,count(1) total,ifnull(sum(num),0) as personNum
             FROM jczz_house_rental jhr
             LEFT JOIN
             (
-                select housing_rental_id,count(*) num from jczz_house_tenant where is_deleted = 0 GROUP BY housing_rental_id
+                select housing_rental_id,count(*) num from jczz_house_tenant
+                where is_deleted = 0
+                GROUP BY housing_rental_id
             ) jht
             ON jht.housing_rental_id = jhr.id
+            LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jhr.house_code
             WHERE jhr.is_deleted = 0
             AND TIMESTAMPDIFF( MONTH, jhr.rental_time, jhr.due_time )>= 8
             <if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
                 AND jhr.audit_status  = #{vo.auditStatus}
             </if>
+            <include refid="filterHouseGrid"/>
 
             UNION ALL
 
@@ -120,11 +143,13 @@
             select housing_rental_id,count(*) num from jczz_house_tenant where is_deleted = 0 GROUP BY housing_rental_id
             ) jht
             ON jht.housing_rental_id = jhr.id
+            LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jhr.house_code
             WHERE jhr.is_deleted = 0
             AND  4 &lt;= TIMESTAMPDIFF( MONTH, rental_time, due_time ) AND TIMESTAMPDIFF( MONTH, rental_time, due_time )&lt;=8
             <if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
                 AND jhr.audit_status  = #{vo.auditStatus}
             </if>
+            <include refid="filterHouseGrid"/>
 
             UNION ALL
 
@@ -135,11 +160,13 @@
             select housing_rental_id,count(*) num from jczz_house_tenant where is_deleted = 0 GROUP BY housing_rental_id
             ) jht
             ON jht.housing_rental_id = jhr.id
+            LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jhr.house_code
             WHERE jhr.is_deleted = 0
             AND TIMESTAMPDIFF( MONTH, rental_time, due_time )&lt;4
             <if test="vo.auditStatus != null and vo.auditStatus != '' or vo.auditStatus == 0 ">
                 AND jhr.audit_status  = #{vo.auditStatus}
             </if>
+            <include refid="filterHouseGrid"/>
     </select>
 
 
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
index ec3fd73..292a0f8 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java
@@ -19,6 +19,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.house.entity.HouseRentalEntity;
 import org.springblade.modules.house.entity.HouseTenantEntity;
 import org.springblade.modules.house.service.IHouseTenantService;
@@ -51,6 +52,9 @@
 	@Autowired
 	private IHouseTenantService houseTenantService;
 
+	@Autowired
+	private IGridService gridService;
+
 	/**
 	 * 自定义分页查询
 	 * @param page
@@ -59,7 +63,14 @@
 	 */
 	@Override
 	public IPage<HouseRentalTenantVO> selectHouseRentalPage(IPage<HouseRentalTenantVO> page, HouseRentalTenantVO houseRental) {
-		return page.setRecords(baseMapper.selectHouseRentalPage(page, houseRental));
+		List<String> list = new ArrayList<>();
+		if (null!=houseRental.getRoleName() && !houseRental.getRoleName().equals("")){
+			if (houseRental.getRoleName().equals("网格员")){
+				// 查询对应的房屋地址code
+				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+			}
+		}
+		return page.setRecords(baseMapper.selectHouseRentalPage(page, houseRental,list));
 	}
 
 	/**
@@ -196,8 +207,15 @@
 	 */
 	@Override
 	public Object getStatistics(HouseRentalTenantVO houseRental) {
+		List<String> list = new ArrayList<>();
+		if (null!=houseRental.getRoleName() && !houseRental.getRoleName().equals("")){
+			if (houseRental.getRoleName().equals("网格员")){
+				// 查询对应的房屋地址code
+				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+			}
+		}
 		// 查询
-		List<HouseRentalStatistics> statistics = baseMapper.getStatistics(houseRental);
+		List<HouseRentalStatistics> statistics = baseMapper.getStatistics(houseRental,list);
 		// 返回
 		return statistics;
 	}
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java b/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
index 6e970b0..59cf791 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
@@ -26,5 +26,10 @@
 	 */
 	private Integer dldType;
 
+	/**
+	 * 角色名称
+	 */
+	private String roleName;
+
 
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java
index 4b73e73..d57a163 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java
@@ -38,7 +38,9 @@
 	 * @param placeExt
 	 * @return
 	 */
-	List<PlaceExtVO> selectPlaceExtPage(IPage page,@Param("placeExt") PlaceExtVO placeExt);
+	List<PlaceExtVO> selectPlaceExtPage(IPage page,
+										@Param("placeExt") PlaceExtVO placeExt,
+										@Param("houseCodeList") List<String> houseCodeList);
 
 	/**
 	 * 场所详情表 自定义详情
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
index ba422d3..c024934 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -24,6 +24,25 @@
         <if test="placeExt.confirmFlag != null">
             and jpe.confirm_flag = #{placeExt.confirmFlag}
         </if>
+        <if test="placeExt.roleName!=null and placeExt.roleName!=''">
+            <choose>
+                <when test="placeExt.roleName=='网格员'">
+                    and
+                    (
+                    jp.create_user = #{placeExt.createUser}
+                    <if test="houseCodeList != null and houseCodeList.size()>0">
+                        or jp.house_code in
+                        <foreach collection="houseCodeList" item="houseCode" separator ="," open="("  close=")">
+                            #{houseCode}
+                        </foreach>
+                    </if>
+                    )
+                </when>
+                <otherwise>
+                    and jp.principal_user_id = #{placeExt.createUser}
+                </otherwise>
+            </choose>
+        </if>
     </select>
 
     <!--自定义详情查询-->
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
index 7757b93..5bd5b18 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
@@ -37,9 +37,12 @@
 	 *
 	 * @param page
 	 * @param place
+	 * @param houseCodeList
 	 * @return
 	 */
-	List<PlaceVO> selectPlacePage(IPage page, @Param("place") PlaceVO place);
+	List<PlaceVO> selectPlacePage(IPage page,
+								  @Param("place") PlaceVO place,
+								  @Param("houseCodeList") List<String> houseCodeList);
 
 	/**
 	 * 查询场所集合信息
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index 042c941..2f7bb9a 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -22,6 +22,25 @@
             ) b on a.id = b.id
         ) jppl on jppl.place_id = jp.id
         where jp.is_deleted = 0
+        <if test="place.roleName!=null and place.roleName!=''">
+            <choose>
+                <when test="place.roleName=='网格员'">
+                    and
+                    (
+                    jp.create_user = #{place.createUser}
+                    <if test="houseCodeList != null and houseCodeList.size()>0">
+                        or jp.house_code in
+                        <foreach collection="houseCodeList" item="houseCode" separator ="," open="("  close=")">
+                            #{houseCode}
+                        </foreach>
+                    </if>
+                    )
+                </when>
+                <otherwise>
+                    and jp.principal_user_id = #{place.createUser}
+                </otherwise>
+            </choose>
+        </if>
         <if test="place.placeName!=null and place.placeName!=''">
             and jp.place_name like concat('%',#{place.placeName},'%')
         </if>
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
index 0f6d6a6..41b1cd4 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
@@ -19,6 +19,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.house.entity.HouseTenantEntity;
 import org.springblade.modules.house.vo.HouseTenantVO;
 import org.springblade.modules.place.entity.PlaceEntity;
@@ -60,6 +61,9 @@
 	@Autowired
 	private IPlacePractitionerService placePractitionerService;
 
+	@Autowired
+	private IGridService gridService;
+
 	/**
 	 * 自定义查询
 	 * @param page
@@ -68,7 +72,15 @@
 	 */
 	@Override
 	public IPage<PlaceExtVO> selectPlaceExtPage(IPage<PlaceExtVO> page, PlaceExtVO placeExt) {
-		return page.setRecords(baseMapper.selectPlaceExtPage(page, placeExt));
+		List<String> list = new ArrayList<>();
+		if (null!=placeExt.getRoleName() && !placeExt.getRoleName().equals("")){
+			if (placeExt.getRoleName().equals("网格员")){
+				// 查询对应的房屋地址code
+				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+			}
+		}
+		placeExt.setCreateUser(AuthUtil.getUserId());
+		return page.setRecords(baseMapper.selectPlaceExtPage(page, placeExt,list));
 	}
 
 	/**
@@ -177,7 +189,7 @@
 		taskEntity.setStatus(placeExt.getConfirmFlag());
 		taskEntity.setType(1);
 		taskEntity.setFrequency(3);
-		taskEntity.setName(placeEntity.getPlaceName() + "信息完善任务" + System.currentTimeMillis());
+		taskEntity.setName(placeEntity.getPlaceName() + "信息完善");
 		// 新增任务
 		boolean save = taskService.save(taskEntity);
 		if (save){
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 4197cd7..ea3f411 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
@@ -40,6 +40,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -67,9 +68,23 @@
 	@Autowired
 	private IGridService gridService;
 
+	/**
+	 * 自定义列表查询
+	 * @param page
+	 * @param place
+	 * @return
+	 */
 	@Override
 	public IPage<PlaceVO> selectPlacePage(IPage<PlaceVO> page, PlaceVO place) {
-		return page.setRecords(baseMapper.selectPlacePage(page, place));
+		List<String> list = new ArrayList<>();
+		if (null!=place.getRoleName() && !place.getRoleName().equals("")){
+			if (place.getRoleName().equals("网格员")){
+				// 查询对应的房屋地址code
+				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+			}
+		}
+		place.setCreateUser(AuthUtil.getUserId());
+		return page.setRecords(baseMapper.selectPlacePage(page, place,list));
 	}
 
 	/**
@@ -99,6 +114,8 @@
 		bindUserHandle(placeVO);
 		// 新增场所信息
 		boolean save = save(placeVO);
+		// 保存场所详情及任务信息
+		savePlaceExtAndTaskInfo(placeVO);
 		// 场所标签信息绑定
 		placeLabelBind(placeVO);
 		// 返回结果
@@ -137,7 +154,6 @@
 			if (user != null) {
 				//如果用户存在,则该用户id绑定场所
 				placeVO.setPrincipalUserId(user.getId());
-				return user;
 			} else {
 				//如果用户不存在,则新增一个用户
 				newUser.setAccount(placeVO.getPhone());
@@ -153,26 +169,32 @@
 				placeVO.setPrincipalUserId(newUser.getId());
 				//给人员打上场所负责人的标签
 				baseMapper.saveUserLabel(newUser.getId(),1002);
-				// 用户插入后同时给场所详情表插入一条该场所信息
-				if (submit){
-					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) {
-						//新增
-						placeExtService.savePlaceExt(placeExtEntity);
-					}
-				}
 			}
 		}
 		return newUser;
 	}
 
 	/**
+	 * 保存场所详情及任务信息
+	 * @param placeVO
+	 */
+	@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.setPlaceId(placeVO.getId());
+			//新增
+			placeExtService.savePlaceExt(placeExtEntity);
+		}
+	}
+
+	/**
 	 * 历史场所挂接处理-临时
 	 * @param place
 	 * @return
diff --git a/src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java b/src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
index 8a90e53..5d58986 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
@@ -47,6 +47,11 @@
 	private String houseCode;
 
 	/**
+	 * 角色名称
+	 */
+	private String roleName;
+
+	/**
 	 * 从业人员
 	 */
 	private List<PlacePractitionerEntity> placePractitioner = new ArrayList<>();
diff --git a/src/main/java/org/springblade/modules/place/vo/PlaceVO.java b/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
index e227e1f..8c9519b 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
@@ -47,6 +47,11 @@
 	private String phone;
 
 	/**
+	 * 角色名称
+	 */
+	private String roleName;
+
+	/**
 	 * 采集人姓名
 	 */
 	private String createUserName;
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java
index 1911add..fca8d85 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java
@@ -41,7 +41,9 @@
 	 * @param taskReportForRepairs
 	 * @return
 	 */
-	List<TaskReportForRepairsVO> selectTaskReportForRepairsPage(IPage page,@Param("vo") TaskReportForRepairsVO taskReportForRepairs);
+	List<TaskReportForRepairsVO> selectTaskReportForRepairsPage(IPage page,
+																@Param("vo") TaskReportForRepairsVO taskReportForRepairs,
+																@Param("list") List<String> list);
 
 
 	/**
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
index 0ca220e..4611d6a 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -40,8 +40,25 @@
         <if test="vo.confirmFlag != null">
             AND jtrfr.confirm_flag = #{vo.confirmFlag}
         </if>
+        <if test="vo.roleName!=null and vo.roleName!=''">
+            <if test="vo.roleName=='网格员'">
+                <choose>
+                    <when test="list != null and list.size()>0">
+                        and jda.address_code in
+                        <foreach collection="list" item="houseCode" separator ="," open="("  close=")">
+                            #{houseCode}
+                        </foreach>
+                    </when>
+                    <otherwise>
+                        and jda.address_code in ('')
+                    </otherwise>
+                </choose>
+            </if>
+        </if>
         ORDER BY jtrfr.create_time DESC
     </select>
+
+    <!--统计查询,个人-->
     <select id="getStatisticsCount" resultType="org.springblade.modules.task.vo.TaskReportStatistics">
         SELECT
             COUNT( 1 ) AS total,
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 78abd3c..7a6d25c 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,6 +17,7 @@
 package org.springblade.modules.task.service.impl;
 
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.task.entity.TaskEntity;
 import org.springblade.modules.task.entity.TaskReportForRepairsEntity;
 import org.springblade.modules.task.service.ITaskService;
@@ -30,7 +31,9 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 报事报修任务表 服务实现类
@@ -44,6 +47,9 @@
 	@Autowired
 	private ITaskService taskService;
 
+	@Autowired
+	private IGridService gridService;
+
 	/**
 	 * 自定义分页
 	 *
@@ -53,7 +59,14 @@
 	 */
 	@Override
 	public IPage<TaskReportForRepairsVO> selectTaskReportForRepairsPage(IPage<TaskReportForRepairsVO> page, TaskReportForRepairsVO taskReportForRepairs) {
-		return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs));
+		List<String> list = new ArrayList<>();
+		if (null!=taskReportForRepairs.getRoleName() && !taskReportForRepairs.getRoleName().equals("")){
+			if (taskReportForRepairs.getRoleName().equals("网格员")){
+				// 查询对应的房屋地址code
+				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+			}
+		}
+		return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs,list));
 	}
 
 	/**
diff --git a/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java b/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java
index c40ce82..d07ba71 100644
--- a/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java
+++ b/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java
@@ -37,4 +37,9 @@
 	 */
 	private String addressName;
 
+	/**
+	 * 角色名称
+	 */
+	private String roleName;
+
 }

--
Gitblit v1.9.3