|
@@ -2,12 +2,11 @@ package com.boman.web.core.utils;
|
|
|
|
|
|
import com.boman.common.core.exception.BaseException;
|
|
import com.boman.common.core.exception.BaseException;
|
|
import com.boman.common.core.utils.StringUtils;
|
|
import com.boman.common.core.utils.StringUtils;
|
|
-import com.boman.domain.Czrk;
|
|
|
|
-import com.boman.domain.SysDept;
|
|
|
|
-import com.boman.domain.SysRole;
|
|
|
|
-import com.boman.domain.SysUser;
|
|
|
|
|
|
+import com.boman.domain.*;
|
|
|
|
+
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+
|
|
import static com.boman.common.core.utils.StringUtils.isNotEmpty;
|
|
import static com.boman.common.core.utils.StringUtils.isNotEmpty;
|
|
import static com.boman.common.core.utils.obj.ObjectUtils.isEmpty;
|
|
import static com.boman.common.core.utils.obj.ObjectUtils.isEmpty;
|
|
import static com.google.common.base.Strings.nullToEmpty;
|
|
import static com.google.common.base.Strings.nullToEmpty;
|
|
@@ -56,59 +55,60 @@ public class CzrkUtils {
|
|
/**
|
|
/**
|
|
* 查询使用
|
|
* 查询使用
|
|
* 根据当前登录人判断该用户是什么角色权限字符,来进行判断该用户能查询到什么层级的数据
|
|
* 根据当前登录人判断该用户是什么角色权限字符,来进行判断该用户能查询到什么层级的数据
|
|
|
|
+ *
|
|
* @param czrk
|
|
* @param czrk
|
|
* @param sysUser
|
|
* @param sysUser
|
|
- * @param type 查询常住还是户籍
|
|
|
|
|
|
+ * @param type 查询常住还是户籍
|
|
*/
|
|
*/
|
|
- public static void setQueryRole(Czrk czrk, SysUser sysUser,String type) {
|
|
|
|
|
|
+ public static void setQueryRole(Czrk czrk, SysUser sysUser, String type) {
|
|
SysDept dept = sysUser.getDept();
|
|
SysDept dept = sysUser.getDept();
|
|
- if (dept == null){
|
|
|
|
|
|
+ if (dept == null) {
|
|
throw new BaseException("对不起,未获相关部门信息");
|
|
throw new BaseException("对不起,未获相关部门信息");
|
|
}
|
|
}
|
|
// 从部门中获取行政区域规划id
|
|
// 从部门中获取行政区域规划id
|
|
String areaId = dept.getAreaId();
|
|
String areaId = dept.getAreaId();
|
|
- if (StringUtils.isBlank(areaId)){
|
|
|
|
- throw new BaseException(dept.getDeptName() + "当前未获取到部门下行政区域id" );
|
|
|
|
|
|
+ if (StringUtils.isBlank(areaId)) {
|
|
|
|
+ throw new BaseException(dept.getDeptName() + "当前未获取到部门下行政区域id");
|
|
}
|
|
}
|
|
//判断该用户是什么角色权限字符
|
|
//判断该用户是什么角色权限字符
|
|
List<SysRole> roles = sysUser.getRoles();
|
|
List<SysRole> roles = sysUser.getRoles();
|
|
- if (roles != null && roles.size() > 0){
|
|
|
|
|
|
+ if (roles != null && roles.size() > 0) {
|
|
for (SysRole role : roles) {
|
|
for (SysRole role : roles) {
|
|
- if (role != null){
|
|
|
|
- String roleKey = role.getRoleKey();
|
|
|
|
- if (StringUtils.isNotBlank(roleKey)){
|
|
|
|
- if ("province".equals(roleKey)){
|
|
|
|
- if (type.equals(Czrk.HJ)){
|
|
|
|
- czrk.setProvinceId(areaId);
|
|
|
|
- }else {
|
|
|
|
- czrk.setProvinceIdXjd(areaId);
|
|
|
|
- }
|
|
|
|
- }else if ("city".equals(roleKey)){
|
|
|
|
- if (type.equals(Czrk.HJ)){
|
|
|
|
- czrk.setCityId(areaId);
|
|
|
|
- }else {
|
|
|
|
- czrk.setCityIdXjd(areaId);
|
|
|
|
- }
|
|
|
|
- }else if ("region".equals(roleKey)) {
|
|
|
|
- if (type.equals(Czrk.HJ)){
|
|
|
|
- czrk.setRegionId(areaId);
|
|
|
|
- }else {
|
|
|
|
- czrk.setRegionIdXjd(areaId);
|
|
|
|
- }
|
|
|
|
- }else if ("villageTowns".equals(roleKey)) {
|
|
|
|
- if (type.equals(Czrk.HJ)){
|
|
|
|
- czrk.setVillageTownsId(areaId);
|
|
|
|
- }else {
|
|
|
|
- czrk.setVillageTownsXjd(areaId);
|
|
|
|
- }
|
|
|
|
- }else if ("village".equals(roleKey)) {
|
|
|
|
- if (type.equals(Czrk.HJ)){
|
|
|
|
- czrk.setVillageId(areaId);
|
|
|
|
- }else {
|
|
|
|
- czrk.setVillageIdXjd(areaId);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ if (role != null) {
|
|
|
|
+ String roleKey = role.getRoleKey();
|
|
|
|
+ if (StringUtils.isNotBlank(roleKey)) {
|
|
|
|
+ if ("province".equals(roleKey)) {
|
|
|
|
+ if (type.equals(Czrk.HJ)) {
|
|
|
|
+ czrk.setProvinceId(areaId);
|
|
|
|
+ } else {
|
|
|
|
+ czrk.setProvinceIdXjd(areaId);
|
|
|
|
+ }
|
|
|
|
+ } else if ("city".equals(roleKey)) {
|
|
|
|
+ if (type.equals(Czrk.HJ)) {
|
|
|
|
+ czrk.setCityId(areaId);
|
|
|
|
+ } else {
|
|
|
|
+ czrk.setCityIdXjd(areaId);
|
|
|
|
+ }
|
|
|
|
+ } else if ("region".equals(roleKey)) {
|
|
|
|
+ if (type.equals(Czrk.HJ)) {
|
|
|
|
+ czrk.setRegionId(areaId);
|
|
|
|
+ } else {
|
|
|
|
+ czrk.setRegionIdXjd(areaId);
|
|
|
|
+ }
|
|
|
|
+ } else if ("villageTowns".equals(roleKey)) {
|
|
|
|
+ if (type.equals(Czrk.HJ)) {
|
|
|
|
+ czrk.setVillageTownsId(areaId);
|
|
|
|
+ } else {
|
|
|
|
+ czrk.setVillageTownsIdXjd(areaId);
|
|
|
|
+ }
|
|
|
|
+ } else if ("village".equals(roleKey)) {
|
|
|
|
+ if (type.equals(Czrk.HJ)) {
|
|
|
|
+ czrk.setVillageId(areaId);
|
|
|
|
+ } else {
|
|
|
|
+ czrk.setVillageIdXjd(areaId);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -117,6 +117,7 @@ public class CzrkUtils {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 新增用户的时候,判断登录用户是否能新增
|
|
* 新增用户的时候,判断登录用户是否能新增
|
|
|
|
+ *
|
|
* @param czrk
|
|
* @param czrk
|
|
* @param sysUser
|
|
* @param sysUser
|
|
*/
|
|
*/
|
|
@@ -124,47 +125,99 @@ public class CzrkUtils {
|
|
boolean flag = true;
|
|
boolean flag = true;
|
|
//从部门中获取行政区域规划id
|
|
//从部门中获取行政区域规划id
|
|
SysDept dept = sysUser.getDept();
|
|
SysDept dept = sysUser.getDept();
|
|
- if (dept == null){
|
|
|
|
|
|
+ if (dept == null) {
|
|
throw new BaseException("对不起,未获相关部门信息");
|
|
throw new BaseException("对不起,未获相关部门信息");
|
|
}
|
|
}
|
|
String areaId = dept.getAreaId();
|
|
String areaId = dept.getAreaId();
|
|
- if (StringUtils.isBlank(areaId)){
|
|
|
|
- throw new BaseException(dept.getDeptName() + "当前未获取到部门下行政区域id" );
|
|
|
|
|
|
+ if (StringUtils.isBlank(areaId)) {
|
|
|
|
+ throw new BaseException(dept.getDeptName() + "当前未获取到部门下行政区域id");
|
|
}
|
|
}
|
|
//判断该用户是什么角色权限字符
|
|
//判断该用户是什么角色权限字符
|
|
List<SysRole> roles = sysUser.getRoles();
|
|
List<SysRole> roles = sysUser.getRoles();
|
|
- if (roles != null && roles.size() > 0){
|
|
|
|
|
|
+ if (roles != null && roles.size() > 0) {
|
|
for (SysRole role : roles) {
|
|
for (SysRole role : roles) {
|
|
- if (role != null){
|
|
|
|
|
|
+ if (role != null) {
|
|
String roleKey = role.getRoleKey();
|
|
String roleKey = role.getRoleKey();
|
|
- if (StringUtils.isNotBlank(roleKey)){
|
|
|
|
- if ("province".equals(roleKey)){
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(roleKey)) {
|
|
|
|
+ if ("province".equals(roleKey)) {
|
|
String provinceId = czrk.getProvinceId();
|
|
String provinceId = czrk.getProvinceId();
|
|
- if (StringUtils.isNotBlank(provinceId) && provinceId.equals(areaId)){
|
|
|
|
- flag = false;
|
|
|
|
|
|
+ //获取居住地址
|
|
|
|
+ if (StringUtils.isNotBlank(provinceId) && provinceId.equals(areaId)) {
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ } else {
|
|
|
|
+ List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
|
|
|
|
+ for (CzrkJzdz czrkJzdz : czrkJzdzList) {
|
|
|
|
+ String provinceIdJzdz = czrkJzdz.getProvinceId();
|
|
|
|
+ if (StringUtils.isNotBlank(provinceIdJzdz) && provinceIdJzdz.equals(areaId)){
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }else if ("city".equals(roleKey)){
|
|
|
|
|
|
+ } else if ("city".equals(roleKey)) {
|
|
String cityId = czrk.getCityId();
|
|
String cityId = czrk.getCityId();
|
|
- if (StringUtils.isNotBlank(cityId) && cityId.equals(areaId)){
|
|
|
|
- flag = false;
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(cityId) && cityId.equals(areaId)) {
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }else {
|
|
|
|
+ List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
|
|
|
|
+ for (CzrkJzdz czrkJzdz : czrkJzdzList) {
|
|
|
|
+ String cityJzdz = czrkJzdz.getCityId();
|
|
|
|
+ if (StringUtils.isNotBlank(cityJzdz) && cityJzdz.equals(areaId)){
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }else if ("region".equals(roleKey)) {
|
|
|
|
- String cityId = czrk.getCityId();
|
|
|
|
- if (StringUtils.isNotBlank(cityId) && cityId.equals(areaId)){
|
|
|
|
- flag = false;
|
|
|
|
|
|
+ } else if ("region".equals(roleKey)) {
|
|
|
|
+ String regionId = czrk.getRegionId();
|
|
|
|
+ if (StringUtils.isNotBlank(regionId) && regionId.equals(areaId)) {
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }else {
|
|
|
|
+ List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
|
|
|
|
+ for (CzrkJzdz czrkJzdz : czrkJzdzList) {
|
|
|
|
+ String regoinJzdz = czrkJzdz.getRegionId();
|
|
|
|
+ if (StringUtils.isNotBlank(regoinJzdz) && regoinJzdz.equals(areaId)){
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }else if ("villageTowns".equals(roleKey)) {
|
|
|
|
|
|
+ } else if ("villageTowns".equals(roleKey)) {
|
|
String villageTownsId = czrk.getVillageTownsId();
|
|
String villageTownsId = czrk.getVillageTownsId();
|
|
- if (StringUtils.isNotBlank(villageTownsId) && villageTownsId.equals(areaId)){
|
|
|
|
- flag = false;
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(villageTownsId) && villageTownsId.equals(areaId)) {
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }else {
|
|
|
|
+ List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
|
|
|
|
+ for (CzrkJzdz czrkJzdz : czrkJzdzList) {
|
|
|
|
+ String townIdJzdz = czrkJzdz.getTownId();
|
|
|
|
+ if (StringUtils.isNotBlank(townIdJzdz) && townIdJzdz.equals(areaId)){
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }else if ("village".equals(roleKey)) {
|
|
|
|
|
|
+ } else if ("village".equals(roleKey)) {
|
|
String village = czrk.getVillage();
|
|
String village = czrk.getVillage();
|
|
- if (StringUtils.isNotBlank(village) && village.equals(areaId)){
|
|
|
|
- flag = false;
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(village) && village.equals(areaId)) {
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }else {
|
|
|
|
+ List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
|
|
|
|
+ for (CzrkJzdz czrkJzdz : czrkJzdzList) {
|
|
|
|
+ String villageIdJzdz = czrkJzdz.getVillageId();
|
|
|
|
+ if (StringUtils.isNotBlank(villageIdJzdz) && villageIdJzdz.equals(areaId)){
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }else if ("admin".equals(roleKey)) {
|
|
|
|
|
|
+ } else if ("admin".equals(roleKey)) {
|
|
flag = false;
|
|
flag = false;
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|