src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -461,5 +461,11 @@ } /** * 按行政区统计六大队伍 */ @GetMapping("/getUserDistrictTypeCount") public R getUserDistrictTypeCount() { return R.data(userService.getUserDistrictTypeCount()); } } 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; } 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(); } 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> 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(); } 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(); } } src/main/java/org/springblade/modules/system/vo/UserDistrictStatisVO.java
New file @@ -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; }