From f1918fc9554dedeee1fbfe6f5d1886440ec0b85f Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Thu, 29 Jul 2021 14:41:54 +0800
Subject: [PATCH] 1.单位统计接口

---
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml             |   63 ++++++++++++++++++++
 src/main/java/org/springblade/modules/information/service/IInformationService.java         |    5 +
 src/main/java/org/springblade/modules/information/controller/InformationController.java    |   56 ++++++++++++++++++
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.java            |    5 +
 src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java |   25 ++++++++
 5 files changed, 153 insertions(+), 1 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 72621ce..d18852d 100644
--- a/src/main/java/org/springblade/modules/information/controller/InformationController.java
+++ b/src/main/java/org/springblade/modules/information/controller/InformationController.java
@@ -197,5 +197,61 @@
 		return R.success("删除成功");
 	}
 
+	/**
+	 * 统计保安员资格异常的数量
+	 */
+	@PostMapping("/selectExtype")
+	public R selectExtype(String deptid) {
+		List<Map<Object, Object>> lists = informationService.selectExtype(deptid);
+		return R.data(lists);
+	}
+
+	/**
+	 * 统计保安员持证的数量
+	 */
+	@PostMapping("/selectHold")
+	public R selectHold(String deptid) {
+		List<Map<Object, Object>> lists = informationService.selectHold(deptid);
+		return R.data(lists);
+	}
+	/**
+	 * 派遣服务单位统计
+	 */
+	@PostMapping("/selectDis")
+	public R selectDis(String deptid) {
+		List<Map<Object, Object>> lists = informationService.selectDis(deptid);
+		return R.data(lists);
+	}
+
+	/**
+	 * 保安派遣数量统计
+	 */
+	@PostMapping("/selectDisp")
+	public R selectDisp(String deptid) {
+		List<Map<Object, Object>> lists = informationService.selectDisp(deptid);
+		return R.data(lists);
+	}
+
+	/**
+	 * 保安派遣数量统计
+	 */
+	@PostMapping("/selectSoil")
+	public R selectSoil(String deptid) {
+		List<Map<Object, Object>> lists = informationService.selectSoil(deptid);
+		List<Map<String, Object>> list = new ArrayList<>();
+		for (int i=0;i<lists.size();i++){
+			Map<String, Object> map = new HashMap<String, Object>();
+			String numj = lists.get(i).get("numj").toString();
+			Integer a=Integer.valueOf(numj);
+			String numz = lists.get(i).get("numz").toString();
+			Integer b=Integer.valueOf(numz);
+			Integer c=b-a;
+			map.put("numj",a);
+			map.put("nmuwj",c);
+			list.add(map);
+		}
+		return R.data(list);
+	}
+
 
 }
diff --git a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
index 1512f28..546680f 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
@@ -46,4 +46,9 @@
 	Map selectCount(String departmentid);
 	List<Map<Object,String>> selectInCount();
 	void deleteDept(String departmentid);
+	List<Map<Object,Object>> selectExtype(String deptid);
+	List<Map<Object,Object>> selectHold(String deptid);
+	List<Map<Object,Object>> selectDis(String deptid);
+	List<Map<Object,Object>> selectDisp(String deptid);
+	List<Map<Object,Object>> selectSoil(String deptid);
 }
diff --git a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
index 48990e2..6d579bc 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -93,8 +93,69 @@
     </select>
 
     <delete id="deleteDept">
-        delete from  blade_dept where id=#{departmentid}
+        delete
+        from blade_dept
+        where id = #{departmentid}
     </delete>
 
