From d331f44d8d8aa68564bd3fa7f85046e945025ae8 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 08 Mar 2022 19:48:13 +0800
Subject: [PATCH] 辖区人员查询

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml               |   98 ++++++++++++++++++++++++
 src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java            |    2 
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java   |    8 ++
 src/main/java/org/springblade/modules/system/controller/UserController.java      |   16 ++++
 src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java         |    2 
 src/main/java/org/springblade/modules/system/mapper/UserMapper.java              |    3 
 src/main/java/org/springblade/modules/system/service/IUserService.java           |    2 
 src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml             |   38 +++++++++
 src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java    |   16 +++-
 src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java |    8 ++
 10 files changed, 187 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index 557326a..c2108e3 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -54,9 +54,11 @@
 import org.springblade.modules.system.excel.UserImporters;
 import org.springblade.modules.system.service.IRoleService;
 import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.vo.UserRegisterStatisVO;
 import org.springblade.modules.system.vo.UserVO;
 import org.springblade.modules.system.vo.UsersVo;
 import org.springblade.modules.system.wrapper.UserWrapper;
+import org.springblade.modules.taskqd.vo.TaskqdVO;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -631,5 +633,19 @@
 		return R.status(status);
 	}
 
+	/**
+	 * 人员统计
+	 */
+	@GetMapping("/userCount")
+	public R cancelTask(String xid,String index) {
+		List<UserRegisterStatisVO> cout =  userService.getUserTypeCountXq(xid);
+		List<UserVO> list =  userService.getUserTypeList(xid,index);
+		Map<String,Object> res = new HashMap<>();
+		res.put("cout",cout);
+		res.put("list",list);
+		return R.data(res);
+	}
+
+
 }
 
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
index 797ee53..00a496b 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -24,6 +24,7 @@
 import org.springblade.modules.system.excel.UserExcel;
 import org.springblade.modules.system.vo.UserDistrictStatisVO;
 import org.springblade.modules.system.vo.UserRegisterStatisVO;
+import org.springblade.modules.system.vo.UserVO;
 import org.springblade.modules.system.vo.UsersVo;
 
 import java.util.List;
@@ -107,6 +108,8 @@
 
 
     List<UserRegisterStatisVO> getUserTypeCount();
+    List<UserRegisterStatisVO> getUserTypeCountXq(String xid);
+    List<UserVO> getUserTypeList(String xid, String index);
 
     List<UserDistrictStatisVO> getUserDistrictTypeCount();
 
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index b5cfe99..65a5eb5 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -317,6 +317,104 @@
             dept.id = '1424616047083905026'
     </select>
 
+    <!-- 按辖区统计六大队伍数量 -->
+    <select id="getUserTypeCountXq" resultType="org.springblade.modules.system.vo.UserRegisterStatisVO">
+        SELECT
+            '治保会队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615693403414529' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '内保干部队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615773594312705' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '治安巡防队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615835435130881' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '信息员队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615909959524354' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '保安员队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424615972718895106' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '警务辅助队伍' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1424616047083905026' and bu.jurisdiction = #{xid}
+            UNION ALL
+            SELECT
+            '平安志愿者' AS region,
+            count( * ) num
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            dept.id = '1416225906918195201' and bu.jurisdiction = #{xid}
+    </select>
+
+    <!-- 按辖区统计六大队伍数量 -->
+    <select id="getUserTypeList" resultType="org.springblade.modules.system.vo.UserVO">
+        SELECT
+            bu.*
+        FROM
+            blade_user bu
+            LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+        WHERE
+            bu.jurisdiction = "1415620815526883329"
+            <if test="index == 1">
+                AND dept.id = '1424615693403414529'
+            </if>
+            <if test="index == 2">
+                AND  dept.id = '1424615773594312705'
+            </if>
+            <if test="index == 3">
+                AND  dept.id = '1424615835435130881'
+            </if>
+            <if test="index == 4">
+                AND  dept.id = '1424615909959524354'
+            </if>
+            <if test="index == 5">
+                AND  dept.id = '1424615972718895106'
+            </if>
+            <if test="index == 6">
+                AND  dept.id = '1424616047083905026'
+            </if>
+            <if test="index == 7">
+                AND  dept.id ='1416225906918195201'
+            </if>
+    </select>
+
     <select id="getUserDistrictTypeCount" resultType="org.springblade.modules.system.vo.UserDistrictStatisVO">
         SELECT
             br.NAME AS region,
diff --git a/src/main/java/org/springblade/modules/system/service/IUserService.java b/src/main/java/org/springblade/modules/system/service/IUserService.java
index fdd224b..1b26495 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -269,6 +269,8 @@
 	 * 统计六大队伍
 	 */
 	List<UserRegisterStatisVO> getUserTypeCount();
+	List<UserRegisterStatisVO> getUserTypeCountXq(String  xid);
+	List<UserVO> getUserTypeList(String xid,String index);
 
 	List<UserDistrictStatisVO> getUserDistrictTypeCount();
 
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index e5bef50..4cd8d2d 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -502,6 +502,14 @@
 	public List<UserRegisterStatisVO> getUserTypeCount() {
 		return baseMapper.getUserTypeCount();
 	}
