From 30f7705239334a3df2c7a296fb11abd1b28355cb Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 02 Feb 2024 22:46:01 +0800
Subject: [PATCH] 机构新增字段,警务网格字段调整
---
src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java | 4
src/main/java/org/springblade/modules/system/mapper/RegionMapper.java | 10 +++
src/main/java/org/springblade/modules/system/controller/DeptController.java | 9 ++
src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml | 18 ++++++
src/main/java/org/springblade/modules/system/service/IRegionService.java | 3
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java | 37 ++++++++++++
src/main/java/org/springblade/modules/system/vo/RegionParamVO.java | 52 +++++++++++++++++
src/main/java/org/springblade/modules/system/entity/Dept.java | 6 ++
src/main/java/org/springblade/modules/system/service/IDeptService.java | 5 +
src/main/java/org/springblade/modules/system/controller/RegionController.java | 3
src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java | 19 +++++-
src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java | 11 +++
12 files changed, 165 insertions(+), 12 deletions(-)
diff --git a/src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java b/src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java
index f4c65f7..bd39c48 100644
--- a/src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java
+++ b/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;
/**
* 警务网格编号
*/
diff --git a/src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java b/src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java
index 51f293d..d41f523 100644
--- a/src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java
+++ b/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)
diff --git a/src/main/java/org/springblade/modules/system/controller/DeptController.java b/src/main/java/org/springblade/modules/system/controller/DeptController.java
index e9335f6..a23c600 100644
--- a/src/main/java/org/springblade/modules/system/controller/DeptController.java
+++ b/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());
+ }
diff --git a/src/main/java/org/springblade/modules/system/controller/RegionController.java b/src/main/java/org/springblade/modules/system/controller/RegionController.java
index 58d1a92..2f3eda8 100644
--- a/src/main/java/org/springblade/modules/system/controller/RegionController.java
+++ b/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));
}
diff --git a/src/main/java/org/springblade/modules/system/entity/Dept.java b/src/main/java/org/springblade/modules/system/entity/Dept.java
index a70149d..12a326e 100644
--- a/src/main/java/org/springblade/modules/system/entity/Dept.java
+++ b/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 = "管辖区域编号")
diff --git a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
index f238f50..eb0f7a0 100644
--- a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
+++ b/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();
}
diff --git a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
index 1c437c4..8cbf376 100644
--- a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
+++ b/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>
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 4872d74..ec2f554 100644
--- a/src/main/java/org/springblade/modules/system/service/IDeptService.java
+++ b/src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -141,4 +141,9 @@
Object dataHandleCommunity();
List<DeptUserTreeNode> getDeptAndUserTree(DeptUserTreeNode treeNode);
+
+ /**
+ * 数据处理(社区绑定)-- 处理社区(派出所下)
+ */
+ Object dataHandleCommunityByPolice();
}
diff --git a/src/main/java/org/springblade/modules/system/service/IRegionService.java b/src/main/java/org/springblade/modules/system/service/IRegionService.java
index cc25d59..d3eaf5a 100644
--- a/src/main/java/org/springblade/modules/system/service/IRegionService.java
+++ b/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);
/**
* 树列表(获取当前树)
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 90bdf3c..9e51e45 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
@@ -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;
+ }
}
diff --git a/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
index dd2e9cb..938b5ce 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
+++ b/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));
}
diff --git a/src/main/java/org/springblade/modules/system/vo/RegionParamVO.java b/src/main/java/org/springblade/modules/system/vo/RegionParamVO.java
new file mode 100644
index 0000000..9eee04c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/system/vo/RegionParamVO.java
@@ -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;
+}
--
Gitblit v1.9.3