From 861e9b1eb145094dff6d1caf3dba30d7ce0e11d7 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Sat, 02 Mar 2024 17:40:38 +0800
Subject: [PATCH] 房屋查询过滤

---
 src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml                                            |   96 +++-
 src/main/java/org/springblade/modules/taskPlaceRectification/service/ITaskPlaceRectificationService.java         |    2 
 src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java                                          |    8 
 src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.java            |    2 
 src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java |   11 
 src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java                                |    3 
 src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml                                         |   76 +++
 src/main/java/org/springblade/modules/house/service/impl/HouseRentalServiceImpl.java                             |   41 +
 src/main/java/org/springblade/modules/task/mapper/TaskMapper.java                                                |    5 
 src/main/java/org/springblade/modules/task/vo/TaskVO.java                                                        |    1 
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/impl/TaskPlaceSelfCheckServiceImpl.java         |   41 +
 src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java                                                   |   14 
 src/main/java/org/springblade/modules/grid/vo/GridVO.java                                                        |   10 
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.xml                     |    8 
 src/main/java/org/springblade/common/utils/AuthUtils.java                                                        |    8 
 src/main/java/org/springblade/modules/house/vo/HouseholdVO.java                                                  |   10 
 src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml                                                 |  137 +++++-
 src/main/java/org/springblade/modules/task/entity/TaskEntity.java                                                |    2 
 src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java                               |   87 ++-
 src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java                                |   87 ++--
 src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java                                     |  117 +++---
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/ITaskPlaceSelfCheckService.java                 |    2 
 src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java                                           |    6 
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java                                   |   98 ++--
 src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java                                        |    6 
 src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java                                          |   10 
 src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java                                     |    9 
 src/main/java/org/springblade/modules/house/controller/HouseholdController.java                                  |    2 
 src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml                                           |  146 ++++++-
 src/main/java/org/springblade/modules/house/service/IHouseholdService.java                                       |    2 
 src/main/java/org/springblade/modules/task/service/impl/TaskReportForRepairsServiceImpl.java                     |   11 
 src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml             |    9 
 src/main/java/org/springblade/modules/place/vo/PlaceVO.java                                                      |   10 
 src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml                                 |   25 +
 src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.java                    |    2 
 35 files changed, 767 insertions(+), 337 deletions(-)

diff --git a/src/main/java/org/springblade/common/utils/AuthUtils.java b/src/main/java/org/springblade/common/utils/AuthUtils.java
index f0119d7..7821a60 100644
--- a/src/main/java/org/springblade/common/utils/AuthUtils.java
+++ b/src/main/java/org/springblade/common/utils/AuthUtils.java
@@ -14,6 +14,14 @@
 	}
 
 	/**
+	 * 是否为民警
+	 * @return
+	 */
+	public static boolean isMj(String roleName) {
+		return StringUtil.containsAny(roleName, new CharSequence[]{"mj"});
+	}
+
+	/**
 	 * 是否管理员角色
 	 * @return
 	 */
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 0d97efd..abaaffe 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
@@ -20,6 +20,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.common.cache.SysCache;
+import org.springblade.common.param.CommonParamSet;
 import org.springblade.common.utils.NodeTreeUtil;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
@@ -37,6 +38,7 @@
 import org.springblade.modules.system.entity.Region;
 import org.springblade.modules.system.service.IDeptService;
 import org.springblade.modules.system.service.IRegionService;
+import org.springblade.modules.task.vo.TaskVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -66,9 +68,10 @@
 
 	@Override
 	public IPage<GridVO> selectGridPage(IPage<GridVO> page, GridVO grid) {
-		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
-		Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
-		return page.setRecords(baseMapper.selectGridPage(page, grid,regionChildCodesList,isAdministrator));
+//		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+//		Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(GridVO.class, grid);
+		return page.setRecords(baseMapper.selectGridPage(page, grid,commonParamSet.getRegionChildCodesList(),commonParamSet.getIsAdministrator()));
 	}
 
 	/**
diff --git a/src/main/java/org/springblade/modules/grid/vo/GridVO.java b/src/main/java/org/springblade/modules/grid/vo/GridVO.java
index 4b964f3..566810e 100644
--- a/src/main/java/org/springblade/modules/grid/vo/GridVO.java
+++ b/src/main/java/org/springblade/modules/grid/vo/GridVO.java
@@ -52,4 +52,14 @@
 	 */
 	private String regionCode;
 
+	/**
+	 * 社区编号
+	 */
+	private String communityCode;
+
+	/**
+	 * 角色名称
+	 */
+	private String roleName;
+
 }
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseholdController.java b/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
index 94e8a0e..e8ac436 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseholdController.java
@@ -201,7 +201,7 @@
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "住户审核统计", notes = "网格员调用")
 	public R getStatistics() {
-		return R.data(householdService.statistics(AuthUtil.getUserId(), ""));
+		return R.data(householdService.statistics(AuthUtil.getUserId(), "",0));
 	}
 
 	/**
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 c65c09f..7fc929c 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.java
@@ -69,5 +69,9 @@
 	 */
 	List<HouseRentalExcel> export(@Param("vo") HouseRentalTenantVO houseRental);
 
-	Integer getStatisticsCount(Long userId,String neiCode);
+	Integer getStatisticsCount(@Param("house") HouseRentalTenantVO houseRental,
+							   @Param("regionChildCodesList") List<String> regionChildCodesList,
+							   @Param("gridCodeList") List<String> gridCodeList,
+							   @Param("isAdministrator") Integer isAdministrator);
+
 }
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 ca1a811..0b9d91c 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseRentalMapper.xml
@@ -188,7 +188,9 @@
         <if test="vo.startTime != null and vo.startTime != '' and vo.endTime != null and vo.endTime != '' ">
             AND jhr.create_time BETWEEN #{vo.startTime} and #{vo.endTime}
         </if>
+
         <include refid="filterData"/>
+
         order by jhr.create_time desc,jhr.id desc
     </select>
 
@@ -359,21 +361,69 @@
         FROM
         jczz_house_rental jhr
         LEFT JOIN jczz_doorplate_address jda ON jhr.house_code = jda.address_code
+        LEFT JOIN jczz_house jh ON jh.house_code = jhr.house_code
+        AND jh.is_deleted = 0
+        LEFT JOIN jczz_grid jg ON jg.grid_code = jh.grid_code
+        AND jg.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag ON jh.jw_grid_code = jpag.jw_grid_code
+        AND jpag.is_deleted = 0
         <where>
-            <if test="neiCode != null and neiCode != ''">
-                and jda.nei_code = #{neiCode}
+            <if test="house.neiCode != null and house.neiCode != ''">
+                and jda.nei_code = #{house.neiCode}
             </if>
-            <if test="userId != null">
-                AND jhr.house_code IN (
-                SELECT
-                jgr.house_code
-                FROM
-                jczz_grid_range jgr
-                LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
-                LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
-                WHERE
-                jg.is_deleted = 0
-                AND jgm.user_id = #{userId} )
+            <if test="isAdministrator==2">
+                <choose>
+                    <when test="house.roleName != null and house.roleName != ''">
+                        <if test="house.roleName=='wgy'">
+                            <choose>
+                                <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                    and jh.grid_code in
+                                    <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                        #{code}
+                                    </foreach>
+                                </when>
+                                <otherwise>
+                                    and jh.grid_code in ('')
+                                </otherwise>
+                            </choose>
+                        </if>
+                        <if test="house.roleName=='mj'">
+                            <choose>
+                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                    and jpag.community_code in
+                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")"
+                                             separator=",">
+                                        #{code}
+                                    </foreach>
+                                </when>
+                                <otherwise>
+                                    and jpag.community_code in ('')
+                                </otherwise>
+                            </choose>
+                        </if>
+                    </when>
+                    <otherwise>
+                        <choose>
+                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                and
+                                (
+                                jg.grid_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                                or
+                                jpag.community_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                                )
+                            </when>
+                            <otherwise>
+
+                            </otherwise>
+                        </choose>
+                    </otherwise>
+                </choose>
             </if>
             and jhr.is_deleted = 0
             and jhr.audit_status = 0
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
index 3aad54a..334497a 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.java
@@ -47,8 +47,9 @@
 	 */
 	List<HouseholdVO> selectHouseholdPage(IPage page,
 										  @Param("household") HouseholdVO household,
+										  @Param("isAdministrator") Integer isAdministrator,
 										  @Param("regionChildCodesList") List<String> regionChildCodesList,
-										  @Param("isAdministrator") Integer isAdministrator);
+										  @Param("gridCodeList") List<String> gridCodeList);
 
 	/**
 	 * 获取全部
@@ -91,7 +92,10 @@
 	 */
 	List<HouseHoldExcel> export(@Param("household") HouseholdVO household);
 
