소스 검색

fix 修改行政区域联动,所有数据变成树形结构无法实现,还是一级一级获取,走缓存

tjf 3 년 전
부모
커밋
9bd3ecf726
19개의 변경된 파일431개의 추가작업 그리고 73개의 파일을 삭제
  1. 10 0
      boman-api/boman-domain/src/main/java/com.boman.domain/SysDept.java
  2. 4 0
      boman-api/boman-domain/src/main/java/com.boman.domain/constant/CacheConstants.java
  3. 29 0
      boman-modules/boman-system/src/main/java/com/boman/system/controller/ChinaAreaController.java
  4. 1 0
      boman-modules/boman-system/src/main/java/com/boman/system/controller/SysDeptController.java
  5. 136 0
      boman-modules/boman-system/src/main/java/com/boman/system/domain/ChinaArea.java
  6. 8 0
      boman-modules/boman-system/src/main/java/com/boman/system/domain/vo/TreeSelect.java
  7. 20 0
      boman-modules/boman-system/src/main/java/com/boman/system/mapper/ChinaAreaMapper.java
  8. 19 0
      boman-modules/boman-system/src/main/java/com/boman/system/service/IChinaAreaService.java
  9. 133 0
      boman-modules/boman-system/src/main/java/com/boman/system/service/impl/ChinaAreaServiceImpl.java
  10. 4 4
      boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysDeptServiceImpl.java
  11. 17 0
      boman-modules/boman-system/src/main/resources/mapper/system/ChinaAreaMapper.xml
  12. 8 1
      boman-modules/boman-system/src/main/resources/mapper/system/SysDeptMapper.xml
  13. 0 12
      boman-web-core/src/main/java/com/boman/web/core/controller/FxryController.java
  14. 5 0
      boman-web-core/src/main/java/com/boman/web/core/controller/SysRegionController.java
  15. 0 7
      boman-web-core/src/main/java/com/boman/web/core/mapper/SysRegionMapper.java
  16. 8 14
      boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkServiceImpl.java
  17. 28 31
      boman-web-core/src/main/java/com/boman/web/core/utils/CzrkUtils.java
  18. 1 1
      boman-web-core/src/main/resources/mapper/CzrkMapper.xml
  19. 0 3
      boman-web-core/src/main/resources/mapper/SysRegionMapper.xml

+ 10 - 0
boman-api/boman-domain/src/main/java/com.boman.domain/SysDept.java

@@ -50,6 +50,8 @@ public class SysDept extends BaseEntity
 
     /***部门对应的区划编号***/
     private String areaId;
+    /***部门对应的区划名称***/
+    private String areaName;
 
     /** 父部门名称 */
     private String parentName;
@@ -63,6 +65,14 @@ public class SysDept extends BaseEntity
     /** 子部门 */
     private List<SysDept> children = new ArrayList<SysDept>();
 
+    public String getAreaName() {
+        return areaName;
+    }
+
+    public void setAreaName(String areaName) {
+        this.areaName = areaName;
+    }
+
     public Long getId() {
         return id;
     }

+ 4 - 0
boman-api/boman-domain/src/main/java/com.boman.domain/constant/CacheConstants.java

@@ -40,4 +40,8 @@ public class CacheConstants
      * 人员信息查询部门集合
      */
     public static final String DEPT_LIST = "dept_list_query";
+    /**
+     * 行政区域规划树形集合
+     */
+    public static final String CHINA_AREA = "china_area_list:";
 }

+ 29 - 0
boman-modules/boman-system/src/main/java/com/boman/system/controller/ChinaAreaController.java