+    <!--资格审查异常数量-->
+    <select id="selectExtype" resultType="java.util.HashMap">
+        SELECT A.num as zc,
+               B.num as bzc
+        FROM (
+                 SELECT COUNT(*) AS num,
+                        u.dept_id
+                 FROM blade_user u
+                 WHERE u.examination_type = 0
+                 GROUP BY u.dept_id
+             ) A
+                 LEFT JOIN (
+            SELECT COUNT(*) AS num,
+                   u.dept_id
+            FROM blade_user u
+            WHERE u.examination_type = 1
+            GROUP BY u.dept_id
+        ) B ON A.dept_id = B.dept_id
+        WHERE A.dept_id = #{deptid}
+    </select>
+    <!--保安员持证和未持证数量-->
+    <select id="selectHold" resultType="java.util.HashMap">
+        SELECT IFNULL(A.thisnum, 0) AS cz,
+               IFNULL(B.lastnum, 0) AS wcz
+        FROM (SELECT COUNT(*) AS thisnum, dept_id
+              FROM blade_user
+              WHERE role_id = '1412226235153731586' AND hold = 0
+              GROUP BY dept_id) A
+                 LEFT JOIN (SELECT COUNT(*) AS lastnum, dept_id
+                            FROM blade_user
+                            WHERE role_id = '1412226235153731586' AND hold = 1
+                            GROUP BY dept_id) B ON A.dept_id = B.dept_id
+        WHERE A.dept_id =#{deptid}
+    </select>
+    <!--派遣服务单位统计-->
+    <select id="selectDis" resultType="java.util.HashMap">
+        SELECT u.name,
+               COUNT(dispatcher_unit_id) AS num
+        FROM sys_dispatcher d
+                 LEFT JOIN sys_dispatcher_unit u ON d.dispatcher_unit_id = u.id
+        WHERE d.dept_id = #{deptid}
+        GROUP BY u.name
+    </select>
 
+    <select id="selectDisp" resultType="java.util.HashMap">
+        SELECT COUNT(d.NAME) AS num,
+               u.real_name
+        FROM sys_dispatcher d
+                 LEFT JOIN blade_user u ON u.cardid = d.cardid
+        WHERE d.dept_id = #{deptid}
+        GROUP BY u.real_name
+    </select>
+
+    <select id="selectSoil" resultType="java.util.HashMap">
+        SELECT A.numj,
+               B.numz
+        FROM (SELECT COUNT(*) AS numj, deptid FROM sys_socil GROUP BY deptid) A
+                 LEFT JOIN (SELECT COUNT(*) AS numz, dept_id FROM blade_user GROUP BY dept_id) B ON A.deptid = B.dept_id
+        WHERE A.deptid = #{deptid}
+    </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/information/service/IInformationService.java b/src/main/java/org/springblade/modules/information/service/IInformationService.java
index ba2c797..5def9b0 100644
--- a/src/main/java/org/springblade/modules/information/service/IInformationService.java
+++ b/src/main/java/org/springblade/modules/information/service/IInformationService.java
@@ -46,4 +46,9 @@
 	Map selectCount(String departmentid);
 	List<Map<Object,String>> selectInCount();
 	void deleteDept(String departmentid);
+	List<Map<Object,Object>> selectExtype(String deptid);
+	List<Map<Object,Object>> selectHold(String deptid);
+	List<Map<Object,Object>> selectDis(String deptid);
+	List<Map<Object,Object>> selectDisp(String deptid);
+	List<Map<Object,Object>> selectSoil(String deptid);
 }
diff --git a/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java b/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
index 95f8b70..0c5b01a 100644
--- a/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
@@ -71,4 +71,29 @@
 		baseMapper.deleteDept(departmentid);
 	}
 
+	@Override
+	public List<Map<Object, Object>> selectExtype(String deptid) {
+		return baseMapper.selectExtype(deptid);
+	}
+
+	@Override
+	public List<Map<Object, Object>> selectHold(String deptid) {
+		return baseMapper.selectHold(deptid);
+	}
+
+	@Override
+	public List<Map<Object, Object>> selectDis(String deptid) {
+		return baseMapper.selectDis(deptid);
+	}
+
+	@Override
+	public List<Map<Object, Object>> selectDisp(String deptid) {
+		return baseMapper.selectDisp(deptid);
+	}
+
+	@Override
+	public List<Map<Object, Object>> selectSoil(String deptid) {
+		return baseMapper.selectSoil(deptid);
+	}
+
 }

--
Gitblit v1.9.3