From 9f6332a751676891cb910f2b6fd50833cbc865c7 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 19 Mar 2024 16:05:19 +0800
Subject: [PATCH] 报警单查询修改

---
 src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.xml             |   73 +++++++++++++++++++++++++++++++++++-
 src/main/java/org/springblade/modules/police/vo/PoliceAlarmRecordsVO.java                    |   10 +++++
 src/main/java/org/springblade/modules/police/service/impl/PoliceAlarmRecordsServiceImpl.java |    8 +++
 src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.java            |    9 ++++
 4 files changed, 95 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.java b/src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.java
index 5054411..38a0406 100644
--- a/src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.java
+++ b/src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.java
@@ -36,9 +36,16 @@
 	 *
 	 * @param page
 	 * @param policeAlarmRecords
+	 * @param isAdministrator
+	 * @param regionChildCodesList
+	 * @param gridCodeList
 	 * @return
 	 */
-	List<PoliceAlarmRecordsVO> selectPoliceAlarmRecordsPage(IPage page, @Param("vo") PoliceAlarmRecordsVO policeAlarmRecords);
+	List<PoliceAlarmRecordsVO> selectPoliceAlarmRecordsPage(IPage page,
+															@Param("vo") PoliceAlarmRecordsVO policeAlarmRecords,
+															@Param("isAdministrator") Integer isAdministrator,
+															@Param("regionChildCodesList") List<String> regionChildCodesList,
+															@Param("vo") List<String> gridCodeList);
 
 
 }
diff --git a/src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.xml b/src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.xml
index aa2fa84..0a26fa9 100644
--- a/src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.xml
+++ b/src/main/java/org/springblade/modules/police/mapper/PoliceAlarmRecordsMapper.xml
@@ -3,14 +3,81 @@
 <mapper namespace="org.springblade.modules.police.mapper.PoliceAlarmRecordsMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="policeAlarmRecordsResultMap" type="org.springblade.modules.police.entity.PoliceAlarmRecordsEntity">
+    <resultMap id="policeAlarmRecordsResultMap" type="org.springblade.modules.police.vo.PoliceAlarmRecordsVO">
     </resultMap>
 
 
     <select id="selectPoliceAlarmRecordsPage" resultMap="policeAlarmRecordsResultMap">
-        select * from jczz_police_alarm_records
+        select jpar.* from jczz_police_alarm_records jpar
+        LEFT JOIN jczz_grid jg on jg.grid_code = jpar.grid_code and jg.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag on jpar.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
+        LEFT JOIN blade_region br on br.code = jpag.community_code
         <where>
-            <if test="vo.status != null ">and status = #{vo.status}</if>
+            <if test="vo.status != null ">
+                and jpar.status = #{vo.status}
+            </if>
+            <if test="vo.alarmDescribe != null and vo.alarmDescribe != ''">
+                and jpar.alarm_describe like concat('%',#{vo.alarmDescribe},'%')
+            </if>
+            <if test="vo.policeName != null and vo.policeName != ''">
+                and jpar.police_name like concat('%',#{vo.policeName},'%')
+            </if>
+            <if test="isAdministrator==2">
+                <choose>
+                    <when test="vo.roleName != null and vo.roleName != ''">
+                        <if test="vo.roleName=='wgy'">
+                            <choose>
+                                <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                    and jg.grid_code in
+                                    <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                        #{code}
+                                    </foreach>
+                                </when>
+                                <otherwise>
+                                    and jg.grid_code in ('')
+                                </otherwise>
+                            </choose>
+                        </if>
+                        <if test="vo.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  is_deleted = 0
         </where>
     </select>
diff --git a/src/main/java/org/springblade/modules/police/service/impl/PoliceAlarmRecordsServiceImpl.java b/src/main/java/org/springblade/modules/police/service/impl/PoliceAlarmRecordsServiceImpl.java
index d7fa280..5217de1 100644
--- a/src/main/java/org/springblade/modules/police/service/impl/PoliceAlarmRecordsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/police/service/impl/PoliceAlarmRecordsServiceImpl.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.police.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.param.CommonParamSet;
 import org.springblade.modules.police.entity.PoliceAlarmRecordsEntity;
 import org.springblade.modules.police.vo.PoliceAlarmRecordsVO;
 import org.springblade.modules.police.mapper.PoliceAlarmRecordsMapper;
@@ -35,7 +36,12 @@
 
 	@Override
 	public IPage<PoliceAlarmRecordsVO> selectPoliceAlarmRecordsPage(IPage<PoliceAlarmRecordsVO> page, PoliceAlarmRecordsVO policeAlarmRecords) {
-		return page.setRecords(baseMapper.selectPoliceAlarmRecordsPage(page, policeAlarmRecords));
+		CommonParamSet commonParamSet = new CommonParamSet<>().invoke(PoliceAlarmRecordsVO.class, policeAlarmRecords);
+		return page.setRecords(baseMapper.selectPoliceAlarmRecordsPage(page, policeAlarmRecords,
+			commonParamSet.getIsAdministrator(),
+			commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getGridCodeList()
+			));
 	}
 
 
diff --git a/src/main/java/org/springblade/modules/police/vo/PoliceAlarmRecordsVO.java b/src/main/java/org/springblade/modules/police/vo/PoliceAlarmRecordsVO.java
index 69f71a7..f674fd4 100644
--- a/src/main/java/org/springblade/modules/police/vo/PoliceAlarmRecordsVO.java
+++ b/src/main/java/org/springblade/modules/police/vo/PoliceAlarmRecordsVO.java
@@ -31,4 +31,14 @@
 public class PoliceAlarmRecordsVO extends PoliceAlarmRecordsEntity {
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * 社区编号
+	 */
+	private String communityCode;
+
+	/**
+	 * 角色名称
+	 */
+	private String roleName;
+
 }

--
Gitblit v1.9.3