@@ -0,0 +1,29 @@
+package com.boman.system.controller;
+
+import com.boman.domain.dto.AjaxResult;
+import com.boman.system.domain.ChinaArea;
+import com.boman.system.service.IChinaAreaService;
+import com.boman.system.service.impl.ChinaAreaServiceImpl;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * @author tjf
+ * @Date: 2022/03/25/9:39
+ */
+@RestController
+@RequestMapping("/chinaArea")
+public class ChinaAreaController {
+
+    @Resource
+    private IChinaAreaService chinaAreaService;
+    /**
+     * 获取行政区域规划下拉树列表
+     */
+    @PostMapping("/treeSelect")
+    public AjaxResult treeSelect(@RequestBody ChinaArea chinaArea)
+    {
+        return chinaAreaService.selectChinaAreaList(chinaArea);
+    }
+}

+ 1 - 0
boman-modules/boman-system/src/main/java/com/boman/system/controller/SysDeptController.java

@@ -10,6 +10,7 @@ import com.boman.common.security.annotation.PreAuthorize;
 import com.boman.domain.SysDept;
 import com.boman.domain.constant.UserConstants;
 import com.boman.domain.dto.AjaxResult;
+import com.boman.system.domain.vo.TreeSelect;
 import com.boman.system.mapper.SysDeptMapper;
 import com.boman.system.service.ISysDeptService;
 import org.apache.commons.lang3.ArrayUtils;

+ 136 - 0
boman-modules/boman-system/src/main/java/com/boman/system/domain/ChinaArea.java