+	@Override
+	public List<UserRegisterStatisVO> getUserTypeCountXq(String xid) {
+		return baseMapper.getUserTypeCountXq(xid);
+	}
+	@Override
+	public List<UserVO> getUserTypeList(String xid,String index) {
+		return baseMapper.getUserTypeList(xid,index);
+	}
 
 	@Override
 	public List<UserDistrictStatisVO> getUserDistrictTypeCount() {
diff --git a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
index 5628909..bbd8e59 100644
--- a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
+++ b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
@@ -42,10 +42,7 @@
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 控制器
@@ -355,4 +352,15 @@
 		return R.status(taskqdService.updateSerid(rid, resid, newteam, newnum));
 	}
 
+	@GetMapping("/taskCount")
+	public R cancelTask(String id,String type) {
+		List<Map<String,Object>> cout =  taskqdService.taskCount(id,type);
+		List<TaskqdVO> list = taskqdService.getlist(id,type);
+		Map<String,Object> res = new HashMap<>();
+		res.put("ywc",cout.get(0).get("count"));
+		res.put("wwc",cout.get(1).get("count"));
+		res.put("data",list);
+		return R.data(res);
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
index 7bb78f4..70a5b51 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.java
@@ -40,6 +40,8 @@
 	boolean updateSerid(String rid,String serid,String newteam,int newnum);
 	List<Taskqd> selectList(Integer id);
 	List<Map<String, Object>> queryReceiver(String serid);
+	List<Map<String, Object>> taskCount(String id,String type);
+	List<TaskqdVO> getlist(String id,String type);
 	List<TaskqdVO> selectLi(String type, String serid,String jurisdiction,String workjurisdiction,String tasktype);
 	List<Map<String, Object>> selectNum(String serid,String jurisdiction,String workjurisdiction);
 	String querySerid(String rid);
diff --git a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
index dfe0d81..e9b25bf 100644
--- a/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
+++ b/src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -56,10 +56,42 @@
     </update>
 
     <!--日常任务列表-->
+    <select id="getlist" resultMap="taskResultMap">
+        SELECT
+        *
+        FROM
+        sys_taskqd
+        WHERE
+        serid LIKE concat("%",#{id},"%")
+        <if test="type == 3">
+            and rtype = 1
+        </if>
+        <if test="type == 2">
+            AND ( rtype = "0" OR rtype = "2" )
+        </if>
+    </select>
+
+    <!--任务统计-->
     <select id="selectList" resultMap="taskResultMap">
         select jnum, num, serid, team
         from sys_taskqd
         where id = #{id}
+    </select>
+    <select id="taskCount" resultType="java.util.HashMap">
+        SELECT
+            count( * ) AS count
+        FROM
+            sys_taskqd
+        WHERE
+            serid LIKE  concat("%",#{id},"%")
+            AND rtype = "1" UNION ALL
+        SELECT
+            count( * ) AS count
+        FROM
+            sys_taskqd
+        WHERE
+            serid LIKE concat("%",#{id},"%")
+            AND ( rtype = "0" OR rtype = "2" )
     </select>
 
     <select id="queryReceiver" resultType="java.util.HashMap">
@@ -75,13 +107,15 @@
         select qd.* from sys_taskqd qd LEFT JOIN sys_jurisdiction j ON j.id = qd.jurisdiction where 1=1 AND
         <if test="type==0">
             (qd.rtype = "2" or qd.rtype = "0") AND
-            find_in_set(#{serid}, serid) and qd.tasktype=#{tasktype}) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid FROM
+            find_in_set(#{serid}, serid) and qd.tasktype=#{tasktype}) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid
+            FROM
             sys_taskfk WHERE
             serid=#{serid} GROUP BY hdid,serid) B ON A.id=B.hdid
         </if>
         <if test="type==2">
             qd.rtype = "1" AND
-            find_in_set(#{serid}, serid) and qd.tasktype=#{tasktype}) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid FROM
+            find_in_set(#{serid}, serid) and qd.tasktype=#{tasktype}) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid
+            FROM
             sys_taskfk WHERE
             serid=#{serid} GROUP BY hdid,serid) B ON A.id=B.hdid
         </if>
diff --git a/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java b/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
index b0d13ba..5e027f1 100644
--- a/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
+++ b/src/main/java/org/springblade/modules/taskqd/service/ITaskqdService.java
@@ -39,6 +39,8 @@
 	Boolean updateSerid(String type,String rid,String newteam,int newnum);
 	List<Taskqd> selectList(Integer id);
 	List<Map<String, Object>> queryReceiver(String serid);
+	List<Map<String, Object>> taskCount(String id,String type);
+	List<TaskqdVO> getlist(String id,String type);
 	List<TaskqdVO> selectLi(String type, String serid,String jurisdiction,String workjurisdiction,String tasktype);
 	List<Map<String, Object>> selectNum(String serid,String jurisdiction,String workjurisdiction);
 	String querySerid(String rid);
diff --git a/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java b/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
index c345f12..88d04a3 100644
--- a/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
+++ b/src/main/java/org/springblade/modules/taskqd/service/impl/TaskqdServiceImpl.java
@@ -60,6 +60,14 @@
 	public List<Map<String, Object>> queryReceiver(String serid) {
 		return baseMapper.queryReceiver(serid);
 	}
+	@Override
+	public List<Map<String, Object>> taskCount(String id,String type) {
+		return baseMapper.taskCount(id,type);
+	}
+	@Override
+	public List<TaskqdVO> getlist(String id,String type) {
+		return baseMapper.getlist(id,type);
+	}
 
 	@Override
 	public List<TaskqdVO> selectLi(String type, String serid,String jurisdiction,String workjurisdiction,String tasktype) {

--
Gitblit v1.9.3