From a2fb06f8f5f685d753780b3d5befc5417f15af3a Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 10 Aug 2021 16:14:21 +0800
Subject: [PATCH] 问题修复
---
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml | 27 ++++++++++++-
src/main/java/org/springblade/modules/system/vo/UserDistrictStatisVO.java | 20 ++++++++++
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 7 +++
src/main/java/org/springblade/modules/system/controller/UserController.java | 8 +++
src/main/java/org/springblade/modules/system/entity/User.java | 6 +++
src/main/java/org/springblade/modules/system/mapper/UserMapper.java | 5 ++
src/main/java/org/springblade/modules/system/service/IUserService.java | 3 +
7 files changed, 70 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 d65a174..f53a9fe 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -461,5 +461,11 @@
}
-
+ /**
+ * 按行政区统计六大队伍
+ */
+ @GetMapping("/getUserDistrictTypeCount")
+ public R getUserDistrictTypeCount() {
+ return R.data(userService.getUserDistrictTypeCount());
+ }
}
diff --git a/src/main/java/org/springblade/modules/system/entity/User.java b/src/main/java/org/springblade/modules/system/entity/User.java
index 8a5245e..70562a7 100644
--- a/src/main/java/org/springblade/modules/system/entity/User.java
+++ b/src/main/java/org/springblade/modules/system/entity/User.java
@@ -111,4 +111,10 @@
@ApiModelProperty(value = "辖区id")
private String jurisdiction;
+ /**
+ * 行政区
+ */
+ @ApiModelProperty(value = "行政区")
+ private String district;
+
}
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 32beaec..04c9c93 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -20,8 +20,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
-import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.entity.User;
+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.UsersVo;
@@ -107,4 +108,6 @@
List<UserRegisterStatisVO> getUserTypeCount();
+ 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 60cc750..83cf1b4 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -29,6 +29,7 @@
<result column="work_status" property="work_status"/>
<result column="examination_type" property="examination_type"/>
<result column="examination_mx" property="examination_mx"/>
+ <result column="district" property="district"/>
</resultMap>
<resultMap id="userResultMaps" type="org.springblade.modules.system.vo.UsersVo">
<result column="id" property="id"/>
@@ -243,9 +244,9 @@
left join
blade_region br
on
- bu.region_id = br.code
- where bu.region_id is not null
- group by bu.region_id
+ bu.district = br.code
+ where bu.district is not null
+ group by bu.district
</select>
<!-- 统计六大队伍数量 -->
@@ -304,4 +305,24 @@
WHERE
dept.id = '1424616047083905026'
</select>
+
+ <select id="getUserDistrictTypeCount" resultType="org.springblade.modules.system.vo.UserDistrictStatisVO">
+ SELECT
+ br.NAME AS region,
+ count( * ) num ,
+ count( CASE WHEN dept.dept_name = '治保会队伍' THEN 1 END) as zbh,
+ count( CASE WHEN dept.dept_name = '内保干部队伍' THEN 1 END) as nbgb,
+ count( CASE WHEN dept.dept_name = '治安巡防队伍' THEN 1 END) as zaxf,
+ count( CASE WHEN dept.dept_name = '信息员队伍' THEN 1 END) as xxy,
+ count( CASE WHEN dept.dept_name = '保安员队伍' THEN 1 END) as bay,
+ count( CASE WHEN dept.dept_name = '警务辅助队伍' THEN 1 END) as jwfz
+ FROM
+ blade_user bu
+ LEFT JOIN blade_region br ON bu.district = br.CODE
+ LEFT JOIN blade_dept dept ON substring_index( substring_index( bu.dept_id, ',', 3 ), ',',- 1 ) = dept.id
+ WHERE
+ bu.district IS NOT NULL
+ GROUP BY
+ bu.district
+ </select>
</mapper>
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 7600308..6952a57 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -28,6 +28,7 @@
import org.springblade.modules.system.entity.UserInfo;
import org.springblade.modules.system.entity.UserOauth;
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;
@@ -267,4 +268,6 @@
* 统计六大队伍
*/
List<UserRegisterStatisVO> getUserTypeCount();
+
+ 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 c0aad74..ce2e8f7 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
@@ -17,7 +17,6 @@
package org.springblade.modules.system.service.impl;
-import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -49,6 +48,7 @@
import org.springblade.modules.system.service.IUserDeptService;
import org.springblade.modules.system.service.IUserOauthService;
import org.springblade.modules.system.service.IUserService;
+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;
@@ -501,4 +501,9 @@
public List<UserRegisterStatisVO> getUserTypeCount() {
return baseMapper.getUserTypeCount();
}
+
+ @Override
+ public List<UserDistrictStatisVO> getUserDistrictTypeCount() {
+ return baseMapper.getUserDistrictTypeCount();
+ }
}
diff --git a/src/main/java/org/springblade/modules/system/vo/UserDistrictStatisVO.java b/src/main/java/org/springblade/modules/system/vo/UserDistrictStatisVO.java
new file mode 100644
index 0000000..61b1df4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/system/vo/UserDistrictStatisVO.java
@@ -0,0 +1,20 @@
+package org.springblade.modules.system.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class UserDistrictStatisVO implements Serializable {
+
+ private String region;
+
+
+ private Integer num;
+ private Integer zbh;
+ private Integer nbgb;
+ private Integer zaxf;
+ private Integer xxy;
+ private Integer bay;
+ private Integer jwfz;
+}
--
Gitblit v1.9.3