src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java
@@ -30,8 +30,8 @@ */ @JsonSerialize(using = ToStringSerializer.class) @ApiModelProperty("主键id") @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; /** * 警务网格编号 */ src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java
@@ -34,15 +34,20 @@ private Integer id; /** * 派出所编号 * 编号 */ @ApiModelProperty(value = "派出所编号") @ApiModelProperty(value = "编号") private String code; /** * 派出所名称 * 名称 */ @ApiModelProperty(value = "派出所名称") @ApiModelProperty(value = "名称") private String name; /** * 父级编号 */ @ApiModelProperty(value = "父级编号") private String parentCode; /* * 辖区面数据 * @TableField(typeHandler = GeometryTypeHandler.class) 操作面的时候用,平时注释掉 @@ -57,6 +62,12 @@ private Integer sort; /** * 层级 */ @ApiModelProperty(value = "层级") private Integer level; /** * 创建人 */ @JsonSerialize(using = ToStringSerializer.class) src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -228,8 +228,13 @@ return R.data(deptService.getDeptAndUserTree(treeNode)); } /** * 数据处理(社区绑定)-- 处理社区(派出所下) */ @GetMapping("/dataHandleCommunityByPolice") public R dataHandleCommunityByPolice() { return R.data(deptService.dataHandleCommunityByPolice()); } src/main/java/org/springblade/modules/system/controller/RegionController.java
@@ -35,6 +35,7 @@ import org.springblade.modules.system.excel.RegionExcel; import org.springblade.modules.system.excel.RegionImporter; import org.springblade.modules.system.service.IRegionService; import org.springblade.modules.system.vo.RegionParamVO; import org.springblade.modules.system.vo.RegionVO; import org.springblade.modules.system.wrapper.RegionWrapper; import org.springframework.web.bind.annotation.*; @@ -131,7 +132,7 @@ */ @GetMapping("/tree") @ApiOperation(value = "树列表", notes = "传入menu") public R getTree(RegionVO region) { public R getTree(RegionParamVO region) { return R.data(regionService.getTree(region)); } src/main/java/org/springblade/modules/system/entity/Dept.java
@@ -86,6 +86,12 @@ private Integer deptCategory; /** * 机构性质 1:公安 2:非公安 */ @ApiModelProperty(value = "机构性质 1:公安 2:非公安") private Integer deptNature; /** * 管辖区域编号 */ @ApiModelProperty(value = "管辖区域编号") src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
@@ -23,6 +23,7 @@ import org.springblade.common.node.TreeStringNode; import org.springblade.modules.system.entity.Region; import org.springblade.modules.system.excel.RegionExcel; import org.springblade.modules.system.vo.RegionParamVO; import org.springblade.modules.system.vo.RegionVO; import java.util.List; @@ -67,7 +68,7 @@ * @return */ @MapKey(value = "id") Map<String, TreeStringNode> getTreeList(@Param("region") RegionVO region, Map<String, TreeStringNode> getTreeList(@Param("region") RegionParamVO region, @Param("regionChildCodesList") List<String> regionChildCodesList, @Param("isAdministrator") Integer isAdministrator); @@ -98,4 +99,11 @@ * @return */ List<Region> getRegionChildList(@Param("regionCode") String regionCode); /** * 查询公安对应的辖区树 * @return */ @MapKey(value = "id") Map<String, TreeStringNode> getPoliceTreeList(); } src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
@@ -248,4 +248,22 @@ ) </select> <!--查询公安对应的辖区树--> <select id="getPoliceTreeList" resultType="org.springblade.common.node.TreeStringNode"> SELECT CODE AS id, parent_code AS parentId, NAME FROM jczz_police_station WHERE is_deleted = 0 UNION ALL SELECT jw_grid_code AS id, pcs_code AS parentId, community_name AS NAME FROM jczz_police_affairs_grid WHERE is_deleted = 0 AND pcs_code IS NOT NULL </select> </mapper> src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -141,4 +141,9 @@ Object dataHandleCommunity(); List<DeptUserTreeNode> getDeptAndUserTree(DeptUserTreeNode treeNode); /** * 数据处理(社区绑定)-- 处理社区(派出所下) */ Object dataHandleCommunityByPolice(); } src/main/java/org/springblade/modules/system/service/IRegionService.java
@@ -22,6 +22,7 @@ import org.springblade.common.node.TreeStringNode; import org.springblade.modules.system.entity.Region; import org.springblade.modules.system.excel.RegionExcel; import org.springblade.modules.system.vo.RegionParamVO; import org.springblade.modules.system.vo.RegionVO; import java.util.List; @@ -90,7 +91,7 @@ * @param region * @return */ List<TreeStringNode> getTree(RegionVO region); List<TreeStringNode> getTree(RegionParamVO region); /** * 树列表(获取当前树) src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -36,6 +36,8 @@ import org.springblade.modules.community.service.ICommunityService; import org.springblade.modules.grid.entity.GridEntity; import org.springblade.modules.grid.service.IGridService; import org.springblade.modules.police.entity.PoliceAffairsGridEntity; import org.springblade.modules.police.service.IPoliceAffairsGridService; import org.springblade.modules.property.entity.PropertyCompanyEntity; import org.springblade.modules.property.service.IPropertyCompanyService; import org.springblade.modules.system.entity.Dept; @@ -413,4 +415,39 @@ // 处理并返回 return deptAndUserNodeTree; } /** * 数据处理(社区绑定)-- 处理社区(派出所下) */ @Override @Transactional(rollbackFor = Exception.class) public Object dataHandleCommunityByPolice() { // 查询所有的派出所 QueryWrapper<Dept> wrapper = new QueryWrapper<>(); wrapper.eq("is_deleted",0).like("dept_name","派出所"); List<Dept> list = list(wrapper); // 遍历 for (Dept dept : list) { // 通过派出所名称查询对应的警务网格信息 QueryWrapper<PoliceAffairsGridEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("is_deleted",0).eq("pcs_name",dept.getDeptName()); List<PoliceAffairsGridEntity> policeAffairsGridEntityList = SpringUtil.getBean(IPoliceAffairsGridService.class).list(queryWrapper); // 遍历 for (PoliceAffairsGridEntity policeAffairsGridEntity : policeAffairsGridEntityList) { Dept deptInfo = new Dept(); deptInfo.setTenantId("000000"); deptInfo.setDeptName(policeAffairsGridEntity.getCommunityName()); deptInfo.setFullName(policeAffairsGridEntity.getCommunityName()); deptInfo.setDeptCategory(1); deptInfo.setDeptNature(1); deptInfo.setParentId(dept.getId()); deptInfo.setAncestors(dept.getAncestors() + "," + dept.getId()); deptInfo.setRegionCode(policeAffairsGridEntity.getJwGridCode()); // 保存 save(deptInfo); } } return null; } } src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
@@ -35,6 +35,7 @@ import org.springblade.modules.system.mapper.RegionMapper; import org.springblade.modules.system.service.IDeptService; import org.springblade.modules.system.service.IRegionService; import org.springblade.modules.system.vo.RegionParamVO; import org.springblade.modules.system.vo.RegionVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -136,9 +137,17 @@ * @return */ @Override public List<TreeStringNode> getTree(RegionVO region) { public List<TreeStringNode> getTree(RegionParamVO region) { List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId()); Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2; if (null!=region.getDeptNature()){ // 公安 if (region.getDeptNature()==1){ // 查询公安对应的辖区树 return NodeTreeUtil.getStringNodeTree(baseMapper.getPoliceTreeList()); } } // 非公安 return NodeTreeUtil.getStringNodeTree(baseMapper.getTreeList(region,regionChildCodesList,isAdministrator)); } src/main/java/org/springblade/modules/system/vo/RegionParamVO.java
New file @@ -0,0 +1,52 @@ /* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.system.vo; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModel; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.tool.node.INode; import org.springblade.core.tool.utils.Func; import org.springblade.modules.system.entity.Region; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 行政区划表视图实体类 * * @author Chill */ @Data @EqualsAndHashCode(callSuper = true) @ApiModel(value = "RegionVO对象", description = "行政区划表") public class RegionParamVO extends Region{ private static final long serialVersionUID = 1L; private String regionCode; private List<Map<String, Object>> nineTypeStatistics; /** * 机构行政类型 1:公安 2:非公安 */ private Integer deptNature; }