From bf0ba48d2531d6550d0ededb9ef1b3c0d31b535f Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Fri, 17 Sep 2021 09:35:33 +0800
Subject: [PATCH] 1.首页统计

---
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.java                     |    2 +-
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml                      |   25 ++++++++++++++++++-------
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java          |    2 +-
 src/main/java/org/springblade/modules/system/service/IDeptService.java                  |    2 +-
 src/main/java/org/springblade/modules/information/controller/InformationController.java |   15 +++++++++------
 5 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/src/main/java/org/springblade/modules/information/controller/InformationController.java b/src/main/java/org/springblade/modules/information/controller/InformationController.java
index b68532b..f7a88ae 100644
--- a/src/main/java/org/springblade/modules/information/controller/InformationController.java
+++ b/src/main/java/org/springblade/modules/information/controller/InformationController.java
@@ -1146,21 +1146,24 @@
 			}
 			String deptid = strArrays.substring(0, strArrays.length() - 1);
 			Map<String, Object> map = new HashMap<String, Object>();
-			Map<Object, Object> objectStringMap = iDeptService.selectHold(deptid);
-			if (objectStringMap == null) {
+			List<Map<String, Object>> objectStringMap = iDeptService.selectHold(deptid);
+			if (objectStringMap.size()==0) {
 				map.put("name", list.get(i).get("deptname"));
 				map.put("cz", cznumber);
 				map.put("wcz", wcznumber);
 				lists.add(map);
 			} else {
-				String cz = objectStringMap.get("cz").toString();
-				cznumber = Integer.valueOf(cz);
-				String wcz = objectStringMap.get("wcz").toString();
-				wcznumber = Integer.valueOf(wcz);
+				for (int c=0;c<objectStringMap.size();c++){
+					String cz = objectStringMap.get(c).get("cz").toString();
+					cznumber += Integer.valueOf(cz);
+					String wcz = objectStringMap.get(c).get("wcz").toString();
+					wcznumber += Integer.valueOf(wcz);
+				}
 				map.put("name",  list.get(i).get("deptname"));
 				map.put("cz", cznumber);
 				map.put("wcz", wcznumber);
 				lists.add(map);
+
 			}
 		}
 		return R.data(lists);
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
index f9a3b5d..13ebc9b 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -83,7 +83,7 @@
 	List<String> selectIn();
 	List<Map<Object,String>> selectCount();
 	List<Map<Object,String>> selectId(String id);
-	Map<Object,Object> selectHold(String deptid);
+	List<Map<String, Object>> selectHold(String deptid);
 	/**
 	 * 懒加载获取部门树形结构,不包含顶级管理员公安局
 	 */
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index 1fea3ec..d5cb1f4 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -382,13 +382,24 @@
     </select>
 
     <select id="selectHold" resultType="java.util.HashMap">
-        SELECT
-            IFNULL(B.cz,0) as cz,
-            IFNULL(C.wcz,0) as wcz
-        FROM (SELECT jurisdiction FROM blade_user ) A
-            LEFT JOIN (SELECT COUNT(hold) as cz,jurisdiction FROM blade_user WHERE hold=0 and status=1 GROUP BY jurisdiction ) B ON A.jurisdiction=B.jurisdiction
-            LEFT JOIN (SELECT COUNT(hold) as wcz,jurisdiction FROM blade_user WHERE hold=1 and status=1 GROUP BY jurisdiction ) C ON A.jurisdiction=C.jurisdiction
-        WHERE A.jurisdiction in(${deptid}) GROUP BY cz,wcz
+        SELECT IFNULL(B.cz, 0)  as cz,
+               IFNULL(C.wcz, 0) as wcz,
+               A.jurisdiction
+        FROM (SELECT jurisdiction FROM blade_user) A
+                 LEFT JOIN (SELECT COUNT(hold) as cz, jurisdiction
+                            FROM blade_user
+                            WHERE hold = 1
+                              AND role_id = '1412226235153731586'
+                              and status = 1
+                            GROUP BY jurisdiction) B ON A.jurisdiction = B.jurisdiction
+                 LEFT JOIN (SELECT COUNT(hold) as wcz, jurisdiction
+                            FROM blade_user
+                            WHERE hold = 2
+                              AND role_id = '1412226235153731586'
+                              and status = 1
+                            GROUP BY jurisdiction) C ON A.jurisdiction = C.jurisdiction
+        WHERE A.jurisdiction in (${deptid})
+        GROUP BY cz, wcz, jurisdiction
     </select>
 
     <!--查询部门下面的所有单位-->
diff --git a/src/main/java/org/springblade/modules/system/service/IDeptService.java b/src/main/java/org/springblade/modules/system/service/IDeptService.java
index d3c39ac..70f8c04 100644
--- a/src/main/java/org/springblade/modules/system/service/IDeptService.java
+++ b/src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -125,7 +125,7 @@
 	List<DeptVO> search(String deptName, Long parentId);
 	List<Map<Object,String>> selectCount();
 	List<Map<Object,String>> selectId(String id);
-	Map<Object,Object> selectHold(String deptid);
+	List<Map<String, Object>> selectHold(String deptid);
 	List<String> selectIn();
 	List<DeptVO> securityLazyTree(String jurisdiction, Long parentId);
 
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index 1326ea8..dfb15ec 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -201,7 +201,7 @@
 	}
 
 	@Override
-	public Map<Object, Object> selectHold(String deptid) {
+	public List<Map<String, Object>> selectHold(String deptid) {
 		return baseMapper.selectHold(deptid);
 	}
 

--
Gitblit v1.9.3