From 899a5a833f3abbee283303383af8376dffdc3bf4 Mon Sep 17 00:00:00 2001 From: mi9688 Date: Tue, 5 Nov 2024 17:44:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=A1=B9=E7=9B=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=9C=BA=E6=9E=84=E7=AE=A1=E7=90=86=E7=9A=84=E6=9C=80?= =?UTF-8?q?=E9=AB=98=E8=A1=8C=E6=94=BF=E5=8C=BA=E5=88=92=E7=BA=A7=E5=88=AB?= =?UTF-8?q?=E4=B8=8B=E7=9A=84=E5=85=A8=E9=83=A8=E8=A1=8C=E6=94=BF=E5=8C=BA?= =?UTF-8?q?=E5=88=92=E7=9A=84=E6=A0=91=E7=8A=B6=E5=88=97=E8=A1=A8=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/utils/json/JsonStrUtil.java | 12 +++++ .../service/impl/GGroupsServiceImpl.java | 10 ++--- .../service/impl/GLegendServiceImpl.java | 3 -- .../service/impl/GSiteDeviceServiceImpl.java | 2 +- .../service/impl/ProjectServiceImpl.java | 45 ++++++++++++------- 5 files changed, 46 insertions(+), 26 deletions(-) diff --git a/fastbee-common/src/main/java/com/fastbee/common/utils/json/JsonStrUtil.java b/fastbee-common/src/main/java/com/fastbee/common/utils/json/JsonStrUtil.java index f1e1b0c..9ea7abd 100644 --- a/fastbee-common/src/main/java/com/fastbee/common/utils/json/JsonStrUtil.java +++ b/fastbee-common/src/main/java/com/fastbee/common/utils/json/JsonStrUtil.java @@ -5,6 +5,18 @@ import cn.hutool.json.JSONUtil; import org.apache.commons.lang3.StringUtils; public class JsonStrUtil { + + /** + * 判断一个字符串是不是json数组 + */ + public static boolean isJsonArray(String jsonStr) { + try { + JSONUtil.parseArray(jsonStr); + } catch (JSONException e) { + return false; + } + return true; + } /** *判断一个json数组为空 */ diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java index 40efaa4..694e339 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java @@ -1,7 +1,6 @@ package com.fastbee.ggroup.service.impl; -import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.fastbee.common.core.domain.entity.SysDept; import com.fastbee.common.exception.ServiceException; @@ -61,7 +60,7 @@ public class GGroupsServiceImpl implements IGGroupsService /** - * 查询组树状列表(不带叶子节点) + * 查询组树状列表(不带叶子节点)后台站点管理 * * @param gGroups 组 * @return 组 @@ -86,7 +85,7 @@ public class GGroupsServiceImpl implements IGGroupsService */ @Override public List selectGGroupsListSites(GGroups gGroups) { - + //构建查询器 MPJLambdaWrapper gSiteGroupsMPJLambdaWrapper = new MPJLambdaWrapper() .select(GSiteGroups::getId, GSiteGroups::getParentId, GSiteGroups::getSiteId) // .select(GGroups::getName)//起个别名 @@ -96,6 +95,7 @@ public class GGroupsServiceImpl implements IGGroupsService .leftJoin(GGroups.class, GGroups::getId, GSiteGroups::getParentId) .leftJoin(GSites.class, GSites::getId, GSiteGroups::getSiteId) .eq(GSiteGroups::getParentId, gGroups.getParentId()) + //按名称模糊匹配 .like(StringUtils.isNotBlank(gGroups.getSearchValue()), GSites::getName, gGroups.getSearchValue()); List gGroupSiteVos = gSiteGroupsMapper.selectJoinList(GGroupSiteVo.class, gSiteGroupsMPJLambdaWrapper); gSiteGroupsMapper.selectJoinList(GGroupSiteVo.class,gSiteGroupsMPJLambdaWrapper); @@ -114,7 +114,7 @@ public class GGroupsServiceImpl implements IGGroupsService adcodeList.addAll(JsonUtils.parseArray(sysDept.getTownCode(), Long.class)); adcodeList.addAll(JsonUtils.parseArray(sysDept.getVillageCode(), Long.class)); //根据区域代码过滤站点 - if(Objects.nonNull(adcodeList) && !adcodeList.isEmpty()){ + if(!adcodeList.isEmpty()){ gGroupSiteVos = gGroupSiteVos .stream() .filter(gGroupSiteVo -> adcodeList.contains(Long.valueOf(gGroupSiteVo.getAreaCode()))).collect(Collectors.toList()); @@ -165,11 +165,9 @@ public class GGroupsServiceImpl implements IGGroupsService List gGroupSiteAllList = selectGGroupsAllListSites(new GGroups()); //根据区域代码过滤站点 if(Objects.nonNull(areaCodeList) && !areaCodeList.isEmpty()){ - gGroupSiteAllList = gGroupSiteAllList.stream() .filter(site -> areaCodeList.contains(site.getAreaCode())).collect(Collectors.toList()); } - for (GGroups group : groupsList) { //查询组的直接子站点列表 //过滤全部站点列表找到当前组下面的所有站点 diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java index 872d0a1..70b0d44 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java @@ -3,11 +3,8 @@ package com.fastbee.ggroup.service.impl; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.stream.Collectors; - import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.fastbee.common.exception.ServiceException; import com.fastbee.common.utils.DateUtils; import com.fastbee.ggroup.domain.GSites; diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSiteDeviceServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSiteDeviceServiceImpl.java index 3c528a8..ca7e84e 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSiteDeviceServiceImpl.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSiteDeviceServiceImpl.java @@ -15,7 +15,7 @@ import com.fastbee.ggroup.service.IGSiteDeviceService; * 站点设备关系Service业务层处理 * * @author kerwincui - * @date 2024-11-05 + * @date 2024-11-05 */ @Service public class GSiteDeviceServiceImpl implements IGSiteDeviceService diff --git a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java index f68f61f..861996b 100644 --- a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java +++ b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java @@ -1,7 +1,6 @@ package com.fastbee.project.service.impl; import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONException; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; @@ -22,7 +21,6 @@ import com.fastbee.project.domain.Project; import com.fastbee.project.domain.vo.ProjectLoginBaseInfo; import com.fastbee.project.mapper.ProjectMapper; import com.fastbee.project.service.IProjectService; - import com.fastbee.system.domain.SysDistrict; import com.fastbee.system.mapper.SysDeptMapper; import com.fastbee.system.mapper.SysDistrictMapper; @@ -167,7 +165,7 @@ public class ProjectServiceImpl implements IProjectService throw new ServiceException("创建默认机构失败!"); } // 新增机构关联系统账号 - // 添加管理员角色,给所有权限 + // 添加管理员角色,给基本权限 SysDept sysDept = deptService.selectDeptById(100L); List sysMenuList = sysMenuService.selectMenuList(new SysMenu(), sysDept.getDeptUserId()); Long[] menuIdList = sysMenuList.stream().map(SysMenu::getMenuId) @@ -225,7 +223,7 @@ public class ProjectServiceImpl implements IProjectService throw new ServiceException("项目行政区域代码不能为空!"); } //判断行政区域代码json格式 - if(isNotValidJsonArray(project.getAdministrativeAreaCode())){ + if(!JsonStrUtil.isJsonArray(project.getAdministrativeAreaCode())){ throw new ServiceException("项目行政区域代码多选列表非json数组!"); } //项目省代码列表 @@ -240,7 +238,7 @@ public class ProjectServiceImpl implements IProjectService List villageCodeList =new ArrayList<>(); JSONArray administrativeAreaList = JSONUtil.parseArray(project.getAdministrativeAreaCode()); administrativeAreaList.forEach(item->{ - if(isNotValidJsonArray(item.toString())){ + if(!JsonStrUtil.isJsonArray(item.toString())){ throw new ServiceException("项目行政区域代码多选列表的元素非json数组!"); } //单个行政区划代码列表 @@ -275,17 +273,7 @@ public class ProjectServiceImpl implements IProjectService project.setVillageCode(JSONUtil.toJsonStr(villageCodeList)); } - /** - * 验证json对象是否是数组 - */ - public boolean isNotValidJsonArray(String jsonStr) { - try { - JSONUtil.parseArray(jsonStr); - } catch (JSONException e) { - return true; - } - return false; - } + /** * 修改项目 @@ -557,6 +545,31 @@ public class ProjectServiceImpl implements IProjectService //镇级查村级别行政区划 queryInLevelList.add(DepartmentAdministrationLevelConstant.VILLAGE); + } + //村级管理机构 + else if(Objects.equals(sysDept.getAdministrativeLevel(), DepartmentAdministrationLevelConstant.VILLAGE)){ + //添加省代码 + if(JsonStrUtil.nonEmptyArray(sysDept.getProvinceCode())){ + queryInAdcodeList.add(JSONUtil.parseArray(sysDept.getProvinceCode()).get(0)); + } + //添加市代码 + if(JsonStrUtil.nonEmptyArray(sysDept.getCityCode())) + queryInAdcodeList.add(JSONUtil.parseArray(sysDept.getCityCode()).get(0)); + //添加县代码 + if(JsonStrUtil.nonEmptyArray(sysDept.getCountyCode())){ + queryInAdcodeList.add(JSONUtil.parseArray(sysDept.getCountyCode()).get(0)); + } + //添加镇代码 + if(JsonStrUtil.nonEmptyArray(sysDept.getTownCode())){ + queryInAdcodeList.add(JSONUtil.parseArray(sysDept.getTownCode()).get(0)); + } + //添加村代码 + if(JsonStrUtil.nonEmptyArray(sysDept.getVillageCode())){ + queryInAdcodeList.add(JSONUtil.parseArray(sysDept.getVillageCode()).get(0)); + } + //村级查户级别行政区划 + queryInLevelList.add(DepartmentAdministrationLevelConstant.VILLAGE); + } //先根据项目机构行政管理级别查上层的行政区划信息 List aboveSysDistrictList =new ArrayList<>();