-	Integer statistics(Long userId, String neiCode);
+	Integer statistics(@Param("household") HouseholdVO household,
+					   @Param("isAdministrator") Integer isAdministrator,
+					   @Param("regionChildCodesList") List<String> regionChildCodesList,
+					   @Param("gridCodeList") List<String> gridCodeList);
 
 	/**
 	 * 查询物业
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
index dc366bc..784962a 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -164,6 +164,7 @@
         LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
         LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
         LEFT JOIN jczz_grid jg on jg.grid_code = jhs.grid_code and jg.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag on jhs.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
         <where>
             <if test="household.userId!=null">
                 AND jg.grid_code IN ( SELECT DISTINCT jgm.grid_code FROM jczz_gridman jgm WHERE jgm.user_id =
@@ -202,17 +203,71 @@
             </if>
             <if test="isAdministrator==2">
                 <choose>
-                    <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
-                        and jg.community_code in
-                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
-                            #{code}
-                        </foreach>
+                    <when test="household.roleName != null and household.roleName != ''">
+                        <if test="household.roleName=='wgy'">
+                            <choose>
+                                <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                    and jhs.grid_code in
+                                    <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                        #{code}
+                                    </foreach>
+                                </when>
+                                <otherwise>
+                                    and jhs.grid_code in ('')
+                                </otherwise>
+                            </choose>
+                        </if>
+                        <if test="household.roleName=='mj'">
+                            <choose>
+                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                    and jpag.community_code in
+                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")"
+                                             separator=",">
+                                        #{code}
+                                    </foreach>
+                                </when>
+                                <otherwise>
+                                    and jpag.community_code in ('')
+                                </otherwise>
+                            </choose>
+                        </if>
                     </when>
                     <otherwise>
-                        and jg.community_code in ('')
+                        <choose>
+                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                and
+                                (
+                                jg.grid_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                                or
+                                jpag.community_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                                )
+                            </when>
+                            <otherwise>
+
+                            </otherwise>
+                        </choose>
                     </otherwise>
                 </choose>
             </if>
+<!--            <if test="isAdministrator==2">-->
+<!--                <choose>-->
+<!--                    <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">-->
+<!--                        and jg.community_code in-->
+<!--                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">-->
+<!--                            #{code}-->
+<!--                        </foreach>-->
+<!--                    </when>-->
+<!--                    <otherwise>-->
+<!--                        and jg.community_code in ('')-->
+<!--                    </otherwise>-->
+<!--                </choose>-->
+<!--            </if>-->
             <if test="household.building!=null and household.building!=''">
                 and jhs.building like concat(#{household.building},'%')
             </if>
@@ -461,28 +516,75 @@
 
     <select id="statistics" resultType="java.lang.Integer">
         SELECT
-        count( 1 )
+        count(1)
         FROM
         jczz_household jh
-        LEFT JOIN jczz_doorplate_address jda ON jh.house_code = jda.address_code
+        LEFT JOIN jczz_house jhs ON jh.house_code = jhs.house_code and jhs.is_deleted = 0
+        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
+        LEFT JOIN jczz_grid jg on jg.grid_code = jhs.grid_code and jg.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag on jhs.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
         <where>
-            <if test="neiCode != null and neiCode != ''">
-                and jda.nei_code = #{neiCode}
+            <if test="household.neiCode != null and household.neiCode != ''">
+                and jda.nei_code = #{household.neiCode}
             </if>
-            <if test="userId != null">
-                AND jh.house_code IN (
-                SELECT
-                jgr.house_code
-                FROM
-                jczz_grid_range jgr
-                LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
-                LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
-                WHERE
-                jg.is_deleted = 0
-                AND jgm.user_id = #{userId} )
+            <if test="household.confirmFlag != null and household.confirmFlag != ''">
+                and jh.confirm_flag =  #{household.confirmFlag}
+            </if>
+            <if test="isAdministrator==2">
+                <choose>
+                    <when test="household.roleName != null and household.roleName != ''">
+                        <if test="household.roleName=='wgy'">
+                            <choose>
+                                <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                    and jhs.grid_code in
+                                    <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                        #{code}
+                                    </foreach>
+                                </when>
+                                <otherwise>
+                                    and jhs.grid_code in ('')
+                                </otherwise>
+                            </choose>
+                        </if>
+                        <if test="household.roleName=='mj'">
+                            <choose>
+                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                    and jpag.community_code in
+                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")"
+                                             separator=",">
+                                        #{code}
+                                    </foreach>
+                                </when>
+                                <otherwise>
+                                    and jpag.community_code in ('')
+                                </otherwise>
+                            </choose>
+                        </if>
+                    </when>
+                    <otherwise>
+                        <choose>
+                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                and
+                                (
+                                jg.grid_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                                or
+                                jpag.community_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                                )
+                            </when>
+                            <otherwise>
+
+                            </otherwise>
+                        </choose>
+                    </otherwise>
+                </choose>
             </if>
             and jh.is_deleted = 0
-            and jh.confirm_flag = 0
         </where>
     </select>
 
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseholdService.java b/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
index 0fb2a0a..9a9cbbd 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseholdService.java
@@ -75,7 +75,7 @@
 
 	void importUserHouseHold(List<HouseHoldExcel> data, Boolean isCovered);
 
-    Integer statistics(Long userId,String neiCode);
+    Integer statistics(Long userId,String neiCode,Integer confirmFlag);
 
 	/**
 	 * 住户对应物业,网格,公安负责人查询
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 fc32ad9..0d94abf 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
@@ -67,14 +67,15 @@
 
 	/**
 	 * 自定义分页查询
+	 *
 	 * @param page
 	 * @param houseRental
 	 * @return
 	 */
 	@Override
 	public IPage<HouseRentalTenantVO> selectHouseRentalPage(IPage<HouseRentalTenantVO> page, HouseRentalTenantVO houseRental) {
-		if (null!=houseRental.getAuditStatus()){
-			if (houseRental.getAuditStatus()==0){
+		if (null != houseRental.getAuditStatus()) {
+			if (houseRental.getAuditStatus() == 0) {
 				houseRental.setAuditStatus(2);
 			}
 		}
@@ -84,19 +85,19 @@
 			commonParamSet.getRegionChildCodesList(),
 			commonParamSet.getIsAdministrator());
 		for (HouseRentalTenantVO houseRentalTenantVO : houseRentalTenantVOS) {
-			if(houseRentalTenantVO.getStatus().equals(1)){
+			if (houseRentalTenantVO.getStatus().equals(1)) {
 				houseRentalTenantVO.setStatus(30);
 			}
-			if(houseRentalTenantVO.getStatus().equals(0) && houseRentalTenantVO.getAuditStatus().equals(0)){
+			if (houseRentalTenantVO.getStatus().equals(0) && houseRentalTenantVO.getAuditStatus().equals(0)) {
 				houseRentalTenantVO.setStatus(0);
 			}
-			if(houseRentalTenantVO.getStatus().equals(0) && houseRentalTenantVO.getAuditStatus().equals(1)){
+			if (houseRentalTenantVO.getStatus().equals(0) && houseRentalTenantVO.getAuditStatus().equals(1)) {
 				houseRentalTenantVO.setStatus(1);
 			}
-			if(houseRentalTenantVO.getStatus().equals(0) && houseRentalTenantVO.getDldType().equals(3)){
+			if (houseRentalTenantVO.getStatus().equals(0) && houseRentalTenantVO.getDldType().equals(3)) {
 				houseRentalTenantVO.setStatus(20);
 			}
-			if(houseRentalTenantVO.getStatus().equals(0) && houseRentalTenantVO.getDldType().equals(2)){
+			if (houseRentalTenantVO.getStatus().equals(0) && houseRentalTenantVO.getDldType().equals(2)) {
 				houseRentalTenantVO.setStatus(10);
 			}
 		}
@@ -105,6 +106,7 @@
 
 	/**
 	 * 查询房屋出租情况
+	 *
 	 * @param code
 	 * @return
 	 */
@@ -117,6 +119,7 @@
 
 	/**
 	 * 自定义房屋出租新增
+	 *
 	 * @param houseRentalVO
 	 * @return
 	 */
@@ -133,7 +136,7 @@
 		// 获取请求头中的角色别名
 		String roleName = SpringUtils.getRequestParam("roleName");
 		// 居民
-		if (!Strings.isBlank(roleName) && roleName.equals("inhabitant")){
+		if (!Strings.isBlank(roleName) && roleName.equals("inhabitant")) {
 			// 待审核
 			houseRentalVO.setAuditStatus(0);
 		}
@@ -146,12 +149,13 @@
 
 	/**
 	 * 保存租户信息
+	 *
 	 * @param houseRentalVO
 	 * @param flag
 	 * @return
 	 */
 	public boolean saveHousehold(HouseRentalVO houseRentalVO, boolean flag) {
-		if (flag && houseRentalVO.getHouseholdVOList().size()>0) {
+		if (flag && houseRentalVO.getHouseholdVOList().size() > 0) {
 			List<String> phoneList = new ArrayList<>();
 			List<HouseholdEntity> householdEntityList = new ArrayList<>();
 			houseRentalVO.getHouseholdVOList().forEach(e -> {
@@ -181,13 +185,14 @@
 			} catch (Exception e) {
 				log.error("保存用户角色为居民:", e);
 			}
-			flag  = iHouseholdService.saveBatch(householdEntityList);
+			flag = iHouseholdService.saveBatch(householdEntityList);
 		}
 		return flag;
 	}
 
 	/**
 	 * 出租屋 自定义删除
+	 *
 	 * @param id
 	 * @return
 	 */
@@ -205,6 +210,7 @@
 
 	/**
 	 * 出租屋 自定义修改
+	 *
 	 * @param houseRental
 	 * @return
 	 */
@@ -254,7 +260,7 @@
 			e.getId()).collect(Collectors.toList()).contains(vo.getId())).collect(Collectors.toList());
 
 		// 批量新增
-		if (addList.size()>0) {
+		if (addList.size() > 0) {
 			addFlag = iHouseholdService.saveBatch(addList);
 		}
 		// 批量修改
@@ -292,25 +298,27 @@
 
 	/**
 	 * 获取统计数据
+	 *
 	 * @return
 	 */
 	@Override
 	public Object getStatistics(HouseRentalTenantVO houseRental) {
 		List<String> list = new ArrayList<>();
-		if (null!=houseRental.getRoleName() && !houseRental.getRoleName().equals("")){
-			if (houseRental.getRoleName().equals("网格员")){
+		if (null != houseRental.getRoleName() && !houseRental.getRoleName().equals("")) {
+			if (houseRental.getRoleName().equals("网格员")) {
 				// 查询对应的房屋地址code
 				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
 			}
 		}
 		// 查询
-		List<HouseRentalStatistics> statistics = baseMapper.getStatistics(houseRental,list);
+		List<HouseRentalStatistics> statistics = baseMapper.getStatistics(houseRental, list);
 		// 返回
 		return statistics;
 	}
 
 	/**
 	 * 出租屋 确认
+	 *
 	 * @param houseRental
 	 * @return
 	 */
@@ -324,6 +332,7 @@
 
 	/**
 	 * 导出租赁信息
+	 *
 	 * @param houseRentalVO
 	 * @return
 	 */
@@ -335,6 +344,8 @@
 
 	@Override
 	public Integer getStatisticsCount(HouseRentalTenantVO houseRental) {
-		return baseMapper.getStatisticsCount(houseRental.getUserId(), houseRental.getNeiCode());
+		CommonParamSet<Object> commonParamSet = new CommonParamSet<>().invoke(HouseRentalTenantVO.class, houseRental);
+		return baseMapper.getStatisticsCount(houseRental, commonParamSet.getGridCodeList(),
+			commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator());
 	}
 }
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
index e97d833..d7a3510 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
@@ -21,9 +21,9 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
 import org.apache.logging.log4j.util.Strings;
-import org.springblade.common.cache.SysCache;
 import org.springblade.common.node.TreeIntegerNode;
 import org.springblade.common.node.TreeStringNode;
+import org.springblade.common.param.CommonParamSet;
 import org.springblade.common.utils.NodeTreeUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.AuthUtil;
@@ -40,10 +40,8 @@
 import org.springblade.modules.house.vo.HouseholdVO;
 import org.springblade.modules.place.entity.PlaceEntity;
 import org.springblade.modules.place.service.IPlaceService;
-import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.entity.DictBiz;
 import org.springblade.modules.system.entity.User;
-import org.springblade.modules.system.service.IDeptService;
 import org.springblade.modules.system.service.IDictBizService;
 import org.springblade.modules.system.service.IUserService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -79,16 +77,21 @@
 	public IPage<HouseholdVO> selectHouseholdPage(IPage<HouseholdVO> page, HouseholdVO household) {
 		StopWatch stopWatch = new StopWatch();
 		stopWatch.start();
-		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
-		Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
-		List<HouseholdVO> householdVOS = baseMapper.selectHouseholdPage(page, household,regionChildCodesList,isAdministrator);
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(HouseholdVO.class, household);
+
+//		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+//		Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+
+		List<HouseholdVO> householdVOS = baseMapper.selectHouseholdPage(page, household, commonParamSet.getIsAdministrator(),
+			commonParamSet.getRegionChildCodesList(), commonParamSet.getGridCodeList());
 		stopWatch.stop();
-		System.out.println("selectHouseholdPage:" + stopWatch.getTotalTimeMillis());
+//		System.out.println("selectHouseholdPage:" + stopWatch.getTotalTimeMillis());
 		return page.setRecords(householdVOS);
 	}
 
 	/**
 	 * 查询房屋集合信息
+	 *
 	 * @param userId
 	 * @return
 	 */
@@ -99,6 +102,7 @@
 
 	/**
 	 * 查询房屋人员情况
+	 *
 	 * @param code
 	 * @return
 	 */
@@ -114,13 +118,14 @@
 
 	/**
 	 * 处理字典
+	 *
 	 * @param householdList
 	 */
 	private void handleDictBiz(List<HouseholdVO> householdList) {
-		if (householdList.size()>0){
+		if (householdList.size() > 0) {
 			// 查询角色关系字典
-			List<DictBiz> dictBizList = dictBizService.getList("roleRelation",null);
-			if (dictBizList.size()>0) {
+			List<DictBiz> dictBizList = dictBizService.getList("roleRelation", null);
+			if (dictBizList.size() > 0) {
 				// 遍历
 				for (HouseholdVO householdVO : householdList) {
 					if (null != householdVO.getRelationship()) {
@@ -137,6 +142,7 @@
 
 	/**
 	 * 住户 自定义新增或修改
+	 *
 	 * @param household
 	 * @return
 	 */
@@ -146,7 +152,7 @@
 		boolean flag = false;
 		household.setUpdateTime(new Date());
 		household.setUpdateUser(AuthUtil.getUserId());
-		if (!Strings.isBlank(household.getRoleName()) && household.getRoleName().equals("居民")){
+		if (!Strings.isBlank(household.getRoleName()) && household.getRoleName().equals("居民")) {
 			// 待审核
 			household.setConfirmFlag(0);
 		}
@@ -172,10 +178,11 @@
 
 	/**
 	 * 更新用户标签信息
+	 *
 	 * @param household
 	 */
 	public void updateUserLabelInfo(HouseholdVO household) {
-		if (household.getHouseholdLabelList().size()>0){
+		if (household.getHouseholdLabelList().size() > 0) {
 			List<HouseholdLabelVO> householdLabelList = household.getHouseholdLabelList();
 			for (HouseholdLabelVO householdLabelVO : householdLabelList) {
 				if (!Strings.isBlank(household.getHouseCode())) {
@@ -190,11 +197,12 @@
 
 	/**
 	 * 更新用户信息
+	 *
 	 * @param household
 	 */
 	public void updateUserInfo(HouseholdEntity household) {
 		// 判断用户是否为业主,如果是业主,则新增
-		if (null!=household.getRelationship() && household.getRelationship()==1){
+		if (null != household.getRelationship() && household.getRelationship() == 1) {
 			// 如果为业主
 			// 新增用户
 			bindUserHandle(household);
@@ -203,29 +211,30 @@
 
 	/**
 	 * 业主和用户绑定
+	 *
 	 * @param
 	 */
 	public User bindUserHandle(HouseholdEntity householdEntity) {
 		User newUser = new User();
-		if (null!=householdEntity.getPhoneNumber() && !householdEntity.getPhoneNumber().equals("")) {
+		if (null != householdEntity.getPhoneNumber() && !householdEntity.getPhoneNumber().equals("")) {
 			//根据手机号查询库里的数据
 			User userParams = new User();
 			userParams.setPhone(householdEntity.getPhoneNumber());
 			User user = userService.getOne(Condition.getQueryWrapper(userParams));
-			if (null==user) {
+			if (null == user) {
 				User userParams1 = new User();
 				userParams1.setAccount(householdEntity.getPhoneNumber());
 				userParams1.setIsDeleted(0);
 				user = userService.getOne(Condition.getQueryWrapper(userParams1));
 			}
-			if (null!=user) {
+			if (null != user) {
 				//如果用户存在,则该用户id绑定场所
 				householdEntity.setAssociatedUserId(user.getId());
 				//更新住户信息
 				updateById(householdEntity);
 				newUser = user;
 				// 判断用户是否包含了居民角色,不包含则需更新
-				if (!user.getRoleId().contains("1717429059648606209")){
+				if (!user.getRoleId().contains("1717429059648606209")) {
 					user.setRoleId(user.getRoleId() + ",1717429059648606209");
 					//更新
 					userService.updateById(user);
@@ -256,6 +265,7 @@
 
 	/**
 	 * 住户 自定义查询详情
+	 *
 	 * @param household
 	 * @return
 	 */
@@ -282,16 +292,24 @@
 
 	/**
 	 * 住户审核统计
+	 *
 	 * @param userId
 	 * @return
 	 */
 	@Override
-	public Integer statistics(Long userId,String neiCode) {
-		return baseMapper.statistics(userId,neiCode);
+	public Integer statistics(Long userId, String neiCode,Integer confirmFlag) {
+		HouseholdVO householdVO = new HouseholdVO();
+		householdVO.setConfirmFlag(confirmFlag);
+		householdVO.setNeiCode(neiCode);
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(HouseholdVO.class, householdVO);
+
+		return baseMapper.statistics(householdVO,commonParamSet.getIsAdministrator(),
+			commonParamSet.getRegionChildCodesList(), commonParamSet.getGridCodeList());
 	}
 
 	/**
 	 * 住户对应物业,网格,公安负责人查询
+	 *
 	 * @param household
 	 * @return
 	 */
@@ -332,6 +350,7 @@
 
 	/**
 	 * 住户业主信息处理,将业主人员插入到用户表
+	 *
 	 * @return
 	 */
 	@Override
@@ -342,18 +361,18 @@
 		for (HouseholdEntity householdEntity : householdEntityList) {
 			// 根据手机号查询对应账号和手机号的用户信息
 			List<User> userList = userService.getUserListByPhoneOrAccount(householdEntity.getPhoneNumber());
-			if (userList.size()>0){
+			if (userList.size() > 0) {
 				User user = userList.get(0);
 				householdEntity.setAssociatedUserId(user.getId());
 				// 更新
 				updateById(householdEntity);
 				// 判断用户是否包含了居民角色,不包含则需更新
-				if (!user.getRoleId().contains("1717429059648606209")){
+				if (!user.getRoleId().contains("1717429059648606209")) {
 					user.setRoleId(user.getRoleId() + ",1717429059648606209");
 					//更新
 					userService.updateById(user);
 				}
-			}else {
+			} else {
 				// 插入用户信息
 				//如果用户不存在,则新增一个用户
 				User newUser = new User();
@@ -398,29 +417,30 @@
 
 	/**
 	 * 同时删除对应的用户信息
+	 *
 	 * @param idList
 	 */
 	public void removeHouseholdUser(List<Long> idList) {
 		for (Long id : idList) {
 			HouseholdEntity householdEntity = getById(id);
 			// 如果是业主
-			if (householdEntity.getRelationship()==1){
+			if (householdEntity.getRelationship() == 1) {
 				// 查询对应的用户
 				User user = userService.getById(householdEntity.getAssociatedUserId());
 				// 判断是否还绑定其他的房屋,如果有,则不操作用户
 				QueryWrapper<HouseholdEntity> wrapper = new QueryWrapper<>();
-				wrapper.eq("is_deleted",0).eq("associated_user_id",user.getId());
+				wrapper.eq("is_deleted", 0).eq("associated_user_id", user.getId());
 				List<HouseholdEntity> householdEntityList = list(wrapper);
-				if (householdEntityList.size()==1){
+				if (householdEntityList.size() == 1) {
 					// 判断角色
-					if (!Strings.isBlank(user.getRoleId())){
+					if (!Strings.isBlank(user.getRoleId())) {
 						List<String> stringList = Arrays.asList(user.getRoleId().split(","));
 						// 查询场所
 						QueryWrapper<PlaceEntity> queryWrapper = new QueryWrapper<>();
-						queryWrapper.eq("is_deleted",0).eq("principal_user_id",user.getId());
+						queryWrapper.eq("is_deleted", 0).eq("principal_user_id", user.getId());
 						List<PlaceEntity> placeEntityList = placeService.list(queryWrapper);
 						// 即没有房屋和场所了就删除对应的居民角色
-						if (placeEntityList.size()==0) {
+						if (placeEntityList.size() == 0) {
 							// 查看当前用户的角色是否只有一个
 							if (stringList.size() > 1) {
 								// 查询是否对应有场所负责人,如果有则不删除,如果没有则删除对应的角色
@@ -446,23 +466,25 @@
 
 	/**
 	 * 删除住户标签信息
+	 *
 	 * @param idList
 	 */
 	public void removeHouseholdLabel(List<Long> idList) {
 		for (Long id : idList) {
 			QueryWrapper<UserHouseLabelEntity> wrapper = new QueryWrapper<>();
-			wrapper.eq("household_id",id);
+			wrapper.eq("household_id", id);
 			userHouseLabelService.remove(wrapper);
 		}
 	}
 
 	@Override
 	public List<HouseholdVO> getAllHouseHold(HouseholdVO household) {
-		return  baseMapper.getAllHouseHold(household);
+		return baseMapper.getAllHouseHold(household);
 	}
 
 	/**
 	 * 住户列表查询
+	 *
 	 * @param household
 	 * @return
 	 */
@@ -497,6 +519,7 @@
 
 	/**
 	 * 根据人员标签编号集合查询对应的住户(按颜色区分近多少天没有发过任务的住户)
+	 *
 	 * @param list
 	 * @return
 	 */
@@ -515,11 +538,11 @@
 
 	private void recursion(TreeIntegerNode node) {
 		if (node.getChildren() != null && node.getChildren().size() > 0) {
-			if(node.getId().equals(1030)){
+			if (node.getId().equals(1030)) {
 				int sum = node.getChildren().stream().mapToInt(TreeIntegerNode::getCount).sum();
 				node.setCount(sum);
 			}
-			if(node.getId().equals(1031)){
+			if (node.getId().equals(1031)) {
 				int sum = node.getChildren().stream().mapToInt(TreeIntegerNode::getCount).sum();
 				node.setCount(sum);
 			}
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 41b4ebf..5f242dd 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseRentalTenantVO.java
@@ -26,10 +26,7 @@
 	 */
 	private Integer dldType;
 
-	/**
-	 * 角色名称
-	 */
-	private String roleName;
+
 
 	/**
 	 * 拼接地址
@@ -61,6 +58,11 @@
 	private Long userId;
 
 	/**
+	 * 角色名称
+	 */
+	private String roleName;
+
+	/**
 	 * 社区编号
 	 */
 	private String communityCode;
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java b/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java
index fdc862b..a96a0ef 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseholdVO.java
@@ -143,6 +143,8 @@
 
 	private String aoiCode;
 
+	private String neiCode;
+
 	/**
 	 * 标签id
 	 */
@@ -169,6 +171,14 @@
 	/**
 	 * 角色名称
 	 */
+//	private String roleName;
+
+	// 角色名称
+	@ApiModelProperty(value = "角色名称", example = "")
 	private String roleName;
 
+	// 社区编号
+	@ApiModelProperty(value = "社区编号", example = "")
+	private String communityCode;
+
 }
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 27816f6..04bef51 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java
@@ -41,7 +41,6 @@
 	 */
 	List<PlaceExtVO> selectPlaceExtPage(IPage page,
 										@Param("placeExt") PlaceExtVO placeExt,
-										@Param("houseCodeList") List<String> houseCodeList,
 										@Param("regionChildCodesList") List<String> regionChildCodesList,
 										@Param("isAdministrator") Integer isAdministrator,
 										@Param("gridCodeList")  List<String> gridCodeList);
@@ -55,5 +54,8 @@
 	PlaceExtVO getDetail(@Param("placeExt") PlaceExtVO placeExt);
 
 
-	Integer selectCount(@Param("userId") Long userId, @Param("neiCode") String neiCode, @Param("confirmFlag") Integer confirmFlag);
+	Integer selectCount(@Param("placeExt") PlaceExtVO placeExt,
+						@Param("regionChildCodesList") List<String> regionChildCodesList,
+						@Param("isAdministrator") Integer isAdministrator,
+						@Param("gridCodeList")  List<String> gridCodeList);
 }
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 c7da4f1..c6629cd 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -114,26 +114,73 @@
         count( 1 )
         FROM
         jczz_place_ext jpe
-        LEFT JOIN jczz_place jp ON jp.id = jpe.place_id and jp.is_deleted = 0
-        LEFT JOIN jczz_doorplate_address jda ON locate(jda.address_code,jp.house_code)>0
+        LEFT JOIN jczz_place jp ON jpe.place_id = jp.id AND jp.is_deleted = 0 and jp.place_name != ''
+        LEFT JOIN jczz_grid jg ON jp.grid_code = jg.grid_code AND jg.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag ON jp.jw_grid_code = jpag.jw_grid_code AND jpag.is_deleted = 0
+        LEFT JOIN jczz_doorplate_address jda ON jp.house_code = jda.address_code
         <where>
-            <if test="confirmFlag != null">
-                and jpe.confirm_flag = #{confirmFlag}
+            <if test="placeExt.neiCode != null and placeExt.neiCode != ''">
+                and jda.nei_code = #{placeExt.neiCode}
             </if>
-            <if test="userId != null">
-                AND jp.house_code IN (
-                SELECT
-                jgr.house_code
-                FROM
-                jczz_grid_range jgr
-                LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
-                LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
-                WHERE
-                jg.is_deleted = 0
-                <if test="neiCode != null and neiCode != ''">
-                    and jg.community_code = #{neiCode}
-                </if>
-                AND jgm.user_id = #{userId} )
+            <if test="placeExt.confirmFlag != null">
+                and jpe.confirm_flag = #{placeExt.confirmFlag}
+            </if>
+            <if test="isAdministrator==2">
+                <choose>
+                    <when test="placeExt.roleName != null and placeExt.roleName != ''">
+                        <if test="placeExt.roleName=='wgy'">
+                            <choose>
+                                <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                    and jp.grid_code in
+                                    <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                        #{code}
+                                    </foreach>
+                                </when>
+                                <otherwise>
+                                    and jp.grid_code in ('')
+                                </otherwise>
+                            </choose>
+                        </if>
+                        <if test="placeExt.roleName=='mj'">
+                            <choose>
+                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                    and jpag.community_code in
+                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")"
+                                             separator=",">
+                                        #{code}
+                                    </foreach>
+                                </when>
+                                <otherwise>
+                                    and jpag.community_code in ('')
+                                </otherwise>
+                            </choose>
+                        </if>
+                    </when>
+                    <otherwise>
+                        <choose>
+                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                and
+                                (
+                                jg.grid_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                                or
+                                jpag.community_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                                )
+                            </when>
+                            <otherwise>
+                                and
+                                (
+                                jg.grid_code in ('') or jpag.community_code in in ('')
+                                )
+                            </otherwise>
+                        </choose>
+                    </otherwise>
+                </choose>
             </if>
             and jpe.is_deleted = 0
         </where>
@@ -143,13 +190,14 @@
 
     <select id="getDetail" resultType="org.springblade.modules.place.vo.PlaceExtVO">
         select jpe.*,
-        jp.place_name as placeName,
-        jp.lng,
-        jp.lat,
-        jp.location
+               jp.place_name as placeName,
+               jp.lng,
+               jp.lat,
+               jp.location
         from jczz_place_ext jpe
-        left join jczz_place jp on jpe.place_id = jp.id and jp.is_deleted = 0
-        where jpe.is_deleted = 0 and jpe.place_id = #{placeExt.placeId}
+                 left join jczz_place jp on jpe.place_id = jp.id and jp.is_deleted = 0
+        where jpe.is_deleted = 0
+          and jpe.place_id = #{placeExt.placeId}
     </select>
 
 
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 40196cb..3d90109 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
@@ -20,10 +20,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.logging.log4j.util.Strings;
-import org.springblade.common.cache.SysCache;
-import org.springblade.common.utils.SpringUtils;
+import org.springblade.common.param.CommonParamSet;
 import org.springblade.core.secure.utils.AuthUtil;
-import org.springblade.core.tool.utils.SpringUtil;
 import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.place.entity.PlaceEntity;
 import org.springblade.modules.place.entity.PlaceExtEntity;
@@ -33,9 +31,7 @@
 import org.springblade.modules.place.service.IPlacePractitionerService;
 import org.springblade.modules.place.service.IPlaceService;
 import org.springblade.modules.place.vo.PlaceExtVO;
-import org.springblade.modules.police.service.IPoliceAffairsGridService;
 import org.springblade.modules.system.service.IDeptService;
-import org.springblade.modules.system.service.IRegionService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -60,11 +56,11 @@
 	@Autowired
 	private IPlacePractitionerService placePractitionerService;
 
-	@Autowired
-	private IGridService gridService;
-
-	@Autowired
-	private IDeptService deptService;
+//	@Autowired
+//	private IGridService gridService;
+//
+//	@Autowired
+//	private IDeptService deptService;
 
 	/**
 	 * 自定义查询
@@ -75,43 +71,38 @@
 	 */
 	@Override
 	public IPage<PlaceExtVO> selectPlaceExtPage(IPage<PlaceExtVO> page, PlaceExtVO placeExt) {
-		List<String> list = new ArrayList<>();
-//		if (null != placeExt.getRoleName() && !placeExt.getRoleName().equals("")) {
-//			if (placeExt.getRoleName().equals("网格员")) {
-//				// 查询对应的房屋地址code
-//				list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
-//			}
-//			if (!placeExt.getRoleName().equals("系统管理员")) {
-//				placeExt.setCreateUser(AuthUtil.getUserId());
+//		List<String> list = new ArrayList<>();
+//		String roleName = SpringUtils.getRequestParam("roleName");
+//		String communityCode = SpringUtils.getRequestParam("communityCode");
+//		if (!Strings.isBlank(communityCode)){
+//			// 校验社区编号是否合规
+//			if(null!=SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
+//				placeExt.setCommunityCode(communityCode);
 //			}
 //		}
-		String roleName = SpringUtils.getRequestParam("roleName");
-		String communityCode = SpringUtils.getRequestParam("communityCode");
-		if (!Strings.isBlank(communityCode)){
-			// 校验社区编号是否合规
-			if(null!=SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
-				placeExt.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)){
-			placeExt.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());
-			}
-		}
-		if (AuthUtil.getUserAccount().equals("18879306957")) {
-			placeExt.setCommunityCode("361102003027");
-			placeExt.setCreateUser(null);
-		}
-		return page.setRecords(baseMapper.selectPlaceExtPage(page, placeExt, list,regionChildCodesList,isAdministrator,gridCodeList));
+//		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+//		Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
+//		// 网格编号集合
+//		List<String> gridCodeList = new ArrayList<>();
+//		// 民警角色
+//		if (!Strings.isBlank(roleName)){
+//			placeExt.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());
+//			}
+//		}
+//		if (AuthUtil.getUserAccount().equals("18879306957")) {
+//			placeExt.setCommunityCode("361102003027");
+//			placeExt.setCreateUser(null);
+//		}
+		CommonParamSet<Object> commonParamSet = new CommonParamSet<>().invoke(PlaceExtVO.class, placeExt);
+
+
+		return page.setRecords(baseMapper.selectPlaceExtPage(page, placeExt,commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getIsAdministrator(),commonParamSet.getGridCodeList()));
 	}
 
 	/**
@@ -284,6 +275,10 @@
 
 	@Override
 	public Integer selectCount(Long userId, String neiCode, Integer confirmFlag) {
-		return baseMapper.selectCount(userId, neiCode, confirmFlag);
+		PlaceExtVO placeExt = new PlaceExtVO();
+		placeExt.setConfirmFlag(confirmFlag);
+		placeExt.setNeiCode(neiCode);
+		CommonParamSet<Object> commonParamSet = new CommonParamSet<>().invoke(PlaceExtVO.class, placeExt);
+		return baseMapper.selectCount(placeExt,commonParamSet.getRegionChildCodesList(),commonParamSet.getIsAdministrator(),commonParamSet.getGridCodeList());
 	}
 }
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 26bf66c..e5d32b6 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
@@ -62,6 +62,7 @@
 import org.springblade.modules.system.service.IDictBizService;
 import org.springblade.modules.system.service.IRegionService;
 import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.task.vo.TaskLabelReportingEventVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -124,7 +125,7 @@
 	@Override
 	public IPage<PlaceVO> selectPlacePage(IPage<PlaceVO> page, PlaceVO place) {
 		// 公共参数设置
-		CommonParamSet commonParamSet = new CommonParamSet().invoke(PlaceVO.class,place);
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(PlaceVO.class, place);
 		List<PlaceVO> placeVOS = baseMapper.selectPlacePage(page,
 			place,
 			commonParamSet.getGridCodeList(),
@@ -216,19 +217,20 @@
 
 	/**
 	 * 设置场所的source 来源
+	 *
 	 * @param placeVO
 	 */
 	public void setSource(PlaceVO placeVO) {
-		if (null!=placeVO.getSource()){
+		if (null != placeVO.getSource()) {
 			placeVO.setSource(placeVO.getSource());
-		}else {
+		} else {
 			// 查询该houseCode 是否存在地址总表,如果是,赋值 1,否则2
 			QueryWrapper<DoorplateAddressEntity> wrapper = new QueryWrapper<>();
-			wrapper.eq("address_code",placeVO.getHouseCode());
+			wrapper.eq("address_code", placeVO.getHouseCode());
 			DoorplateAddressEntity one = doorplateAddressService.getOne(wrapper);
-			if (null!=one){
+			if (null != one) {
 				placeVO.setSource(1);
-			}else {
+			} else {
 				placeVO.setSource(2);
 			}
 		}
@@ -329,9 +331,10 @@
 
 	/**
 	 * 处理对应的绑定房屋数据
+	 *
 	 * @param list
 	 */
-	public void handlePlaceOne(List<String> list,PlaceVO place) {
+	public void handlePlaceOne(List<String> list, PlaceVO place) {
 		// 处理对应的绑定房屋数据
 		List<Long> longs = new ArrayList<>();
 		// 把其他单个的场所数据删除
@@ -1269,43 +1272,46 @@
 	 */
 	@Override
 	public IPage<PlaceVO> selectNinePlacePage(IPage<PlaceVO> page, 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());
-			}
-		}
+//		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()){
+		if (null != place.getNineType()) {
 			QueryWrapper<DictBiz> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("is_deleted",0).eq("dict_key",place.getNineType()).eq("code","nineType");
+			queryWrapper.eq("is_deleted", 0).eq("dict_key", place.getNineType()).eq("code", "nineType");
 			// 先查询当前
 			DictBiz one = dictBizService.getOne(queryWrapper);
 			// 查询本身和子集的key
 			List<DictBiz> list = dictBizService.getList("nineType", one.getId());
-			if (list.size()==0){
+			if (list.size() == 0) {
 				strings.add(place.getNineType().toString());
-			}else {
+			} else {
 				strings = list.stream().map(DictBiz::getDictKey).collect(Collectors.toList());
 			}
 		}
-		List<PlaceVO> placeVOS = baseMapper.selectNinePlacePage(page, place, gridCodeList, regionChildCodesList, isAdministrator,strings);
+		List<PlaceVO> placeVOS = baseMapper.selectNinePlacePage(page, place, commonParamSet.getGridCodeList(),
+			commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator(), strings);
 		// 返回
 		return page.setRecords(placeVOS);
 	}
@@ -1314,20 +1320,20 @@
 	public List<NinePlaceExcel> export(PlaceVO place) {
 		String roleName = SpringUtils.getRequestParam("roleName");
 		String communityCode = SpringUtils.getRequestParam("communityCode");
-		if (!Strings.isBlank(communityCode)){
+		if (!Strings.isBlank(communityCode)) {
 			// 校验社区编号是否合规
-			if(null!=SpringUtils.getBean(IRegionService.class).getById(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;
+		Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
 		// 网格编号集合
 		List<String> gridCodeList = new ArrayList<>();
 		// 民警角色
-		if (!Strings.isBlank(roleName)){
+		if (!Strings.isBlank(roleName)) {
 			place.setRoleName(roleName);
-			if(roleName.equals("mj")) {
+			if (roleName.equals("mj")) {
 				regionChildCodesList = SpringUtil.getBean(IPoliceAffairsGridService.class).getCommunityCodeListByUserId(AuthUtil.getUserId());
 			}
 			if (roleName.equals("wgy")) {
@@ -1335,20 +1341,20 @@
 			}
 		}
 		List<String> strings = new ArrayList<>();
-		if (null!=place.getNineType()){
+		if (null != place.getNineType()) {
 			QueryWrapper<DictBiz> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("is_deleted",0).eq("dict_key",place.getNineType()).eq("code","nineType");
+			queryWrapper.eq("is_deleted", 0).eq("dict_key", place.getNineType()).eq("code", "nineType");
 			// 先查询当前
 			DictBiz one = dictBizService.getOne(queryWrapper);
 			// 查询本身和子集的key
 			List<DictBiz> list = dictBizService.getList("nineType", one.getId());
-			if (list.size()==0){
+			if (list.size() == 0) {
 				strings.add(place.getNineType().toString());
-			}else {
+			} else {
 				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, gridCodeList, regionChildCodesList, isAdministrator, 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) {
@@ -1435,10 +1441,10 @@
 			updateById(placeEntity);
 			// 查询绑定关系是否已存在
 			QueryWrapper<PlaceDoorEntity> wrapper = new QueryWrapper<>();
-			wrapper.eq("house_code",placeEntity.getHouseCode()).eq("place_id",placeEntity.getId());
+			wrapper.eq("house_code", placeEntity.getHouseCode()).eq("place_id", placeEntity.getId());
 			// 查询
 			PlaceDoorEntity one = placeDoorService.getOne(wrapper);
-			if (null==one){
+			if (null == one) {
 				// 新增
 				PlaceDoorEntity placeDoorEntity = new PlaceDoorEntity();
 				placeDoorEntity.setPlaceId(placeEntity.getId());
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 db64d3c..c341269 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
@@ -65,7 +65,7 @@
 	/**
 	 * 角色名称
 	 */
-	private String roleName;
+	private String neiCode;
 
 	/**
 	 * 从业人员
@@ -78,11 +78,21 @@
 	@ApiModelProperty("结束时间")
 	private String endTime;
 
-	private String communityCode;
+//	private String communityCode;
 
 	/**
 	 * isApp
 	 */
 	private Integer isApp;
 
+	/**
+	 * 角色名称
+	 */
+	private String roleName;
+
+	/**
+	 * 社区编号
+	 */
+	private String communityCode;
+
 }
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 1d7e289..9d9cfb0 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
@@ -48,10 +48,7 @@
 
 	private String phone;
 
-	/**
-	 * 角色名称
-	 */
-	private String roleName;
+
 	/**
 	 * 类型 2:非小区(能关联地址表)  3:商超
 	 */
@@ -154,4 +151,9 @@
 	 */
 	private String communityCode;
 
+	/**
+	 * 角色名称
+	 */
+	private String roleName;
+
 }
diff --git a/src/main/java/org/springblade/modules/task/entity/TaskEntity.java b/src/main/java/org/springblade/modules/task/entity/TaskEntity.java
index f4da1d9..9338450 100644
--- a/src/main/java/org/springblade/modules/task/entity/TaskEntity.java
+++ b/src/main/java/org/springblade/modules/task/entity/TaskEntity.java
@@ -63,7 +63,7 @@
 	private String houseCode;
 
 	/** 事件类型(1:取保候审,2旅馆 3打金店 4二手手机 5二手车 6 校园安全) */
-	@ApiModelProperty(value = "事件类型(1:取保候审,2旅馆 3打金店 4二手手机 5二手车 6 校园安全 7.九小自查任务 8 九小整改任务 )", example = "")
+	@ApiModelProperty(value = "事件类型(1:取保候审,5二手交易  7.九小自查任务 8 九小整改任务 )", example = "")
 	@TableField("report_type")
 	private Integer reportType;
 	/**
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
index 467ea01..aafbd57 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
@@ -50,7 +50,10 @@
 								  @Param("regionChildCodesList") List<String> regionChildCodesList,
 								  @Param("isAdministrator") Integer isAdministrator);
 
-	Integer selectTaskCount(TaskVO task);
+	Integer selectTaskCount(@Param("task") TaskVO task,
+							@Param("regionChildCodesList") List<String> regionChildCodesList,
+							@Param("isAdministrator") Integer isAdministrator,
+							@Param("gridCodeList") List<String> gridCodeList);
 
 
 	List<TaskVO> getBailReportingPage(IPage<TaskVO> page, TaskVO task);
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
index ece7291..3170af0 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
@@ -153,7 +153,7 @@
                 and jt.report_type = #{task.reportType}
             </if>
             <if test="task.reportType == null">
-                and jt.report_type in (2,3,4,5,6,7,8)
+                and jt.report_type in ( 5,8)
             </if>
             and jt.is_deleted = 0
             and jt.house_code is not null
@@ -305,49 +305,120 @@
 
     <select id="selectTaskCount" resultType="int" parameterType="org.springblade.modules.task.vo.TaskVO">
         SELECT
-        count( 1 )
+        count(1)
         FROM
         jczz_task jt
-        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jt.house_code
+        LEFT JOIN jczz_place jp ON jt.house_code=jp.house_code and jp.is_deleted = 0
+        LEFT JOIN blade_user bu on bu.id = jt.create_user and bu.is_deleted = 0
+        LEFT JOIN jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
+        LEFT JOIN blade_region br on br.code = jg.community_code
+        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
         <where>
-            <if test="status != null">
-                and jt.status = #{status}
+            <if test="task.roleName != null and task.roleName != ''">
+                <if test="task.roleName=='wgy'">
+                    <if test="isAdministrator==2">
+                        <choose>
+                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                and jp.grid_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jp.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                </if>
+                <if test="task.roleName=='mj'">
+                    <if test="isAdministrator==2">
+                        <choose>
+                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                and jpag.community_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jpag.community_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                </if>
             </if>
-            <if test="frequency != null">
-                and jt.frequency = #{frequency}
+            <if test="isAdministrator==2">
+                <choose>
+                    <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                        and
+                        (
+                        jg.grid_code in
+                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                            #{code}
+                        </foreach>
+                        or
+                        br.village_code in
+                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                            #{code}
+                        </foreach>
+                        )
+                    </when>
+                    <otherwise>
+                        and
+                        (
+                        jg.grid_code in ('') or br.village_code in ('')
+                        )
+                    </otherwise>
+                </choose>
             </if>
-            <if test="type != null">
-                and jt.type = #{type}
+            <if test="task.status != null and task.status != null">
+                and jt.status = #{task.status}
             </if>
-            <!-- 取保候审 -->
-            <if test="reportType != null and reportType == 1 ">
-                and jt.report_type = 1
+            <if test="task.neiCode != null and task.neiCode != null">
+                and jg.community_code = #{task.neiCode}
+            </if>
+            <if test="task.communityCode != null and task.communityCode != null">
+                and jg.community_code = #{task.communityCode}
+            </if>
+            <if test="task.communityName != null and task.communityName != null">
+                and br.name like concat('%', #{task.communityName}, '%')
+            </if>
+            <if test="task.streetCode != null and task.streetCode != null">
+                and br.town_code = #{task.streetCode}
+            </if>
+            <if test="task.realName != null and task.realName != null">
+                and jp.principal like concat('%', #{task.realName}, '%')
+            </if>
+            <if test="task.phone != null and task.phone != null">
+                and bu.phone like concat('%', #{task.phone}, '%')
+            </if>
+            <if test="task.frequency != null and task.frequency != ''">
+                and jt.frequency = #{task.frequency}
+            </if>
+            <if test="task.name != null and task.name != ''">
+                and jt.name like concat('%', #{task.name}, '%')
+            </if>
+            <if test="task.id != null ">and jt.id = #{task.id}</if>
+            <if test="task.type != null ">and jt.type = #{task.type}</if>
+            <if test="task.remark != null  and task.remark != ''">and jt.remark = #{task.remark}</if>
+            <if test="task.createTime != null ">and jt.create_time = #{task.createTime}</if>
+            <if test="task.createUser != null ">and jt.create_user = #{task.createUser}</if>
+            <if test="task.updateTime != null ">and jt.update_time = #{task.updateTime}</if>
+            <if test="task.updateUser != null ">and jt.update_user = #{task.updateUser}</if>
+            <if test="task.isDeleted != null ">and jt.is_deleted = #{task.isDeleted}</if>
+            <if test="task.houseCode != null  and task.houseCode != ''">and jt.house_code = #{task.houseCode}</if>
+            <if test="task.startTime != null and task.startTime != '' and task.endTime != null and task.endTime != '' ">
+                AND jt.create_time BETWEEN #{task.startTime} and #{task.endTime}
             </if>
             <!-- 场所店铺 -->
-            <if test="reportType != null and reportType == 2 ">
-                and jt.report_type in (2,3,4,5,6,7)
+            <if test="task.reportType != null">
+                and jt.report_type = #{task.reportType}
             </if>
-
-            <if test="name != null and name != ''">
-                and jt.name like concat('%', #{name}, '%')
+            <if test="task.reportType == null">
+                and jt.report_type in (5,8)
             </if>
-            <if test="neiCode != null and neiCode != ''">
-                and jda.nei_code = #{neiCode}
-            </if>
-            <if test="userId != null">
-                AND jt.house_code IN (
-                SELECT
-                jgr.house_code
-                FROM
-                jczz_grid_range jgr
-                LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
-                LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
-                WHERE
-                jg.is_deleted = 0
-                AND jgm.user_id = #{userId} )
-            </if>
+            and jt.is_deleted = 0
+            and jt.house_code is not null
         </where>
-        order by jt.create_time desc
     </select>
 
 
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 23b3752..0632e64 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.java
@@ -43,7 +43,6 @@
 	 */
 	List<TaskReportForRepairsVO> selectTaskReportForRepairsPage(IPage page,
 																@Param("vo") TaskReportForRepairsVO taskReportForRepairs,
-																@Param("list") List<String> list,
 																@Param("regionChildCodesList") List<String> regionChildCodesList,
 																@Param("isAdministrator") Integer isAdministrator,
 																@Param("aoiCodeList") List<String> aoiCodeList,
@@ -61,7 +60,7 @@
 											@Param("regionChildCodesList") List<String> regionChildCodesList,
 											@Param("isAdministrator") Integer isAdministrator);
 
-	Integer getStatistics(Long userId, String neiCode);
+	Integer getStatistics(Long userId, String neiCode, String roleName);
 
 	/**
 	 * 更新状态--临时接口
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 41727fe..fefbbb0 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -350,7 +350,8 @@
         <where>
             and jtr.is_deleted = 0
             and jtr.confirm_flag = 1
-            <if test="userId != null">
+
+            <if test="userId != null and roleName == 'wgy'" >
                 AND (
                 jp.grid_code IN (
                 SELECT
@@ -373,6 +374,28 @@
                 AND jgm.user_id = #{userId}
                 ))
             </if>
+
+            <if test="userId != null and roleName == 'mj'">
+                AND (
+                jp.jw_grid_code IN (
+                SELECT
+                jpag.jw_grid_code
+                FROM
+                jczz_police_affairs_grid jpag
+                WHERE
+                jpag.is_deleted = 0
+                AND jpag.police_user_id = #{userId}
+                )
+                OR jh.jw_grid_code IN (
+                SELECT
+                jpag.jw_grid_code
+                FROM
+                jczz_police_affairs_grid jpag
+                WHERE
+                jpag.is_deleted = 0
+                AND jpag.police_user_id = #{userId}
+                ))
+            </if>
         </where>
 
     </select>
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 bf01149..f0c5ea0 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
@@ -69,11 +69,6 @@
 	@Autowired
 	private ITaskService taskService;
 
-	@Autowired
-	private IGridService gridService;
-
-	@Autowired
-	private IDeptService deptService;
 
 	/**
 	 * 自定义分页
@@ -87,7 +82,6 @@
 		// 公共参数设置
 		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskReportForRepairsVO.class, taskReportForRepairs);
 		taskReportForRepairs.setConfirmUserId(AuthUtil.getUserId());
-		List<String> addressCodeList = new ArrayList<>();
 		if (null != taskReportForRepairs.getRoleName() && !taskReportForRepairs.getRoleName().equals("")) {
 			if (taskReportForRepairs.getRoleName().equals("inhabitant")) {
 				taskReportForRepairs.setCreateUser(AuthUtil.getUserId());
@@ -124,7 +118,7 @@
 			aoiCodeList = districtEntityList.stream().map(i -> i.getAoiCode()).collect(Collectors.toList());
 		}
 
-		return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs, addressCodeList,
+		return page.setRecords(baseMapper.selectTaskReportForRepairsPage(page, taskReportForRepairs,
 			commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator(), aoiCodeList, commonParamSet.getGridCodeList()));
 	}
 
@@ -226,7 +220,8 @@
 
 	@Override
 	public Integer getStatistics(Long userId, String neiCode) {
-		return baseMapper.getStatistics(userId, neiCode);
+		String roleName = SpringUtils.getRequestParam("roleName");
+		return baseMapper.getStatistics(userId, neiCode,roleName);
 	}
 
 	/**
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
index 3493a68..970e102 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
@@ -23,22 +23,18 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import liquibase.pro.packaged.W;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.logging.log4j.util.Strings;
 import org.springblade.common.cache.SysCache;
 import org.springblade.common.constant.DictConstant;
+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.SpringUtil;
 import org.springblade.modules.category.entity.CategoryEntity;
 import org.springblade.modules.category.service.ICategoryService;
 import org.springblade.modules.grid.entity.GridEntity;
 import org.springblade.modules.grid.entity.GridWorkLogEntity;
-import org.springblade.modules.grid.entity.GridmanEntity;
 import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.grid.service.IGridWorkLogService;
-import org.springblade.modules.grid.service.IGridmanService;
 import org.springblade.modules.house.service.IHouseRentalService;
 import org.springblade.modules.house.service.IHouseholdService;
 import org.springblade.modules.house.vo.HouseRentalTenantVO;
@@ -46,23 +42,17 @@
 import org.springblade.modules.place.service.IPlaceExtService;
 import org.springblade.modules.place.service.IPlaceService;
 import org.springblade.modules.place.vo.PlaceVO;
-import org.springblade.modules.police.service.IPoliceAffairsGridService;
-import org.springblade.modules.system.entity.Dept;
-import org.springblade.modules.system.service.IDeptService;
-import org.springblade.modules.system.service.IRegionService;
 import org.springblade.modules.task.entity.*;
 import org.springblade.modules.task.mapper.TaskMapper;
 import org.springblade.modules.task.service.*;
 import org.springblade.modules.task.vo.TaskVO;
+import org.springblade.modules.taskPlaceRectification.service.ITaskPlaceRectificationService;
 import org.springblade.modules.taskPlaceSelfCheck.entity.TaskPlaceSelfCheckEntity;
 import org.springblade.modules.taskPlaceSelfCheck.service.ITaskPlaceSelfCheckService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
 
-import javax.servlet.http.HttpServletRequest;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -101,47 +91,49 @@
 
 	@Override
 	public IPage<TaskVO> selectTaskPage(IPage<TaskVO> page, TaskVO task) {
-		String roleName = SpringUtils.getRequestParam("roleName");
-		String communityCode = SpringUtils.getRequestParam("communityCode");
-		if (!Strings.isBlank(communityCode)) {
-			// 校验社区编号是否合规
-			if (null != SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
-				task.setCommunityCode(communityCode);
-			}
-		}
-		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
-		Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
+//		String roleName = SpringUtils.getRequestParam("roleName");
+//		String communityCode = SpringUtils.getRequestParam("communityCode");
+//		if (!Strings.isBlank(communityCode)) {
+//			// 校验社区编号是否合规
+//			if (null != SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
+//				task.setCommunityCode(communityCode);
+//			}
+//		}
+//		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+//		Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
 		// 网格编号集合
-		List<String> gridCodeList = new ArrayList<>();
+//		List<String> gridCodeList = new ArrayList<>();
 		// 民警角色
-		if (!Strings.isBlank(roleName)) {
-			task.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());
-			}
-		}
-		if (AuthUtil.getUserAccount().equals("18879306957")) {
-			task.setCommunityCode("361102003027");
-		}
+//		if (!Strings.isBlank(roleName)) {
+//			task.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());
+//			}
+//		}
+//		if (AuthUtil.getUserAccount().equals("18879306957")) {
+//			task.setCommunityCode("361102003027");
+//		}
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskVO.class,task);
 		if (null != task.getReportType() && task.getReportType() == 1) {
 			// 查询取保候审任务列表(人房相关)
-			return page.setRecords(baseMapper.selectTaskPageByPerson(page, task, regionChildCodesList, isAdministrator, gridCodeList));
+			return page.setRecords(baseMapper.selectTaskPageByPerson(page, task, commonParamSet.getRegionChildCodesList(),
+				commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList()));
 		}
 		// 查询非取保候审任务列表(场所相关)
-		return page.setRecords(baseMapper.selectTaskPage(page, task, regionChildCodesList, isAdministrator, gridCodeList));
+		return page.setRecords(baseMapper.selectTaskPage(page, task, commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList()));
 	}
 
 	@Override
 	public IPage<TaskVO> getBailReportingPage(IPage<TaskVO> page, TaskVO task) {
-		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
-		Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
 		// 民警角色
 		if (AuthUtil.getUserRole().equals("mj")) {
+			CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskVO.class, task);
 			task.setUserId(AuthUtil.getUserId());
-			return page.setRecords(baseMapper.selectTaskPageBy(page, task, regionChildCodesList, isAdministrator));
+			return page.setRecords(baseMapper.selectTaskPageBy(page, task, commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator()));
 		} else {
 			if (AuthUtil.getUserAccount().equals("18879306957")) {
 				task.setCommunityCode("361102003027");
@@ -225,36 +217,45 @@
 		taskVO.setStatus(1);
 		taskVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null);
 		taskVO.setNeiCode(neiCode);
-		taskVO.setReportType(2);
+		taskVO.setReportType(5);
 		taskVO.setIsDeleted(0);
-		// 查询网格员对应的网格id
-		String gridCode = getGridCode();
-		// 标签事件
-		Integer bqsj = baseMapper.selectTaskCount(taskVO);
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskVO.class,taskVO);
+
+		// 标签报事-二手交易
+		Integer bqsj = baseMapper.selectTaskCount(taskVO,commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getIsAdministrator(),commonParamSet.getGridCodeList());
 		taskVO.setReportType(1);
 		// 取保候审
-		Integer qbhs = baseMapper.selectTaskCount(taskVO);
+		Integer qbhs = baseMapper.selectTaskCount(taskVO,commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getIsAdministrator(),commonParamSet.getGridCodeList());
 		// 报事报修
 		Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode);
-		// 住房审核
-		Integer zhsh = iHouseholdService.statistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode);
+		// 住户审核
+		Integer zhsh = iHouseholdService.statistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode,0);
 		// 出租审核
 		HouseRentalTenantVO houseRentalTenantVO = new HouseRentalTenantVO();
-		houseRentalTenantVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null);
 		houseRentalTenantVO.setNeiCode(neiCode);
 		Integer czsh = iHouseRentalService.getStatisticsCount(houseRentalTenantVO);
 		// 场所审核
 		Integer cssh = SpringUtils.getBean(IPlaceExtService.class).selectCount(roleType > 0 ? AuthUtil.getUserId() : null, neiCode, 1);
 		// 走访日志
+		// 查询网格员对应的网格id
+		String gridCode = getGridCode();
 		Integer zfrw = SpringUtils.getBean(IGridWorkLogService.class).getGridWorkCountHandleCount(gridCode, 1);
+		// 消防自查
+		Integer xfzc = SpringUtils.getBean(ITaskPlaceSelfCheckService.class).getCount(neiCode, 1);
+		// 消防隐患整改
+		Integer xfyhzg = SpringUtils.getBean(ITaskPlaceRectificationService.class).getCount(neiCode, 1);
 		// 设置
-		objectObjectHashMap.put("qbhs", qbhs);
-		objectObjectHashMap.put("bqsj", bqsj);
-		objectObjectHashMap.put("bsbx", bsbx);
-		objectObjectHashMap.put("zhsh", zhsh);
-		objectObjectHashMap.put("czsh", czsh);
-		objectObjectHashMap.put("cssh", cssh);
-		objectObjectHashMap.put("zfrw", zfrw);
+		objectObjectHashMap.put("qbhs", qbhs);// 取保候审
+		objectObjectHashMap.put("bqsj", bqsj);// 标签报事-二手交易
+		objectObjectHashMap.put("bsbx", bsbx);// 报事报修
+		objectObjectHashMap.put("zhsh", zhsh);// 住户审核
+		objectObjectHashMap.put("czsh", czsh);// 出租审核
+		objectObjectHashMap.put("cssh", cssh);// 场所审核
+		objectObjectHashMap.put("zfrw", zfrw);// 走访日志
+		objectObjectHashMap.put("xfzc", xfzc);// 消防自查
+		objectObjectHashMap.put("xfyhzg", xfyhzg);// 消防隐患整改
 		return objectObjectHashMap;
 	}
 
@@ -278,9 +279,9 @@
 		taskVO.setUserId(AuthUtil.getUserId());
 		taskVO.setFrequency(1);
 		taskVO.setStatus(1);
-		Integer disposable = baseMapper.selectTaskCount(taskVO);
+		Integer disposable = baseMapper.selectTaskCount(taskVO,null,null,null);
 		taskVO.setFrequency(2);
-		Integer periodicity = baseMapper.selectTaskCount(taskVO);
+		Integer periodicity = baseMapper.selectTaskCount(taskVO,null,null,null);
 		objectObjectHashMap.put("disposable", disposable);
 		objectObjectHashMap.put("periodicity", periodicity);
 		return objectObjectHashMap;
diff --git a/src/main/java/org/springblade/modules/task/vo/TaskVO.java b/src/main/java/org/springblade/modules/task/vo/TaskVO.java
index b29345e..0354311 100644
--- a/src/main/java/org/springblade/modules/task/vo/TaskVO.java
+++ b/src/main/java/org/springblade/modules/task/vo/TaskVO.java
@@ -86,4 +86,5 @@
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date returnTime;
 
+
 }
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.java b/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.java
index 8388f12..aa477c3 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.java
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.java
@@ -78,4 +78,6 @@
 											 @Param("isAdministrator") Integer isAdministrator,
 											 @Param("gridCodeList") List<String> gridCodeList,
 											 @Param("nineTypeList") List<String> nineTypeList);
+
+    Integer getCount(String neiCode, int i, Long userId);
 }
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml b/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml
index 96246a9..7161490 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/mapper/TaskPlaceRectificationMapper.xml
@@ -612,5 +612,14 @@
         order by jtpr.create_time desc
     </select>
 
+    <select id="getCount" resultType="java.lang.Integer">
+        SELECT count(1)
+        FROM jczz_task_place_rectification jtpr
+                 LEFT JOIN jczz_place jp ON jp.house_code = jtpr.house_code
+        WHERE jp.jw_grid_code IN
+              (SELECT jpag.jw_grid_code FROM jczz_police_affairs_grid jpag WHERE jpag.police_user_id like concat('%',${userId},'%'))
+          AND jtpr.`status` = 1
+    </select>
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/service/ITaskPlaceRectificationService.java b/src/main/java/org/springblade/modules/taskPlaceRectification/service/ITaskPlaceRectificationService.java
index 8a04257..da3d268 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/service/ITaskPlaceRectificationService.java
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/service/ITaskPlaceRectificationService.java
@@ -69,4 +69,6 @@
 	List<TaskPlaceRectificationExcel> export(TaskPlaceRectificationsVO taskPlaceRectificationVO);
 
 	void importPlaceRectifications(List<PlaceRectificationsExcel> data, Boolean isCovered);
+
+    Integer getCount(String neiCode, int i);
 }
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java b/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java
index a2192b9..d3ca407 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java
@@ -24,6 +24,7 @@
 import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
 import org.apache.logging.log4j.util.Strings;
 import org.springblade.common.cache.SysCache;
+import org.springblade.common.utils.AuthUtils;
 import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.BeanUtil;
@@ -439,4 +440,14 @@
 		// }
 		return result;
 	}
+
+	@Override
+	public Integer getCount(String neiCode, int i) {
+		// 获取请求头中的角色别名
+		String roleName = SpringUtils.getRequestParam("roleName");
+		if (AuthUtils.isMj(roleName)) {
+			return baseMapper.getCount(neiCode, i, AuthUtil.getUserId());
+		}
+		return 0;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.java
index a48d0c4..3d07aa1 100644
--- a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.java
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.java
@@ -77,4 +77,6 @@
 														   @Param("isAdministrator") Integer isAdministrator,
 														   @Param("regionChildCodesList") List<String> regionChildCodesList,
 														   @Param("gridCodeList") List<String> gridCodeList);
+
+	Integer getCount(String neiCode, int i,Long userId);
 }
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.xml b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.xml
index 9b792d6..5a85a60 100644
--- a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.xml
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/mapper/TaskPlaceSelfCheckMapper.xml
@@ -485,4 +485,12 @@
             </if>
         </where>
     </select>
+    <select id="getCount" resultType="java.lang.Integer">
+        SELECT count(1)
+        FROM jczz_task_place_self_check jtpsc
+                 LEFT JOIN jczz_place jp ON jp.house_code = jtpsc.house_code
+        WHERE jp.jw_grid_code IN
+              (SELECT jpag.jw_grid_code FROM jczz_police_affairs_grid jpag WHERE jpag.police_user_id like concat('%',${userId},'%') )
+          AND jtpsc.`status` = 1
+    </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/ITaskPlaceSelfCheckService.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/ITaskPlaceSelfCheckService.java
index 911c8fb..571e5fb 100644
--- a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/ITaskPlaceSelfCheckService.java
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/ITaskPlaceSelfCheckService.java
@@ -69,4 +69,6 @@
 	 * @return
 	 */
 	List<TaskPlaceSelfCheckExcel> exportTaskPlaceSelfCheck(TaskPlaceSelfCheckVO taskPlaceSelfCheck);
+
+    Integer getCount(String neiCode, int i);
 }
diff --git a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/impl/TaskPlaceSelfCheckServiceImpl.java b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/impl/TaskPlaceSelfCheckServiceImpl.java
index be205af..c4b66f6 100644
--- a/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/impl/TaskPlaceSelfCheckServiceImpl.java
+++ b/src/main/java/org/springblade/modules/taskPlaceSelfCheck/service/impl/TaskPlaceSelfCheckServiceImpl.java
@@ -23,6 +23,7 @@
 import org.springblade.common.constant.CommonConstant;
 import org.springblade.common.constant.DictConstant;
 import org.springblade.common.param.CommonParamSet;
+import org.springblade.common.utils.AuthUtils;
 import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.BeanUtil;
@@ -72,21 +73,21 @@
 	@Override
 	public IPage<TaskPlaceSelfCheckVO> selectTaskPlaceSelfCheckPage(IPage<TaskPlaceSelfCheckVO> page, TaskPlaceSelfCheckVO taskPlaceSelfCheck) {
 		List<String> strings = new ArrayList<>();
-		if (null!=taskPlaceSelfCheck.getNineType()){
+		if (null != taskPlaceSelfCheck.getNineType()) {
 			QueryWrapper<DictBiz> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("is_deleted",0).eq("dict_key",taskPlaceSelfCheck.getNineType()).eq("code","nineType");
+			queryWrapper.eq("is_deleted", 0).eq("dict_key", taskPlaceSelfCheck.getNineType()).eq("code", "nineType");
 			// 先查询当前
 			DictBiz one = dictBizService.getOne(queryWrapper);
 			// 查询本身和子集的key
 			List<DictBiz> list = dictBizService.getList("nineType", one.getId());
-			if (list.size()==0){
+			if (list.size() == 0) {
 				strings.add(taskPlaceSelfCheck.getNineType().toString());
-			}else {
+			} else {
 				strings = list.stream().map(DictBiz::getDictKey).collect(Collectors.toList());
 			}
 		}
 		// 公共参数设置
-		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskPlaceSelfCheckVO.class,taskPlaceSelfCheck);
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskPlaceSelfCheckVO.class, taskPlaceSelfCheck);
 		List<TaskPlaceSelfCheckVO> placeCheckVOS = baseMapper.selectTaskPlaceSelfCheckPage(page,
 			taskPlaceSelfCheck,
 			commonParamSet.getIsAdministrator(),
@@ -164,12 +165,11 @@
 				item.setCreateUser(AuthUtil.getUserId());
 			});
 			List<TaskPlaceRecordEntity> collect = taskPlaceRecordList.stream().filter(item -> item.getState().equals(0)).collect(Collectors.toList());
-			boolean b = bean.saveBatch(collect);
-			updateById(taskPlaceSelfCheck);
-			if (b) {
-				return b;
+			if (collect.size() > 0) {
+				bean.saveBatch(collect);
 			}
-			throw new Exception("保存失败!");
+			updateById(taskPlaceSelfCheck);
+			return save;
 		}
 		return false;
 	}
@@ -204,27 +204,28 @@
 
 	/**
 	 * 导出消防自查信息
+	 *
 	 * @param taskPlaceSelfCheck
 	 * @return
 	 */
 	@Override
 	public List<TaskPlaceSelfCheckExcel> exportTaskPlaceSelfCheck(TaskPlaceSelfCheckVO taskPlaceSelfCheck) {
 		List<String> strings = new ArrayList<>();
-		if (null!=taskPlaceSelfCheck.getNineType()){
+		if (null != taskPlaceSelfCheck.getNineType()) {
 			QueryWrapper<DictBiz> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("is_deleted",0).eq("dict_key",taskPlaceSelfCheck.getNineType()).eq("code","nineType");
+			queryWrapper.eq("is_deleted", 0).eq("dict_key", taskPlaceSelfCheck.getNineType()).eq("code", "nineType");
 			// 先查询当前
 			DictBiz one = dictBizService.getOne(queryWrapper);
 			// 查询本身和子集的key
 			List<DictBiz> list = dictBizService.getList("nineType", one.getId());
-			if (list.size()==0){
+			if (list.size() == 0) {
 				strings.add(taskPlaceSelfCheck.getNineType().toString());
-			}else {
+			} else {
 				strings = list.stream().map(DictBiz::getDictKey).collect(Collectors.toList());
 			}
 		}
 		// 公共参数设置
-		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskPlaceSelfCheckVO.class,taskPlaceSelfCheck);
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskPlaceSelfCheckVO.class, taskPlaceSelfCheck);
 		List<TaskPlaceSelfCheckExcel> taskPlaceSelfCheckExcels = baseMapper.exportTaskPlaceSelfCheck(
 			strings,
 			taskPlaceSelfCheck,
@@ -248,4 +249,14 @@
 		}
 		return taskPlaceSelfCheckExcels;
 	}
+
+	@Override
+	public Integer getCount(String neiCode, int i) {
+		// 获取请求头中的角色别名
+		String roleName = SpringUtils.getRequestParam("roleName");
+		if (AuthUtils.isMj(roleName)) {
+			return baseMapper.getCount(neiCode, i, AuthUtil.getUserId());
+		}
+		return 0;
+	}
 }

--
Gitblit v1.9.3