From 70a29ae28b85643e00a4b7fbf111a95646a24dc2 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Wed, 20 Mar 2024 17:20:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java |   13 +++++-
 src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml             |   65 ++++++++++++++++++++++++++++++--
 src/main/java/org/springblade/modules/task/mapper/TaskMapper.java            |    6 ++
 3 files changed, 75 insertions(+), 9 deletions(-)

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 aafbd57..f0907ef 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.java
@@ -56,7 +56,11 @@
 							@Param("gridCodeList") List<String> gridCodeList);
 
 
-	List<TaskVO> getBailReportingPage(IPage<TaskVO> page, TaskVO task);
+	List<TaskVO> getBailReportingPage(IPage<TaskVO> page,
+									  @Param("task") TaskVO task,
+									  @Param("regionChildCodesList") List<String> regionChildCodesList,
+									  @Param("gridCodeList") List<String> gridCodeList,
+									  @Param("isAdministrator") Integer isAdministrator);
 
 	/**
 	 * 查询取保候审任务列表(人房相关)
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 3170af0..7ff58ae 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
@@ -469,8 +469,8 @@
         jda.region_code,
         jg.community_code neiCode,
         jc.street_code streetCode,
-        bu.name realName,
-        bu.phone,
+        bu.real_name realName,
+        ifnull(bu.phone,jtbre.check_telephone) as phone,
         jt.id,
         jt.NAME,
         jt.type,
@@ -491,12 +491,12 @@
         FROM
         jczz_task jt
         LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jt.house_code
-        LEFT JOIN jczz_place jp ON locate(jt.house_code,jp.house_code)>0 and jp.is_deleted = 0
-        LEFT JOIN blade_user bu on bu.id = jt.create_user and bu.is_deleted = 0
+        LEFT JOIN jczz_place jp ON jt.house_code = jp.house_code and jp.is_deleted = 0
         LEFT JOIN jczz_grid_range jgr on jgr.house_code= jt.house_code
         LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
         LEFT JOIN jczz_community jc on jc.`code`= jg.community_code and jc.is_deleted = 0
         LEFT JOIN jczz_task_bail_reporting_event jtbre on jtbre.task_id = jt.id and jtbre.is_deleted = 0
+        LEFT JOIN blade_user bu on bu.id = jtbre.check_user_id and bu.is_deleted = 0
         <where>
             <if test="task.userId != null and task.userId != ''">
                 AND jt.house_code IN (
@@ -568,7 +568,62 @@
             <if test="task.reportType != null and task.reportType != 2 ">
                 and jt.report_type = #{task.reportType}
             </if>
-
+            <if test="isAdministrator==2">
+                <choose>
+                    <when test="task.roleName != null and task.roleName != ''">
+                        <if test="task.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="task.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 ('')
+                                )
+                            </otherwise>
+                        </choose>
+                    </otherwise>
+                </choose>
+            </if>
             and jt.is_deleted = 0
             and jt.house_code is not null
             order by jt.create_time desc
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 d822729..a1e281f 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
@@ -128,11 +128,13 @@
 
 	@Override
 	public IPage<TaskVO> getBailReportingPage(IPage<TaskVO> page, TaskVO task) {
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskVO.class, task);
 		// 民警角色
 		if (AuthUtil.getUserRole().equals("mj")) {
-			CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskVO.class, task);
 			task.setUserId(AuthUtil.getUserId());
-			return page.setRecords(baseMapper.selectTaskPageBy(page, task, commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator()));
+			return page.setRecords(baseMapper.selectTaskPageBy(page, task,
+				commonParamSet.getRegionChildCodesList(),
+				commonParamSet.getIsAdministrator()));
 		} else {
 			if (AuthUtil.getUserAccount().equals("18879306957")) {
 				task.setCommunityCode("361102003027");
@@ -142,7 +144,12 @@
 				task.setUserId(AuthUtil.getUserId());
 			}
 			// 非民警角色
-			List<TaskVO> taskVOS = baseMapper.getBailReportingPage(page, task);
+			List<TaskVO> taskVOS = baseMapper.getBailReportingPage(page,
+				task,
+				commonParamSet.getRegionChildCodesList(),
+				commonParamSet.getGridCodeList(),
+				commonParamSet.getIsAdministrator());
+			// 返回
 			return page.setRecords(taskVOS);
 		}
 	}

--
Gitblit v1.9.3