zhongrj
2024-02-02 30f7705239334a3df2c7a296fb11abd1b28355cb
机构新增字段,警务网格字段调整
11 files modified
1 files added
177 ■■■■■ changed files
src/main/java/org/springblade/modules/police/entity/PoliceAffairsGridEntity.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/police/entity/PoliceStationEntity.java 19 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/DeptController.java 9 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/RegionController.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/entity/Dept.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/RegionMapper.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml 18 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IDeptService.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IRegionService.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java 37 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/vo/RegionParamVO.java 52 ●●●●● patch | view | raw | blame | history
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;
}