@@ -0,0 +1,136 @@
+package com.boman.system.domain;
+
+import com.boman.domain.BaseEntity;
+import com.boman.domain.SysDept;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author tjf
+ * @Date: 2022/03/25/9:41
+ */
+public class ChinaArea extends BaseEntity {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * id
+     */
+
+    private Long id;
+
+    /**
+     * 数据库字段id
+     */
+    private String areaId;
+
+    /**
+     * 上级ID,一级为0
+     */
+
+    private String pid;
+
+    /**
+     * 名称
+     */
+
+    private String name;
+
+    /**
+     * 层级
+     */
+
+    private Integer treeLevel;
+
+    /**
+     * 是否叶子节点  0:否   1:是
+     */
+
+    private Integer leaf;
+
+    /**
+     * 排序
+     */
+
+    private Long sort;
+
+    /** 子区域 */
+    private List<ChinaArea> children = new ArrayList<ChinaArea>();
+
+    public List<ChinaArea> getChildren() {
+        return children;
+    }
+
+    public void setChildren(List<ChinaArea> children) {
+        this.children = children;
+    }
+
+    public String getAreaId() {
+        return areaId;
+    }
+
+    public void setAreaId(String areaId) {
+        this.areaId = areaId;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getPid() {
+        return pid;
+    }
+
+    public void setPid(String pid) {
+        this.pid = pid;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getTreeLevel() {
+        return treeLevel;
+    }
+
+    public void setTreeLevel(Integer treeLevel) {
+        this.treeLevel = treeLevel;
+    }
+
+    public Integer getLeaf() {
+        return leaf;
+    }
+
+    public void setLeaf(Integer leaf) {
+        this.leaf = leaf;
+    }
+
+    public Long getSort() {
+        return sort;
+    }
+
+    public void setSort(Long sort) {
+        this.sort = sort;
+    }
+
+    @Override
+    public String toString() {
+        return "SysRegion{" +
+                "id=" + id +
+                ", pid=" + pid +
+                ", name='" + name + '\'' +
+                ", treeLevel=" + treeLevel +
+                ", leaf=" + leaf +
+                ", sort=" + sort +
+                '}';
+    }
+}

+ 8 - 0
boman-modules/boman-system/src/main/java/com/boman/system/domain/vo/TreeSelect.java

@@ -5,6 +5,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 import com.boman.domain.SysMenu;
+import com.boman.system.domain.ChinaArea;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.boman.domain.SysDept;
 
@@ -46,6 +47,13 @@ public class TreeSelect implements Serializable
         this.children = menu.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
     }
 
+    public TreeSelect(ChinaArea chinaArea)
+    {
+        this.id = chinaArea.getId();
+        this.label = chinaArea.getName();
+        this.children = chinaArea.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
+    }
+
     public Long getId()
     {
         return id;

+ 20 - 0
boman-modules/boman-system/src/main/java/com/boman/system/mapper/ChinaAreaMapper.java

@@ -0,0 +1,20 @@
+package com.boman.system.mapper;
+
+import com.boman.system.domain.ChinaArea;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @author tjf
+ * @Date: 2022/03/25/9:40
+ */
+@Mapper
+public interface ChinaAreaMapper {
+
+    /**
+     * 查询行政区域规划列表
+     * @return
+     */
+    List<ChinaArea> selectChinaAreaList(ChinaArea chinaArea);
+}

+ 19 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/IChinaAreaService.java

@@ -0,0 +1,19 @@
+package com.boman.system.service;
+
+import com.boman.domain.dto.AjaxResult;
+import com.boman.system.domain.ChinaArea;
+
+import java.util.List;
+
+/**
+ * @author tjf
+ * @Date: 2022/03/25/9:39
+ */
+public interface IChinaAreaService {
+    /**
+     * 查询行政区域规划列表
+     * @param chinaArea
+     * @return
+     */
+    public AjaxResult selectChinaAreaList(ChinaArea chinaArea);
+}

+ 133 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/ChinaAreaServiceImpl.java

@@ -0,0 +1,133 @@
+package com.boman.system.service.impl;
+
+import com.boman.common.core.utils.SecurityUtils;
+import com.boman.common.core.utils.StringUtils;
+import com.boman.common.redis.service.RedisService;
+import com.boman.domain.SysDept;
+import com.boman.domain.constant.CacheConstants;
+import com.boman.domain.dto.AjaxResult;
+import com.boman.system.api.model.LoginUser;
+import com.boman.system.domain.ChinaArea;
+import com.boman.system.domain.vo.TreeSelect;
+import com.boman.system.mapper.ChinaAreaMapper;
+import com.boman.system.service.IChinaAreaService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+/**
+ * @author tjf
+ * @Date: 2022/03/25/9:39
+ */
+@Service
+@Slf4j
+public class ChinaAreaServiceImpl implements IChinaAreaService {
+
+    @Resource
+    private RedisService redisService;
+
+    @Resource
+    private ChinaAreaMapper chinaAreaMapper;
+    /**
+     * 获取行政区域规划下拉树列表
+     * @param chinaArea
+     * @return
+     */
+    @Override
+    public AjaxResult selectChinaAreaList(ChinaArea chinaArea) {
+
+        //先去从redis获取
+        List<TreeSelect> treeSelects = redisService.getCacheList(CacheConstants.CHINA_AREA+chinaArea.getPid());
+        if (treeSelects != null && treeSelects.size() > 0){
+            log.info("从缓存中获取到区域集合");
+            return AjaxResult.success(treeSelects);
+        }
+        List<ChinaArea> chinaAreas = chinaAreaMapper.selectChinaAreaList(chinaArea);
+        if (chinaAreas != null && chinaAreas.size() > 0){
+            log.info("从数据库中获取到行政区域集合");
+            redisService.setCacheList(CacheConstants.CHINA_AREA+chinaArea.getPid(),chinaAreas);
+        }
+        return AjaxResult.success(chinaAreas);
+    }
+
+
+    /**
+     * 构建前端所需要下拉树结构
+     *
+     * @param chinaAreaList 行政区域列表
+     * @return 下拉树结构列表
+     */
+    public List<TreeSelect> buildChinaAreaTreeSelect(List<ChinaArea> chinaAreaList) {
+        List<ChinaArea> chinaAreaTrees = buildChinaAreaTree(chinaAreaList);
+        return chinaAreaTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
+    }
+
+
+    /**
+     * 构建前端所需要树结构
+     *
+     * @param chinaAreaList 行政区域列表
+     * @return 树结构列表
+     */
+    public List<ChinaArea> buildChinaAreaTree(List<ChinaArea> chinaAreaList) {
+        List<ChinaArea> returnList = new ArrayList<ChinaArea>();
+        List<String> tempList = new ArrayList<String>();
+        for (ChinaArea chinaArea : chinaAreaList) {
+            tempList.add(chinaArea.getAreaId());
+        }
+        for (Iterator<ChinaArea> iterator = chinaAreaList.iterator(); iterator.hasNext(); ) {
+            ChinaArea chinaArea = (ChinaArea) iterator.next();
+            // 如果是顶级节点, 遍历该父节点的所有子节点
+            if (!tempList.contains(chinaArea.getPid())) {
+                recursionFn(chinaAreaList, chinaArea);
+                returnList.add(chinaArea);
+            }
+        }
+        if (returnList.isEmpty()) {
+            returnList = chinaAreaList;
+        }
+        return returnList;
+    }
+
+
+    /**
+     * 递归列表
+     */
+    private void recursionFn(List<ChinaArea> chinaAreaList, ChinaArea c) {
+        // 得到子节点列表
+        List<ChinaArea> childList = getChildList(chinaAreaList, c);
+        c.setChildren(childList);
+        for (ChinaArea chinaArea : chinaAreaList) {
+            if (hasChild(chinaAreaList, chinaArea)) {
+                recursionFn(chinaAreaList, chinaArea);
+            }
+        }
+    }
+
+    /**
+     * 得到子节点列表
+     */
+    private List<ChinaArea> getChildList(List<ChinaArea> chinaAreaList, ChinaArea c) {
+        List<ChinaArea> tlist = new ArrayList<ChinaArea>();
+        Iterator<ChinaArea> it = chinaAreaList.iterator();
+        while (it.hasNext()) {
+            ChinaArea n = (ChinaArea) it.next();
+            if (StringUtils.isNotNull(n.getPid()) && n.getPid().equals(c.getAreaId())) {
+                tlist.add(n);
+            }
+        }
+        return tlist;
+    }
+
+    /**
+     * 判断是否有子节点
+     */
+    private boolean hasChild(List<ChinaArea> list, ChinaArea c) {
+        return getChildList(list, c).size() > 0;
+    }
+}

+ 4 - 4
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysDeptServiceImpl.java

@@ -371,14 +371,14 @@ public class SysDeptServiceImpl implements ISysDeptService {
     @Override
     public List<SysDept> listChildrenDepts(Long deptId) {
         //先去缓存拿数据
-        /*List<SysDept> allDepts = redisService.getCacheList(CacheConstants.DEPT_LIST);
+        List<SysDept> allDepts = redisService.getCacheList(CacheConstants.DEPT_LIST);
         if (allDepts != null && allDepts.size()>0){
             log.info("我从缓存中拿到部门集合");
-        }else {*/
-            List<SysDept> allDepts = selectDepts(new SysDept());
+        }else {
+             allDepts = selectDepts(new SysDept());
             //redisService.setCacheList(CacheConstants.DEPT_LIST,allDepts);
             log.info("我从数据库拿到部门集合");
-        //}
+        }
         SysDept sysDept = ObjectUtils.filterOne(allDepts, dept -> deptId.equals(dept.getId()));
         List<SysDept> returnData = Lists.newArrayListWithCapacity(16);
         if (null == sysDept) {

+ 17 - 0
boman-modules/boman-system/src/main/resources/mapper/system/ChinaAreaMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.boman.system.mapper.ChinaAreaMapper">
+
+    <resultMap type="com.boman.system.domain.ChinaArea" id="ChinaAreaResult">
+        <result property="areaId"    column="area_id"    />
+        <result property="name"    column="name"    />
+        <result property="pid"    column="pid"    />
+        <result property="sort"    column="sort"    />
+    </resultMap>
+    <select id="selectChinaAreaList" resultMap="ChinaAreaResult">
+        select area_id,name,pid,sort from china_area where pid = #{pid} order by sort
+    </select>
+
+</mapper>

+ 8 - 1
boman-modules/boman-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -22,10 +22,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="updateBy"   column="update_by"   />
 		<result property="updateTime" column="update_time" />
 		<result property="areaId" column="area_id"/>
+		<result property="areaName" column="area_name"/>
 	</resultMap>
 	
 	<sql id="selectDeptVo">
-        select d.id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time, d.area_id
+        select d.id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time, d.area_id,d.area_name
         from sys_dept d
     </sql>
     
@@ -122,6 +123,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="phone != null and phone != ''">phone,</if>
  			<if test="email != null and email != ''">email,</if>
  			<if test="status != null">status,</if>
+ 			<if test="areaId != null">area_id,</if>
+ 			<if test="areaName != null">area_name,</if>
  			<if test="createBy != null and createBy != ''">create_by,</if>
  			create_time
  		)values(
@@ -134,6 +137,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="phone != null and phone != ''">#{phone},</if>
  			<if test="email != null and email != ''">#{email},</if>
  			<if test="status != null">#{status},</if>
+ 			<if test="areaId != null">#{areaId},</if>
+ 			<if test="areaName != null">#{areaName},</if>
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
  			sysdate()
  		)
@@ -150,6 +155,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="phone != null">phone = #{phone},</if>
  			<if test="email != null">email = #{email},</if>
  			<if test="status != null and status != ''">status = #{status},</if>
+ 			<if test="areaId != null and areaId != ''">area_id = #{areaId},</if>
+ 			<if test="areaName != null and areaName != ''">area_name = #{areaName},</if>
  			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
  			update_time = sysdate()
  		</set>

+ 0 - 12
boman-web-core/src/main/java/com/boman/web/core/controller/FxryController.java

@@ -54,16 +54,4 @@ public class FxryController extends BaseController {
         return service.delete(id);
     }
 
-    /**
-     * 获取行政规划,五级
-     * @param sysRegion
-     * @return
-     */
-    @PostMapping("/getSysRegion")
-    public AjaxResult selectSysRegion(@RequestBody SysRegion sysRegion){
-        List<SysRegion> list = sysRegionMapper.selectSysRegion(sysRegion);
-        return AjaxResult.success(list);
-    }
-
-
 }

+ 5 - 0
boman-web-core/src/main/java/com/boman/web/core/controller/SysRegionController.java

@@ -1,6 +1,8 @@
 package com.boman.web.core.controller;
 
 import com.boman.common.core.utils.StringUtils;
+import com.boman.common.redis.service.RedisService;
+import com.boman.domain.constant.CacheConstants;
 import com.boman.domain.dto.AjaxResult;
 import com.boman.web.core.domain.SysRegion;
 import com.boman.web.core.mapper.SysRegionMapper;
@@ -36,6 +38,9 @@ public class SysRegionController {
     @Autowired
     private SysRegionMapper sysRegionMapper;
 
+    @Autowired
+    private RedisService redisService;
+
 
     @PostMapping("/insert")
     public void insertSysRegion() throws IOException {

+ 0 - 7
boman-web-core/src/main/java/com/boman/web/core/mapper/SysRegionMapper.java

@@ -20,13 +20,6 @@ public interface SysRegionMapper {
      */
     public int insertSysRegion(SysRegion sysRegion);
 
-    /**
-     * 查询
-     * @param sysRegion
-     * @return
-     */
-    List<SysRegion> selectSysRegion(SysRegion sysRegion);
-
     List<SysRegion> selectSysRegionByName(@Param("name")String name);
 
     List<SysRegion> selectSysRegionByNameLike(@Param("name")String name);

+ 8 - 14
boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkServiceImpl.java

@@ -447,17 +447,6 @@ public class CzrkServiceImpl implements ICzrkService {
         String username = sysUser.getUserName();
         //用户姓名
         String nickName = sysUser.getNickName();
-        String isRl = czrk.getIsRl();
-        if ("否".equals(isRl)) {
-            if (isNotEmpty(czrk.getVillageTowns())) {
-                czrk.setRlrNike(nickName);
-                czrk.setRlr(username);
-                czrk.setIsRl("是");
-                czrk.setDeptId(sysUser.getDeptId());
-                czrk.setRlTime(DateUtils.getNowDate());
-            }
-        }
-        czrk.setUpdateBy(username);
 
         //判断是否确认
         String isConfirm = czrk.getIsConfirm();
@@ -465,9 +454,14 @@ public class CzrkServiceImpl implements ICzrkService {
             czrk.setConfirmInfoUser(username);
             czrk.setConfirmInfoUserTime(DateUtils.getNowDate());
             czrk.setConfirmInfoNikeUser(nickName);
+            //确认的都算认领
+            czrk.setRlrNike(nickName);
+            czrk.setRlr(username);
+            czrk.setIsRl("是");
+            czrk.setDeptId(sysUser.getDeptId());
+            czrk.setRlTime(DateUtils.getNowDate());
         }
-
-
+        czrk.setUpdateBy(username);
         int count = czrkMapper.updateCzrk(czrk);
         if (count <= 0) return AjaxResult.error();
         //往confirm_info_user表中差数据
@@ -715,7 +709,7 @@ public class CzrkServiceImpl implements ICzrkService {
             }
         }
 
-        //todo 看是否是户主,且有户主号需要去查看该家庭是否有户主
+        // 看是否是户主,且有户主号需要去查看该家庭是否有户主
         String houseType = czrk.getHouseType();
         String code = czrk.getCode();
         if ("是".equals(houseType) && StringUtils.isNotBlank(code)) {

+ 28 - 31
boman-web-core/src/main/java/com/boman/web/core/utils/CzrkUtils.java

@@ -66,6 +66,10 @@ public class CzrkUtils {
         if (dept == null){
             throw new BaseException("对不起,未获相关部门信息");
         }
+        String areaId = dept.getAreaId();
+        if (StringUtils.isBlank(areaId)){
+            throw new BaseException(dept.getDeptName() + "当前未获取到部门下行政区域id" );
+        }
         //判断该用户是什么角色权限字符
         List<SysRole> roles = sysUser.getRoles();
         if (roles != null && roles.size() > 0){
@@ -76,39 +80,33 @@ public class CzrkUtils {
                          switch (roleKey){
                              case "province":
                                  if (type.equals(Czrk.HJ)){
-                                     //czrk.setProvinceId();
+                                     czrk.setProvinceId(areaId);
                                  }else {
-                                     //czrk.setProvinceIdXjd();
+                                     czrk.setProvinceIdXjd(areaId);
                                  }
                              case "city":
                                  if (type.equals(Czrk.HJ)){
-                                     //czrk.setCityId();
+                                     czrk.setCityId(areaId);
                                  }else {
-                                     //czrk.setCityIdXjd();
+                                     czrk.setCityIdXjd(areaId);
                                  }
                              case "region":
                                  if (type.equals(Czrk.HJ)){
-                                     //czrk.setRegionId();
+                                     czrk.setRegionId(areaId);
                                  }else {
-                                     //czrk.setRegionIdXjd();
+                                     czrk.setRegionIdXjd(areaId);
                                  }
                              case "villageTowns":
                                  if (type.equals(Czrk.HJ)){
-                                     //czrk.setVillageTownsId();
+                                     czrk.setVillageTownsId(areaId);
                                  }else {
-                                     //czrk.setVillageTownsXjd();
+                                     czrk.setVillageTownsXjd(areaId);
                                  }
                              case "village":
                                  if (type.equals(Czrk.HJ)){
-                                     //czrk.setVillageId();
-                                 }else {
-                                     //czrk.setVillageIdXjd();
-                                 }
-                             case "villagerGroup":
-                                 if (type.equals(Czrk.HJ)){
-                                     //czrk.setVillagerGroupId();
+                                     czrk.setVillageId(areaId);
                                  }else {
-                                     //czrk.setVillagerGroupIdXjd();
+                                     czrk.setVillageIdXjd(areaId);
                                  }
                              default:
                          }
@@ -131,6 +129,10 @@ public class CzrkUtils {
         if (dept == null){
             throw new BaseException("对不起,未获相关部门信息");
         }
+        String areaId = dept.getAreaId();
+        if (StringUtils.isBlank(areaId)){
+            throw new BaseException(dept.getDeptName() + "当前未获取到部门下行政区域id" );
+        }
         //判断该用户是什么角色权限字符
         List<SysRole> roles = sysUser.getRoles();
         if (roles != null && roles.size() > 0){
@@ -141,34 +143,29 @@ public class CzrkUtils {
                         switch (roleKey){
                             case "province":
                                 String provinceId = czrk.getProvinceId();
-/*                                if (StringUtils.isNotBlank(provinceId) && provinceId.equals()){
+                                if (StringUtils.isNotBlank(provinceId) && provinceId.equals(areaId)){
                                      flag = true;
-                                }*/
+                                }
                             case "city":
                                 String cityId = czrk.getCityId();
-/*                                if (StringUtils.isNotBlank(cityId) && cityId.equals()){
+                                if (StringUtils.isNotBlank(cityId) && cityId.equals(areaId)){
                                     flag = true;
-                                }*/
+                                }
                             case "region":
                                 String regionId = czrk.getRegionId();
-/*                                if (StringUtils.isNotBlank(regionId) && regionId.equals()){
+                                if (StringUtils.isNotBlank(regionId) && regionId.equals(areaId)){
                                     flag = true;
-                                }*/
+                                }
                             case "villageTowns":
                                 String villageTownsId = czrk.getVillageTownsId();
-/*                                if (StringUtils.isNotBlank(villageTownsId) && villageTownsId.equals()){
+                                if (StringUtils.isNotBlank(villageTownsId) && villageTownsId.equals(areaId)){
                                     flag = true;
-                                }*/
+                                }
                             case "village":
                                 String village = czrk.getVillage();
-/*                                if (StringUtils.isNotBlank(village) && village.equals()){
-                                    flag = true;
-                                }*/
-                            case "villagerGroup":
-                                String villagerGroup = czrk.getVillagerGroup();
-/*                                if (StringUtils.isNotBlank(villagerGroup) && villagerGroup.equals()){
+                                if (StringUtils.isNotBlank(village) && village.equals(areaId)){
                                     flag = true;
-                                }*/
+                                }
                             default:
                         }
                     }

+ 1 - 1
boman-web-core/src/main/resources/mapper/CzrkMapper.xml

@@ -108,7 +108,7 @@
         from czrk
         <where>
             is_del = 'N'
-            and status = '1',
+            and status = '1'
             <!-- 已认领 -->
             <if test="isRl != null and isRl != ''">and is_rl = #{isRl}</if>
             <if test="userName != null  and userName != ''">

+ 0 - 3
boman-web-core/src/main/resources/mapper/SysRegionMapper.xml

@@ -14,9 +14,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             keyProperty="id">
         INSERT INTO  `qianshan_data_bureau`.`china_area`(`area_id`, `name`, `pid`, `sort`) VALUES (#{id}, #{name}, #{pid}, #{sort}) on duplicate key update sort = #{sort}
     </insert>
-    <select id="selectSysRegion" parameterType="SysRegion" resultMap="SysRegionResult">
-        select area_id,name,pid,sort from china_area where pid = #{pid} order by sort
-    </select>
 
     <select id="selectSysRegionByName" parameterType="string" resultMap="SysRegionResult">
         select area_id,name,pid,sort from china_area where name = #{name}